Перейти к содержанию

IPv6

Teleproxy поддерживает IPv6. Включается флагом -6.

Пример

./teleproxy -6 -u nobody -p 8888 -H 443 -S <secret> --http-stats --aes-pwd proxy-secret proxy-multi.conf -M 1
  • -6 включает прослушивание IPv6. Привязка к :: (все IPv6-интерфейсы). На большинстве систем также принимает IPv4 (dual-stack).
  • -H принимает только номера портов через запятую (например, -H 80,443). Не передавайте IP-адреса.
  • Привязка к конкретному IPv6-адресу не поддерживается — используйте файрвол.

Клиентская сторона

  • Предпочтительнее использовать имя хоста с AAAA-записью
  • Некоторые клиенты могут не принимать голые IPv6-адреса в ссылках tg://

Примеры:

  • Имя хоста: tg://proxy?server=proxy.example.com&port=443&secret=<secret>
  • IPv6-адрес: tg://proxy?server=[2001:db8::1]&port=443&secret=<secret>

Проверка

# Проверка, что прокси слушает на IPv6
ss -ltnp | grep :443
# Ожидается :::443

# Тест статистики через IPv6
curl -6 http://[::1]:8888/stats

Устранение проблем

  • Убедитесь, что IPv6 включён: sysctl net.ipv6.conf.all.disable_ipv6 (должно быть 0)
  • Файрволы и группы безопасности должны разрешать IPv6 на выбранном порту
  • Если IPv4 перестал работать после -6, проверьте net.ipv6.bindv6only и правила файрвола
  • Используйте имя хоста с AAAA-записью, чтобы избежать проблем с парсингом на клиенте

Docker

  • Убедитесь, что Docker-демон поддерживает IPv6 и у хоста есть маршрутизируемый IPv6-адрес
  • Entrypoint образа по умолчанию не включает -6. Переопределите команду контейнера или запускайте на хосте напрямую.
  • См. документацию Docker по daemon.json ("ipv6": true, "fixed-cidr-v6")