From 8d903fed2f1206a7c3721266c2566d75fc9873df Mon Sep 17 00:00:00 2001 From: erjemin Date: Fri, 6 Mar 2026 15:07:01 +0300 Subject: [PATCH] =?UTF-8?q?add:=20=D0=9F=D1=80=D0=BE=D0=B7=D1=80=D0=B0?= =?UTF-8?q?=D1=87=D0=BD=D1=8B=D0=B9=20=D0=BF=D1=80=D0=BE=D0=BA=D1=81=D0=B8?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80=D0=B0?= =?UTF-8?q?=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20Shadowsocks=20=D0=B8=20tun2?= =?UTF-8?q?socks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +- ...container-via-shadowsocks-and-tun2socks.md | 47 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 docker/docker-proxy-container-via-shadowsocks-and-tun2socks.md diff --git a/README.md b/README.md index 8d4899c..600b155 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ * [Nginx и letsencrypt в контейнерах](docker/docker-nginx-w-certbot.md) на примере Portainer * [Контейнер MySQL под Windows 10](docker/docker-mysql-in-windows10.md) * [Развертывание VPN-сервера на базе MS SSTP](docker/docker-sstp-vpn.md) -* [Развертывание прокси базе Shadowsocks (сервер и клиент)](docker/docker-shadowsocks.md) +* [Развертывание прокси на базе Shadowsocks](docker/docker-shadowsocks.md) (сервер и клиент) +* [Настройка прокси для контейнера через Shadowsocks и tun2socks](docker/docker-proxy-container-via-shadowsocks-and-tun2socks.md) ## Kubernetes (k3s/k8s) * [Установка k3s на Orange Pi 5 Plus](raspberry-and-orange-pi/k3s.md) diff --git a/docker/docker-proxy-container-via-shadowsocks-and-tun2socks.md b/docker/docker-proxy-container-via-shadowsocks-and-tun2socks.md new file mode 100644 index 0000000..d8f89db --- /dev/null +++ b/docker/docker-proxy-container-via-shadowsocks-and-tun2socks.md @@ -0,0 +1,47 @@ +# Прозрачный прокси контейнера через Shadowsocks и tun2socks + +У меня есть Docker-контейнер Audiobookshelf, в котором я слушаю аудио-книги и подкасты. Он сам скачивает подкасты + из интернета и это очень удобно (все нужные мне подкасты в одном месте). Работал контейнер на домашнем NAS Synology + (в нем есть Docker Station с веб-интерфейсов). Книг у меня в "библиотеке" уже более тысячи, а подкастов и того больше, + так что домашний NAS с доступом из интернет -- идеальное решение. + +Все отлично работало и подкасты обновлялись, пока не настало DPI. Где-то в первой декаде января 2026 подкасты перестали + обновляться. Проверки показали, что это из-за блокировок на уровне провайдера. Mp3-файлы файлы размещены на + DigitalOcean, и заблокирован именно он. Audiobookshelf получает ссылки через RSS-фиды, видит новые эпизоды, и зависает + при скачивании. + +## Как решить проблему DPI? + +Как все работало до блокировок: + +### Старая схема + +```text + ┌──────────┐ + │ Интернет │ + └────▲─────┘ + │ + │ +┌───────────────────────────────┐ скачивание подкастов ┌─────┴────┐ +│ Audiobookshelf (на Synology) ├──────────────────────────────►│ Роутер │ +└───────────────┬───────────────┘ └─────▲────┘ + │ │ + │ для прослушивания │ + │ │ + │ │ +┌───────────────▼───────────────┐ для прослушивания c SSL │ +│ Nginx (на Orange Pi 5 Plus) ├─────────────────────────────────────┘ +└───────────────────────────────┘ +``` + +Контейнер Audiobookshelf на Synology работает по 8000 порту. Nginx на Orange Pi 5 Plus проксирует на этот порт на +IP-адресе Synology, добавляет SSL и обновляет сертификат Let's Encrypt (на самом деле у меня для этой цели используется +Traefik на k3s и все еще проходдит через VIP-адрес Keepalive, но для простоты я опускаю эти детали). На роутере +настройка проброс 443-порта на Orange Pi. Внешний DNS настроен на IP-адрес роутера (A- и AAAA-записи) и так я могу +слушать подкасты из любой точки мира. + +Скачивание подкастов внутри Audiobookshelf идет напрямую. Контейнер сразу обращается к Роутеру и пытается скачать + mp3-файл. И это ему не удаётся из-за DPI. + +### Новая схема +