Streamripper

Dawno, dawno temu, nagrywało się utwory z radia – albo całe audycje – na kasety. Ponieważ zacząłem słuchać nieco więcej radia przez sieć, zacząłem się zastanawiać, jak to wygląda teraz. Bo przecież jest sporo ułatwień, choćby to, że strumień odtwarzany przy pomocy mplayer wyświetla informacje o odtwarzanym utworze.

To, że mplayer, ffmpeg czy vlc potrafią zapisać[1] strumień na dysk, wiedziałem. Już zabierałem się za zrobienie rozwiązania, które zapisze i audio, i informacje co było odtwarzane, gdy wpadłem na pomysł, by sprawdzić, czy przypadkiem nie ma jakiegoś gotowca w pakietach. Nie wiem jakiej frazy użyłem w wyszukiwaniu apt, ale trafiłem na streamripper z krótkim opisem download online streams into audio files.

Pobawiłem się chwilę i program mi się spodobał. Narzędzie jest bardzo proste[2], konsolowe. Ma swoje lata, ale działa i ma kilka przydatnych opcji. Przede wszystkim potrafi zapisywać strumień do pliku. Ale poza tym, potrafi zapisać tylko określoną ilość czasu lub megabajtów, zrobić reconnect. Czyli możemy sobie nagrać audycję, a przy problemach z siecią stracimy tylko fragment.

Potrafi też rozpoznać informacje o wykonawcy i tytule i wykorzystać je do nazwania zapisanego pliku. Niestety, nie ma co liczyć na zrobienie sobie w ten sposób biblioteki pojedynczych utworów w przyzwoitej jakości. Zwykle znaczniki z informacjami o utworze są przesunięte o kilka sekund. A to oznacza, że w utworach będzie brakowało początku lub końca, za to będzie nadmiar z innego kawałka. No chyba, że są nadawane z przerwami, wtedy może się udać. Możliwe też, że to zależy od stacji.

Jeśli jednak chcemy nagrać całą audycję, działa bardzo fajnie. Jeśli ktoś myśli o nagrywaniu radia internetowego, to polecam wypróbowanie streamrippera.

[1] Potrafią o wiele więcej – zmienić rozmiar video, audio, nadawać strumień do sieci. Kiedyś działałem z tym trochę więcej, ale to dawne dzieje.
[2] Tzn. opcji trochę jest, ale w porównaniu z ffmpeg czy mplayerem – niewiele.

Dezinformacja

Dezinformacja to coś, co działa w różne strony. Dziś spotkałem się z dezinformacją wymierzoną przeciw Chinom. A w zasadzie chińskim pojazdom. Zaczęło się od social mediów i informacji:

A Norwegian bus company wants to know if their buses could be abused by China in the case of war.

So they drive two buses deep into a limestone mine to isolate them from the internet and forensically investigate how they work.

In the mine, investigators discover a Chinese kill switch which could destroy all Chinese buses.

No sensacja na miarę afery Newagu, który umieścił w oprogramowaniu blokadę wymierzoną przeciw innym serwisom, prawda?

Tylko, że niekoniecznie. Oryginalny, podlinkowany artykuł, w mało popularnym języku (pszypadek? nie sądzę) twierdzi bowiem rzeczy dokładnie odwrotne (Google Translate):

Na przykład, czy możliwe jest, aby chiński rząd uzyskał dostęp do licznych kamer w autobusach miejskich, gdyby pewnego dnia, w nie do pomyślenia przyszłości, chciał wykorzystać je do monitorowania na przykład Chińczyków w Norwegii? Tor Indstøy i jego zespół nie znajdują na to żadnych dowodów. I to jest pozytywne. Ale odkrywają coś jeszcze. Chiński autobus elektryczny zawiera komputer, który między innymi steruje akumulatorem i silnikiem autobusu, aby autobus mógł jak najefektywniej poruszać się po Oslo. Komputer ten – za pośrednictwem małej karty SIM – jest podłączony do internetu, dzięki czemu może wysyłać informacje, a czasami pobierać aktualizacje. Bo tak, autobus można aktualizować dokładnie tak samo, jak telefon. Śledczy doszli do następującego wniosku: taka aktualizacja umożliwia chińskiej firmie stworzenie funkcji, która całkowicie uniemożliwia jazdę autobusowi. Ponownie musimy wyobrazić sobie przyszłość, w której nasze relacje z Chinami będą bardziej napięte niż obecnie, a chiński rząd chce doprowadzić do upadku Oslo, blokując kilkaset autobusów miejskich na środku ulicy w godzinach szczytu. To prawdopodobnie się nie wydarzy. Ale może się wydarzyć.

