Some checks failed
Published content check / validate (push) Failing after 5s
Каждая публикуемая заметка получила callout-шапку со ссылкой на свою страницу wiki.zapret.moe (на самой вики она вырезается транформером RemoveMirrorCallout, видна только на зеркале Obsidian Publish и в Forgejo) и SEO-поле description — 1–2 предложения для meta description обоих сайтов. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
59 lines
No EOL
1.5 KiB
Markdown
59 lines
No EOL
1.5 KiB
Markdown
---
|
||
description: "Развёртывание VPN-бота Telegram (vpnbot) на сервере: python3-venv, установка зависимостей pip и systemd-юнит vpnbot.service с автоперезапуском."
|
||
---
|
||
|
||
> [!mirror] Резервное зеркало
|
||
> Актуальная версия этой страницы — на основной вики: [wiki.zapret.moe/Zapret/ZapretVPN](https://wiki.zapret.moe/Zapret/ZapretVPN)
|
||
|
||
|
||
```
|
||
mkdir vpnbot
|
||
cd /root/vpnbot
|
||
apt install python3.12-venv
|
||
apt install python3.13-venv
|
||
python3 -m venv venv
|
||
source venv/bin/activate
|
||
pip install paramiko pytz aiogram aiohttp aiohttp_cors yoomoney requests python-dotenv timezones wireguard certbot schedule filelock playwright timedelta qrcode qrcode[pil]
|
||
nano /etc/systemd/system/vpnbot.service
|
||
```
|
||
|
||
```
|
||
[Unit]
|
||
Description=VPN Telegram Bot
|
||
After=network.target zapret-api.service
|
||
Wants=network-online.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=root
|
||
WorkingDirectory=/root/vpnbot
|
||
ExecStart=/root/vpnbot/venv/bin/python /root/vpnbot/bot.py
|
||
|
||
# Перезапуск при падении
|
||
Restart=always
|
||
RestartSec=10
|
||
|
||
# Лимиты (отдельные от API!)
|
||
LimitNOFILE=32768
|
||
LimitNPROC=2048
|
||
TasksMax=2048
|
||
|
||
# Логирование
|
||
StandardOutput=journal
|
||
StandardError=journal
|
||
SyslogIdentifier=vpnbot
|
||
|
||
# Безопасность
|
||
PrivateTmp=true
|
||
NoNewPrivileges=true
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
```
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl enable vpnbot
|
||
sudo systemctl restart vpnbot
|
||
journalctl -u vpnbot -f
|
||
``` |