💾 Archived View for rawtext.club › ~faildev_mode › gemlog › who-needs.gmi captured on 2023-07-10 at 14:44:27. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-03-20)

➡️ Next capture (2023-07-22)

-=-=-=-=-=-=-

2023-03-05

Po co nam gemini?

Zwróćcie uwagę na adres tego wpisu: kończy się na who-needs.gmi, co należy czytać jako "who needs gemini". Rozszerzenie jest tu wyjątkowo częścią angielskiego tytułu – ot, taka ciekawostka.

Korzystanie z otwartoźródłowych usług sieciowych takich jak Mastodon, Nextcloud, Invidious czy Discourse sprawiły, że nieco zapomniałem jak chorym miejscem jest web. Gdzieś tam z tyłu głowy miałem te wszystkie cookiesy, JavaScript, Cloudflare, User Agent, DRM i tym podobne problemy, jednak dopiero wchodząc na pewne strony, z których ja zazwyczaj nie korzystam, przypominam sobie, jaką plagą jest dziś nadużywanie technologii webowych celem śledzenia, wyłudzania zgody i ograniczania tego, co użytkownik może robić ze stroną. I nic nie wskazuje na to, aby miało się to zmienić w najbliższej przyszłości. Innym problemem jest monopol przeglądarek opartych o Chrome wynikający z faktu, że stos standardów webowych, jaki musi obsługiwać przeglądarka urósł do tak wielkich rozmiarów, że stworzenie nowego silnika przeglądarki to już milionowa inwestycja. Trochę o tym powiedziałem w moim pierwszym wpisie:

Ewolucja www

Dziś chciałbym spojrzeć na sytuację z innej strony. Dziś, w 2023 roku, www jest już od dawna dominującym standardem na podstawie którego tworzone są strony internetowe. Ma w tej branży monopol absolutny. 110% stron jest dostępnych za pomocą protokołu http i napisanych w języku html, w połączeniu z arkuszami stylów css i skryptami wykonywanymi po stronie klienta – JavaScript. O gopherze ani gemini nikt nie słyszał, co najwyżej o aptece gemini. Nasz ulubiony protokół nie pokazuje się nawet na trzeciej stronie wyników wyszukiwania, gdzie są już naprawdę dziwne strony. Czy to źle? Moim zdaniem są tego plusy – zacisze wolne od evil corpów, które już niestety zaczęły się wdzierać do fediversum, i które mogłyby próbować je zniszczyć lub "poprawić".

Gopher jest naprawdę starym protokołem, który swoją świetność przeżywał przed ekspansją www, jaki znamy dziś. Zresztą również i dziś znalazłoby się parę stron działających na gopherze. To proste dokumenty tekstowe połączone ze sobą linkami. Gopher miał parę wad, które gemini eliminuje, między innymi brak szyfrowania i parę innych rzeczy. Także gemini jest nie tylko uproszczonym www, jest także wzbogaconym gopherem.

Projekt gemini nie próbuje rywalizować z webem, tak jak firmy IT konkurują między sobą o zdobycie większej liczby klientów, lecz pasywnie koegzystuje z innymi protokołami. Web upycha wszystko w przeglądarce, jest platformą dystrybucji aplikacji internetowych. Gemini (i gopher) to tylko prosty protokół do prostych dokumentów połączonych linkami, co jest wystarczające dla celów bloga czy strony z newsami. Jego filozofia w pewien sposób przypomina filozofię Unixa – robić tylko jedną rzecz i robić ją dobrze – choć na tym się nie kończy. Zamiast używać do wszystkiego przeglądarki, mamy więc różne aplikacje do różnych zadań, korzystające z protokołów specjalizujących się w danej dziedzinie. To sprzyja powstawaniu nowych (niezależnych!), interoperacyjnych aplikacji. Zauważcie jak wiele jest np. komunikatorów opartych na Matrixie, pozwolę sobie wymienić kilka z nich:

Matrix jest nową technologią, zobaczcie jak wiele macie do wyboru czytników RSS/Atom, albo klientów email! W ilu aplikacjach jest dostępna obsługa FTP lub jego bezpieczniejszego odpowiednika SFTP?

Gemini to także większa prywatność. Po załadowaniu strona nie może niczego wysyłać w tle, nic się nie ładuje z serwerów zewnętrznych. Nie ma cookiesów ani specjalnych nagłówków, ani nawet user-agenta. Toteż za każdym razem gdy wchodzimy na stronę gemini, będzie to dla serwera tak jakbyśmy weszli tam po raz pierwszy.

No, wszystko fajnie – ktoś mógłby powiedzieć – tylko to samo można osiągnąć przy pomocy istniejącego już http/html. Można przy ich pomocy stworzyć maksymalnie prostą stronę, która nie śledzi, tylko robi to co ma robić – serwuje nam treści. Użytkownik nie musi instalować drugiej przeglądarki. Jeśli martwi się o swoją prywatność, może wyłączyć cookiesy, JavaScript, a nawet zasoby zewnętrzne i zostać z suchym tekstem. Po co nam gemini?

