Qliver & Gopher (lipiec 2025) ==================================================================================================== Pierwszy txt jaki powstał od czasu utworzenia mojej strefy (czy sfery) Gopher na SDF. Powinienem go wcześniej napisać, bo minęło już kilka miesięcy od czasu, gdy Qliver zaczął marnować tlen na SDF ;-). No i zauważyłem, że większość nowych użytkowników Gophera na SDF wyraża swoje opinie o tym "zjawisku"... więc czemu nie ja? Gopher, jako idea (czysty txt) bardzo mi się podoba. Ja bardzo dobrze czuję się w świecie txt, i to od samego (mojego komputerowego) początku, czyli od czasów M$-DOS. Nie podoba mi się uparte trzymanie się wczesnych ograniczeń (przynajmniej przez SDF), ale na to jest lekarstwo - GEMINI - które za jakiś czas planuję sobie zaaplikować. Problemem też jest, że pomimo standardu zapisanego w RFC, różne servery Gopher w detalach różnie "się zachowują", co najboleśniej objawia się w interpretacji gophermap - na jednych serverach konkretne gophermapy działają prawidłowo, a na innych te same już niekoniecznie. Widać to szczególnie w tutorialach dotyczących tworzenia gophermap, gdzie potrafią być sprzeczne porady (tzn. pisane dla konkretnego servera ale, bez zaznaczenia tego). Podobny problem jest z przeglądarkami Gopher - bardzo różnie pokazują one "stronę", jedne interpretują rozszerzenia protokołu Gopher, inne nie, jedne trzymają się kurczowo dawnych ograniczeń, inne nie. Wtrącę jeszcze taktycznie o Gopher, jako miejscu w sieci. Bo jest ono szczególne. Jest w sieci Internet, a równocześnie jakby poza nią. Wynika to z tego, że strefa/sfera (zauważyłem, że użytkownicy używają zamiennie tych obu terminów) nie jest indeksowana przez wielkie wyszukiwarki (Google itp.). Skutkuje to tym, że wszystko co zamieścimy na Gopherze, jest "znajdowalne" tylko i wyłącznie przez wyszukiwarki gopherowe, czyli niewidoczne dla publicznej/oficjalnej sieci. Mówiąc krótko, naszą stronę na Gopherze mało kto zobaczy, w sumie tylko użytkownicy Gophera, a jest ich naprawdę niewielu na świecie, wręcz kropelka w oceanie światowej sieci. Jak wszystko, ma to swoje dobre i złe strony. Ci, co chcą się światu chwalić stoją twórczością i przemyśleniami, jeżeli ograniczą się do Gophera, kariery zdecydowanie nie zrobią. Natomiast dla tych, którzy właśnie tego nie chcą, bo nie zależy im lub... z innych powodów, Gopher jawi się jako cudowna zagubiona i zapomniana bezludna prawie wyspa na środku wielkiego oceanu, której nie ma w ogóle na oficjalnych mapach. My o niej wiemy, a inni nie... to cudowne! I ja właśnie zaliczam się do tej grupy. O serverach Gopher się nie wypowiem, bo nigdy żadnego "nie stawiałem", korzystam tylko z tego na SDF. Natomiast jeżeli chodzi o przeglądarki... IMHO najlepsze są "w te klocki" tekstowe UNIXowe przeglądarki WWW. Wszystkie popularne - Lynx, links, links2, elinks, w3m - działają prawidłowo i "widzą" wszystkie rozszerzenia protokołu. Którą z nich używać, to kwestia prywatnych upodobań. Ja osobiście preferuję lynx'a, i jako drugi wybór elinks. Większy problem jest z dedykowanymi przeglądarkami, czyli tymi "tylko do Gopher". "Firmowa" gopher jest ładna i wygodna. Niestety przestrzega wszystkie "antyczne" ograniczenia. Przeglądarka sacc nie ma ograniczeń przeglądarki gopher, ale jest dużo mniej wygodna. O vf1 lepiej nie wspominać - stary, chyba już nierozwijany projekt, choć ciągle dostępna, koszmarnie niewygodna. Nie wiem, kto chciałby tego używać mając gopher'a i sacc, nie mówiąc o Lynx. W dystrybucji Debiana, są dostępne tylko te trzy dedykowane przeglądarki Gophera, wszystkie z wadami i nieidealne. Ja używam jednek "firmowej" gopher, czasem sacc. Jest sporo małych nowych przeglądarek dostępnych "poza dystrybucją linuxów", dostępnych na takich serverach jak GitHub. Przetestowałem tylko jedną - gopherus Marcina Vista. Działa w stylu DOSa (to wada lub zaleta, zależnie od upodobań i przyzwyczajeń), ma sporo mniejsze możliwości od "firmowej" gopher, ale za to "widzi" i prawidłowo interpretuje wszystkie rozszerzenia protokołu. Mała, szybka, godna zdecydowanie polecenia. I na koniec o nieszczęsnej gophermap. Z jednej strony niesamowicie prosty i praktyczny pomysł, z drugiej na samym początku dla wielu nowicjuszy, ciężki do przejścia. Dla początkujących index.html jest prostrzy do zrozumienia i zaimplementowania, bo dobrze i jednoznacznie udokumentowany (chodzi mi o standard HTML). Problem z gophermap jest taki, że różne servery i przeglądarki różnie ją interpretują, jest masa tutoriali (szczególnie na SDF), które robią chaos w głowie początkującego. Niestety "firmowy" tutorial SDF jest dość skąpy, i większość początkujących (ze mną włącznie) po jego przeczytaniu nie potrafi napisać prawidłowej gophermap. Widać to od razu po pojawiających się nowych kontach gopher na SDFie... oraz "żebraniem po prośbie" na grupach News i IRC (również SDFowej bboard). ==================================================================================================== Mój krótki poradnik dotyczący tylko i wyłącznie SDF oraz przeglądarki "firmowej" gopher. ==================================================================================================== Garść porad, aby gophermap działała prawidłowo (czyli zgodnie z oczekiwaniami): 1) Plik gophermap musi mieć takie uprawnienia: -rw-r--r-- I wszystkie pliki, które chcemy pokazać/udostępnić na swoim Gopherze muszą mieć dokładnie takie uprawnienia. Niektóre poradniki zalecają atrybut x (uruchomieniowy) dla gophermap, ale z x na SDF nie będą działać! Właścicielem pliku jest user tworzący plik, grupa nieistotna, bo server i tak zmieni na nobody. 2) Pliki w katalogu gopher muszą mieć nazwy ze znaków alfa-numerycznych dawnego iso1, czyli jeśli będą zawierały polskie litery (lub inne spoza iso1, np. wszelkie nieanglojęzyczne litery utf8) i/lub takie znaki jak ,:;'"<> nie będą widoczne w przeglądarce gopher (firmowej)! 3) Na SDFie jest troszkę prehistorycznych mamutów z komputerami 8-bitowymi, więc server (i firmowa przeglądarka gopher) limitują "opisy" w gophermap do 60 znaków, wszystko co ponadto jest "obcinane". Ale tylko jeśli chodzi o długość opisów w gophermap, w naszych "wstawianych" dokumentach txt długość linii może być taka, jaką chcemy, pliki będą wyświetlane przez przeglądarki poprawnie. 4) W katalogu "głównym" gopher może/musi być tylko jeden plik gophermap. "Opisuje" on zawartość tego katalogu. Kolejne/inne pliki gophermap mogą/muszą być w każdym podkatalogu (ilość "zagnieżdżeń"/podkatalogów dowolna), którego zawartość zapragniemy opisać za pomocą gophermap, a nie ograniczać się tylko do wylistowania przez server gopher. Czyli, w każdym katalogu możemy mieć jeden plik gophermap. Możemy, ale nie musimy - tylko tam, gdzie chcemy, żeby był opis. 5) W części "opisowej" gophermap lepiej uważać z niektórymi znakami (np. =), bo albo server ich "nie lubi", albo przeglądarka firmowa gopher. Zauważyłem, że gdy próbowałem oddzielać fragmenty tekstu liniami złożonymi z ===, to przeglądarka gopher ich nie pokazuje w ogóle (pomija identycznie jak linie komentarza zaczynające się od #). 6) Przeglądarki tekstowe WWW jak Lynx, elinks itp. pozwalają "podejrzeć stronę", czyli rzekomo zajrzeć w kod źródłowy. Ostrzegam, że pokazują poprawnie kod źródłowy HTML, ale nie gophermap! To co zobaczycie w Lynxie po naciśnięciu \ nie będzie gophermap "w środku", a HTMLową "wizją" gophermap, całkowicie bezużyteczną dla miłośników podejrzenia gophermap "od środka". 7) Przykładowy plik gophermap. Przypominam, że plik ten zawiera "nasz opis" tego, co mamy na stronie Gopher. Bez niego server Gopher po prostu tylko wyświetli pliki i katalogi, i umożliwi wchodzenie do nich. Jeśli chcemy dodać własny opis tego, co mamy i "oferujemy", musimy stworzyć plik gophermap uwzględniając w/w punkty. Nasza "strona tytułowa" na serverze SDF to katalog ~/gopher w $HOME. Jeżeli chcemy, aby ta strona wyglądała fajnie, miała opisy i ewentualnie obrazki ASCII-ART, musimy mieć w tym katalogu plik gophermap. I we wszystkich podkatalogach, jeżeli chcemy aby po wejściu w nie był opis zawartości, a nie tylko wyświetlone przez server pliki. Czyli, jeżeli chcemy mieć opisaną zawartość każdego katalogu, to w każdym musimy stworzyć osobny plik gophermap. Szablon pliku gophermap: X[OPIS][Ścieżka dostępu do pliku/katalogu][Adres servera][Port servera] Gdzie X jest jedną z poniższych wartości (cyfrą lub literą): Itemtype Content -------------------------------------------------- 0 Text file 1 Directory 2 CSO name server 3 Error 4 Mac HQX filer 5 PC binary 6 UNIX uuencoded file 7 Search server 8 Telnet Session 9 Binary File c Calendar (not in 2.06) e Event (not in 2.06) g GIF image h HTML, Hypertext Markup Language i "inline" text type s Sound I Image (other than GIF) M MIME multipart/mixed message T TN3270 Session/ Przykład z tutoriala: 0Why is Gopher Still Relevant?/gopher/relevance.txtgopher.floodgap.com 70 Jeżeli plik jest lokalny, w tym samym katalogu co gophermap, zapis robi się bajecznie prosty: X[OPIS][nazwa pliku] I przykład z życia wzięty, czyli mój gophermap z katalogu "głównego" czyli ~/gopher : (czyli to co zobaczymy gdy wejdziemy na moją stronę/strefę/sferę Gopher pod adresem gopher://sdf.org/1/users/qliver ) ******************* Początek pliku gophermap ******************************************************* Vi-tam w Sferze Gopher Qliver'a :-] Sfera ma charakter prywatnego archiwum. I tak nikt tutaj nie zagląda... Gopher jest martwy (podrygi trupa to nie życie). Kilku-kilkunastu aktywnych użytkowników na... świecie? Kompletnie mi to nie przeszkadza :-), wręcz odwrotnie! Nie zależy mi, aby ktoś czytał moje "mądrości". Nie prowadzę żadnego bloga, i nie tracę czasu na czytanie cudzych. Nie doceniam tej formy ekshibicjonizmu w sieci. Dlatego Gopher, i dlatego tylko po polsku. Zależy mi jedynie na posiadaniu bezpiecznego miejsca do składowania różnych prywatnych materiałów w Internecie. Wszystko widoczne i łatwo dostępne, ale tylko dla mnie (bo ile osób wie, że egzystuje jeszcze w jakiejś zapadłej niszy taki mamut jak Gopher?). 0 O autorze qliver_o_sobie.txt 1 Moje mądrości... 1_TXT-Qliver'a 1 Nie moje mądrości... 2_TXT-inne 1 Moje notatki i ściągi... 3_UNIX-notatki 1 Tajne przez poufne... 4_Archiwalia-prywatne 1 Składowisko PDFów różnych... 5_PDFy 1 Muza tylko dla picu, bo za mało miejsca... 6_MUZA ******************* Koniec pliku gophermap ********************************************************* I dla pewności jeszcze raz to samo, ale z opisem znaków niedrukowalnych: ******************* Początek pliku gophermap ******************************************************* Vi-tam w Sferze Gopher Qliver'a :-] Sfera ma charakter prywatnego archiwum. I tak nikt tutaj nie zagląda... Gopher jest martwy (podrygi trupa to nie życie). Kilku-kilkunastu aktywnych użytkowników na... świecie? Kompletnie mi to nie przeszkadza :-), wręcz odwrotnie! Nie zależy mi, aby ktoś czytał moje "mądrości". Nie prowadzę żadnego bloga, i nie tracę czasu na czytanie cudzych. Nie doceniam tej formy ekshibicjonizmu w sieci. Dlatego Gopher, i dlatego tylko po polsku. Zależy mi jedynie na posiadaniu bezpiecznego miejsca do składowania różnych prywatnych materiałów w Internecie. Wszystko widoczne i łatwo dostępne, ale tylko dla mnie (bo ile osób wie, że egzystuje jeszcze w jakiejś zapadłej niszy taki mamut jak Gopher?). 0[SPACJA][SPACJA][SPACJA][SPACJA]O autorzeqliver_o_sobie.txt 1[SPACJA][SPACJA][SPACJA][SPACJA]Moje mądrości...1_TXT-Qliver'a 1[SPACJA][SPACJA][SPACJA][SPACJA]Nie moje mądrości...2_TXT-inne 1[SPACJA][SPACJA][SPACJA][SPACJA]Moje notatki i ściągi...3_UNIX-notatki 1[SPACJA][SPACJA][SPACJA][SPACJA]Tajne przez poufne...4_Archiwalia-prywatne 1[SPACJA][SPACJA][SPACJA][SPACJA]Składowisko PDFów różnych...5_PDFy 1[SPACJA][SPACJA][SPACJA][SPACJA]Muza tylko dla picu, bo za mało miejsca...6_MUZA ******************* Koniec pliku gophermap ********************************************************* Spacje oczywiście nie są konieczne, wstawiłem je dla przejrzystości zapisu w gophermap oraz żeby uzyskać mały margines z lewej strony. Nie można w tym miejscu wstawić ! To co po to moje fizyczne nazwy plików i katalogów (niewidoczne na stronie, na której jest gophermap, z której OPIS "przykrywa" fizyczną nazwę pliku/katalogu. Proste? Proste!