Продолжаем :)
8. Исправляем права MTProxy
На текущей версии upstream из-за umask 077 могут появиться права:
/opt/MTProxy/objs
/opt/MTProxy/objs/bin
/opt/MTProxy/objs/bin/mtproto-proxy
которые не позволяют service user mtproxy выполнить binary.
Исправляем:
chmod 755 /opt/MTProxy/objs
chmod 755 /opt/MTProxy/objs/bin
chmod 755 /opt/MTProxy/objs/bin/mtproto-proxy
Проверяем:
runuser -u mtproxy -- /bin/test -x \
/opt/MTProxy/objs/bin/mtproto-proxy
echo $?
Должно быть:
0
9. Проверяем systemd-сервисы
MTProxy отдельно запускать командой mtproxy НЕ нужно.
Installer сам устанавливает и запускает systemd units.
Проверяем:
systemctl --no-pager --full status \
caddy \
tproxy-firewall \
mtproxy \
tproxy-server
Должны быть:
caddy active (running)
tproxy-firewall active (exited)
mtproxy active (running)
tproxy-server active (running)
10. Финальная проверка
curl --fail http://127.0.0.1:8081/healthz
curl --fail http://127.0.0.1:8081/readyz
curl --silent http://127.0.0.1:8081/metrics
curl --fail -I "https://$HOSTNAME/"
Состояние:
systemctl --no-pager --full status mtproxy
Потом последние сообщения:
journalctl -u mtproxy --since "-5 min" --no-pager
Проверяем, нет ли постоянных проблем с Telegram middle-end:
journalctl -u mtproxy --since "-5 min" --no-pager \
| grep -c "Disconnected from RPC Middle-End"
11. Получаем данные для Telegram
Если установочник не выдал ссылку для подключения, то можно получить ее так:
python3 - <<'PY'
import base64
import json
from urllib.parse import quote
with open('/etc/tproxy-server/profiles.json') as f:
profile = json.load(f)['profiles'][0]
secret = bytes.fromhex(profile['secret'])
host = 'proxy.example.com'
base = 'krztwamxs6qzpmjs'
marked = base64.urlsafe_b64encode(b'\x70' + secret).rstrip(b'=').decode()
server = quote(f'{host}/{base}', safe='')
print()
print('tg://webproxy?server=' + server + '&secret=' + marked)
print()
print('https://t.me/webproxy?server=' + server + '&secret=' + marked)
print()
PY
#network #proxy #telegram