Document not found (404)
-This URL is invalid, sorry. Please use the navigation bar or search to continue.
- -From 01c17c68277ff88fab812920732d9bbe9e6bb571 Mon Sep 17 00:00:00 2001 From: murilo ijanc Date: Tue, 24 Mar 2026 21:45:05 -0300 Subject: Simplify website to single-page Remove old Zola-generated content, keep only the essential landing page with about, contact, and license sections. --- book/pt-br/.nojekyll | 1 - book/pt-br/404.html | 228 --- book/pt-br/404.html.gz | Bin 5603 -> 0 bytes book/pt-br/ayu-highlight-3fdfc3ac.css | 77 - book/pt-br/ayu-highlight-3fdfc3ac.css.gz | Bin 450 -> 0 bytes book/pt-br/book-a0b12cfe.js | 843 ----------- book/pt-br/book-a0b12cfe.js.gz | Bin 6624 -> 0 bytes book/pt-br/clipboard-1626706a.min.js | 7 - book/pt-br/clipboard-1626706a.min.js.gz | Bin 3378 -> 0 bytes book/pt-br/commands/create.html | 329 ----- book/pt-br/commands/create.html.gz | Bin 7281 -> 0 bytes book/pt-br/commands/export.html | 307 ---- book/pt-br/commands/export.html.gz | Bin 7162 -> 0 bytes book/pt-br/commands/init.html | 288 ---- book/pt-br/commands/init.html.gz | Bin 6653 -> 0 bytes book/pt-br/commands/list.html | 283 ---- book/pt-br/commands/list.html.gz | Bin 6480 -> 0 bytes book/pt-br/commands/verify.html | 307 ---- book/pt-br/commands/verify.html.gz | Bin 6795 -> 0 bytes book/pt-br/configuration.html | 390 ----- book/pt-br/configuration.html.gz | Bin 8006 -> 0 bytes book/pt-br/css/chrome-ae938929.css | 756 ---------- book/pt-br/css/chrome-ae938929.css.gz | Bin 4616 -> 0 bytes book/pt-br/css/general-2459343d.css | 408 ------ book/pt-br/css/general-2459343d.css.gz | Bin 3178 -> 0 bytes book/pt-br/css/print-9e4910d8.css | 50 - book/pt-br/css/print-9e4910d8.css.gz | Bin 364 -> 0 bytes book/pt-br/css/variables-8adf115d.css | 383 ----- book/pt-br/css/variables-8adf115d.css.gz | Bin 1951 -> 0 bytes book/pt-br/docker.html | 303 ---- book/pt-br/docker.html.gz | Bin 6749 -> 0 bytes book/pt-br/elasticlunr-ef4e11c1.min.js | 10 - book/pt-br/elasticlunr-ef4e11c1.min.js.gz | Bin 5522 -> 0 bytes book/pt-br/encryption.html | 294 ---- book/pt-br/encryption.html.gz | Bin 7943 -> 0 bytes book/pt-br/favicon-bfbdfe47.png | Bin 6580 -> 0 bytes book/pt-br/fonts/OPEN-SANS-LICENSE.txt | 202 --- book/pt-br/fonts/OPEN-SANS-LICENSE.txt.gz | Bin 3990 -> 0 bytes book/pt-br/fonts/SOURCE-CODE-PRO-LICENSE.txt | 93 -- book/pt-br/fonts/SOURCE-CODE-PRO-LICENSE.txt.gz | Bin 2037 -> 0 bytes book/pt-br/fonts/fonts-9644e21d.css | 100 -- book/pt-br/fonts/fonts-9644e21d.css.gz | Bin 671 -> 0 bytes .../open-sans-v17-all-charsets-300-7736aa35.woff2 | Bin 44352 -> 0 bytes ...-sans-v17-all-charsets-300italic-2c7b95c0.woff2 | Bin 40656 -> 0 bytes .../open-sans-v17-all-charsets-600-486c6759.woff2 | Bin 44936 -> 0 bytes ...-sans-v17-all-charsets-600italic-1a3e8659.woff2 | Bin 42120 -> 0 bytes .../open-sans-v17-all-charsets-700-c22fe8c7.woff2 | Bin 44988 -> 0 bytes ...-sans-v17-all-charsets-700italic-238ae959.woff2 | Bin 40800 -> 0 bytes .../open-sans-v17-all-charsets-800-3d2c812a.woff2 | Bin 44536 -> 0 bytes ...-sans-v17-all-charsets-800italic-ba1521ec.woff2 | Bin 40812 -> 0 bytes ...pen-sans-v17-all-charsets-italic-6c9463f7.woff2 | Bin 41076 -> 0 bytes ...en-sans-v17-all-charsets-regular-2e3b1d34.woff2 | Bin 43236 -> 0 bytes ...ce-code-pro-v11-all-charsets-500-2bdd9410.woff2 | Bin 59140 -> 0 bytes book/pt-br/heir-recovery.html | 314 ---- book/pt-br/heir-recovery.html.gz | Bin 8118 -> 0 bytes book/pt-br/highlight-493f70e1.css | 83 -- book/pt-br/highlight-493f70e1.css.gz | Bin 589 -> 0 bytes book/pt-br/highlight-abc7f01d.js | 54 - book/pt-br/highlight-abc7f01d.js.gz | Bin 46266 -> 0 bytes book/pt-br/images/logo.png | Bin 493569 -> 0 bytes book/pt-br/index.html | 288 ---- book/pt-br/index.html.gz | Bin 7613 -> 0 bytes book/pt-br/installation.html | 397 ----- book/pt-br/installation.html.gz | Bin 8400 -> 0 bytes book/pt-br/introduction.html | 288 ---- book/pt-br/introduction.html.gz | Bin 7620 -> 0 bytes book/pt-br/mark-09e88c2c.min.js | 7 - book/pt-br/mark-09e88c2c.min.js.gz | Bin 5978 -> 0 bytes book/pt-br/nat-traversal.html | 334 ----- book/pt-br/nat-traversal.html.gz | Bin 8590 -> 0 bytes book/pt-br/network-concepts.html | 285 ---- book/pt-br/network-concepts.html.gz | Bin 8173 -> 0 bytes book/pt-br/print.html | 1532 -------------------- book/pt-br/print.html.gz | Bin 29075 -> 0 bytes book/pt-br/quick-start.html | 314 ---- book/pt-br/quick-start.html.gz | Bin 7433 -> 0 bytes book/pt-br/replication.html | 319 ---- book/pt-br/replication.html.gz | Bin 8935 -> 0 bytes book/pt-br/running-a-node.html | 314 ---- book/pt-br/running-a-node.html.gz | Bin 7573 -> 0 bytes book/pt-br/searcher-c2a407aa.js | 555 ------- book/pt-br/searcher-c2a407aa.js.gz | Bin 5294 -> 0 bytes book/pt-br/searchindex-3eaa3696.js | 1 - book/pt-br/searchindex-3eaa3696.js.gz | Bin 72565 -> 0 bytes book/pt-br/theme/custom-eff59930.css | 44 - book/pt-br/theme/custom-eff59930.css.gz | Bin 501 -> 0 bytes book/pt-br/toc-25102ebc.js | 454 ------ book/pt-br/toc-25102ebc.js.gz | Bin 5510 -> 0 bytes book/pt-br/toc.html | 32 - book/pt-br/toc.html.gz | Bin 1192 -> 0 bytes book/pt-br/tomorrow-night-4c0ae647.css | 104 -- book/pt-br/tomorrow-night-4c0ae647.css.gz | Bin 668 -> 0 bytes 92 files changed, 11378 deletions(-) delete mode 100644 book/pt-br/.nojekyll delete mode 100644 book/pt-br/404.html delete mode 100644 book/pt-br/404.html.gz delete mode 100644 book/pt-br/ayu-highlight-3fdfc3ac.css delete mode 100644 book/pt-br/ayu-highlight-3fdfc3ac.css.gz delete mode 100644 book/pt-br/book-a0b12cfe.js delete mode 100644 book/pt-br/book-a0b12cfe.js.gz delete mode 100644 book/pt-br/clipboard-1626706a.min.js delete mode 100644 book/pt-br/clipboard-1626706a.min.js.gz delete mode 100644 book/pt-br/commands/create.html delete mode 100644 book/pt-br/commands/create.html.gz delete mode 100644 book/pt-br/commands/export.html delete mode 100644 book/pt-br/commands/export.html.gz delete mode 100644 book/pt-br/commands/init.html delete mode 100644 book/pt-br/commands/init.html.gz delete mode 100644 book/pt-br/commands/list.html delete mode 100644 book/pt-br/commands/list.html.gz delete mode 100644 book/pt-br/commands/verify.html delete mode 100644 book/pt-br/commands/verify.html.gz delete mode 100644 book/pt-br/configuration.html delete mode 100644 book/pt-br/configuration.html.gz delete mode 100644 book/pt-br/css/chrome-ae938929.css delete mode 100644 book/pt-br/css/chrome-ae938929.css.gz delete mode 100644 book/pt-br/css/general-2459343d.css delete mode 100644 book/pt-br/css/general-2459343d.css.gz delete mode 100644 book/pt-br/css/print-9e4910d8.css delete mode 100644 book/pt-br/css/print-9e4910d8.css.gz delete mode 100644 book/pt-br/css/variables-8adf115d.css delete mode 100644 book/pt-br/css/variables-8adf115d.css.gz delete mode 100644 book/pt-br/docker.html delete mode 100644 book/pt-br/docker.html.gz delete mode 100644 book/pt-br/elasticlunr-ef4e11c1.min.js delete mode 100644 book/pt-br/elasticlunr-ef4e11c1.min.js.gz delete mode 100644 book/pt-br/encryption.html delete mode 100644 book/pt-br/encryption.html.gz delete mode 100644 book/pt-br/favicon-bfbdfe47.png delete mode 100644 book/pt-br/fonts/OPEN-SANS-LICENSE.txt delete mode 100644 book/pt-br/fonts/OPEN-SANS-LICENSE.txt.gz delete mode 100644 book/pt-br/fonts/SOURCE-CODE-PRO-LICENSE.txt delete mode 100644 book/pt-br/fonts/SOURCE-CODE-PRO-LICENSE.txt.gz delete mode 100644 book/pt-br/fonts/fonts-9644e21d.css delete mode 100644 book/pt-br/fonts/fonts-9644e21d.css.gz delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-300-7736aa35.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-300italic-2c7b95c0.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-600-486c6759.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-600italic-1a3e8659.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-700-c22fe8c7.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-700italic-238ae959.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-800-3d2c812a.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-800italic-ba1521ec.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-italic-6c9463f7.woff2 delete mode 100644 book/pt-br/fonts/open-sans-v17-all-charsets-regular-2e3b1d34.woff2 delete mode 100644 book/pt-br/fonts/source-code-pro-v11-all-charsets-500-2bdd9410.woff2 delete mode 100644 book/pt-br/heir-recovery.html delete mode 100644 book/pt-br/heir-recovery.html.gz delete mode 100644 book/pt-br/highlight-493f70e1.css delete mode 100644 book/pt-br/highlight-493f70e1.css.gz delete mode 100644 book/pt-br/highlight-abc7f01d.js delete mode 100644 book/pt-br/highlight-abc7f01d.js.gz delete mode 100644 book/pt-br/images/logo.png delete mode 100644 book/pt-br/index.html delete mode 100644 book/pt-br/index.html.gz delete mode 100644 book/pt-br/installation.html delete mode 100644 book/pt-br/installation.html.gz delete mode 100644 book/pt-br/introduction.html delete mode 100644 book/pt-br/introduction.html.gz delete mode 100644 book/pt-br/mark-09e88c2c.min.js delete mode 100644 book/pt-br/mark-09e88c2c.min.js.gz delete mode 100644 book/pt-br/nat-traversal.html delete mode 100644 book/pt-br/nat-traversal.html.gz delete mode 100644 book/pt-br/network-concepts.html delete mode 100644 book/pt-br/network-concepts.html.gz delete mode 100644 book/pt-br/print.html delete mode 100644 book/pt-br/print.html.gz delete mode 100644 book/pt-br/quick-start.html delete mode 100644 book/pt-br/quick-start.html.gz delete mode 100644 book/pt-br/replication.html delete mode 100644 book/pt-br/replication.html.gz delete mode 100644 book/pt-br/running-a-node.html delete mode 100644 book/pt-br/running-a-node.html.gz delete mode 100644 book/pt-br/searcher-c2a407aa.js delete mode 100644 book/pt-br/searcher-c2a407aa.js.gz delete mode 100644 book/pt-br/searchindex-3eaa3696.js delete mode 100644 book/pt-br/searchindex-3eaa3696.js.gz delete mode 100644 book/pt-br/theme/custom-eff59930.css delete mode 100644 book/pt-br/theme/custom-eff59930.css.gz delete mode 100644 book/pt-br/toc-25102ebc.js delete mode 100644 book/pt-br/toc-25102ebc.js.gz delete mode 100644 book/pt-br/toc.html delete mode 100644 book/pt-br/toc.html.gz delete mode 100644 book/pt-br/tomorrow-night-4c0ae647.css delete mode 100644 book/pt-br/tomorrow-night-4c0ae647.css.gz (limited to 'book/pt-br') diff --git a/book/pt-br/.nojekyll b/book/pt-br/.nojekyll deleted file mode 100644 index f173110..0000000 --- a/book/pt-br/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -This file makes sure that Github Pages doesn't process mdBook's output. diff --git a/book/pt-br/404.html b/book/pt-br/404.html deleted file mode 100644 index b5e785e..0000000 --- a/book/pt-br/404.html +++ /dev/null @@ -1,228 +0,0 @@ - - -
- - -Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-This URL is invalid, sorry. Please use the navigation bar or search to continue.
- -Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Criar uma tessera a partir de um diretório de arquivos.
-tes create <CAMINHO> [OPÇÕES]
-
-| Argumento | Descrição |
|---|---|
<CAMINHO> | Diretório contendo os arquivos a incluir |
| Opção | Descrição | Padrão |
|---|---|---|
-n, --non-interactive | Pular prompts | desativado |
--dry-run | Pré-visualizar o que seria incluído | desativado |
--visibility <VALOR> | Nível de visibilidade: public, private, circle | public |
--language <CÓDIGO> | Código de idioma (ex.: en, pt-BR) | en |
--tags <LISTA> | Tags separadas por vírgula | nenhuma |
--location <DESC> | Descrição do local | nenhuma |
--data-dir <CAMINHO> | Diretório base para armazenamento de dados | ~/.tesseras |
| Extensão | Tipo | Tipo de memória |
|---|---|---|
.jpg, .jpeg | Imagem (JPEG) | Momento |
.png | Imagem (PNG) | Momento |
.wav | Áudio (WAV PCM) | Momento |
.webm | Vídeo (WebM) | Momento |
.txt | Texto puro (UTF-8) | Reflexão |
Arquivos com outras extensões são ignorados.
-O comando atribui automaticamente um tipo de memória baseado no formato do arquivo:
-.txt) são classificados como Reflexão — pensamentos, crenças ou opiniõestes create ./minhas-fotos --dry-run
-
-tes create ./ferias-2026 \
- --tags "ferias,verao,praia" \
- --location "Florianópolis, Brasil" \
- --language pt-BR \
- --visibility public
-
-tes create ./diario --non-interactive --tags "cotidiano"
-
-| Nível | Quem pode acessar |
|---|---|
public | Qualquer pessoa (padrão) |
private | Apenas você (e herdeiros designados) |
circle | Pessoas explicitamente escolhidas |
Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Exportar uma tessera como um diretório autocontido.
-tes export <HASH> <DESTINO>
-
-| Argumento | Descrição |
|---|---|
<HASH> | Hash de conteúdo da tessera (64 caracteres hexadecimais) |
<DESTINO> | Diretório de destino |
| Opção | Descrição |
|---|---|
--data-dir <CAMINHO> | Diretório base para armazenamento de dados (padrão: ~/.tesseras) |
A exportação cria um diretório chamado tessera-<hash> dentro do destino:
tessera-9f2c4a1b.../
-├── MANIFEST # Índice em texto puro com checksums
-├── README.decode # Instruções de decodificação legíveis por humanos
-├── identity/
-│ ├── creator.pub.ed25519 # Chave pública do criador
-│ └── signature.ed25519.sig # Assinatura do MANIFEST
-├── memories/
-│ ├── <hash-conteudo>/
-│ │ ├── media.jpg # Arquivo de mídia principal
-│ │ ├── context.txt # Contexto humano em UTF-8 puro
-│ │ └── meta.json # Metadados estruturados
-│ └── .../
-├── schema/
-│ └── v1.json # Esquema JSON para validação de metadados
-└── decode/
- ├── formats.txt # Explicação de todos os formatos usados
- ├── jpeg.txt # Como decodificar JPEG
- ├── wav.txt # Como decodificar WAV
- └── json.txt # Como decodificar JSON
-
-tes export 9f2c4a1b3e7d8f0cabc123def4567890... ./backup
-
-Exported to ./backup/tessera-9f2c4a1b3e7d8f0cabc123def4567890...
-
-O diretório exportado é projetado para ser legível sem o software Tesseras. Ele inclui:
-Isso significa que alguém daqui a milhares de anos, sem conhecimento algum sobre o Tesseras, ainda pode entender e acessar as memórias.
-Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Inicializar identidade e banco de dados local.
-tes init
-
-Configura seu ambiente Tesseras local. Este é o primeiro comando que você deve executar após instalar o Tesseras.
-O comando cria:
-| Caminho | Conteúdo |
|---|---|
~/.tesseras/identity/ | Par de chaves Ed25519 para assinar tesseras |
~/.tesseras/db/ | Banco de dados SQLite para indexação |
~/.tesseras/blobs/ | Armazenamento de blobs para arquivos de memória |
~/.tesseras/config.toml | Arquivo de configuração |
| Opção | Descrição |
|---|---|
--data-dir <CAMINHO> | Diretório base para armazenamento de dados (padrão: ~/.tesseras) |
Executar init novamente é seguro. Se uma identidade já existe, ela é preservada:
tes init
-
-Ed25519 identity already exists
-Database initialized
-Tesseras initialized at /home/user/.tesseras
-
-tes --data-dir /mnt/usb/tesseras init
-
-Isso cria toda a estrutura de diretórios em /mnt/usb/tesseras/ ao invés do local padrão.
identity/, db/, blobs/)config.toml padrãoPress ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Listar todas as tesseras locais.
-tes list
-
-| Opção | Descrição |
|---|---|
--data-dir <CAMINHO> | Diretório base para armazenamento de dados (padrão: ~/.tesseras) |
Exibe uma tabela com as seguintes colunas:
-| Coluna | Descrição |
|---|---|
| Hash | Primeiros 16 caracteres do hash de conteúdo |
| Created | Data de criação (AAAA-MM-DD) |
| Memories | Número de memórias na tessera |
| Size | Tamanho total (B, KB, MB ou GB) |
| Visibility | Nível de visibilidade (public, private ou circle) |
tes list
-
-Hash Created Memories Size Visibility
-9f2c4a1b3e7d8f0c 2026-02-14 3 284 KB public
-a3b7c2d9e4f01823 2026-02-10 1 12 KB private
-f8e7d6c5b4a39201 2026-01-28 12 4 MB public
-
-Se nenhuma tessera foi criada ainda:
-tes list
-
-No tesseras found.
-
-
- Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Verificar integridade de uma tessera armazenada.
-tes verify <HASH>
-
-| Argumento | Descrição |
|---|---|
<HASH> | Hash de conteúdo da tessera (64 caracteres hexadecimais) |
| Opção | Descrição |
|---|---|
--data-dir <CAMINHO> | Diretório base para armazenamento de dados (padrão: ~/.tesseras) |
| Código | Significado |
|---|---|
0 | Verificação passou — todos os arquivos intactos, assinatura válida |
1 | Verificação falhou — arquivos corrompidos ou assinatura inválida |
tes verify 9f2c4a1b3e7d8f0cabc123def456789012345678abcdef0123456789abcdef01
-
-Tessera: 9f2c4a1b3e7d8f0cabc123def456789012345678abcdef0123456789abcdef01
-Signature: VALID
- [OK] memories/a1b2c3d4/media.jpg
- [OK] memories/e5f6a7b8/media.txt
- [OK] memories/c9d0e1f2/media.wav
-Verification: PASSED
-
-Se um arquivo foi modificado ou corrompido:
-Tessera: 9f2c4a1b3e7d8f0cabc123def456789012345678abcdef0123456789abcdef01
-Signature: VALID
- [OK] memories/a1b2c3d4/media.jpg
- [FAILED] memories/e5f6a7b8/media.txt
- [OK] memories/c9d0e1f2/media.wav
-Verification: FAILED
-
-Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-O daemon pode ser configurado via um arquivo TOML. Passe o caminho com --config:
tesseras-daemon --config /etc/tesseras/config.toml
-
-Se nenhum arquivo de configuracao for fornecido, o daemon usa padroes sensiveis. Opcoes CLI (--listen, --bootstrap, --data-dir) sobrescrevem os valores correspondentes da configuracao.
[node]
-data_dir = "~/.local/share/tesseras"
-listen_addr = "0.0.0.0:4433"
-
-[dht]
-k = 20
-alpha = 3
-bucket_refresh_interval_secs = 3600
-republish_interval_secs = 3600
-pointer_ttl_secs = 86400
-max_stored_pointers = 100000
-ping_failure_threshold = 3
-
-[bootstrap]
-dns_domain = "_tesseras._udp.tesseras.net"
-hardcoded = [
- "boot1.tesseras.net:4433",
- "boot2.tesseras.net:4433",
-]
-
-[network]
-enable_mdns = true
-
-[observability]
-metrics_addr = "127.0.0.1:9190"
-log_format = "json"
-
-[node]Configuracoes basicas do no.
-| Chave | Tipo | Padrao | Descricao |
|---|---|---|---|
data_dir | caminho | Especifico da plataforma | Onde armazenar identidade, banco de dados e blobs |
listen_addr | endereco | 0.0.0.0:4433 | Endereco do listener QUIC |
O data_dir padrao e ~/.local/share/tesseras no Linux e ~/Library/Application Support/tesseras no macOS.
[dht]Parametros de ajuste da DHT Kademlia. Os padroes funcionam bem para a maioria das implantacoes.
-| Chave | Tipo | Padrao | Descricao |
|---|---|---|---|
k | inteiro | 20 | Maximo de entradas por bucket da tabela de roteamento |
alpha | inteiro | 3 | Paralelismo para buscas iterativas |
bucket_refresh_interval_secs | inteiro | 3600 | Com que frequencia atualizar buckets da tabela de roteamento (segundos) |
republish_interval_secs | inteiro | 3600 | Com que frequencia republicar ponteiros armazenados (segundos) |
pointer_ttl_secs | inteiro | 86400 | Quanto tempo manter um ponteiro antes de expirar (segundos) |
max_stored_pointers | inteiro | 100000 | Numero maximo de ponteiros armazenados localmente |
ping_failure_threshold | inteiro | 3 | Quantas falhas consecutivas de ping antes de remover um par |
[bootstrap]Como o no descobre seus primeiros pares ao entrar na rede.
-| Chave | Tipo | Padrao | Descricao |
|---|---|---|---|
dns_domain | string | _tesseras._udp.tesseras.net | Dominio DNS para descoberta de pares via registros TXT |
hardcoded | lista de strings | ["boot1.tesseras.net:4433", "boot2.tesseras.net:4433"] | Enderecos de bootstrap de fallback |
[network]Funcionalidades de nivel de rede.
-| Chave | Tipo | Padrao | Descricao |
|---|---|---|---|
enable_mdns | booleano | true | Habilitar descoberta na rede local via mDNS |
[observability]Monitoramento e logging.
-| Chave | Tipo | Padrao | Descricao |
|---|---|---|---|
metrics_addr | endereco | 127.0.0.1:9190 | Endereco para o endpoint de metricas Prometheus |
log_format | string | json | Formato de saida de log (json ou text) |
Tesseras suporta IPv6 nativamente. Os campos listen_addr e listen_addrs aceitam tanto enderecos IPv4 quanto IPv6.
Para escutar em todas as interfaces IPv6:
-[node]
-listen_addr = "[::]:4433"
-
-No Linux e na maioria dos BSDs, vincular a [::] tambem aceita conexoes IPv4 (dual-stack) por padrao. Em alguns sistemas (notavelmente OpenBSD), [::] e somente IPv6 porque IPV6_V6ONLY e habilitado por padrao. Para garantir tanto IPv4 quanto IPv6 em todas as plataformas, use listen_addrs com enderecos explicitos:
[node]
-listen_addrs = ["0.0.0.0:4433", "[::]:4433"]
-
-Para loopback IPv6 apenas (testes):
-[node]
-listen_addr = "[::1]:4433"
-
-Enderecos de bootstrap podem ser IPv6:
-[bootstrap]
-hardcoded = [
- "boot1.tesseras.net:4433",
- "[2001:db8::1]:4433",
-]
-
-Hostnames DNS com registros A e AAAA sao resolvidos para todos os enderecos, entao o daemon se conectara pelo protocolo que estiver acessivel.
-IPV6_V6ONLY por SO| SO | [::] aceita IPv4? | Notas |
|---|---|---|
| Linux | Sim (dual-stack) | IPV6_V6ONLY padrao 0 |
| macOS | Sim (dual-stack) | IPV6_V6ONLY padrao 0 |
| FreeBSD | Sim (dual-stack) | IPV6_V6ONLY padrao 0 |
| OpenBSD | Nao (somente IPv6) | IPV6_V6ONLY sempre 1 |
| Windows | Sim (dual-stack) | IPV6_V6ONLY padrao 0 |
Se precisar de controle explicito, use listen_addrs com um endereco IPv4 e um IPv6.
A maioria dos usuarios nao precisa de um arquivo de configuracao. Se precisar, uma configuracao minima sobrescrevendo apenas o necessario e suficiente:
-[node]
-listen_addr = "0.0.0.0:5000"
-
-[bootstrap]
-hardcoded = ["192.168.1.10:4433"]
-
-Todos os outros valores usam seus padroes.
- -Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Tesseras fornece uma imagem Docker para executar o daemon em conteineres. Isso e util para servidores, testar redes com multiplos nos e ambientes de CI.
-A partir da raiz do repositorio:
-docker build -t tesseras-daemon .
-
-O Dockerfile multi-estagio usa rust:1.85 para compilar e debian:bookworm-slim como base de execucao. A imagem resultante e pequena e contem apenas o binario do daemon e certificados CA.
docker run -d \
- --name tesseras \
- -p 4433:4433/udp \
- tesseras-daemon
-
-Isso inicia um no que:
-Para persistir dados entre reinicializacoes do conteiner, monte um volume:
-docker run -d \
- --name tesseras \
- -p 4433:4433/udp \
- -v tesseras-data:/root/.local/share/tesseras \
- tesseras-daemon
-
-Para executar um no semente que nao faz bootstrap de ninguem:
-docker run -d \
- --name tesseras-seed \
- -p 4433:4433/udp \
- tesseras-daemon --listen 0.0.0.0:4433 --bootstrap ""
-
-O repositorio inclui um arquivo Docker Compose para testar uma rede de 3 nos:
-services:
- boot1:
- build: ../..
- command: ["--listen", "0.0.0.0:4433", "--bootstrap", ""]
- ports: ["4433:4433/udp"]
-
- boot2:
- build: ../..
- command: ["--listen", "0.0.0.0:4433", "--bootstrap", "boot1:4433"]
- depends_on: [boot1]
-
- client:
- build: ../..
- command: ["--listen", "0.0.0.0:4433", "--bootstrap", "boot2:4433"]
- depends_on: [boot2]
-
-Iniciar a rede:
-cd tests/smoke
-docker compose up --build -d
-
-Verificar que todos os nos estao executando:
-docker compose logs --tail=5
-
-Voce devera ver daemon ready nos logs de cada no, e bootstrap successful para boot2 e client.
Parar a rede:
-docker compose down
-
-Para usar um arquivo de configuracao com Docker, monte-o no conteiner:
-docker run -d \
- --name tesseras \
- -p 4433:4433/udp \
- -v ./config.toml:/etc/tesseras/config.toml:ro \
- -v tesseras-data:/root/.local/share/tesseras \
- tesseras-daemon --config /etc/tesseras/config.toml
-
-Veja o capitulo Configuracao para todas as opcoes disponiveis.
- -Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-A maioria das tesseras são públicas — projetadas para serem acessíveis a qualquer pessoa, para sempre. Mas algumas memórias precisam de privacidade. Tesseras suporta dois modos de visibilidade criptografada:
-Tesseras públicas nunca são criptografadas. Disponibilidade é mais importante que sigilo para preservação.
-Quando você cria uma tessera privada ou selada, o seguinte acontece:
-Apenas o detentor da chave privada correspondente pode desembrulhar a chave de conteúdo e decriptar o conteúdo.
-O envelope de chave selada usa um Mecanismo de Encapsulamento de Chave (KEM) híbrido combinando dois algoritmos:
-Ambos os algoritmos produzem segredos compartilhados que são combinados usando derivação de chaves BLAKE3. Um atacante precisa quebrar ambos os algoritmos para recuperar a chave de conteúdo. Isso segue o mesmo princípio das assinaturas duplas do Tesseras (Ed25519 + ML-DSA): não sabemos quais suposições criptográficas se manterão ao longo dos séculos, então apostamos nos dois.
-AES-256-GCM suporta dados autenticados associados — informações extras que são verificadas durante a decriptação mas não são criptografadas. Tesseras vincula as seguintes informações no AAD:
-Isso previne ataques de troca de texto cifrado: um atacante não pode copiar conteúdo criptografado de uma tessera para outra, porque o AAD não vai corresponder e a decriptação vai falhar. Para tesseras seladas, isso também significa que você não pode alterar a data do selo — o timestamp está criptograficamente vinculado ao texto cifrado.
-Uma tessera selada é uma verdadeira cápsula do tempo. Quando você cria uma, você especifica uma data open_after. O conteúdo é criptografado e a chave é selada em um envelope que apenas você pode abrir.
Quando a data open_after passa, o dono publica a chave de conteúdo como uma Publicação de Chave assinada — um artefato independente contendo a chave, o hash da tessera e a assinatura do dono. Outros nós podem verificar a assinatura e usar a chave publicada para decriptar o conteúdo.
O manifesto da tessera nunca é modificado. A Publicação de Chave é um documento separado, preservando a natureza imutável e endereçada por conteúdo das tesseras.
-Cada identidade agora inclui um par de chaves de criptografia junto ao par de chaves de assinatura:
-| Tipo de chave | Algoritmo | Finalidade |
|---|---|---|
| Ed25519 | Clássico | Assinatura de manifestos e publicações de chave |
| ML-DSA | Pós-quântico | Assinatura (quando habilitado) |
| X25519 | Clássico | Encapsulamento de chave (criptografia) |
| ML-KEM-768 | Pós-quântico | Encapsulamento de chave (criptografia) |
O par de chaves de criptografia é gerado quando a identidade é criada. A metade pública é armazenada no diretório de identidade da tessera; a metade privada fica no dispositivo do dono.
-Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Suas tesseras podem sobreviver a falhas de infraestrutura, computadores quânticos e séculos de tempo. Mas o que acontece quando você não consegue mais acessar suas próprias chaves? Tesseras usa Shamir’s Secret Sharing para permitir que você distribua sua identidade criptográfica para herdeiros de confiança.
-Shamir’s Secret Sharing divide um segredo em N fragmentos com um limiar T. Qualquer T fragmentos podem reconstruir o segredo original. Menos que T fragmentos não revelam nada — isso é informação-teoricamente seguro, não apenas computacionalmente difícil de quebrar.
-Por exemplo, com limiar 2 e 3 fragmentos totais:
-Quaisquer dois deles podem recuperar sua identidade. Um único fragmento sozinho é inútil.
-tes heir create --threshold 2 --shares 3
-
-Isso divide sua chave de identidade Ed25519 em 3 fragmentos (necessitando 2 para reconstruir) e os salva em ./heir-shares/:
heir-shares/
-├── heir_share_1.bin # Binário MessagePack
-├── heir_share_1.txt # Texto base64 legível por humanos
-├── heir_share_2.bin
-├── heir_share_2.txt
-├── heir_share_3.bin
-└── heir_share_3.txt
-
-Cada fragmento é gerado em dois formatos:
-.bin) — MessagePack compacto, adequado para pendrives ou armazenamento digital.txt) — base64 com cabeçalho legível, adequado para impressão em papelO formato texto se parece com isso:
---- TESSERAS HEIR SHARE ---
-Format: v1
-Owner: a1b2c3d4e5f6a7b8 (fingerprint)
-Share: 1 of 3 (threshold: 2)
-Session: 9f8e7d6c5b4a3210
-Created: 2026-02-15
-
-<dados codificados em base64>
---- END HEIR SHARE ---
-
-Quando os herdeiros precisam recuperar a identidade:
-tes heir reconstruct heir_share_1.txt heir_share_2.bin --output-dir ./recovered-keys
-
-O comando detecta automaticamente se cada arquivo é formato binário ou texto. Ele valida que todos os fragmentos pertencem à mesma sessão e dono, verifica checksums e reconstrói o par de chaves Ed25519.
-Para instalar as chaves recuperadas como identidade ativa:
-tes heir reconstruct share1.txt share2.txt --output-dir ./recovered --install
-
-Isso faz backup da identidade atual antes de substituí-la.
-Para ver metadados sobre um fragmento sem expor dados secretos:
-tes heir info heir_share_1.txt
-
-Saída:
-Heir Share Information:
- Format version: 1
- Share: 1 of 3 (threshold: 2)
- Session: 9f8e7d6c5b4a3210
- Owner fingerprint: a1b2c3d4e5f6a7b8
- Share data size: 34 bytes
- Checksum: valid
-
-.txt em papel livre de ácido e armazene em locais físicos separados (cofres bancários, casas diferentes). Papel sobrevive décadas sem degradação.heir create gera um novo ID de sessão. Fragmentos de sessões diferentes não podem ser misturados — isso previne confusão após rotações de chave.Press ← or → to navigate between chapters
-Press S or / to search in the book
-Press ? to show this help
-Press Esc to hide this help
-Tesseras é uma rede peer-to-peer para preservar memórias humanas através dos milênios. Cada pessoa cria uma tessera — uma cápsula do tempo autocontida de memórias (fotos, áudio, vídeo, texto) que sobrevive independentemente de qualquer software, empresa ou infraestrutura.
-A palavra tessera vem das pequenas peças usadas para fazer mosaicos no mundo antigo. No Tesseras, cada tessera é uma coleção de memórias empacotada em um formato projetado para ser compreendido mesmo daqui a milhares de anos, sem nenhum software especial.
-Uma tessera contém:
-Tesseras completou até a Fase 4 — criptografia e tesseras seladas. O projeto agora cobre gerenciamento local de tesseras, rede, replicação, app mobile e privacidade criptográfica.
-O que está disponível hoje:
-| Conceito | Descrição |
|---|---|
| Tessera | Uma cápsula do tempo autocontida de memórias |
| Memória | Um item individual (foto, gravação, vídeo ou texto) dentro de uma tessera |
| Hash de conteúdo | Um hash BLAKE3 que identifica unicamente uma tessera pelo seu conteúdo |
| Visibilidade | Controla quem pode acessar uma tessera: pública, privada, selada ou círculo |
| Tessera selada | Uma cápsula do tempo que só pode ser aberta após uma data específica |
| MANIFEST | Um índice em texto puro listando cada arquivo na tessera com seu checksum |
| Tipo de memória | Categoriza uma memória: momento, reflexão, cotidiano, relação ou objeto |
| Nó | Um dispositivo executando o daemon Tesseras, participando da rede P2P |
| DHT | Tabela hash distribuída — como os nós encontram ponteiros de tesseras sem um servidor central |
| Bootstrap | O processo de entrar na rede contactando nós semente conhecidos |