gemlog/public/uk/icecast-http-over-tor-socks.gmi

80 lines
No EOL
3.6 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Прокидання потоку 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 Підпільне: ретрансляція українського мовлення