💾 Archived View for hyperstorm.hu › gemini-halozat.gmi captured on 2022-04-29 at 12:38:22. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-04-28)
-=-=-=-=-=-=-
A Gemini projekt egy új, szöveges tartalmakra koncentráló hálózat.
Bár ez egy nagyjábĂłl pontos definĂciĂł, de ebbĹ‘l mĂ©g nem derĂĽl ki, hogyan nĂ©z ki mindez a gyakorlatban, hogyan működik, hogyan használjuk?
Nos, kĂ©pzeld el, hogy a world wide web elsĹ‘ napjait Ărjuk. A mĂ©rnökök Ă©pp most csatlakoztatták a számĂtĂłgĂ©ped a hálĂłzatra, Ă©s te, Ă©letedben elĹ‘szö, elkezded használni a webet. Nem hogy Facebook Ă©s Youtube, Javascript Ă©s CSS nincs, de mĂ©g kĂ©peket sem látsz sehol sem az Ă©ppen szĂĽletĹ‘ben lĂ©vĹ‘ weben. Szöveges tartalmak mindenhol...
A Gemini hálĂłzat ("geminispace") valami egĂ©szen hasonlĂł Ă©lmĂ©nyt nyĂşjt. Ăšgy is gondolhatsz a Geminire, mint egy interaktĂv multimĂ©diás tartalmak, reklámok, felugrĂł ablakok Ă©s szkriptek nĂ©lkĂĽli webre, bár a projekt cĂ©ljai közt sosem szerepelt a web leváltása, inkább egyfajta pehelysĂşlyĂş alternatĂva szeretne lenni. Ahogy a fejlesztĹ‘k fogalmaznak, a Gemini "nehezebb, mint a Gopher, de könnyebb, mint a web". A szinte kizárĂłlag nyers szöveges tartalom miatt a Gemini oldalak betöltĂ©sre rendkĂvĂĽl gyors, a Gemini szerverek pedig igen alacsony erĹ‘forrásokkal is beĂ©rik.
A geminiquickst.art kapszula a Lagrange böngészőből nézve...
A projekt alapjait 2019-ben rakta le egy SolderPunk nevű fejlesztő. A munkálatok azóta egy lazán kapcsolódó közösség keretein belül folynak, bár a fejlesztés vezetője még mindig SolderPunk. A Gemini név a NASA ugyanezen nevű űrrepüléső projektjéből származik.
Az indulás Ăłta a Gemini elĂ©g szĂ©p pályát futott be. 2021 Ă©v eleji adatok szerint 750 oldal (a Gemini terminolĂłgiájában az oldalt "kapszulának" is nevezik), 500 domain, 600 IP cĂm, Ă©s 200 000 ismert URL lĂ©tezik a Gemini hálĂłzatoában. Az oldalak ("kapszulák"), domainek Ă©s IP cĂmek száma azĂ©rt nem egyezik, mert egy IP cĂmen elĂ©rhetĹ‘ hoszt több oldalt is kĂ©pes kiszolgálni. Ha hihetĂĽnk a bortzmeyer.org statisztikáinak, akkor e cikk Ărásakor 2170 Gemini kapszula lĂ©tezik, amibĹ‘l 1806 Ă©rhetĹ‘ el (a többi valamilyen hibára fut).
A felĂ©pĂtĂ©se nagyban hasonlĂt a webre. Lelkes felhasználĂłk Gemini szervereket ĂĽzemeltetnek világszerte, amikhez ugyanĂşgy URL vagy IP cĂm alapján kapcsolĂłdhatunk, mint web esetĂ©n. A cĂmfeloldás a már jĂłl ismert DNS rendszer segĂtsĂ©gĂ©vel megy vĂ©gbe, a protokoll megnevezĂ©se azonban nem http vagy https, hanem gemini. Egy Gemini cĂm felĂ©pĂtĂ©se a következĹ‘kĂ©ppen fest: gemini://gemini.circumlunar.space
Mivel a webböngĂ©szĹ‘k nem kompatibilisek a Gemini hálĂłzattal, ezĂ©rt ha meg szeretnĂ©nk tekinteni a Gemini oldalakat, be kell szereznĂĽnk egy arra alkalmas böngĂ©szĹ‘t. SzerencsĂ©re ebbĹ‘l a szempontbĂłl nincs nehĂ©z dolgunk, hiszen jelenleg közel 50 Gemini kliens lĂ©tezik. UgyanĂşgy találunk böngĂ©szĹ‘t az asztali operáciĂłs rendszerekre (Windows, Linux, MacOS), mint ahogy a mobiloperáciĂłs rendszerekre is (Android, iOS). Ezek közĂĽl nĂ©melyik csupán primitĂv, parancssoros működĂ©st teszt lehetĹ‘vĂ© (ami azonban bizonyos esetekben igenis jĂłl jöhet), mások viszont mindennapos használatra tervezett, sok funkciĂłval ellátott, grafikus böngĂ©szĹ‘k.
Néhány ajánlott Gemini böngésző:
Kristall, C++ Ă©s QT felhasználásával kĂ©szĂtett böngĂ©szĹ‘
Castor, Rustban Ărva GTK felhasználásával, klasszikus CDE felĂĽleti elemeket használva
Szintén a geminiquickst.art, a Kristall böngészőből nézve
Szerintem nem tĂşlzás azt kijelenteni, hogy a Gemini hálĂłzatot geekek hozták lĂ©tre, geekek ĂĽzemeltetik, Ă©s elsĹ‘sorban geekek használják. Az egĂ©sz hálĂłzatot átjárja a számĂtástechnikai korábbi Ă©vtizedeibĹ‘l merĂtkezĹ‘ retro nosztalgia, a cyberpunk Ă©s sci-fi elemeket ötvözö, ASCII artokkal dĂşsĂtott Ă©letĂ©rzĂ©s, Ă©s az egyszerű, "emberközeli", könnyen átláthatĂł informatika iránti vágyakozás. A "kapszulák" tĂ©mái ugyanakkor egĂ©szen változatosak, találunk mindenfĂ©le oldalakat az politikátĂłl kezdve, a recepteken keresztĂĽl a DIY dolgokig bezárĂłlag.
Nem meglepő módon az oldalak nyelve szinte kizárólag az angol. A magyar nyelvű oldalakat egy kezemen meg tudom számolni, és ezt szó szerint kell érteni.
A felhasználĂłi biztonság szempontjábĂłl kĂ©t fontos tĂ©nyezĹ‘ kell megemlĂteni. ElĹ‘ször is azt, hogy a Gemini hálĂłzatban kötelezĹ‘ a TLS titkosĂtás használata a klien-szerver kommunikáciĂł folyamán. Amelyik oldalnál esetleg tanusĂtvány problĂ©ma lĂ©pne fel, ott a Gemini kliens figyelmeztet.
A másik pedig az, hogy a rendszer lehetĹ‘sĂ©get sem ad semmifĂ©le sĂĽti, Etag, szkript vagy hasonlĂł eszköz használatára, Ăgy nem kell aggĂłdnunk a követĹ‘ sĂĽtik, szkriptek, felugrĂł ablakok miatt.
A Gemini protokollja ugyanĂşgy kĂ©rĂ©s-válasz alapon működik, mint a HTTP. JelentĹ‘s kĂĽlönbsĂ©g a kettĹ‘ közt, hogy mĂg a HTTP protokoll egy összetett Ă©s folyamatosan bĹ‘vĂĽlĹ‘ nyelv, addig a Gemini protokollja egyszerű, mint a faĂ©k. Egy átlagos HTTP kĂ©rĂ©sben olyan mezĹ‘ket találunk, mint pĂ©ldául User-Agent, Cache-Control, Cookies, stb. A Gemini kĂ©rĂ©s formátuma ezzel szemben semmi mást nem tartalmaz, mint egy URL cĂmet, Ă©s egy <CR><LF> lezárĂł karakterpárt:
gemini://gemini.circumlunar.space<CR><LF>
A szerver által kĂĽldött válaszfejlĂ©c pedig Ăgy nĂ©z ki:
<STATUS><SPACE><META><CR><LF>
Ahol <STATUS> egy státuszkĂłd (mint pĂ©ldául sikeres lekĂ©rĂ©s, átirányĂtás, hiba...), <SPACE> egy szĂłköz (0x20 karakter), <META> egy UTF-8 kĂłdolásĂş szöveg, mely a <STATUS> Ă©rtĂ©kĂ©tĹ‘l fĂĽggĹ‘, tájĂ©koztatĂł jellegű szöveg, majd következik egy <CR><LF> lezárĂł karakterpár, vĂ©gĂĽl pedig az oldalt felĂ©pĂtĹ‘ nyers tartalom, amely biztosan nincs tömörĂtve, nincs kĂłdolva, nincs csonkolva, hiszen ezekre a protokoll nem biztosĂt lehetĹ‘sĂ©get.
Egyetlen Gemini oldal egyetlen lekĂ©rĂ©st indĂthat a szerver felĂ©, tehát nem lehetsĂ©ges az, mint HTML esetĂ©n, hogy elĹ‘ször betöltĹ‘dik az index.html, az hivatkozik pĂ©ldául a style.css-re ami ezután szintĂ©n letöltĹ‘dik, majd jön egy kis Javascript, kĂ©pek, videĂłk, egy-egy AJAX lekĂ©rdezĂ©s...
Tehát a Gemini protokollja csupán ennyi, nem több, Ă©s soha nem is lesz több. Nem bĹ‘vĂthetĹ‘, nem lehet Ăşjabb fejlĂ©ceket hozzáadni, ugyanis a fejlesztĹ‘k - elkerĂĽlendĹ‘ azt, hogy a Gemini a web sorsára jutva, hasonlĂłan szerteágazĂł Ă©s komplex monstrum legyen - vĂ©gleg lezárták a protokoll fejlesztĂ©sĂ©t. Az már "kĂ©sz van", ennĂ©l kĂ©szebb már soha nem lesz. Éppen ezĂ©rt van az, hogy sehol sem találkozunk egyetlen verziĂłszámmal sem.
EttĹ‘l fĂĽggetlenĂĽl termĂ©szetesen, mivel a Gemini nyĂlt forráskĂłdĂş, bárki forkolhat magának egy "saját" Geminit, de az már nem "Gemini" lesz.
Annak oka pedig, hogy nem szerepel a protokollban Content-Length vagy hasonlĂł cĂ©lĂş, az adatátviteli mĂ©retet tartalmazĂł fejlĂ©c az, hogy nincs rá szĂĽksĂ©g. Ugyanis minden egyes Gemini lekĂ©rdezĂ©s egy szerver felĂ© irányulĂł kapcsolat nyitásával kezdĹ‘dik, az adatátvitel vĂ©geztĂ©vel pedig a szerver rögtön le is zárja a kapcsolatot. Sajnos ez egyben azt is eredmĂ©nyezi, hogy a kliens nem kĂ©pes elĹ‘rejelezni a válaszul kapott adat mennyisĂ©gĂ©t, Ăgy nagyobb fájlok letöltĂ©sĂ©re nem igazán alkalmas.
Ezek után talán nem meglepĹ‘, hogy a Gemini nem HTML-t vagy valamely SGML származĂ©kot használ az oldalak leĂrására.
A rendszer ugyanis egy nagyon egyszerű jelölĹ‘nyelvet alkalmaz, a "gemtext"-et (MIME tĂpusa a text/gemini), melynek legkisebb alapegysĂ©ge a sor. Hogy az egy sorban lĂ©vĹ‘ szövegrĂ©sz hogyan fog megjelenni a kliensen, azt a sor elejĂ©n vagy valamely elĹ‘zĹ‘ sorban meghatározott jelölĹ‘ határozza meg.
Ha pĂ©ldául egy => jelet rakunk a sor elejĂ©re, a sorban lĂ©vĹ‘ szöveg link lesz, melyet egy szĂłközzel elválasztva követhet a link leĂrása. A ``` karaktereket (backtick karakter) követĹ‘ sorok elĹ‘formázott szövegkĂ©nt fognak megjelenni, amely rendszerint fix szĂ©lessĂ©gű (monotype) betűkĂ©szlettel renderelĹ‘dik. Ăšjabb ``` karakterek jelzik az elĹ‘formázott szövegtömb vĂ©gĂ©t.
Ez a három sortĂpus alkotja a Gemini jelölĹ‘nyelvĂ©nek alapkĂ©szletĂ©t (basic line types). LĂ©tezik továbbá három másik sortĂpus, amelyek a további sortĂpusok közĂ© tartozik, ezek a következĹ‘k:
KettĹ‘skereszt jelzi a cĂmsort, melybĹ‘l kirakhatunk egyet, kettĹ‘t vagy hármat, attĂłl fĂĽggĹ‘en, hogy elsĹ‘dleges, másodlagos vagy harmadlagos cĂmsort szeretnĂ©k kĂ©szĂteni. A csillaggal kezdĹ‘dĹ‘ sorok egy rendezetlen listát jelölnek, mĂg a jobbra nĂ©zĹ‘ reláciĂłs jellel ("kacsacsĹ‘r") kezdĹ‘dĹ‘ sorok idĂ©zetet jelentenek.
VĂ©gĂĽl pedig az 1-es státuszkĂłddal indĂtott lekĂ©rdezĂ©sek egysoros felhasználĂłi adatbevitelt várnak válaszul. Ekkor megjelenik egy kis ablakocska, benne a <META> után megadott szöveggel, Ă©s lehetĹ‘sĂ©gĂĽnk van egy rövidke választ megadni.
Felmerülhet a kérdés, hogy ilyen szűk lehetőségek mellett mégis hogyan lehet a Gemini oldalakat designolni. Az egyszerű válasz az, hogy sehogy. Egyszerűen nincs rá mód.
A jelölĹ‘nyelv mĂ©g csak kĂ©pek beszĂşrását sem teszi lehetĹ‘vĂ©, bár lehetĹ‘sĂ©g van kĂ©peket linkelni - amit egyes böngĂ©szĹ‘k kĂ©pesek az oldalba ágyazva megjelenĂteni, kattintásra pedig Ăşj lapon megnyitni -, de a szabvány a megjelenĂtĂ©srĹ‘l nem rendelkezik.
EbbĹ‘l adĂłdĂłan minden Gemini oldal ugyanĂşgy nĂ©z ki, azaz teljes mĂ©rtĂ©kben a kliens (böngĂ©szĹ‘) dönti el, hogy mikĂ©pp rendereli az oldalt. Ezt kihasználva, a legtöbb grafikus kliensben lehetĹ‘sĂ©gĂĽnk van testreszabni a szĂneket, a betűk tĂpusát, mĂ©retĂ©t, sorközöket, Ă©s Ăgy tovább.
A Gemini oldalak kiszolgálásához Gemini szerverre van szĂĽksĂ©g. Jelenleg kĂ©ttucat Gemini szerverprogram lĂ©tezik, többsĂ©gĂĽk a webkiszolgálĂłknál megszokott funkciĂłkat is nyĂşjtanak, mint pĂ©ldául virtuális hosztok kezelĂ©se, CGI/FastCGI támogatás, reverse proxying, átirányĂtások...
Egy webkiszolgálĂł ĂĽzemeltetĂ©sĂ©ben jártas szakember számára egy Gemini szerver beĂĽzemelĂ©se nem jelent kĂĽlönösebb kihĂvást, nagyjábĂłl pár Ăłra alatt megoldhatĂł. Ezután pedig CGI segĂtsĂ©gĂ©vel akár dinamikus oldalakat is kiszolgálhatunk. A Gemini szerverek az 1965-ös TCP portot használják, mely utalás az 1965-ben indĂtott Gemini-3 kĂĽldetĂ©sre.
A Gemini hálózatán böngészve találhatunk linkgyűjtő oldalakat, feed aggregátort, Twitter-szerű microblogging szolgáltatást, a webes blogokhoz hasonló szolgáltatásokat ("gemlog"), sőt, még szöveg alapú közösségi oldalt is.
Néhány kapszula a gemini space-ből képekben:
station.martinrue.com, microblogging szolgáltatás
rawtext.club, egy szöveges alapú közösségi oldal
cosmic.voyage, sci-fi tĂ©májĂş ĂrĂłi közössĂ©g
monmac.flounder.online, egy a nem angol nyelvű kapszulák közül
botond.online, a magyar Gemini kapszulák gyűjtőhelye