Files
vtube/docs/PROJECT.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

47 lines
2.8 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 — 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)?