workspace: initial clean commit
This commit is contained in:
96
tasks/mtproxy/happ-telegram-route.json
Normal file
96
tasks/mtproxy/happ-telegram-route.json
Normal file
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "warning"
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "socks-in",
|
||||
"protocol": "socks",
|
||||
"listen": "127.0.0.1",
|
||||
"port": 10808,
|
||||
"settings": {
|
||||
"auth": "noauth",
|
||||
"udp": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "http-in",
|
||||
"protocol": "http",
|
||||
"listen": "127.0.0.1",
|
||||
"port": 10809,
|
||||
"settings": {}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "proxy",
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"vnext": [
|
||||
{
|
||||
"address": "185.130.212.192",
|
||||
"port": 443,
|
||||
"users": [
|
||||
{
|
||||
"id": "d3a2fae8-d703-4b2f-8d94-afb016d57640",
|
||||
"encryption": "none",
|
||||
"flow": "xtls-rprx-vision"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"serverName": "www.microsoft.com",
|
||||
"fingerprint": "chrome",
|
||||
"publicKey": "3jY3vI6MUTEn3X20u7xDjpxrF2wO6zUxiXgP-Aie7yQ",
|
||||
"shortId": "a1b2c3d4",
|
||||
"spiderX": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "direct",
|
||||
"protocol": "freedom",
|
||||
"settings": {}
|
||||
},
|
||||
{
|
||||
"tag": "block",
|
||||
"protocol": "blackhole",
|
||||
"settings": {}
|
||||
}
|
||||
],
|
||||
"routing": {
|
||||
"domainStrategy": "IPIfNonMatch",
|
||||
"rules": [
|
||||
{
|
||||
"type": "field",
|
||||
"outboundTag": "proxy",
|
||||
"domain": [
|
||||
"telegram.org",
|
||||
"t.me",
|
||||
"core.telegram.org"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "field",
|
||||
"outboundTag": "proxy",
|
||||
"ip": [
|
||||
"149.154.160.0/20",
|
||||
"91.108.4.0/22",
|
||||
"91.108.8.0/22",
|
||||
"91.108.56.0/22",
|
||||
"95.161.64.0/20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "field",
|
||||
"outboundTag": "direct",
|
||||
"network": "tcp,udp"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
15
tasks/mtproxy/remove_mtproxy.sh
Executable file
15
tasks/mtproxy/remove_mtproxy.sh
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Останавливаю контейнер mtproto-proxy..."
|
||||
sudo docker stop mtproto-proxy || true
|
||||
|
||||
echo "Удаляю контейнер mtproto-proxy..."
|
||||
sudo docker rm mtproto-proxy || true
|
||||
|
||||
echo "Удаляю образ nineseconds/mtg:2..."
|
||||
sudo docker rmi nineseconds/mtg:2 || true
|
||||
|
||||
echo "Удаляю конфиг mtg.toml..."
|
||||
[ -f mtg.toml ] && rm mtg.toml || true
|
||||
|
||||
echo "MTProxy удалён."
|
||||
67
tasks/mtproxy/setup_mtproxy.sh
Executable file
67
tasks/mtproxy/setup_mtproxy.sh
Executable file
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# ============================================================
|
||||
# MTProxy (Fake TLS) setup script for Telegram
|
||||
# Uses: nineseconds/mtg:2 Docker image
|
||||
# Port: 9443 (proxy), 8889 (stats)
|
||||
# ============================================================
|
||||
|
||||
echo "==> [1/6] Проверка и установка Docker..."
|
||||
if ! command -v docker &>/dev/null; then
|
||||
echo " Docker не найден. Устанавливаем..."
|
||||
curl -fsSL https://get.docker.com | sudo sh
|
||||
sudo systemctl enable --now docker
|
||||
echo " Docker установлен и запущен."
|
||||
else
|
||||
echo " Docker уже установлен: $(docker --version)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "==> [2/6] Генерация секрета (Fake TLS, домен: www.google.com)..."
|
||||
SECRET=$(sudo docker run --rm nineseconds/mtg:2 generate-secret --hex www.google.com)
|
||||
echo " Секрет сгенерирован: $SECRET"
|
||||
|
||||
echo ""
|
||||
echo "==> [3/6] Создание конфига mtg.toml..."
|
||||
printf 'secret = "%s"\nbind-to = "0.0.0.0:3128"\nfake_tls_domain_check = false\n' "$SECRET" > mtg.toml
|
||||
echo " Файл mtg.toml создан:"
|
||||
cat mtg.toml
|
||||
|
||||
echo ""
|
||||
echo "==> [4/6] Остановка и удаление старого контейнера (если есть)..."
|
||||
sudo docker stop mtproto-proxy 2>/dev/null || true
|
||||
sudo docker rm mtproto-proxy 2>/dev/null || true
|
||||
echo " Готово (или контейнера не было — это нормально)."
|
||||
|
||||
echo ""
|
||||
echo "==> [5/6] Запуск нового контейнера mtproto-proxy..."
|
||||
sudo docker run -d \
|
||||
--name=mtproto-proxy \
|
||||
--restart=always \
|
||||
-p 9443:3128 \
|
||||
-p 8889:3129 \
|
||||
-v "$(pwd)/mtg.toml:/config.toml:ro" \
|
||||
nineseconds/mtg:2
|
||||
echo " Контейнер запущен."
|
||||
|
||||
echo ""
|
||||
echo "==> [6/6] Формирование ссылки для подключения..."
|
||||
SERVER_IP=$(curl -fsSL https://ifconfig.me 2>/dev/null || hostname -I | awk '{print $1}')
|
||||
SECRET_B64=$(echo -n "$SECRET" | xxd -r -p | base64 | tr '+/' '-_' | tr -d '=')
|
||||
TG_LINK="tg://proxy?server=${SERVER_IP}&port=9443&secret=${SECRET_B64}"
|
||||
|
||||
echo ""
|
||||
echo "============================================================"
|
||||
echo " MTProxy успешно развёрнут!"
|
||||
echo "------------------------------------------------------------"
|
||||
echo " Сервер : $SERVER_IP"
|
||||
echo " Порт : 9443"
|
||||
echo " Секрет : $SECRET"
|
||||
echo ""
|
||||
echo " Ссылка для Telegram:"
|
||||
echo " $TG_LINK"
|
||||
echo ""
|
||||
echo " Также можно открыть в браузере (заменит tg:// на https://):"
|
||||
echo " https://t.me/proxy?server=${SERVER_IP}&port=9443&secret=${SECRET_B64}"
|
||||
echo "============================================================"
|
||||
Reference in New Issue
Block a user