---: minor
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# Прозрачный прокси контейнера через Shadowsocks и tun2socks
|
||||
|
||||

|
||||
|
||||
У меня есть Docker-контейнер Audiobookshelf, в котором я слушаю аудиокниги и подкасты. Он сам скачивает подкасты
|
||||
из интернета, и это очень удобно (все нужные мне подкасты в одном месте). Работал контейнер на домашнем NAS Synology
|
||||
(в нем есть Docker Station с веб-интерфейсом). Книг у меня в "библиотеке" уже более тысячи, а подкастов и того больше,
|
||||
@@ -229,7 +231,7 @@ ls /dev/net/tun
|
||||
**Третьим стартует** контейнер `audiobookshelf`. В нём почти всё по-старому. Но теперь он зависит от `tun2socks`,
|
||||
так что гарантированно запустится после него. Кроме того, у него нет проброса портов `8000:80` (они у нас теперь
|
||||
в контейнере tun2socks). Вместо этого у него `network_mode: "service:tun2socks"`. В целом, `network_mode:
|
||||
"service:..."` — это мощная, но специфичная функция Docker, которая 'склеивает' сетевые стеки контейнеров в один,
|
||||
"service:..."` — это мощная, но специфичная функция Docker, которая «склеивает» сетевые стеки контейнеров в один,
|
||||
а это значит, что контейнер `audiobookshelf` будет использовать сетевой стек контейнера `tun2socks` и в результате
|
||||
весь трафик будет идти через TUN-интерфейс. Дальше уже сам `tun2socks` определит, что с ним делать. Если трафик пришел снаружи, с порта 8000, то он попадёт в Audiobookshelf, как и раньше, а если же сам Audiobookshelf начнет что-то
|
||||
скачивать, то запрос уйдет через TUN-интерфейс, попадет в `tun2socks`, который перенаправит его через SOCKS5-прокси
|
||||
@@ -237,8 +239,8 @@ ls /dev/net/tun
|
||||
|
||||
## Запуск и проверка
|
||||
|
||||
Конечно, первым делом нужно проверить в интерфейсе Docker Station, что проект "зелененький" и все контейнеры тоже
|
||||
"зелененькие". Ну или выполнить:
|
||||
Конечно, первым делом нужно проверить в интерфейсе Docker Station, что проект «зелененький» и все контейнеры тоже
|
||||
«зелененькие». Ну или выполнить:
|
||||
```bash
|
||||
sudo docker ps
|
||||
```
|
||||
@@ -260,9 +262,9 @@ Audiobookshelf работает на Node.js, а внутри контейнер
|
||||
заковыристый js-скрипт для проверки скачивания файла.
|
||||
|
||||
В результате мы получим `test.mp3` в папке `/podcasts/` (а она у нас снаружи контейнера
|
||||
в `/volume1/music/_podcasts`). Это выпуск №1074 подкаста "Аэростат" с альбомом Аквариума "Странные Новости с
|
||||
Далёкой Звезды" (2024 год, очень рекомендую послушать). Этот подкаст размещен на DigitalOcean, так что если
|
||||
он скачался, значит туннель работает и обход блокировок провайдера сработал.
|
||||
в `/volume1/music/_podcasts`). Это выпуск №1074 подкаста «Аэростат» с альбомом Аквариума «Странные Новости
|
||||
с Далёкой Звезды» (2026 год, очень рекомендую послушать). Этот подкаст размещен на DigitalOcean, так что если
|
||||
он скачался, значит туннель работает и обход блокировок провайдера сработал.
|
||||
|
||||
Проверить, что метаданные из iTunes тоже подгружаются, можно, только настроив автообновление подкастов
|
||||
в интерфейсе Audiobookshelf (например, через пять минут). Но получение метаданных происходит "под капотом",
|
||||
|
||||
Reference in New Issue
Block a user