Files
vtube/docs/SITES.md
goboss 981a0ad9b6 Document granular hook policy + ad architecture + 94-site scale
Hook redesign (guard-readonly.sh + guard-bash.sh):
- ALLOW edits: /home/nosfortube/frontend_<port>/ (digits-only, all subdirs)
  + /home/nosfortube/orest/ (user working zone + screenshots)
- DENY: lang variants (frontend_<port>_<lang>/), frontend_core/, .git/,
  system paths (/etc/, /usr/, /boot/, /var/* except /var/log/claude/)
- 19/19 readonly + 18/19 bash tests pass (1 pre-existing sed-i regex gap)
- Backup попередньої версії: .bak.2026-05-02

Doc updates:
- New: PROJECT.md, ARCHITECTURE.md, DEPLOY.md, ADS.md, PERFORMANCE.md,
  INTERLINKING.md, ADMINS.md (topic-split docs/)
- CLAUDE.md: 94-site scale, granular edit zones, doc index
- INFRASTRUCTURE.md: hook table updated
- SITES.md: scope note (14 backup-tracked of 94 total)
- RECOMMENDATIONS.md: W1 (hook conflict) → DONE; W2-W3, D1-D4 added

Site architecture findings (audit 2026-05-02):
- 94 frontend_<port>/ sites, 71 in site-name-routing.csv, 14 backup-tracked
- 3 ad-architectures coexist: 8148 modern bundle (1), modern partials (~23),
  legacy inline surstrom (31)
- 8148 unique: ad-bundle.min.js source files, build-ad-bundle.sh, terser
- Server IP 185.73.222.75 у t1.* allowlist (curl probes work)
- CDN: custom + Cloudflare на 8081 etc; purge-cache при prod deploy

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 13:26:25 +00:00

70 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# tubev — Sites Inventory
> **Scope note:** ця таблиця покриває **14 git-archived сайтів** у `/home/w4/backup_<port>/`. **Повна екосистема — 94 сайти** у `/home/nosfortube/frontend_<port>/`. Site-name → port mapping (71 entries): `/home/nosfortube/orest/site-name-routing.csv`. Ця таблиця буде розширена коли поширимо backup-tracking або додамо моніторинг по всіх сайтах.
14 backup-tracked сайтів — кожен окремий git repo.
## Таблиця
| Port | Domain | Status | Architecture | Sync | CSS | Brand | Notes |
|------|--------|--------|--------------|------|-----|-------|-------|
| 8081 | ? (NL agego) | active dev | **monolith** | selective (46L) | 449KB **outlier** | dark blue `#3162d8` | profile_*.etlua тільки тут; channel_list_thumb унікальний; SPA-like; CSS monolith style.css 221KB; layout 1223L |
| 8084 | hdsexvideo.xxx | live | legacy partials | rsync mirror (12L) | 172KB | light + orange `#ff8201` | SCSS + gulp build pipeline; **без `views/css/`** |
| 8085 | sexfreehd.xxx | live | legacy partials | rsync mirror (12L) | 252KB | dark + pink `#fe6661` | SCSS hybrid (style.scss 2421L); **submodule drift** `views/static/js/lib`; legacy `js_old/`, `img_old/` |
| 8086 | nu-bay.com | live | legacy partials | hybrid (36L) | 98KB | dark + green `#8bc215` | **outlier color** (зелений); 30+ legacy файлів `*copy*`, `*bak*`, `del___*`; single `styles.etlua` (не css_*.etlua) |
| 8100 | fulltube.xxx | live | legacy partials | rsync mirror (12L) | 147KB | red/brown `#c8280e` | багато файлів з пробілами та " copy"/"with titles" варіантами |
| 8102 | gaypornhd.xxx | live | legacy partials | rsync mirror (12L) | 106KB | dark + red `#fe1c5c` | DEL_* модулі; `my copy.js` dead |
| 8107 | maturesexmovies.xxx | live | legacy partials | rsync mirror (12L) | 104KB | gradient blue-violet | DEL_* + adspy banners cluster; obfuscated `gk5LT.js` |
| 8112 | hdpornvideo.xxx | live | **prod canonical** | selective (50L) | 209KB | dark + orange `#f45100` | **повна дублікація** static/ ↔ views/static/ (md5-identical); єдиний з git remote `git.tubev.sex`; 2 GA properties у одному gtag (потенційний bug); 7+ "with/without ads" варіантів; untracked `rotator/`, `lib/`, `nginx.conf` |
| 8120 | pornv.xxx | live | partial-modern | selective (46L) | 133KB | navy + orange | мінімальний (без `top_list`); HTML5 `<main>` semantic; обmodernized |
| 8126 | xxxtube1.com | live | legacy partials | rsync mirror (12L) | 103KB | dark + red `#ff0344` | мінімалістичні breakpoints (7 BP); HTML5 `<section>`; mobile menu з 8 aria-expanded; `untitled file` × 2 |
| 8129 | ? | active dev | minimal | hybrid (36L) | 69KB **smallest** | dark + orange `#fb671e` | **мінімаліст** (без model_list, top_list, header.etlua, footer.etlua, bottom_block.etlua); 7 модулів total |
| 8131 | fullhdxxx.com | live | legacy partials | rsync mirror (12L) | 111KB | dark + orange `#f47a20` | obfuscated JS: `PxqbeCb.js`, `gD0A3.js`, `9qFdXQ7.js` |
| 8133 | broxxx.com | live | legacy partials | hybrid (37L) | 127KB | light | `__main.js` underscore prefix; `counters.min.test.js` (test у prod) |
| 8148 | ? | **canonical lab** | minimal modern | selective (79L) + **build hook** | 82KB | sprite-driven, light | **288 commits/30d** (broadcast source); CSS vars system (24 tokens) — **єдиний з token system**; sync.sh викликає `build-ad-bundle.sh` + md5 hash bump через `sed -i`; `vast-preroll.js`, `ad-*` adstack |
## Кластери
### Архітектурні
- **Monolith outlier:** 8081 (1223L layout, profile pages, SPA-like)
- **Canonical lab:** 8148 (modern, CSS vars, ad-bundle automation, broadcast source)
- **Prod canonical:** 8112 (повна дублікація tree, untracked prod mirror)
- **Legacy partials majority:** 8084, 8085, 8086, 8100, 8102, 8107, 8126, 8131, 8133 (header.etlua + footer.etlua + bottom_block.etlua)
- **Minimalists:** 8120, 8129, 8148 (без top_list / без header.etlua)
### Візуальні
- **Dark + Orange:** 8112, 8129, 8131, 8133
- **Dark + Red/Pink:** 8085, 8086 (зелений), 8102, 8126
- **Dark + Blue:** 8081
- **Light + Orange:** 8084, 8133
- **Hybrid/Modern:** 8107 (gradient), 8120 (navy+orange), 8148 (sprite light)
- **Outlier color:** 8086 (зелений `#8bc215`)
### Sync патерни
- **Group A** (rsync mirror 12L, ідентично): 8084, 8085, 8100, 8102, 8107, 8126, 8131
- **Group B** (selective cp): 8081, 8086, 8112, 8120, 8129, 8133, 8148
## Невідомі домени
8081, 8129, 8148 — `lib/<port>/var.lua` відсутній у backup, домен не виводиться. **Питання до розробника:** які домени відповідають цим портам?
## Test/staging
`test.<domain>` НЕ налаштовано (DNS/connect-fail для всіх 11 known доменів). Усі live тільки на `www.<domain>` (HTTP/2 200, nginx 1.21.1, спільний backend `s=l8` cookie).
**Питання до розробника:** як працює preview змін перед prod? Інший механізм (port-direct, VPN, feature branch deploy)?
## Останні активності (станом на 2026-04-30)
| Activity | Sites |
|----------|-------|
| **288 commits/30d** | 8148 (lab/dev) |
| **12 commits/30d** | 8081 (NL experiments) |
| **2-5 commits/30d** | решта 12 (broadcast рецепієнти) |
Pattern: 8148 розробляється → коміти broadcast'яться по всіх 14 сайтах (cross-site batch commits типу `popunder cross-tab gate _asgGatedLoad on 12 sites`).
---
*Source: gocc2 + gocc3 + gocc4 audits 2026-04-30. Update — коли додається/закривається сайт, або змінюється cluster.*