# Прокидання потоку 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 radio.ukr.radio 8070 /ur5-aacplus-l /tochka.aac 0 1 radio.ukr.radio 8070 /ur3-aacp-ulow /kultura.aac 0 1 ``` В терміналі або окремим сервісом 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 Підпільне: ретрансляція українського мовлення