archelon
Seu servidor do fediverso, num binário só.
Um servidor do fediverso para uma única pessoa, que fala a mesma API do Mastodon sem ser um fork dele: você segue usando o cliente que já tem.
Uma instância em três comandos
init cria a configuração, o banco e as chaves da conta, passwd define a senha de login e serve sobe o servidor. Sem PostgreSQL, Redis nem Node: só um arquivo de configuração, um SQLite e uma pasta de mídia.
Os clientes do Mastodon já funcionam
Tusky, Ice Cubes, Phanpy, Elk e Toot! apontam para o domínio da instância e entram pelo fluxo OAuth normal: você digita a senha da conta e vê o que o aplicativo pede antes de autorizar.
Uma página de perfil
Quem abre o endereço da conta no navegador encontra o perfil, com avatar, cabeçalho, bio e campos tirados do arquivo de configuração, e a contagem de posts e seguidores. Para seguir, a pessoa busca a conta no aplicativo dela.
A mesma API para scripts
token create emite um token com os escopos que você escolher, e qualquer ferramenta que fale HTTP usa a API do Mastodon da instância.
Backup e restauração num arquivo só
archelon backup junta banco, mídia, chaves e configuração num .tar.gz, sem parar o servidor, e restore o devolve numa pasta nova. Quem vem do Mastodon importa o perfil e as postagens do arquivo exportado.
Mais recursos
Federado
ActivityPub completo, com WebFinger, assinaturas HTTP, caixas de entrada e saída e NodeInfo, conversando com Mastodon, GoToSocial, Akkoma, Misskey e o resto do fediverso.
Uma conta só
A instância hospeda exatamente uma conta, a sua, sem cadastros, convites nem moderação de terceiros.
Tudo em arquivo
O serviço e o perfil da conta ficam num arquivo de configuração que pode ser versionado e reproduzido.
Manutenção pela linha de comando
cache clean apaga as miniaturas de mídia remota, e statuses prune e accounts prune removem postagens e contas remotas antigas que nada seu referencia, com as regras do tootctl do Mastodon.
Sobre o projeto
O archelon é um servidor ActivityPub para quem quer ter a própria instância sem administrar um Mastodon. É um binário só, com um arquivo de configuração, um arquivo SQLite e uma pasta de mídia: sem PostgreSQL, Redis, Sidekiq nem Node.
Ele não é um fork do Mastodon, e sim uma implementação independente da mesma API. Não tem interface web: o front-end é o cliente que você preferir, e as únicas páginas servidas são as do fluxo de autorização OAuth e o perfil público da conta. Também deixa de fora, de propósito, cópia local de mídia remota, cartões de prévia de links e tudo o que depende do ffmpeg.
A federação é testada em contêineres, nos dois sentidos, contra doze servidores: Mastodon, GoToSocial, Akkoma, Pixelfed, Sharkey, Mitra, Iceshrimp.NET, Friendica, Lemmy, PieFed, Mbin e NodeBB.
Tecnologias
Rust, num único binário, com SQLite para os dados e uma pasta para a mídia.
Licença: AGPL-3.0-or-later
Material de exemplo usado nas telas:
- Vários autores, Wikimedia Commons, CC0
Instalar o archelon
Para compilar, precisa de Rust 1.90 ou mais novo.
Do binário publicado
Binário estático, sem dependências do sistema, também para ARM64 (troque amd64 por arm64). O pacote traz a configuração de exemplo, a página de manual e a unidade do systemd.
curl -LO https://gitlab.com/alteronauta/archelon/-/releases/26.10.3/downloads/archelon-26.10.3-linux-amd64.tar.gz
curl -LO https://gitlab.com/alteronauta/archelon/-/releases/26.10.3/downloads/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar xzf archelon-26.10.3-linux-amd64.tar.gz
install -D archelon-26.10.3-linux-amd64/archelon ~/.local/bin/archelon
Do código-fonte
git clone https://gitlab.com/alteronauta/archelon.git && cd archelon
cargo build --release --locked
install -D target/release/archelon ~/.local/bin/archelon
Depois de instalar, archelon init, archelon passwd e archelon serve criam e sobem a instância. O fediverso só federa por HTTPS, então ela precisa de um domínio com proxy reverso na frente; o passo a passo, com systemd e contêiner, está na documentação de instalação.