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

55 lines
3.6 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 — Admin Panels
Адмінки для керування контентом, перекладами, коментами, deploy-flow та моніторингом. Більшість per-site, кілька cross-site.
## Status
🟢 **Mapped** — основні URL зафіксовано. Деталі scope наповнюємо по мірі використання.
## Per-site adminkи
URL шаблон: `https://<domain>/<panel-path>`. Приклад нижче — для `a.tubev.sex`.
| Назва | URL | Scope | Що змінює | Self-deploy? |
|-------|-----|-------|-----------|--------------|
| **Site index** | `https://a.tubev.sex/admin/index` | Site dashboard | Загальне керування | Так |
| **Settings** | `https://a.tubev.sex/admin/settings` | Site config | К-ть тумб per page, ін. налаштування (юзер рідко чіпає) | Так |
| **Languages** | `https://a.tubev.sex/moderation/languages/langs` | I18n setup | Набір мов на сайті | Так |
| **Translations** | `https://a.tubev.sex/moderation/languages/translation/` | UI strings | Переклади змінних (`Title_Desc_H1`, `categories/h3` тощо) per-language | Так |
**Translation key example:**
```
categories/h3 Title_Desc_H1 Discover XXX Themes
ProjectShort Title_Desc_H1 Free sex videos
Top searches Title_Desc_H1 Top searches
```
Сайти зазвичай **multilingual**.
## Cross-site adminkи
| Назва | URL | Scope | Що дозволяє | Обмеження |
|-------|-----|-------|-------------|-----------|
| **Site control** (deploy) | `https://rss.g--o.info/admin/site/control` | Усі сайти | **Викатати оновлення з тесту → прод per-site** | НЕ оновлює `var.lua`, НЕ додає нові файли (через Адміна) |
| **Site sitemap** | `https://rss.g--o.info/admin/site` | Усі сайти | Sitemap settings, інші системні нал. | — |
| **Billing dashboard** | `https://billing.g--o.info/cs/oursites/dashboard/` | Усі сайти | Статистика, моніторинг (від Адміна) | Read-only переважно |
## Monitoring sources
Для діагностики проблем — пріоритет з low-noise → high-noise:
1. **adspyglass dashboard**`https://app.adspyglass.com/dashboard`**best signal**, лайв графік показу реклами per site. Падіння = щось зламалось. Деталі: [ADS.md § Monitoring](ADS.md#monitoring).
2. **Telegram + email alerts** — критичні (downtime, errors).
3. **Billing dashboard** — статистика від Адміна, рідко.
4. **PSI manual**`https://pagespeed.web.dev/` після великих змін, періодично. Деталі: [PERFORMANCE.md](PERFORMANCE.md).
## Auth
- Юзер логінений у браузері. Claude/боти adminkи **не використовують** — це юзер-side операції (деплоймент, перекладання, налаштування).
- Прод-домени (наприклад `a.tubev.sex`) повертають **401 Unauthorized** з сервера без cookies — підтверджено probe 2026-05-01. Це **adminki + secured area**, не публічний контент.
## Open questions
- [ ] Чи є API за adminkами (REST/GraphQL) для автоматизації?
- [ ] Чи всі 94 сайти мають однакові admin paths (`/admin/index`, `/moderation/languages/...`)? — припускаємо так.