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:


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.