Всем привет. Решил я в общем сделать себе на VPS выход в мир, так сказать. И в принципе, я его даже сделал, но никак не могу победить некоторые сайты, например Рутрекер.
Началось все с обычного Outline, который я поставил и настроил, и в принципе, меня он устраивал, но проксировать весь трафик довольно быстро перехотелось из-за ограничений со стороны российских сайтов.
Далее я случайно узнал, что оказывается, сервер Outline можно использовать как обычную Shadowsocks проксю, что и было сделано. Локально был поднят клиент, на Firefox накачен FoxyProxy и вбито туда все, что нужно.
И вот тут я столкнулся с проблемой: одним из того, что нужно, был рутрекер и вот его я никак не могу победить. Если пытаюсь на него зайти через Shadowsocks, то получаю в FF ошибку PR_END_OF_FILE_ERROR. При этом, если я пускаю весь трафик через тот же клиент Outline, то все работает. Если использую какой-нибудь чужой прокси, то тоже все работает.
Я попробовал сделать то же самое с хромом и результат аналогичный.
Что интересно, рутрекер - это, наверное, единственное, что у меня не хочет работать. Остальные https сайты работают нормально.
Я подумал, что ну может меня DPI какой-то режет или что-то такое и сделал себе чистый shadowsocks-rust сервер, заодно применив к нему simple-tls плагин. Никаких отличий от простого Shadowsocks я не заметил.
Что я делаю не так? Конфиг Shadowsocks сервера:
{
"server": "0.0.0.0",
"server_port": PORT,
"password": "PASSWORD",
"timeout": 120,
"method": "chacha20-ietf-poly1305",
"no_delay": true,
"fast_open": true,
"reuse_port": true,
"workers": 1,
"ipv6_first": false,
"nameserver": "8.8.8.8",
}
Systemd Unit simple-tls плагина:
[Unit]
Description=simple-tls standalone server service
Documentation=man:shadowsocks-rust(8)
After=network.target
[Service]
Type=simple
User=nobody
Group=nogroup
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
LimitNOFILE=51200
ExecStart=/etc/shadowsocks-rust/simple-tls-plugin -b :443 -d 127.0.0.1:PORT -s -key /etc/shadowsocks-rust/my_ecc_cert.key -cert /etc/shadowsocks-rust/my_ecc_cert.cert
[Install]
WantedBy=multi-user.target
Локальный конфиг клиента:
{
"servers": [
{
"address": "ADDRESS",
"port": 443,
"password": "PASSWORD",
"method": "chacha20-ietf-poly1305",
"plugin": "/etc/shadowsocks-rust/simple-tls-plugin",
"plugin_opts": "n=DOMAIN;no-verify;cert-hash=HASH"
},
],
"local_port": 1090,
"local_address": "127.0.0.1"
}