mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-04-01 13:15:29 +00:00
80 lines
No EOL
3.6 KiB
Text
80 lines
No EOL
3.6 KiB
Text
# Прокидання потоку 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 Підпільне: ретрансляція українського мовлення |