Confidex
Seções

Rode você mesmo o servidor de sincronização.

O servidor de sincronização armazena caixas lacradas, mantém um contador para cada cofre e confere uma assinatura antes de aceitar uma alteração. Ele nunca guarda uma chave e nunca vê um nome, então rodar a sua própria cópia custa muito pouco.

Escolha onde ele roda e onde os objetos ficam. A página escreve a configuração, e você a cola onde ela deve ir.

Três lugares onde ele pode rodar.

O mesmo código atende aos três. Um Cloudflare Worker não pede nada além de uma conta; um binário ou um contêiner pede uma máquina que você já tenha. Qualquer um que você escolher, as chaves do cofre ficam nos seus dispositivos.

Cloudflare Worker

O plano gratuito carrega um servidor pequeno. O índice é um banco de dados D1 e os objetos vão para um bucket compatível com S3, então não há nada para manter rodando e nada para pagar por um cofre privado.

Um binário nativo

Um único processo no Linux, macOS ou Windows. Ele atende HTTP simples e espera um proxy na frente dele para HTTPS. As caixas são lacradas e assinadas de qualquer forma, então o HTTP simples não é uma fragilidade aqui.

Um contêiner

O mesmo binário com as mesmas configurações, passadas como variáveis de ambiente. Use-o quando a máquina já roda contêineres e você prefere não compilar a partir do código-fonte.

Nenhum servidor

A sincronização é opcional. Um cofre pode ficar em um único dispositivo com um backup local e nunca tocar uma rede. Adicione um servidor depois, sem alterar nada dentro do cofre.

Responda quatro perguntas, copie o resultado.

As configurações têm uma única forma em todo lugar: um campo TOML, ou o mesmo campo como uma variável de ambiente. O Worker aceita apenas buckets S3; um binário e um contêiner também gravam em diretórios simples e em um repositório Git.

Baixe e extraia o ZIP para hospedagem própria. Não é necessário um compilador Rust.

GitHub Releases · self-host ZIP

Mostrar configuração

Configuração atualizada.

Onde ele roda
Índice
Onde as caixas seladas são armazenadas

Escolha quantos quiser. Cada caixa é gravada em todos eles; as leituras recorrem ao próximo e verificam o digest.

Endereço de escuta
Voltar às configurações

Crie o banco de dados e o bucket antes da implantação. Substitua todos os marcadores.

Arquivo de configuração


        

Comandos


        

Os segredos ficam nos secrets do Worker, nunca no arquivo. O Worker grava apenas em armazenamento compatível com S3.

Os valores entre colchetes angulares são seus para preencher. Nada do que você digita aqui sai da página: o texto é montado no seu navegador.

Aponte os seus cofres para ele.

Um novo cofre usa sync.confidex.me. Trocar o endereço é uma única configuração no aplicativo, e o cofre continua funcionando: o endereço não faz parte do cofre nem da sua identidade.

No aplicativo
Abra as configurações do cofre e substitua o endereço do servidor de sincronização pelo seu. O cliente adiciona o caminho da API por conta própria.
Origem compartilhada
O aplicativo e a API podem viver em um único domínio. Encaminhe o prefixo da API para o servidor e tudo o mais para o aplicativo.
Contas
Nenhuma para criar. Um cofre se registra enviando o seu cadeado assinado, e só quem tem a chave de assinatura pode substituí-lo.
Vários servidores
Um cofre fala com um servidor por vez. Mudar para outro é a mesma configuração única.

O que o proprietário de um servidor precisa fazer.

Muito pouco, e nada disso envolve segredos. O servidor guarda caixas lacradas e um índice que aponta para elas. Um backup é uma cópia dos dois.

Backups

Copie o índice e o armazenamento de objetos juntos. Os objetos são imutáveis e nomeados pelo seu digest, então uma cópia feita enquanto o servidor roda permanece válida.

Atualizações

Substitua o binário ou implante o Worker de novo. O esquema do índice é aplicado na inicialização para um índice nativo e com um arquivo de esquema para o D1.

Acesso

As credenciais de armazenamento autorizam o servidor perante o seu próprio armazenamento. Elas não têm nada a ver com as chaves do cofre e não conseguem abrir uma única caixa.

A licença

O servidor está sob a GNU AGPL-3.0. As alterações que você roda para outras pessoas permanecem abertas; uma cópia que você roda para si mesmo não carrega nenhuma obrigação.

O servidor é a parte menos interessante, e esse é o propósito.