add icecast-http-over-tor-socks.gmi

This commit is contained in:
ps 2026-03-25 14:37:59 +02:00
parent f5d79e7590
commit 4fea491e90
4 changed files with 89 additions and 2 deletions

View file

@ -0,0 +1,80 @@
# Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat
Ситуація така, що поточний сервер не має Інтернет-інтерфейсу, зате має Yggdrasil, а той в свою чергу - мости Tor. Мені хотілось би відновити два стріми проєкту pidpilne.i2p, про які мене просили, тим паче що цей проєкт задумувався як пенетратор фаєрволів а не балалайка для музики.
Оскільки Tor працює на проксі SOCKS5, певна річ, Icecast того проксування з коробки не вміє. В мене були спроби пустити потік через:
* privoxy - він в мене зайнятий і без того заплутаний правилами
* ffmpeg - його залежності тягнуть мінімум 500Мб диску та в цей спосіб не відображатимуться заголовки треків
* і навіть Nginx - але це вже збочення
Врешті, зупинився на новому для себе способі:
``` /etc/hosts
::1 radio.ukr.radio
```
``` /etc/icecast2/icecast.xml
<!--tochka-->
<relay>
<server>radio.ukr.radio</server>
<port>8070</port><!--8000 via socat-->
<mount>/ur5-aacplus-l</mount>
<local-mount>/tochka.aac</local-mount>
<on-demand>0</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<!--kultura-->
<relay>
<server>radio.ukr.radio</server>
<port>8070</port><!--8000 via socat-->
<mount>/ur3-aacp-ulow</mount>
<local-mount>/kultura.aac</local-mount>
<on-demand>0</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
```
В терміналі або окремим сервісом systemd:
``` bash
socat TCP6-LISTEN:8070,fork,reuseaddr,bind=[::1] SOCKS4A:[::1]:radio.ukr.radio:8000,socksport=9150
```
* зверніть увагу, що порт в мене `9150` - він є стандартним для роутера Arti
=> arti-onion-router-with-tor-connection-over-yggdrasil.gmi Встановлення Onion-роутера Arti з підключенням до мережі Tor через Yggdrasil
З сервісом не заморочувався, думаю туди можна докинути відповідних залежностей для запуску:
``` /etc/systemd/system/icecast-socat.service
[Unit]
Description=socat forwarding for icecast/tor
After=network-online.target
[Service]
Type=simple
User=socat
Group=socat
ExecStart=/usr/bin/socat \
TCP6-LISTEN:8070,fork,reuseaddr,bind=[::1] \
SOCKS4A:[::1]:radio.ukr.radio:8000,socksport=9150
Restart=always
RestartSec=1
TimeoutStopSec=0
[Install]
WantedBy=multi-user.target
```
* щоб не пускати від рута, додав окремого юзера:
``` bash
useradd -s /usr/sbin/nologin -Mr socat
```
## Посилання
=> https://devzone.org.ua/post/prokydannia-potoku-icecasthttp-cherez-tor-z-socat Веб-адаптація цього матеріалу з коментарями на DevZone
=> http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:socat
## Дивіться також
=> m3u8-stream-proxy-with-ffmpeg-in-icecast.gmi Проксування потоку m3u8 засобами ffmpeg в Icecast
=> icecast-http-over-tor-socks.gmi Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat
=> pidpilne.gmi Підпільне: ретрансляція українського мовлення

View file

@ -16,6 +16,7 @@
### Нотатки ### Нотатки
=> icecast-http-over-tor-socks.gmi 2026-03-25 Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat
=> your-childs-not-yours.gmi 2026-03-23 Ваші діти - не ваші => your-childs-not-yours.gmi 2026-03-23 Ваші діти - не ваші
=> create-file-from-nautilus-context-menu.gmi 2026-03-23 Створення файлів з контекстного меню Nautilus / GNOME => create-file-from-nautilus-context-menu.gmi 2026-03-23 Створення файлів з контекстного меню Nautilus / GNOME
=> psocks-my-vision-of-filtering-out-proxy.gmi 2026-03-22 psocks: моє бачення фільтруючого проксі => psocks-my-vision-of-filtering-out-proxy.gmi 2026-03-22 psocks: моє бачення фільтруючого проксі

View file

@ -159,4 +159,5 @@ server {
### Читайте також ### Читайте також
=> yggdrasil-is-network-with-distributed-routing.gmi Yggdrasil - мережа з децентралізованою маршрутизацією => yggdrasil-is-network-with-distributed-routing.gmi Yggdrasil - мережа з децентралізованою маршрутизацією
=> icecast-http-over-tor-socks.gmi Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat

View file

@ -334,4 +334,9 @@ WantedBy=multi-user.target
## Посилання ## Посилання
=> https://devzone.org.ua/post/veb-radio-v-linux-vstanovlennia-servera-icecast-ta-bazove-nalashtuvannia-rotatsiyi-z-ezstream Веб-версія цього матеріалу з коментарями на DevZone => https://devzone.org.ua/post/veb-radio-v-linux-vstanovlennia-servera-icecast-ta-bazove-nalashtuvannia-rotatsiyi-z-ezstream Веб-версія цього матеріалу з коментарями на DevZone
### Дивіться також
=> m3u8-stream-proxy-with-ffmpeg-in-icecast.gmi Проксування потоку m3u8 засобами ffmpeg в Icecast
=> icecast-http-over-tor-socks.gmi Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat