6.9 KiB
PCAtelegram_web
Отдельный проект PCAtelegram_web: MTProxy на базе telemt, Telegram-бот, локальная web-admin панель, статистика, backup/restore, шаблоны сайта.
Установка
На сервере под root:
curl -fsSL https://raw.githubusercontent.com/andrey271192/PCAtelegram_web/main/bootstrap.sh | bash
Если репозиторий private, первый curl тоже должен получить GitHub token:
curl -fsSL -H "Authorization: Bearer $GITHUB_TOKEN" \
https://raw.githubusercontent.com/andrey271192/PCAtelegram_web/main/bootstrap.sh | \
GITHUB_TOKEN="$GITHUB_TOKEN" bash
После установки команда доступна как:
pcatelegram_web
Локальная проверка без GitHub
rsync -a ./ root@SERVER:/opt/pcatelegram_web/
ssh root@SERVER 'chmod +x /opt/pcatelegram_web/install.sh /opt/pcatelegram_web/install_pcatelegram_web_bot.sh /opt/pcatelegram_web/lib/*.sh && ln -sf /opt/pcatelegram_web/install.sh /usr/local/bin/pcatelegram_web && pcatelegram_web'
Состав
| Путь | Назначение |
|---|---|
bootstrap.sh |
загружает файлы проекта в /opt/pcatelegram_web и запускает меню |
install.sh |
основное CLI-меню PCAtelegram_web |
install_pcatelegram_web_bot.sh |
отдельная установка Telegram-бота |
lib/ |
общие функции, telemt, nginx/site, stats, backup, i18n |
pcatelegram_web-bot/ |
Python Telegram bot |
admin-web/ |
локальная web-admin панель |
templates_catalog.json |
каталог HTML-шаблонов |
Переменные
| Переменная | По умолчанию | Описание |
|---|---|---|
PCATELEGRAM_WEB_BASE |
https://raw.githubusercontent.com/andrey271192/PCAtelegram_web/main |
база загрузки файлов |
PCATELEGRAM_WEB_INSTALL_DIR |
/opt/pcatelegram_web |
путь установки |
GITHUB_TOKEN / GH_TOKEN |
пусто | token для private GitHub raw downloads |
PCATELEGRAM_WEB_ADMIN_HOST |
0.0.0.0 |
bind web-admin |
PCATELEGRAM_WEB_ADMIN_PORT |
1984 |
port web-admin |
PCATELEGRAM_WEB_ADMIN_USER |
admin |
Basic Auth login |
PCATELEGRAM_WEB_ADMIN_PASSWORD |
admin |
web-admin password |
PCATELEGRAM_WEB_WARP_CONFIG |
/opt/pcatelegram_web/warp.json |
WARP / WARP+ settings |
Поддержка
- GitHub: andrey271192/PCAtelegram_web
- Boosty: boosty.to/andrey27/donate
- Ozon Bank: ссылка
- Telegram: PCAdministration
Web-admin
После первого запуска pcatelegram_web web-admin панель ставится как pcatelegram_web-admin.service и слушает публично:
http://SERVER:1984/
Логин и пароль по умолчанию: admin / admin. Данные можно сменить в web-admin Settings. Текущие данные хранятся на сервере:
sudo cat /root/pcatelegram_web-admin.password
Для своего пароля передайте env до установки:
PCATELEGRAM_WEB_ADMIN_PASSWORD='strong-password' bash bootstrap.sh
Без HTTPS Basic Auth гонит пароль открытым текстом. Для постоянного доступа лучше reverse proxy с TLS, но порт 1984 открыт по умолчанию по запросу проекта.
WARP / WARP+
В web-admin Settings есть блок WARP / WARP+:
Off— WARP выключен.WARP— обычный Cloudflare WARP.WARP+— WARP+ с license key.All clients— еслиwarp-cliне установлен, web-admin ставитcloudflare-warp, затем применяет WARP на весь proxy-трафик черезwarp-cli.One client— еслиwarp-cliне установлен, web-admin ставитcloudflare-warp, затем сохраняет WARP/WARP+ профиль и key для выбранного клиента в/opt/pcatelegram_web/warp.json.
WARP+ key не отдается в API целиком: web показывает только маску. Файл warp.json хранится с правами 0600 и входит в backup.
Для real global WARP web-admin использует официальный Cloudflare Linux repo: добавляет GPG key, repo pkg.cloudflareclient.com, ставит пакет cloudflare-warp, затем выполняет регистрацию warp-cli registration new, WARP+ key warp-cli registration license <KEY>, подключение warp-cli connect.
Per-client runtime routing в текущем telemt не включается автоматически: публичные параметры telemt дают users/limits/quotas/ad tags, но не документируют привязку upstream к конкретному user. Для настоящего WARP только одному клиенту нужен отдельный telemt route/service или upstream-схема.
Порт и маскировка
В web-admin Settings есть блок Port and mask site:
Public port— реальный портtelemt([server] port) и порт в tg-ссылках ([general.links] public_port).Mask site— сайт маскировки FakeTLS ([censorship] tls_domain), который вшивается вeesecret.- Перед сохранением web-admin проверяет порт через
ss. Если порт занят неtelemt(например, Xray / 3x-ui на 443), сохранение блокируется. - После сохранения обновляются
/etc/telemt/config.toml,/opt/pcatelegram_web/config.json, ссылки клиентов и перезапускаетсяtelemt.
Один telemt-инстанс имеет один публичный порт и один сайт маскировки для всех клиентов. Разные порты или разные сайты маскировки на разных клиентов требуют отдельные telemt services/configs.
Проверки
bash -n bootstrap.sh install.sh install_pcatelegram_web_bot.sh lib/*.sh lib/lang/*.sh
rg -i "old-brand-name" .