Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat


Ситуація така, що поточний сервер не має Інтернет-інтерфейсу, зате має Yggdrasil, а той в свою чергу - мости Tor. Мені хотілось би відновити два стріми проєкту Pidpilne, про які мене просили, тим паче що цей проєкт задумувався як пенетратор фаєрволів а не балалайка для музики.


Оскільки Tor працює на проксі SOCKS5, певна річ, Icecast того проксування з коробки не вміє. В мене були спроби пустити потік через:


Врешті, зупинився на новому для себе способі:


::1  radio.ukr.radio

<!--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:


socat TCP6-LISTEN:8070,fork,reuseaddr,bind=[::1] SOCKS4A:[::1]:radio.ukr.radio:8000,socksport=9150

Встановлення Onion-роутера Arti з підключенням до мережі Tor через Yggdrasil


З сервісом не заморочувався, думаю туди можна докинути відповідних залежностей для запуску:


[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
useradd -s /usr/sbin/nologin -Mr socat

Посилання


Веб-адаптація цього матеріалу з коментарями на DevZone

http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:socat


Дивіться також


Проксування потоку m3u8 засобами ffmpeg в Icecast

Прокидання потоку Icecast/HTTP через Tor/SOCKS з socat

Підпільне: ретрансляція українського мовлення



/uk/