Skip to content

Releases

TgWebProxyR v1.6.14

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 21:36

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 random

TgWebProxyR v1.6.13

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 21:25

v1.6.13

Лимиты трафика

  • tgwebproxyr secret quota <name> 10G|unlimited
  • secret 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 timer

TgWebProxyR v1.6.12

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 21:00

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

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 20:48

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 host 127.0.0.1:8081 still 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 | head

TgWebProxyR v1.6.10

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 20:45

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 | head

TgWebProxyR v1.6.9

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 20:39

update now refreshes the manager itself

  • tgwebproxyr update downloads latest code from GitHub into /opt/tgwebproxyr, then updates the stack
  • install.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-only

After that, sudo tgwebproxyr update is enough.

TgWebProxyR v1.6.8

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 20:34

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/letsencrypt is 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 automatically

TgWebProxyR v1.6.7

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 20:21

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.json and starts with all secrets
  • secret apply recreates 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/healthz

TgWebProxyR v1.6.6

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 20:11

Multi-user Docker fix + named users + traffic + Shop API

  • Fix: new users work in Docker — profiles.json is mounted into relay and applied on start
  • Named users: secret add/rename, bot asks for a name
  • Traffic: tgwebproxyr metrics and bot Traffic screen from relay /metrics
  • Shop REST API: tgwebproxyr api setup (Bearer token on 127.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 setup

Docs: API wiki

TgWebProxyR v1.6.5

Choose a tag to compare

@RasmusVraa RasmusVraa released this 22 Aug 19:57

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