Confidex
Secções

Execute o servidor de sincronização por sua conta.

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

Escolha onde é executado e onde os objetos ficam. A página escreve a configuração, e você cola-a onde pertence.

Três lugares onde pode viver.

O mesmo código serve os três casos. Um Cloudflare Worker não lhe pede nada além de uma conta; um binário ou um contentor pedem uma máquina que já tenha. Seja qual for a sua escolha, as chaves do cofre ficam nos seus dispositivos.

Cloudflare Worker

O plano gratuito suporta um servidor pequeno. O índice é uma base de dados D1 e os objetos vão para um bucket compatível com S3, pelo que não há nada para manter em execução nem nada a pagar por um cofre privado.

Um binário nativo

Um processo em Linux, macOS ou Windows. Serve HTTP simples e espera um proxy diante de si para HTTPS. As caixas estão seladas e assinadas de qualquer forma, pelo que o HTTP simples não é uma fragilidade aqui.

Um contentor

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

Nenhum servidor

A sincronização é opcional. Um cofre pode ficar num único dispositivo com uma cópia de segurança local e nunca tocar numa rede. Adicione um servidor mais tarde sem alterar nada dentro do cofre.

Responda a quatro perguntas, copie o resultado.

As definições têm uma única forma em todo o lado: um campo TOML, ou o mesmo campo como variável de ambiente. O Worker só aceita buckets S3; um binário e um contentor também escrevem em diretórios simples e num repositório Git.

Transfira e extraia o ZIP para alojamento próprio. Não é necessário um compilador Rust.

GitHub Releases · self-host ZIP

Mostrar configuração

Configuração atualizada.

Onde é executado
Índice
Onde são guardadas as caixas seladas

Escolha tantos quantos quiser. Cada caixa é escrita em todos eles; as leituras recorrem ao seguinte e conferem o digest.

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

Crie a base de dados e o bucket antes da implementação. Substitua todos os marcadores.

Ficheiro de configuração


        

Comandos


        

Os segredos ficam nos segredos do Worker, nunca no ficheiro. O Worker só escreve em armazenamento compatível com S3.

Os valores entre parênteses angulares são para preencher. Nada do que escreve aqui sai da página: o texto é montado no seu navegador.

Aponte os seus cofres para ele.

Um cofre novo usa sync.confidex.me. Mudar o endereço é uma definição na aplicação, e o cofre continua a funcionar: o endereço não é parte do cofre nem parte da sua identidade.

Na aplicação
Abra as definições do cofre e substitua o endereço do servidor de sincronização pelo seu próprio. O cliente acrescenta o caminho da API por si só.
Origem partilhada
A aplicação e a API podem viver num único domínio. Encaminhe o prefixo da API para o servidor e tudo o resto para a aplicação.
Contas
Nenhuma a criar. Um cofre regista-se enviando o seu cadeado assinado, e só quem tem a chave de assinatura o pode substituir.
Vários servidores
Um cofre fala com um servidor de cada vez. Mudar para outro é a mesma única definição.

O que um dono de servidor tem de fazer.

Muito pouco, e nada disso envolve segredos. O servidor guarda caixas seladas e um índice que aponta para elas. Uma cópia de segurança é uma cópia de ambos.

Cópias de segurança

Copie o índice e o armazenamento de objetos em conjunto. Os objetos são imutáveis e têm o nome do seu digest, pelo que uma cópia feita enquanto o servidor funciona permanece válida.

Atualizações

Substitua o binário ou volte a implementar o Worker. O esquema do índice é aplicado no arranque para um índice nativo e com um ficheiro de esquema para o D1.

Acesso

As credenciais de armazenamento autorizam o servidor perante o seu próprio armazenamento. Não têm nada que 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 executa para outras pessoas mantêm-se abertas; uma cópia que executa só para si não acarreta nenhuma obrigação.

O servidor é a parte menos interessante, e esse é precisamente o objetivo.