Czyli nie znaleziono funkcji szpiegujących. Nie znaleziono – dokładnie odwrotnie, niż w przypadku afery Newagu – killswitcha umożliwiającego unieruchomienie sprzętu. To, co znaleziono, to jedynie łączność i możliwość pobierania aktualizacji. Typowe funkcjonalności.

Oczywiście, każda aktualizacja oprogramowania może całkowicie zmienić jego działanie. Czy to w sposób zamierzony, czy niezamierzony – w wyniku błędnej aktualizacji urządzenie może przestać działać. Ale czy o każdym pojeździe z łącznością poprzez kartę SIM i aktualizacją softu napiszemy, że ma killswitcha? Czy systemy Windows i macOS mają killswitcha? Android? iOS? W końcu czy killswitcha ma mój Debian, na którym zainstalowałem unattened-upgrades? Nie, nikt rozsądny tego w ten sposób nie nazwie.

Tymczasem lawina dezinformacji i antychińskiego FUD ruszyła i np. polskie (ale nie tylko) media krzyczą już nagłówkami w stylu Chińskie autobusy mogą być zdalnie sterowane. Szokujące wyniki testu czy Chińczycy mogli sterować autobusami w Danii? Te same pojazdy jeżdżą w Polsce. No i oczywiście po drodze już dorobiły się killswitchy.

Warto sprawdzać źródła[1], tym bardziej, jeśli w grę wchodzi lobbing, kontrakty na sprzęt i duże pieniądze.

I dla jasności, doceniam model zagrożeń, który przewidują Norwegowie. Uważam, że urządzenia (nie tylko pojazdy, instalacje fotowoltaiczne czy lodówki też mogą dać bardzo ciekawe efekty) generalnie nie powinny mieć dostępu do sieci, a użytkownik powinien mieć możliwość samodzielnego decydowania fakcie i czasie wykonywania aktualizacji. Czym może się skończyć aktualizacja w nieodpowiednim momencie – wiadomo.

Warto też zwracać uwagę na ile bliskie politycznie są firmy mające kontrolę nad urządzeniami. Bo czy np. Tesle w Europie mogą szpiegować kamerami? Czy mogą dostać oprogramowanie, które w określonych okolicznościach uniemożliwi otwarcie drzwi, zablokuje możliwość kierowania i rozpędzi pojazd do maksymalnej prędkości? Cytując artykuł: To prawdopodobnie się nie wydarzy. Ale może się wydarzyć.

[1] Tak, mam świadomość, że duński artykuł powstał na bazie norweskiego. Niestety, paywall.

Debian Trixie

Wczoraj została nowa wersja Debiana, o nazwie kodowej Trixie. Podobnie jak przy okazji Bookworm, wrażenia z instalacji.

Na pierwszy rzut, jeszcze wczoraj, poszedł kontener LXC w którym działa nowy certstream[1]. Nie bardzo miało co pójść nie tak i… nie poszło. Aktualizacja w zasadzie nudna, jedyne o czym warto pamiętać, to zmiana formatu w jakim podawane są źródła apt. Nie była to nowość, bo w końcu na desktopie mam od dawna Debiana Sid.

Rozochociło mnie to i jako drugi zacząłem aktualizować kontener z Linuksem na Chromebooku. No nie polecam. Będę przywracał z backupu. Ale to raczej nie wina Debiana, raczej coś przeoczyłem, lub – co najbardziej prawdopodobne – po prostu są dodatkowe elementy wymagane przy interakcji. Komunikaty niezbyt pomocne, w zasadzie naprowadzają jedynie na zbyt małą ilość przydzielonej pamięci ale… nie wygląda na używaną.

Potem zaktualizowałem jeszcze kontenery LXC w których działają blogi. Wymagane były drobne poprawki związane ze zmianami w składni nginx oraz wersją PHP. Dość standardowo.

Więcej roboty było ze skryptami Pythona i virtual environments. Musiałem wszystkie utworzyć, przy okazji wyszły drobne zmiany w bibliotekach. Problemem jest ilość i konieczność ręcznej roboty, nie stopień komplikacji.

Szybka ściągawka z poleceń, oczywiście polecam lekturę instrukcji:

apt update
apt upgrade
# Zmiana wpisów w sources (sed -i "s/bookworm/trixie/" /etc/apt/sources.list)
apt update
apt upgrade --without-new-pkgs
apt full-upgrade
apt autoremove
apt modernize-sources
# Opcjonalnie
apt list '~o'
apt purge '~o'
apt list '~c'
apt purge '~c'

Jeśli coś ciekawego wyniknie na pozostałych systemach, dam znać.

[1] Notka w trakcie tworzenia, nie ma chronologii, oj, nie ma…