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>
47 lines
2.8 KiB
Markdown
47 lines
2.8 KiB
Markdown
# tubev — Project Overview
|
||
|
||
Multi-site adult video tube інфраструктура. **Frontend-only scope** — backend (OpenResty + Lua kor) у розробника.
|
||
|
||
## Масштаб
|
||
|
||
- **94 сайти** у `/home/nosfortube/frontend_<port>/` (порти 8081-81xx)
|
||
- **71 site-name → port mapping** у `/home/nosfortube/orest/site-name-routing.csv` (CSV columns: `site name;id;url-pattern;new-url-pattern`)
|
||
- **14 backup_<port>/** у `/home/w4/` — git-archive snapshots (підмножина, не всі сайти)
|
||
|
||
## Бізнес-модель
|
||
|
||
- Сайти показують **adult video** контент: або **hotlinked** з xvideos / зовнішніх pornhub-tier джерел, або **self-hosted** на власному CDN/сервері
|
||
- Реклама через **adspyglass.com** — основне джерело монетизації
|
||
- Бізнес-інтерес: **максимізувати SE (sessions/engagements)** щоб показати рекламу, **не переборщити** щоб не шкодити UI/UX
|
||
- **PSI критично** — швидкість завантаження впливає на ранкінг і retention
|
||
|
||
## Що ми робимо / не робимо
|
||
|
||
| Робимо | Не робимо |
|
||
|--------|-----------|
|
||
| Templates (etlua) | Backend Lua код kor |
|
||
| CSS/JS на сайтах | Серверну конфігурацію (nginx, OpenResty) |
|
||
| Per-site UX/дизайн | Контент / завантаження відео |
|
||
| Performance / PSI оптимізацію | Платежі / billing |
|
||
| Bug-fix у frontend | Admin panels (внутрішні розробницькі) |
|
||
|
||
## Технічна модель
|
||
|
||
- **Кожен сайт окрема папка** `frontend_<port>/` зі своїми templates / static / config
|
||
- **Shared resources** — `views/static/js/lib/`, `views/static/js/lib2/` (зміни поширюються на ВСІ сайти, не one-off)
|
||
- **Per-site config** — `lib/<port>/var.lua` (потребує kor reboot щоб applied)
|
||
- **Test → Prod flow** — `t1.<domain>` (IP-restricted preview) → admin deploy → prod з CDN
|
||
|
||
Деталі по кожному аспекту:
|
||
- [docs/ARCHITECTURE.md](ARCHITECTURE.md) — folder layout per site
|
||
- [docs/DEPLOY.md](DEPLOY.md) — test → prod flow, admin role
|
||
- [docs/ADS.md](ADS.md) — adspyglass integration
|
||
- [docs/PERFORMANCE.md](PERFORMANCE.md) — PSI rules
|
||
- [docs/INTERLINKING.md](INTERLINKING.md) — cross-site linking
|
||
- [docs/ADMINS.md](ADMINS.md) — admin panels
|
||
|
||
## Open questions
|
||
|
||
- [ ] Чому `backup_<port>/` покриває 14 із 94 сайтів? Інші 80 не tracked у git навмисно?
|
||
- [ ] Стратегія monitoring — як ловити breakage per-site (PSI degradation, render errors, ad failures)?
|