πΎ Archived View for betahowto.duckdns.org βΊ yggdrasil:internet_radio captured on 2024-03-21 at 15:41:46. Gemini links have been rewritten to link to archived content
β¬ οΈ Previous capture (2024-02-05)
-=-=-=-=-=-=-
Π Yggdrasil ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ°Π΄ΠΈΠΎ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½Π΅ ΠΈΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ IP Π°Π΄ΡΠ΅ΡΠ°.
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ»Π΅ΠΉ-Π»ΠΈΡΡΠΎΠ² ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΡΡΡΠΈΠΌΠΎΠ² ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ.
ΠΠΈΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° Yggdrasil / IPv6, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½.
Icecast ( https://icecast.org/ ) - ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ² Ogg (Vorbis ΠΈ Theora), Opus, WebM ΠΈ MP3.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΊΡΡΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL Π²Π΅ΡΡΠΈΠΈ 2.
ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎ nginx Π΄Π»Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ², Π½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²:
apt install icecast2
Π‘ΡΠ°ΡΡΡΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
systemctl start icecast2
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
/etc/icecast2/icecast.xml
<icecast> <location>Yggdrasil</location> <admin>icemaster@localhost</admin> <clients>100</clients> <sources>2</sources> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <burst-on-connect>1</burst-on-connect> <burst-size>65535</burst-size> </limits> <authentication> <source-password>ΠΏΠ°ΡΠΎΠ»Ρ</source-password> <relay-password>ΠΏΠ°ΡΠΎΠ»Ρ</relay-password> <admin-user>admin</admin-user> <admin-password></admin-password> </authentication> <hostname>[xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]</hostname> <listen-socket> <port>8000</port> <bind-address>::</bind-address> </listen-socket> <http-headers> <header name="Access-Control-Allow-Origin" value="*" /> </http-headers> <fileserve>1</fileserve> <paths> <basedir>/usr/share/icecast2</basedir> <logdir>/var/log/icecast2</logdir> <webroot>/usr/share/icecast2/web</webroot> <adminroot>/usr/share/icecast2/admin</adminroot> <alias source="/" destination="/status.xsl"/> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <loglevel>3</loglevel> <logsize>10000</logsize> </logging> <security> <chroot>0</chroot> <changeowner> <user>nobody</user> <group>nogroup</group> </changeowner> </security> </icecast>
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡ:
systemctl enable icecast2 systemctl restart icecast2
Π Π°Π·ΡΠ΅ΡΠ°Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Yggdrasil:
ufw allow from 0200::/7 to any port 8000
Ezstream ( https://icecast.org/ezstream/ ) β ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΌΠ΅Π΄ΠΈΠ°ΠΏΠΎΡΠΎΠΊΠΎΠ², Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ Icecast.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΈΡ ΡΠΎΡΠΌΠ°Ρ. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Ices2, ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ogg, mp3 Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
apt install ezstream
Ezstream Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ stream, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
useradd -m radio
Π€Π°ΠΉΠ»ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
mkdir /home/radio/collection - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΡΡΠΈΠΌΠ° mkdir /home/radio/ezstream - ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ezstream mkdir /home/radio/playlist - ΡΠ°ΠΉΠ»Ρ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠΎΠ²
ΠΠ°Π·ΠΎΠ²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ezstream ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
ls /usr/share/doc/ezstream/examples/
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ:
cp /usr/share/doc/ezstream/examples/ezstream-minimal.xml /home/radio/ezstream/gta/vice-city.xml
Π Π°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggwave/radio/gta/vice-city|ΡΠ°Π΄ΠΈΠΎ GTA Vice City:
/home/radio/ezstream/gra/vice-city.xml
<?xml version="1.0" encoding="UTF-8"?> <ezstream> <servers> <server> <name>YGGwave</name> <hostname>127.0.0.1</hostname> <password>ΠΏΠ°ΡΠΎΠ»Ρ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Icecast</password> </server> </servers> <streams> <stream> <server>YGGwave</server> <intake>GTA Vice City</intake> <mountpoint>/gta/vice-city</mountpoint> <format>MP3</format> <shuffle>Yes</shuffle> <stream_once>No</stream_once> <public>No</public> <stream_name>YGGwave - GTA Vice City</stream_name> <stream_url>http://[201:23b4:991a:634d:8359:4521:5576:15b7]:8000/gta/vice-city</stream_url> <stream_genre>OST</stream_genre> <stream_description>GTA Vice City Radio Stations</stream_description> </stream> </streams> <intakes> <intake> <name>GTA Vice City</name> <filename>/home/radio/playlist/gta/vice-city.txt</filename> </intake> </intakes> <metadata> <svrinfoname>GTA - Vice City Radio</svrinfoname> <format_str>GTA Vice City</format_str> <refresh_interval>-1</refresh_interval> <normalize_strings>Yes</normalize_strings> <no_updates>No</no_updates> </metadata> </ezstream>
ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ° ΡΠ°ΠΉΠ»Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ /home/radio/collection
ΠΠ»Π΅ΠΉΠ»ΠΈΡΡΡ Π΄Π»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
find /home/radio/collection -name *.mp3 > /home/radio/playlist/gta/vice-city.txt
ΠΠ΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π΄Π°ΡΡ ΠΏΡΠ°Π²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
chmod -R radio:radio /home/radio
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΡΠΈΠΌΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ systemd
/etc/systemd/system/ezstream-gta-vice-city.service
[Unit] Description=ezstream-gta-vice-city After=network.target [Service] Type=simple User=radio ExecStart=/usr/bin/ezstream -c /home/radio/ezstream/gta/vice-city.xml StandardOutput=file:/home/radio/ezstream-gta-vice-city-debug.log StandardError=file:/home/radio/ezstream-gta-vice-city-error.log Restart=on-failure [Install] WantedBy=multi-user.target
ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ:
systemctl enable ezstream-gta-vice-city systemctl start ezstream-gta-vice-city
ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΡΡΠΈΠΌΠΈΡΡ Π½Π° 80 ΠΏΠΎΡΡΡ, Π½ΠΎ ΠΎΠ½ Π·Π°Π½ΡΡ nginx, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
/etc/nginx/sites-available/default
location /yggwave/radio/gta/vice-city { proxy_pass http://localhost:8000/gta/vice-city; }
http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggwave/radio/gta/vice-city|ΡΠ°Π΄ΠΈΠΎ
http://[201:23b4:991a:634d:8359:4521:5576:15b7]:8000/gta/vice-city</stream_url>
http://localhost:8000/gta/vice-city;
http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggwave/|YGGwave
ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°