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>
70 lines
5.9 KiB
Markdown
70 lines
5.9 KiB
Markdown
# 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.*
|