add: Прозрачный прокси контейнера через Shadowsocks и tun2socks

This commit is contained in:
2026-03-06 15:07:01 +03:00
parent 533858b71d
commit 8d903fed2f
2 changed files with 49 additions and 1 deletions

View File

@@ -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.
### Новая схема