# Tutorial do Noterich P2P Sync: Sincronização entre Dispositivos Sem Nuvem
> **Sincronize suas notas entre dispositivos de forma segura — sem necessidade de armazenamento na nuvem.**
Em uma era em que a privacidade dos dados é mais importante do que nunca, o Noterich oferece uma abordagem revolucionária para sincronização entre dispositivos. Nossa funcionalidade **P2P (Peer-to-Peer) Sync** permite o compartilhamento transparente de notas entre seus dispositivos, sem depender de servidores da nuvem. Seus dados permanecem sob sua responsabilidade — sempre.
## Por que escolher P2P Sync?
Aplicativos tradicionais de anotações armazenam seus dados em servidores centralizados. Isso gera riscos de privacidade, custos de assinatura e dependência de infraestrutura de terceiros. O Noterich segue um caminho diferente:
```mermaid
graph LR
A[Seu Dispositivo] <-->|Conexão Direta| B[Seu Outro Dispositivo]
C[Servidor da Nuvem] -.->|Não Necessário| A
C -.->|Não Necessário| B
style A fill:#4CAF50,color:#fff
style B fill:#4CAF50,color:#fff
style C fill:#9E9E9E,color:#fff,stroke-dasharray: 5 5
```
### Principais Benefícios
- **🔒 Privacidade em Primeiro Lugar**: Suas notas nunca entram em contato com servidores de terceiros
- **⚡ Rápido e Direto**: Dispositivos se comunicam diretamente para sincronizações mais rápidas
- **💰 Sem Assinaturas**: Sincronização P2P gratuita, sem níveis premium
- **🌐 Funciona em qualquer lugar**: Sincronização via rede local ou internet
- **📱 Plataformas Cruzadas**: Funciona entre desktop, laptop, tablet e celular
## Como Funciona o P2P Sync
O Noterich utiliza a **tecnologia WebRTC** combinada com **PeerJS** para estabelecer conexões diretas entre seus dispositivos. Quando você inicia uma sincronização:
```mermaid
sequenceDiagram
participant D1 como Dispositivo A (Remetente)
participant S como Servidor de Sinalização
participant D2 como Dispositivo B (Receptor)
D1->>S: Solicitar conexão ID
S-->>D1: Gerar ID da sala
D1->>D2: Compartilhar link de conexão (QR/URL)
D2->>S: Conectar usando ID da sala
S-->>D2: Estabelecer conexão peer
D1->>D2: Criptografar e enviar notas
D2->>D2: Descriptografar e importar notas
Nota sobre D1,D2: Transferência criptografada direta<br/>Nenhum dado é armazenado no servidor
```
### A Tecnologia por Trás
A implementação P2P do Noterich utiliza:
1. **Biblioteca PeerJS**: Lida com a complexidade do WebRTC para comunicação entre navegadores
2. **Criptografia AES-GCM**: Criptografia de nível militar para seus dados de notas
3. **Derivação de Chave PBKDF2**: Geração segura de chaves de criptografia baseadas em senha
4. **Serialização MessagePack**: Codificação binária eficiente para transferências rápidas
5. **Armazenamento IndexedDB**: Banco de dados local para acesso off-line
## Começando com o P2P Sync
### Pré-requisitos
Antes de começar, verifique se você tem:
- ✅ O Noterich instalado em ambos os dispositivos
- ✅ Ambos os dispositivos conectados à internet (ou mesma rede local)
- ✅ Um navegador moderno (Chrome, Firefox, Edge, Safari)
### Passo 1: Iniciar o Compartilhamento do Dispositivo Origem
1. Abra a nota que deseja compartilhar no Noterich
2. Clique no botão **Compartilhar** na barra de ferramentas
3. Selecione a opção **"P2P Compartilhar"**
4. (Opcional) Defina uma senha para maior segurança
- As senhas devem ter pelo menos 8 caracteres
- Utiliza criptografia AES-256-GCM
5. Espere o servidor P2P inicializar
```mermaid
graph TD
A[Abrir Nota] --> B[Clique em Botão Compartilhar]
B --> C[Selecionar P2P Compartilhar]
C --> D{Definir Senha?}
D -->|Sim| E[Insira Senha ≥8 caracteres]
D -->|Não| F[Ignorar Criptografia]
E --> G[Inicializar Servidor P2P]
F --> G
G --> H[Gerar Link de Compartilhamento e QR Code]
```
### Passo 2: Compartilhar o Link de Conexão
Quando o servidor P2P inicia, o Noterich gera:
- **Um link de compartilhamento único** contendo parâmetros de conexão
- **Um QR code** para scanning rápido em dispositivos móveis
O formato do link é assim:
```
https://noterich.com/#dbshare=<infoHash>&server=<signaling-server>
```
**Métodos de Compartilhamento:**
| Método | Melhor Para | Como Fazer |
|--------|----------|--------|
| 🔗 Copiar Link | Email, aplicativos de mensagens | Clique em "Copiar Link" |
| 📱 QR Code | Dispositivos móveis | Escaneie com câmera do dispositivo |
| 📧 Email | Colaboradores remotos | Copie o link no email |
### Passo 3: Receber no Dispositivo Destinatário
No dispositivo receptor:
1. **Abrir o link de compartilhamento**
- Clique diretamente no link, ou
- Escaneie o QR code com seu dispositivo móvel
2. **Revisar as notas recebidas**
- Visualizar títulos e metadados da nota
- Verificar as informações do remetente
3. **Inserir a senha** (se criptografada)
- Insira a senha fornecida pelo remetente
- Os dados são descriptografados localmente no seu dispositivo
4. **Selecionar workspace de destino**
- Escolher um workspace existente, ou
- Criar um novo workspace para as notas importadas
5. **Confirmar a importação**
- As notas são descriptografadas e salvas no IndexedDB
- O índice de busca é reconstruído automaticamente
```mermaid
graph TD
A[Abrir Link] --> B[Conectar com o Remetente]
B --> C{Encriptado?}
C -->|Sim| D[Insira Senha]
C -->|Não| E[Receber Metadados]
D --> E
E --> F[Visualizar Notas]
F --> G[Selecionar Workspace]
G --> H[Importar e Indexar]
H --> I[Sincronização Completa!]
style I fill:#4CAF50,color:#fff
```
## Recursos Avançados
### Transferências Criptografadas
Para notas confidenciais, o Noterich oferece criptografia end-to-end opcional:
**Processo de Criptografia:**
```javascript
// Senha → Chave de Criptografia (PBKDF2)
password + salta → deriveKey() → Chave AES-256-GCM
// Dados da Nota → Buffer Criptografado
noteData + chave + iv → encrypt() → encryptedBuffer
// Pacote de Transferência
{
encryptedBuffer: ArrayBuffer,
salt: Uint8Array, // Para derivação da chave
iv: Uint8Array // Vector de inicialização
}
```
**Recursos de Segurança:**
- 🔐 100.000 iterações de PBKDF2 para derivação da chave
- 🔐 Salta e IV aleatórios para cada transferência
- 🔐 Criptografia autenticada AES-256-GCM
- 🔐 A senha nunca é transmitida — apenas usada localmente
### Sincronização em Lote
Transferir várias notas de forma eficiente:
1. Acesse **Transferência de Banco de Dados** nas configurações
2. Selecione o modo **"P2P Sync"**
3. Escolha as notas a sincronizar
4. O receptor recebe uma visualização em lote com opções de seleção
**Otimização de Desempenho:**
- As notas são transferidas em blocos (512KB cada)
- Processamento assíncrono para evitar bloqueio da IU
- Acompanhamento do progresso com precisão de byte
- Cancele a qualquer momento sem danos aos dados
### Resolução de Conflitos
Quando sincronizando notas que existem em ambos os dispositivos:
```mermaid
graph TD
A[Detectar Conflito] --> B{Comparar Datações}
B -->|Local Mais Recente| C[Manter Versão Local]
B -->|Local Mais Recente do Remetente| D[Mostrar Diálogo de Conflito]
D --> E[Escolher Versão]
E --> F[Local]
E --> G[Remetente]
E --> H[Mergir Manualmente]
B -->|Ambos Exclusos| I[Ignorar]
style C fill:#2196F3,color:#fff
style F fill:#2196F3,color:#fff
style G fill:#4CAF50,color:#fff
```
**Tipos de Conflito Geridos:**
- `local-mais-reciente`: Sua versão é mais recente
- `local-mais-reciente-do-remetente`: A versão recebida é mais recente
- `local-excluso`: Você excluiu essa nota localmente
- `remetente-excluso`: A nota foi excluída no dispositivo do remetente
- `remetente-restaurado`: Nota anteriormente excluída foi restaurada
## Solução de Problemas
### Problemas Comuns e Soluções
#### ❌ "Biblioteca PeerJS não carregada"
**Causa**: Bloqueio da rede pelo CDN do PeerJS ou pelo servidor de sinalização
**Soluções:**
1. Verificar a conexão à internet
2. Verificar se o firewall permite conexões WebRTC
3. Tentar uma rede alternativa ( hotspot móvel )
4. Assegurar que o navegador suporte WebRTC
#### ❌ "Tempo de Conexão Expirado"
**Causa**: NAT/firewall impedindo a conexão direta
**Soluções:**
1. Ambos os dispositivos na mesma rede ajuda
2. Desativar VPN temporariamente
3. Verificar as configurações WebRTC do roteador
4. Usar QR code para conexões móveis
#### ❌ "Decryptografia Falhou"
**Causa**: Senha incorreta ou transferência corrompida
**Soluções:**
1. Verificar se a senha coincide exatamente (caso-sensitive)
2. Solicitar um novo link de compartilhamento do remetente
3. Assegurar uma conexão estável durante a transferência
4. Tente tamanhos de lote menores
#### ❌ Erro "Sincronização em andamento"
**Causa**: Várias tentativas de sincronização simultâneas
**Soluções:**
1. Espere a sincronização atualizar completar
2. Feche outras abas/windows do Noterich
3. atualizar a página e tentar novamente
4. Limpar a cache do navegador se persistir
### Indicadores de Status de Conexão
| Status | Significado | Ação |
|--------|---------|--------|
| 🔵 Conectando | Estabelecendo conexão peer | Espere 5-10 segundos |
| 🟡 Comparando | Analisando diferenças de notas | Processo normal |
| 🟠 Esperando usuário | Senha ou confirmação necessárias | Verifique diálogos |
| 🟢 Aplicando | Importando notas para o banco de dados | Não feche a aba |
| ✅ Sucesso | Sincronização concluída com sucesso | Pronto para usar as notas |
| 🔴 Erro | Conexão ou transferência falhou | Verifique soluções de erro |
## Práticas de Segurança
### Protegendo seus Dados
Embora a sincronização P2P seja intrinsecamente segura, siga estas diretrizes:
1. **Use Senhas Fortes**
- No mínimo 8 caracteres (recomendado 12+)
- Misture maiúsculas, minúsculas, números e símbolos
- Nunca reutilize senhas de outros serviços
2. **Verificar Destinatários**
- Compartilhe links apenas com dispositivos confiáveis
- Use QR codes para transferências em proximidade física
- Evite postar links em canais públicos
3. **Monitore Conexões Ativas**
- Verifique peers conectados durante a sincronização
- Desconecte após transferência bem-sucedida
- Revogue links compartilhados se comprometidos
4. **Backups Regulares**
- Exporte notas importantes periodicamente
- Armazene os backups em local seguro
- Teste as procedimentos de restauração regularmente
### Entendendo os Limites da Criptografia
**O que é criptografado:**
- ✅ Conteúdo da nota (texto, formatação, metadados)
- ✅ Anexos e mídias embutidas
- ✅ Estrutura do banco de dados durante a transferência
**O que não é criptografado:**
- ⚠️ Metadados de conexão (tempo, tamanho de dados)
- ⚠️ Endereços IP (visíveis para o servidor de sinalização)
- ⚠️ Identificadores de dispositivo (para roteamento de conexão)
## Dicas de Desempenho
### Otimizar a Velocidade de Sincronização
1. **Condições de Rede**
- Mesma rede local = transferências mais rápidas
- Wi-Fi 5GHz preferencialmente ao 2.4GHz
- Ethernet para dispositivos desktop
2. **Tamanhos de Lote**
- Transferências grandes: Divida em lotes menores
- Monitore o indicador de progresso
- Cancele e tente novamente se estiver parado
3. **Desempenho do Navegador**
- Mantenha a aba do Noterich ativa durante a sincronização
- Feche abas do navegador desnecessárias
- Atualize para a versão mais recente do navegador
4. **Recursos do Dispositivo**
- Assegure espaço de armazenamento suficiente
- Feche aplicativos que consumem muita memória
- Reinicie o navegador se a sincronização demorar
### Gerenciamento de Memória
O Noterich implementa processamento em lote inteligente para evitar travamentos do navegador:
```javascript
// Processamento em lote assíncrono com setTimeout
async function asyncBatchProcessor(items, processor, batchSize = 10) {
// Processa itens em lotes de 10
// Dá controle a cada 10ms para manter a interface gráfica responsiva
// Evita bloqueio do thread principal durante importações grandes
}
```
**Recomendações:**
- Limite transferências individuais a 100 notas no máximo
- Espere 30 segundos entre grandes lotes de sincronização
- Limpar a cache do navegador periodicamente
## Perguntas Frequentes
### P: Posso sincronizar mais de dois dispositivos?
**R:** Sim! Inicie sessões P2P separadas para cada par de dispositivos. Para fluxos de trabalho múltiplos dispositivos:
1. Sincronizar Dispositivo A → Dispositivo B
2. Depois sincronizar Dispositivo B → Dispositivo C
3. Ou usar Dispositivo A como hub central para todos os outros
### P: A sincronização P2P funciona offline?
**R:** A P2P requer conexão à internet inicial para o handshake do servidor de sinalização. Após a estabelecimento da conexão:
- ✅ Transferências de rede local funcionam sem internet
- ✅ Dados são transferidos diretamente entre dispositivos
- ❌ Conexão inicial precisa do acesso ao servidor de sinalização
### P: O que acontece se a sincronização for interrompida?
**R:** O Noterich lida com interrupções de forma adequada:
- Notas parcialmente transferidas são descartadas
- Nenhum dado corrompido entra no seu banco de dados
- Basta reiniciar o processo de sincronização
- Notas já sincronizadas permanecem inalteradas
### P: Posso sincronizar com a instância do Noterich de outra pessoa?
**R:** Absolutamente! A sincronização P2P funciona entre usuários de qualquer Noterich:
- Compartilhe notas individuais com colaboradores
- Não é necessário vínculo de conta
- Cada transferência é independente e segura
- Perfeito para compartilhamento de notas de uso único
### P: Existe um limite de tamanho de arquivo?
**R:** Limites práticos dependem de:
- Memória disponível no navegador
- Estabilidade da rede
- Recomendado máximo: 50MB por sessão
- Transferências maiores: Divida em vários lotes
### P: Quanto tempo dura um link de compartilhamento?
**R:** Os links de compartilhamento são por sessão:
- Válidos enquanto a aba do Noterich estiver aberta
- Expiram quando o remetente fecha a aba/browser
- Recomenda-se uso único por segurança
- Gere um novo link para cada sessão de transferência
## Comparação: P2P vs Sincronização na Nuvem
```mermaid
quadrantChart
title "Comparação de Métodos de Sincronização"
x-axis "Menor Privacidade" --> "Maior Privacidade"
y-axis "Menor Controle" --> "Maior Controle"
quadrant-1 "Noterich P2P"
quadrant-2 "Evite"
quadrant-3 "Sincronização na Nuvem Tradicional"
quadrant-4 "Serviços Centralizados"
"Noterich P2P": [0.9, 0.9]
"Sincronização na Nuvem Tradicional": [0.3, 0.4]
"Serviços Centralizados": [0.4, 0.3]
```
| Recurso | Noterich P2P | Sincronização na Nuvem |
|---------|--------------|---------------------------|
| **Armazenamento dos Dados** | Seus dispositivos apenas | Servidores de terceiros |
| **Nível de Privacidade** | Máximo | Depende do fornecedor |
| **Custo** | Gratuito | Geralmente com assinaturas |
| **Complexidade de Configuração** | Moderada | Simples |
| **Velocidade de Sincronização** | Muito rápida (direta) | Médio (via servidor) |
| **Acesso Offline** | Total | Limitado |
| **Fidelidade ao Fornecedor** | Nenhuma | Alta |
| **Portabilidade de Dados** | Total | Restrita |
## Casos de Uso Reais
### 📚 Base de Conhecimento Pessoal
Sincronize seu sistema de gestão de conhecimento pessoal (PKM) em:
- Desktop em casa para trabalhos profundos
- Laptop para sessões em cafés
- Tablet para leitura e anotações
- Celular para capturas rápidas
### 👥 Colaboração em Equipe
Compartilhe anotações de pesquisa de forma segura dentro da equipe:
- Não é necessário infraestrutura de TI
- Transferências criptografadas end-to-end
- Rastreabilidade por meio de logs de transferência
- Conforme regulamentos de privacidade
### 🎓 Pesquisa Acadêmica
Colabore em artigos e revisões de literatura:
- Compartilhe PDFs com anotações
- Mantenha histórico de versões localmente
- Trabalhe entre dispositivos universitários/pessoais
- Proteja pesquisas inéditas
### 🏢 Implementação Empresarial
Implante o Noterich em organizações que valorizam a privacidade:
- Nenhum dado sai da rede da empresa
- Funciona atrás de firewalls com configuração
- Integra-se com políticas de segurança existentes
- Reduz dependência de serviços da nuvem
## Detalhes Técnicos (Para Desenvolvedores)
### Visão Geral da Arquitetura
```mermaid
graph TB
subgraph Sender["Dispositivo Remetente"]
A1[Dados da Nota] --> A2[Serializar com MessagePack]
A2 --> A3{Encriptado?}
A3 -->|Sim| A4[Encriptar com AES-256-GCM]
A3 -->|Não| A5[Binário Bruto]
A4 --> A6[Fragmentar em 512KB]
A5 --> A6
A6 --> A7[Chamado de Dados WebRTC]
end
subgraph Receptor["Dispositivo Receptor"]
B1[Chamado de Dados WebRTC] --> B2[Reorganizar Fragmentos]
B2 --> B3{Encriptado?}
B3 -->|Sim| B4[Descriptografar com AES-256-GCM]
B3 -->|Não| B5[Binário Bruto]
B4 --> B6[Deserialize com MessagePack]
B5 --> B6
B6 --> B7[Armazenamento IndexedDB]
B7 --> B8[Reconstruir Índice de Busca]
end
A7 -.->|Conexão P2P| B1
style A4 fill:#FF5722,color:#fff
style B4 fill:#FF5722,color:#fff
style A7 fill:#4CAF50,color:#fff
style B1 fill:#4CAF50,color:#fff
```
Tutorial de Sincronização P2P do NoteRich: Entre Dispositivos Sem Nuvem
Tutorial do Noterich P2P Sync: Sincronização entre Dispositivos Sem Nuvem Sincronize suas notas entre dispositivos de fo...
Equipe NoteRich
Defensores do Produto e da Privacidade
Jun 03, 2026
44 min de leitura
Pronto para transformar seu fluxo de trabalho?
Seu Hub Privado de Anotações Impulsionado por IA
Aguarda Você
Junte-se a milhares de usuários que confiam no NoteRich para anotações privadas e poderosas. Experimente no seu navegador — sem instalação, sem cartão de crédito, suas notas nunca saem do seu dispositivo.
Sem cartão de crédito
Funciona no navegador
100% notas locais
Recursos e Guias
Explore nossos artigos aprofundados sobre anotações locais, arquitetura de privacidade e fluxos de trabalho avançados de produtividade.
- Tutorial de Espaços de Trabalho e Pesquisa Avançada do NoteRich
- Transforme suas notas em memória de IA dentro do NoteRich
- Transforme Texto em Infográficos Visuais com a IA do NoteRich
- Texto Rico vs Markdown no NoteRich: Como Alternar e Usar Ambos
- Tutorial de Sincronização P2P do NoteRich: Entre Dispositivos Sem Nuvem
- Tutorial de OCR do NoteRich: Digitalize Notas de Papel para Texto Digital
- Criptografia AES-GCM Local-First do NoteRich Explicada
- Tutorial de RAG de Base de Conhecimento Local do NoteRich
- Guia de Equações Matemáticas LaTeX do NoteRich: Como Escrever Fórmulas
- Atalhos de Teclado do NoteRich e Dicas de Produtividade
- Recursos e Benefícios do NoteRich para Anotações Online
- Como Usar a IA Privada do NoteRich para Resumir Documentos de Forma Privada
- Como Usar Mermaid.js para Fluxogramas no NoteRich – Tutorial Completo
- Como Inserir Vídeos e Anexos no NoteRich
- Como Exportar PDF e HTML Sem Marca d'Água no NoteRich
- Como Incorporar ECharts Interativos no NoteRich