Repository navigation
Releases
TgWebProxyR v1.6.14
v1.6.14
Случайный шаблон сайта при установке
10 статичных шаблонов в site/templates/:
northwind · atelier · alpine · metro · orchard · signal · library · kiln · reef · foundry
- При первом setup выбирается random (или
TWPR_SITE_TEMPLATE=…) tgwebproxyr site list|status|set|random- Docker монтирует
/srv/tproxy-site(развёрнутый сайт)
sudo tgwebproxyr update
# новый сервер: шаблон сам
# сменить:
sudo tgwebproxyr site randomTgWebProxyR v1.6.13
v1.6.13
Лимиты трафика
tgwebproxyr secret quota <name> 10G|unlimitedsecret enable|disable,secret reset-usage,quota check|status- Бот: лимит / вкл-выкл / сброс usage в карточке пользователя
- Shop API:
POST/PATCHсquota/quota_bytes/enabled/reset_usage; в ответахused_bytes/remaining_bytes - При исчерпании квоты профиль soft-disable (не в relay/mtproxy); таймер каждую минуту
Фиксы
- Native MTProxy
-Hс кастомным портом - Docker advanced + TLS file mode
- Restore: api.env, usage, NAT,
secret apply - Bot не переписывает
profiles.jsonна каждый read - API metrics: admin port + docker fallback
- logs без пустого service name; HTTPS probe с нестандартным портом
TWPR_DEPLOY_MODE=nativeне ломается leftover.env
Update
sudo tgwebproxyr update
sudo tgwebproxyr secret apply
sudo tgwebproxyr quota timerTgWebProxyR v1.6.12
v1.6.12
Per-user traffic
- Бот «Трафик»,
tgwebproxyr metrics, Shop API/v1/traffic— сессии / ↑ / ↓ по каждому пользователю - Relay: патч tproxy-server → метрики
tproxy_*{profile=…}
Fix #2: MTProxy --nat-info
- Docker/Native автоматически ставят
--nat-info local:public(за NAT/Docker) - Override:
MTPROXY_NAT_INFO=local:public·MTPROXY_EXTERNAL_IP=…·off
Update
sudo tgwebproxyr update
# or bootstrap:
wget -qO /tmp/twpr.sh https://raw.githubusercontent.com/RasmusVraa/TgWebProxyR/main/install.sh
sudo bash /tmp/twpr.sh --update-only
# Docker: recreate чтобы подтянуть новый relay + mtproxy entrypoint
sudo tgwebproxyr secret apply
curl -fsS http://127.0.0.1:8081/metrics | grep profile
sudo tgwebproxyr docker logs mtproxy 20
# >> mtproxy --nat-info …TgWebProxyR v1.6.11
Fix: relay unhealthy after 1.6.10
tproxy-server requires loopback for admin_listen — 0.0.0.0 made the container crash/unhealthy.
- Reverted admin to
127.0.0.1:8081 - Added
admin-proxy(socat) so host127.0.0.1:8081still reaches metrics
Update now
sudo tgwebproxyr update
# or:
wget -qO /tmp/twpr.sh https://raw.githubusercontent.com/RasmusVraa/TgWebProxyR/main/install.sh
sudo bash /tmp/twpr.sh --update-only
curl -fsS http://127.0.0.1:8081/healthz
curl -fsS http://127.0.0.1:8081/metrics | headTgWebProxyR v1.6.10
Fix: bot Traffic / host :8081 metrics
Docker relay admin listened on 127.0.0.1 inside the container netns, so host 127.0.0.1:8081 often failed while tgwebproxyr health still looked OK (docker exec fallback).
- Admin listen in Docker:
0.0.0.0:8081(still published only as host loopback) - Bot parses
tproxy_sessions_live/tproxy_bytes_*and can fall back via compose exec
Update
wget -qO /tmp/twpr.sh https://raw.githubusercontent.com/RasmusVraa/TgWebProxyR/main/install.sh
sudo bash /tmp/twpr.sh --update-only
# or:
sudo tgwebproxyr update
sudo tgwebproxyr secret apply
sudo tgwebproxyr bot update
curl -fsS http://127.0.0.1:8081/metrics | headTgWebProxyR v1.6.9
update now refreshes the manager itself
tgwebproxyr updatedownloads latest code from GitHub into/opt/tgwebproxyr, then updates the stackinstall.sh --update-only— sync manager without running setup wizard (for servers still on ≤1.6.8)
First update from ≤1.6.8
wget -qO /tmp/twpr.sh \
https://raw.githubusercontent.com/RasmusVraa/TgWebProxyR/main/install.sh \
&& sudo bash /tmp/twpr.sh --update-onlyAfter that, sudo tgwebproxyr update is enough.
TgWebProxyR v1.6.8
Reuse existing TLS certificates
- If Let's Encrypt / file certs for the hostname already exist on the server, setup picks them up instead of issuing a new ACME cert
tgwebproxyr certs status|detect- Uninstall asks to keep Caddy TLS storage;
/etc/letsencryptis never deleted
Paths auto-detected
/etc/letsencrypt/live/<hostname>//etc/ssl/tgwebproxyr/<hostname>//etc/tgwebproxyr/certs/- or
TWPR_TLS_CERT+TWPR_TLS_KEY
Update
sudo wget -qO /tmp/twpr.tgz https://github.com/RasmusVraa/TgWebProxyR/archive/refs/tags/v1.6.8.tar.gz
sudo tar -xzf /tmp/twpr.tgz -C /opt/tgwebproxyr --strip-components=1
sudo tgwebproxyr certs detect
# or fresh setup will ask automaticallyTgWebProxyR v1.6.7
Fix: new users actually work (MTProxy multi -S)
Root cause: relay knew extra secrets, but MTProxy only had the default -S. Shared backend needs every client secret as repeated -S.
- mtproxy entrypoint reads
profiles.jsonand starts with all secrets secret applyrecreates the full Docker stack (mtproxy + relay)- Native: systemd wrapper with multi-secret
Update now
sudo wget -qO /tmp/twpr.tgz https://github.com/RasmusVraa/TgWebProxyR/archive/refs/tags/v1.6.7.tar.gz
sudo tar -xzf /tmp/twpr.tgz -C /opt/tgwebproxyr --strip-components=1
sudo tgwebproxyr secret apply
sudo tgwebproxyr bot update
# verify:
sudo tgwebproxyr docker logs mtproxy 40
# expect: mtproxy -S count: 2 (or more)
curl -fsS http://127.0.0.1:8081/healthzTgWebProxyR v1.6.6
Multi-user Docker fix + named users + traffic + Shop API
- Fix: new users work in Docker —
profiles.jsonis mounted into relay and applied on start - Named users:
secret add/rename, bot asks for a name - Traffic:
tgwebproxyr metricsand bot Traffic screen from relay/metrics - Shop REST API:
tgwebproxyr api setup(Bearer token on127.0.0.1:8787)
Update on an existing server
sudo wget -qO /tmp/twpr.tgz https://github.com/RasmusVraa/TgWebProxyR/archive/refs/tags/v1.6.6.tar.gz
sudo tar -xzf /tmp/twpr.tgz -C /opt/tgwebproxyr --strip-components=1
sudo tgwebproxyr secret apply
sudo tgwebproxyr bot update
# optional shop API:
sudo tgwebproxyr api setupDocs: API wiki
TgWebProxyR v1.6.5
Autobackup + restore in bot
- Schedule: hourly / daily / monthly / off (systemd timer)
- Backup tar.gz is sent to admin Telegram chat on create
- Bot: configure autobackup, restore from archive with confirm
sudo wget -qO /tmp/twpr.tgz https://github.com/RasmusVraa/TgWebProxyR/archive/refs/tags/v1.6.5.tar.gz
sudo tar -xzf /tmp/twpr.tgz -C /opt/tgwebproxyr --strip-components=1
sudo tgwebproxyr bot update
optional:
sudo tgwebproxyr backup auto daily