Sprawy ułożyły się tak, że klikając w link zaczynający się od https://... nie wiemy, co się za chwilę stanie. Może nagle zamuli nam procesor, bo strona zacznie nam kopać krypto? Albo nasz komputer dołączy do botnetu i będzie DDoS-ować inne serwery? Albo zmieni się w otwarte proxy? Osobiście się nie spotkałem, ale niewykluczone. Możliwości są niemal nieograniczone. Wielu już w przeszłości próbowało naprawić web – skończyli jako kolejny evil corp, zadowalali się półśrodkami albo odchodzili sfrustrowani zdając sobie sprawę, że to przerasta ich możliwości. Dziś wyłączenie JavaScriptu, który początkowo był zaledwie dodatkiem powoduje, że wiele stron zupełnie przestaje działać, ponieważ używa JavaScript do generowania treści strony. Natomiast pozostawiając JavaScript włączony narażamy się na deanonimizację i profilowanie. Musielibyśmy jakoś oddzielić "dobry" JavaScript od "złego", tylko skąd mamy wiedzieć, który jest który?

side note: JavaScript na zaufanej stronie może się w przyszłości zmienić, a my tego nie zauważymy. Jest to problem braku ochrony integralności zasobów zewnętrznych www, a w szczególności skryptów. Dopisuję to zagadnienie do listy potencjalnych wpisów.

Na stronie browserleaks.com jest dostępnych wiele interaktywnych testów pokazujących w praktyce różne metody śledzenia i deanonimizacji. Podobny test można przeprowadzić na amiunique.org i zobaczyć, jak różne cechy wyróżniają naszą przeglądarkę z tłumu. U mnie na przykład identyczny nagłówek content-language miało tylko 0.27% osób.

https://browserleaks.com

https://amiunique.org/fp

Ostatnio czytałem serię "internetowa inwigilacja" z "ciemnej strony". O wielu z wspomnianych tam metod śledzenia już wiedziałem, ale niektóre mnie zaskoczyły i trochę poszerzyłem swoją wiedzę.

https://www.ciemnastrona.com.pl/serie/internetowa_inwigilacja

Jedno muszę zarzucić autorowi – uważa Cloudflare za "nie taką złą" firmę, dla mnie jest to wielkie zagrożenie dla bezpieczeństwa i stabilności Internetu. Dla zainteresowanych tematem odsyłam do artykułu:

https://git.disroot.org/cyberMonk/liberethos_paradigm/src/branch/master/rap_sheets/cloudflare.md

Najgorsze jest w tym to (jest to powód, dla którego potrzebujemy gemini), że możliwości śledzenia nas uruchamiają się natychmiast po kliknięciu we wspomniany link. Strony nie muszą nas pytać o zgodę – popularne pop-upy mają tylko moc prawną, jednakże strony mają techniczną możliwość zbierania i przetwarzania naszych danych jeszcze przed podjęciem jakiejkolwiek decyzji – i bardzo często z niej korzystają. A tu biedny człowiek chce po prostu najzwyczajniej w świecie przeczytać artykuł i nie zaprzątać sobie głowy kwestiami prywatnościowymi ani przeklikiwaniem się przez pop-upy w celu niewyrażenia zgody (co i tak może zostać zignorowane). Chcemy po prostu zwykły dokument tekstowy i nic więcej.

Zatem ktoś wysyła nam link do https://... – skąd mamy wiedzieć, czy strona jest "czysta", dopóki jej nie otworzymy w naszej przeglądarce? Nie mamy takiej pewności. Otrzymanie natomiast linku rozpoczynającego się od gemini:// sprawia, że nasze zaufanie do strony wzrasta. Wiemy, czego możemy się spodziewać.

––––––––––

Niektóre osoby zgłaszały mi, że wolałyby czytać moją stronę przez http, bez instalacji dodatkowych programów. Mam w planach stworzenie wersji html-owej tej strony i napisanie jakiegoś "przetwarzacza". Właśnie zunifikowałem skrypty do przetwarzania plików źródłowych na gemtext. Były dwa, jeden do artykułów i jeden do gemloga, teraz jest jeden, odpala się go podając jako argument "articles" lub "gemlog". Na ten moment ma on 94 linijki i stara się nie komplikować zbytnio tej prostej czynności. To jest właśnie ten link "build.py" (dla ciekawskich), który teraz wskazuje na jeden i ten sam plik. Jeśli chcielibyście zobaczyć starsze wersje strony, możecie pobrać kod źródłowy przez git (i zobaczyć moje czasami zabawne opisy commitów):

git clone https://rawtext.club/~faildev_mode/gemini.git

Disclaimer: niczego nie obiecuję, a moje plany mogą ulec zmianie. Na ten moment się z wami żegam. Jeżeli spodobał wam się wpis, możecie do mnie napisać na fedi. Zapraszam serdecznie!

https://mstdn.social/@anedroid