Gopher to protokół internetowy, który istniał na początku lat 90., ale ostatecznie przegrał z HTML i World Wide Web. Istnieje do dziś, a Gemini jest jego duchowym następcą, z ulepszonym bezpieczeństwem i tysiącami niezależnych serwerów (znanych jako kapsuły) działających na tanim sprzęcie.
Liczby te są nieistotne w porównaniu z siecią, którą znamy i kochamy, ale przy niewielkim wysiłku można powiększyć szeregi kapsuł o jeden. Czytaj dalej, aby dowiedzieć się, jak skonfigurować własny serwer Gemini.
Czym Gemini różni się od Gopher
Gopher poniósł porażkę, ponieważ jego technologia była zastrzeżona — w przeciwieństwie do technologii stojącej za siecią WWW. Gemini nie popełnia tego samego błędu, a oprogramowanie serwera jest bezpłatne i otwarte, więc każdy może go używać, dostosowywać i rozpowszechniać według własnego uznania.
Podobnie jak w przypadku wielu projektów retro-komputerowych, zarówno Gopher, jak i Gemini nadmiernie używają kalamburów. Suseł został tak nazwany, ponieważ jeśli użytkownik zażądał zasobu, „zleciłby” je. Witryny Gopher nazywano Gopher Holes.
Motywem przewodnim Gemini jest eksploracja kosmosu, a nazwa nawiązuje do programu kosmicznego Gemini. Miejsca Gemini nazywane są kapsułami, a używany port to 1965 - upamiętniający pierwszy załogowy lot kosmiczny Gemini w 1965 roku.
Gemini kładzie również większy nacisk na bezpieczeństwo niż Gopher – wymagając certyfikatów z podpisem własnym dla każdej kapsułki.
Konfiguracja kapsuły Gemini jest tania
Praktycznie każdy komputer wyprodukowany w ciągu ostatnich 30 lat może pomieścić kapsułę Gemini – pod warunkiem, że jest w stanie uruchomić dystrybucję Linuksa. Raspberry Pis są szczególnie popularne ze względu na niski koszt i niskie zużycie energii. Ponieważ zasoby wykorzystywane przez Gemini są tak niewielkie, wysokiej klasy Pi, takie jak Raspberry Pi 4B, jest przesadą i lepiej sprawdza się w bardziej wymagających projektach. Raspberry Pi Zero W sprawdzi się doskonale.
Potrzebna będzie również nazwa domeny lub zapasowa subdomena. Jeśli jeszcze go nie masz, przeczytaj nasz poradnik na jak wybrać i kupić nazwę domeny?.
Hostowanie kapsuły Gemini na urządzeniu Pi Zero jest proste
Najpierw odwiedź rejestratora nazw domen i utwórz nowy rekord DNS dla swojej nazwy domeny. Ustaw typ jako A, host jako @, a wartość jako publiczny adres IP Twojego domu. Wyjaśniliśmy jak znaleźć swój publiczny adres IP z systemu Linux Jeśli potrzebujesz pomocy. Ustaw jak najniższą wartość TTL.
Teraz przejdź do strony administratora swojego routera. Możesz uzyskać do niego dostęp, wskazując przeglądarkę na 192.168.1.1. Jeśli to nie zadziała, zapoznaj się z instrukcją obsługi routera.
Poszukaj sekcji o nazwie Port Forwarding, Port Mapping lub Port Management i utwórz nowy wpis dla Gemini. Lokalny adres IP powinien być lokalnym adresem IP twojego Pi, protokołem jest TCP, a porty lokalny i publiczny powinny mieć wartość 1965.
Jeśli już zainstalowałeś dystrybucję na twoim Raspberry Pi, powinieneś SSH do maszyny:
użytkownik ssh@xxx.xxx.x.xx
...gdzie użytkownik to twoja nazwa użytkownika, a xxx.xxx.x.xx to lokalny adres IP twojego Raspberry Pi.
Zaktualizuj i zaktualizuj listę repozytoriów i pakiety w systemie, wpisując:
sudo apt aktualizacja
aktualizacja sudo apt
Teraz utwórz nowy katalog dla Gemini:
mkdir bliźnięta
The bliźnięta katalog będzie zawierał zawartość twojej kapsuły Gemini — najważniejszą z nich jest index.gmi. Śmiało i zrób jeden z:
nano gemini/index.gmi
Gemini używa języka Markdown. Jeśli jeszcze nie czujesz się z tym komfortowo, przeczytaj nasze Przewodnik dla początkujących, jak zacząć korzystać z Markdown.
Strona indeksu powinna zawierać wprowadzenie do kapsułki Gemini i inne przydatne informacje.
Zapisz i wyjdź z pliku za pomocą Ctrl + O następnie Ctrl + X.
Utwórz nowy katalog o nazwie kosz w katalogu gemini i cd do niego:
mkdir gemini/bin
płyta CD Bliźnięta/bin
W przeglądarce odwiedź Agat na GitHub i w sekcji „Zasoby” zidentyfikuj odpowiedni pakiet dla swojego sprzętu. Wymagałoby to 64-bitowego Raspberry Pi 4B agate.aarch64-nieznany-linux-gnu.gz, podczas gdy 32-bitowy Pi Zero W wymagałby agate.armv7-nieznany-linux-gnueabihf.gz.
Kliknij prawym przyciskiem myszy odpowiednią nazwę pakietu, aby uzyskać adres łącza, a następnie wklej go po poleceniu wget, aby pobrać pakiet do bieżącego katalogu.
wget https://github.com/mbrubeck/agate/releases/download/v3.2.4%2Bbuild/agate.aarch64-unknown-linux-gnu.gz
Wyodrębnij pakiet za pomocą:
gunzipagat.aarch64-nieznany-linux-gnu.gz
Pamiętaj, że nazwa pakietu będzie się nieco różnić w zależności od architektury, na którą został pobrany. Zmień nazwę wyodrębnionego pliku:
mvagat.aarch64-nieznany-linux-gnu.gzagat
Uczyń go wykonywalnym za pomocą:
sudo chmod + x agat
płyta CD wróć do swojego katalogu domowego i utwórz skrypt powłoki za pomocą nano:
nanobliźnięta.cii
Do pliku wklej następujące elementy, upewniając się, że zmieniłeś „example.com” na rzeczywistą nazwę domeny:
#!/kosz/bash
/home/pi/gemini/bin/agate --content /home/pi/gemini/ --addr [::]:1965 --addr 0.0.0.0:1965 --hostname example.com --lang pl-US
Zapisz i zamknij za pomocą Ctrl + X następnie Ctrl + O i uczyń skrypt wykonywalnym:
sudochmod +xbliźnięta.cii
Zacznij swoją kapsułkę Gemini od:
./gemini.sh
Uzyskaj dostęp do kapsuły Gemini z dowolnego miejsca
Gemini to nie sieć i nie można uzyskać do niej dostępu za pomocą zwykłej przeglądarki internetowej. Istnieje jednak wiele przeglądarek, które mogą odwiedzać zarówno dziury Gopher, jak i kapsuły Gemini. Polecamy Kryształ, który jest dostępny dla systemów Windows, macOS i Linux. Pobierz i zainstaluj na swoim zwykłym komputerze.
Możesz uzyskać dostęp do swojej kapsuły Gemini, wpisując gemini://example.com w pasku adresu, gdzie example.com to nazwa Twojej domeny!
Rozszerz swoją kapsułę Gemini o więcej stron
Możesz teraz stworzyć i uruchomić kapsułę Gemini na swoim Raspberry Pi. Jedna strona wystarczy na bardzo prostą witrynę informacyjną, a możesz stworzyć więcej, dodając pliki .gmi do folderu zawartości. Zastanów się, co Cię interesuje i jakie treści chcieliby przeczytać odwiedzający. Podobnie możesz również tworzyć i uzyskiwać dostęp do dziur Gopher w systemie Linux.