마지막 수정일: 2024-1-4
저는 개발자가 아닙니다. 그저 IT, 개발 기술에 관심이 많은 학생이고 최근 우연히 Gemini 프로토콜을 알고 관심을 가지게 되었으며 이걸 제 작은 블로그에 올리기로 결심했습니다. 때문에 정확하지 않은 내용이 있을 수 있습니다. 만약 틀린 내용이 있다면 아래 마스토돈 계정으로 멘션해주시면 정말 감사드리겠습니다!
과거와 달리 현재의 웹은 확실히 무거워졌습니다. 더 이상 React같은 무거운 자바스크립트 라이브러리를 로드하지 않으면 페이지를 볼 수 없습니다. 현재의 이런 웹이 싫으시다면 한번 Gemini 프로토콜을 이용해보시는 건 어떨까요?
Gemini 프로토콜은 인터넷 문서를 위한 프로토콜로, Gemini 공식 웹사이트에서는 '우리는 문서는 그저 문서일 뿐인 작은 온라인 공간을 만들기 위해 노력하고 있다.' 라고 말하고 있습니다.
이 소개처럼 정말 Gemini 프로토콜은 정말 단순합니다. Gemini의 문서 형식은 Gemtext로, 마크다운과 유사한 간단한 마크업 언어입니다. 정말 정말 간단해서 제목도 3종류가 끝이며 볼드, 이텔릭같은 효과도 없습니다. 이외에도 마크업 언어라면 있을 것 같은 여러 요소들이 없습니다. Gemtext로 만들어진 문서는 정말 '그저 문서일 뿐'입니다.
그 뿐만이 아닙니다. 스타일 시트도, 클라이언트 측 스크립트도 없습니다. 이것은 HTML에서 CSS와 자바스크립트가 없는 것과 같습니다. 이 때문에 페이지를 입맛대로 꾸미고 기능을 추가할 수는 없지만, 스토커처럼 이용자를 끈질기게 쫓아오는 트래커도, 페이지에 덕지덕지 달라붙어 내용을 가리고 로딩을 늦추는 광고도 없습니다.
Gemini 프로토콜은 서버의 TLS 인증서를 필수로 하고 있습니다. 또 위에서 말했듯 스타일 시트와 스크립트가 없습니다.
그리고, Gemini는 '클라이언트 측 인증서'라는 시스템이 있는데요, 클라이언트(사용자)에서 인증서를 발급하면, 그 인증서를 서버에 제출하여 일반적인 웹사이트들의 '인증' 기능을 구현할 수 있는 것입니다. 클라이언트 측 인증서를 이용하여 인증 기능을 구현한 대표적인 Gemini 웹사이트는 Astrobotany입니다. 이 웹사이트는 온라인에서 자신의 식물을 기르는 간단한 게임? 입니다.
Gemini 프로토콜을 사용한 웹사이트는 크롬, 파이어폭스같은 일반적인 웹 브라우저로 열 수 없습니다. 대신 Gemini(그리고 또 다른 인터넷 문서 프로토콜)를 위한 클라이언트를 이용할 수 있습니다. 아래 페이지에서 다양한 클라이언트들을 볼 수 있습니다.
https://geminiprotocol.net/software
제가 추천하는 클라이언트는 Kristall입니다. Kristall은 Gemini와 그와 유사한 프로토콜들을 지원하는 브라우저로 GUI이기 때문에 개발 관련 지식이 없는 일반인이 사용하기 좋습니다. 터미널에서 Gemini 페이지를 열 수 있는 TUI 클라이언트들도 있지만(그리고 GUI보다 더 많지만) 저는 GUI를 더 선호하기 때문에 현재는 Kristall을 애용하고 있습니다.
https://kristall.random-projects.net/
다만 제가 느끼기에는 Kristall을 포함해서 대부분의 GUI 클라이언트들의 UI가 조금... 별로더라고요. 뭔가 00년대에 나온 프로그램같은 느낌이랄까...?
Gemini는 워낙 이용자수가 적기 때문에 볼게 없으리라 생각되겠지만 다행히도 몇가지 흥미로는 웹사이트들이 조금 있습니다.
Astrobotany - 위에서 설명했기 때문에 패스하겠습니다. 식물 기르는 재미가 좀 있습니다. 90년대 느낌 난달까...
Kennedy - Gemini 검색엔진입니다. 이미지도 검색할 수 있습니다.
Gemigit - Gemini Git 서버입니다. 어떻게 이런게 있을 수 있는지 마냥 놀랍기만 합니다...
Delorean Time Machine - 웨이백머신처럼 이전의 Gemini 웹사이트들을 볼 수 있습니다.
대부분은 Gemini를 블로그나 문서 용도로 사용하기에(그러라고 만들었으니) 제가 찾은건 이게 다 인 것 같습니다. 또 알고 있다면 위의 제 마스토돈 계정으로 멘션 주시면 감사드리겠습니다!
Gemini 웹사이트는 쉽게 열 수 있습니다. '서버만 있다면' 말이죠. 아래는 파이썬으로 개발된 Gemini 서버입니다. 설치부터 TLS 인증서 발급까지 설명하고 있습니다. 지금 보고계시는 이 작은 블로그 겸 개인 웹사이트도 이걸로 운영중입니다.
https://github.com/michael-lazar/jetforce
만약 서버가 없거나 개발 지식이 부족하더라도 걱정하지 마세요. 무료로 Gemini 웹사이트를 호스팅해주는 서비스도 있으니까요.
참고: 계정을 만들거나 글을 썼을 때 나오는 링크는 HTTP 프록시 링크인데 그 프록시가 좀 문제가 있는지 접속이 안됩니다. 꼭 그냥 클릭하지 말고 주소를 직접 드래그해서 복사해서 Gemini 클라이언트나 다른 프록시로 접속하세요.
Gemini는 Gemtext를 사용해야하기 때문에 Gemtext 문법 문서를 보면 좋습니다.
https://geminiprotocol.net/docs/gemtext.gmi
Awesome Gemini - Gemini 관련 소프트웨어들(클라이언트, 서버 등등)을 모아뒀습니다.
Gemini 프로토콜 공식 웹사이트입니다. 공식 문서도 함께 있으니 꼭 살펴보세요!
위키백과 Gemini 프로토콜 문서입니다. 이 글을 쓸 때 공식 문서와 함께 참고하기도 했습니다.
HTTP에서 Gemini 웹사이트를 열 수 있는 프록시 서비스입니다. 간단히 Gemini를 탐색해보고 싶다면 이용해보세요.
Gemini를 소개함과 동시에 이런저런 관련 자료들도 엄청 올린, 소개글이라기 보다는 그냥 자료 아카이브 글이 되어버린 이번 글을 이제 마치려고 합니다. 제 글 읽어주셔서 감사드리고, 맨 위의 제 마스토돈 계정으로 오류나 추가사항 말씀해주시면 감사드리겠습니다!