Eu gosto dessas coisas “velhas” da internet. Não no sentido de nostalgia vazia, mas no sentido de simplicidade. Hoje a web virou um negócio meio barulhento: feed infinito, tracker, pop-up, “aceite cookies”, autoplay, etc.
O Gopher é o oposto disso. É um protocolo antigo onde você navega por menus e arquivos. Sem firula. Você entra num menu, escolhe um item, lê um texto, baixa um arquivo, e vida que segue.
Como acessar (sem instalar nada)
O jeito “clássico” é usando um cliente Gopher. Só que eu sei que quase ninguém vai parar pra isso. Então eu fiz um proxy web bem simples:
Proxy web:
https://carlos-cdb.top/gopher/
E um link direto pra um texto específico:
- Pinguim Roxo: https://carlos-cdb.top/gopher/data/pinguim-roxo.txt/0
Parte técnica (a que eu gosto)
Porta padrão
Gopher normalmente roda na porta 70. No meu caso, o servidor tá nessa porta mesmo, bem “default”. Então, em teoria, um endereço Gopher fica algo tipo:
gopher://carlos-cdb.top:70/
Muitos clientes até omitem a porta quando é 70.
Como funciona um item no menu
Um “menu” Gopher é basicamente uma lista de linhas. Cada linha descreve um item.
O formato clássico é com campos separados por TAB (\t), e a ideia é essa:
<type><display> \t <selector> \t <host> \t <port>
Explicando no português normal:
- type: um caractere que diz que tipo de item é (menu, texto, etc.)
- display: o nome que aparece pro usuário
- selector: o “caminho” dentro do servidor (tipo a rota)
- host: o domínio/IP onde buscar
- port: a porta do servidor gopher
Exemplo real (inventado mas no estilo):
0Sobre mim /data/about.txt carlos-cdb.top 70
1Phlog /phlog carlos-cdb.top 70
Tipos de entrada (os mais comuns)
Os tipos são um caractere. Os mais comuns que eu uso/vejo:
1= diretório/menu (você entra e aparece outra lista)0= arquivo de texto (abre e você lê)i= info (linha “decorativa”, sem link de verdade)h= link pra web (URL) (tipo “vai pra um site http”)9= arquivo binário (download genérico)I= imagem (alguns servidores usam)g= GIF
Na prática: 1 e 0 já resolvem 90% do que eu quero fazer.
gophermap (no Gophernicus)
Eu uso Gophernicus e ele tem o arquivo gophermap, que é basicamente um “index” do diretório. É ele que define o que aparece no menu e em qual ordem.
O legal do gophermap é que você consegue misturar:
- linhas de texto “info” (tipo uma descrição, um ASCII art, uma frase)
- e itens clicáveis (texto/menu/links)
Ele aceita justamente essa lógica dos campos em colunas (separadas por TAB):
<type><display> <selector> <host> <port>
E quando você quer só um texto informativo, costuma aparecer como item do tipo i. É assim que você faz aquelas linhas de “enfeite” no menu sem virar link.
O proxy web: o que ele faz (e o que ele não faz)
O proxy basicamente pega o conteúdo do meu Gopher e transforma em HTML pra você navegar no browser. Eu também desabilitei links que apontam pra servidores externos, então ele é mais pra consumir o meu conteúdo mesmo.
É isso. Não é pra ser um produto, é pra ser um cantinho.