Единственная статья по протоколу Gopher была опубликована на Хабре ещё в 2009 году, поэтому я решил немного освежить тему.
Gopher (суслик — англ.) — это текстовый предшественник веба, который ушёл в небытие ещё в далёком 1993-м, когда его вытеснил более функциональный HTTP. Со временем он перестал поддерживаться браузерами, поэтому при попытке перейти по gopher://-ссылке какой-нибудь Firefox 32 с сожалением выдаёт, что такой протокол не поддерживается. Моё знакомство с этим артефактом интернета до последнего времени ограничивалось строкой из книги А. Левина “Самоучитель по работе на компьютере (Windows 95/98)”: “… до сих пор многие интересные ресурсы доступны только на Gopher”. Это было 14 лет назад, хотя уже тогда протокол был совершенно заброшенным.
Но суслик хоть и ушёл, да не совсем. Как это часто бывает со устаревшими технологиями, у Gopher осталось некоторое количество фанатов — не так много, как у легендарного ZX Spectrum, но для поддержки комьюнити хватает. По состоянию на 2013 год насчитывалось 180 gopher-серверов, сейчас их ещё меньше. Для сравнения: в сентябре 2014-го года количество вебсайтов перевалило за 1 миллиард. Можно ли присоединиться к этому немногочисленному сообществу? Как? И главное — зачем? Давайте попробуем разобраться.
Википедия говорит нам, что:
Протокол gopher имеет более жёсткую структуру размещения информации, очень похожую на структуру каталогов в файловой системе, которая состоит из вложенных друг в друга каталогов и файлов. Иерархическая структура ссылок позволила пользователям текстовых терминалов, в основном в университетах, очень быстро находить нужную информацию.
Т. е. Если судить по описанию, Gopher — это такой FTP с текстовой оболочкой. И на нём вполне можно разместить какой-нибудь text-only ресурс, да ещё и файлы прикрепить. На практике так и есть: домашняя страничка gopher-сайта представляет собой текстовый документ, каждая строка в котором — ссылка на подкаталог, текстовый документ или другой файл.
Поднять собственный сервер можно при помощи целого ряда серверного софта, который устанавливается в несколько кликов, а получить доступ к ресурсу — при помощи одного из Gopher-клиентов или плагинов для браузера. Иногда создаётся впечатление, что количество этого самого софта уже превышает количество активных сайтов. В силу возраста сабжа, в роли серверной машины вполне подойдёт старенький компьютер, который раньше пылился в кладовке за ненадобностью. Или любимый гиками Raspberry Pi.
Моя любимая связка — сервер pygopherd, работающий под python, и клиент, который так, собственно, и называется — Gopher Client. Графический интерфейс программы не позволит вам в полной мере прочувствовать дух текстового интернета без мышки, зато сёрфить с его помощью гораздо удобнее. Кстати о сёрфе: для Gopher существует собственная поисковая система “Veronica-2”, охватывающая около 65% современного гоуфернета. “Вероника”, в частности, реализована и в Gopher Client, так что дополнительные костыли вам не понадобятся.
Скриншот Gopher Client с сайта разработчика:
В конце концов, не возбраняется использовать и старейший текстовый браузер Lynx, обновляющийся до сих пор, и оставшийся верным протоколу 20-тилетней давности.
А вот короткий список ресурсов, которые всё ещё работают:
gopher://gopher.floodgap.com/ — (крупнейший ресурс по Gopher)
gopher://gopher.quux.org/ — (манифест протокола)
gopher://gopher.rp.spb.su/ — русский сервер (чуть ли не единственный)
gopher://gopher.rp.spb.su:70/1%2fservers — и список всех рабочих серверов (!) на нём же.
Автор: fYNX