Voltar às atualizações
New releaseAug 12, 2026

bitchat-android v2.0.1

Aplicativo de mensagens descentralizado, criptografado e ponto a ponto sobre redes mesh Bluetooth. Sem necessidade de internet, servidores ou números de telefone. Possui criptografia X25519 + AES-256-GCM, comandos no estilo IRC e compatibilidade multiplataforma com iOS.

Compartilhar

Logo do Bitchat para Android

[!WARNING] Este software não recebeu revisão de segurança externa e pode conter vulnerabilidades, podendo não cumprir os objetivos de segurança declarados. Não o utilize para casos de uso sensíveis e não confie na sua segurança até que tenha sido revisado. Trabalho em andamento.

bitchat para Android

Um aplicativo de mensagens seguro, descentralizado e peer-to-peer que funciona em redes mesh Bluetooth. Sem necessidade de internet para conversas mesh, sem servidores, sem números de telefone – apenas comunicação criptografada pura. O Bitchat também suporta canais geohash, que utilizam uma conexão com a internet para conectar você a outras pessoas na sua área geográfica.

Esta é a portabilidade para Android do aplicativo bitchat iOS original, mantendo 100% de compatibilidade de protocolo para comunicação entre plataformas.

Instalar o bitchat

Você pode baixar a versão mais recente do bitchat para Android na página de Releases do GitHub.

Ou você pode:

Disponível no Google Play

Instruções:

  1. Baixar o APK: No seu dispositivo Android, acesse o link acima e baixe o arquivo .apk mais recente. Abra-o.
  2. Permitir fontes desconhecidas: Em alguns dispositivos, antes de instalar o APK, pode ser necessário ativar "Instalar de fontes desconhecidas" nas configurações do dispositivo. Geralmente, isso é encontrado em Configurações > Segurança ou Configurações > Apps e notificações > Acesso especial a apps.
  3. Instalar: Abra o arquivo .apk baixado para iniciar a instalação.

Licença

Este projeto é disponibilizado em domínio público. Consulte o arquivo LICENSE para detalhes.

Funcionalidades

  • ✅ Compatível entre Plataformas: Compatibilidade total de protocolo com o bitchat iOS
  • ✅ Rede Mesh Descentralizada: Descoberta automática de pares e retransmissão de mensagens em múltiplos saltos via Bluetooth LE
  • ✅ Criptografia de Ponta a Ponta: Troca de chaves X25519 + AES-256-GCM para mensagens privadas
  • ✅ Conversas baseadas em Canais: Mensagens em grupo baseadas em tópicos com proteção opcional por senha
  • ✅ Armazenar e Encaminhar: Mensagens armazenadas em cache para pares offline e entregues quando eles reconectam
  • ✅ Privacidade em Primeiro Lugar: Sem contas, sem números de telefone, sem identificadores persistentes
  • ✅ Comandos ao estilo IRC: Interface familiar com comandos /join, /msg, /who
  • ✅ Retenção de Mensagens: Salvamento opcional de mensagens em todo o canal, controlado pelos proprietários do canal
  • ✅ Limpeza de Emergência: Toque triplo no logotipo para limpar instantaneamente todos os dados
  • ✅ Interface Android Moderna: Jetpack Compose com Material Design 3
  • ✅ Temas Claro/Escuro: Estética inspirada em terminais que combina com a versão iOS
  • ✅ Otimização de Bateria: Varredura adaptativa e gerenciamento de energia

Configuração no Android

Pré-requisitos

  • Android Studio: Arctic Fox (2020.3.1) ou mais recente
  • Android SDK: API level 26 (Android 8.0) ou superior
  • Kotlin: 1.8.0 ou mais recente
  • Gradle: 7.0 ou mais recente

Instruções de Compilação

  1. Clone o repositório:

    git clone https://github.com/permissionlesstech/bitchat-android.git
    cd bitchat-android
    
  2. Abra no Android Studio:

    # Abra o Android Studio e selecione "Open an Existing Project"
    # Navegue até o diretório bitchat-android
    
  3. Compile o projeto:

    ./gradlew build
    
  4. Instale no dispositivo:

    ./gradlew installDebug
    

Compilação de Desenvolvimento

Para compilações de desenvolvimento com depuração ativada:

./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk

Compilação de Lançamento

Para lançamentos de produção:

./gradlew assembleRelease

Requisitos Específicos do Android

Permissões

O aplicativo requer as seguintes permissões (solicitadas automaticamente):

  • Bluetooth: Funcionalidade central BLE
  • Localização: Necessária para varredura BLE no Android
  • Rede: Expanda sua mesh através de relays públicos na internet
  • Notificações: Alertas de mensagens e atualizações em segundo plano

Requisitos de Hardware

  • Bluetooth LE (BLE): Necessário para rede mesh
  • Android 8.0+: API level 26 mínimo
  • RAM: 2GB recomendado para desempenho ideal

Uso

Comandos Básicos

  • /j #canal - Entrar ou criar um canal
  • /m @nome mensagem - Enviar uma mensagem privada
  • /w - Listar usuários online
  • /channels - Mostrar todos os canais descobertos
  • /block @nome - Bloquear um par de enviar mensagens
  • /block - Listar todos os pares bloqueados
  • /unblock @nome - Desbloquear um par
  • /clear - Limpar mensagens do chat
  • /pass [senha] - Definir/alterar senha do canal (apenas proprietário)
  • /transfer @nome - Transferir propriedade do canal
  • /save - Alternar retenção de mensagens para o canal (apenas proprietário)

Primeiros Passos

  1. Instale o aplicativo no seu dispositivo Android (requer Android 8.0+)
  2. Conceda permissões de Bluetooth e localização quando solicitado
  3. Inicie o bitchat - ele iniciará automaticamente a rede mesh
  4. Defina seu apelido ou use o gerado automaticamente
  5. Conecte-se automaticamente a usuários próximos do bitchat iOS e Android
  6. Entre em um canal com /j #geral ou comece a conversar no público
  7. As mensagens são retransmitidas através da rede mesh para alcançar pares distantes

Funcionalidades da Interface Android

  • Interface Jetpack Compose: Interface moderna Material Design 3
  • Temas Claro/Escuro: Estética inspirada em terminais que combina com iOS
  • Feedback Tátil: Vibrações para interações e notificações
  • Layout Adaptável: Otimizado para vários tamanhos de tela Android
  • Status da Mensagem: Confirmações de entrega e leitura em tempo real
  • Indicadores RSSI: Cores de intensidade de sinal para cada par

Funcionalidades de Canais

  • Proteção por Senha: Proprietários de canais podem definir senhas com /pass
  • Retenção de Mensagens: Proprietários podem ativar o salvamento obrigatório de mensagens com /save
  • Menções @: Use @apelido para mencionar usuários (com autocompletar)
  • Transferência de Propriedade: Passe o controle para usuários de confiança com /transfer

Segurança e Privacidade

Criptografia

  • Mensagens Privadas: Troca de chaves X25519 + criptografia AES-256-GCM
  • Mensagens de Canal: Derivação de senha Argon2id + AES-256-GCM
  • Assinaturas Digitais: Ed25519 para autenticidade das mensagens
  • Sigilo Perfeito: Novos pares de chaves gerados a cada sessão

Funcionalidades de Privacidade

  • Sem Registro: Sem contas, e-mails ou números de telefone necessários
  • ** Efêmero por Padrão**: Mensagens existem apenas na memória do dispositivo
  • Tráfego de Cobertura: Atrasos aleatórios e mensagens fictícias impedem análise de tráfego
  • Limpeza de Emergência: Toque triplo no logotipo para limpar instantaneamente todos os dados
  • Suporte Tor Integrado: Integração de rede Tor integrada para maior privacidade quando a conectividade com a internet estiver disponível

Desempenho e Eficiência

Compressão de Mensagens

  • Compressão LZ4: Compressão automática para mensagens >100 bytes
  • Economia de 30-70% de largura de banda em mensagens de texto típicas
  • Compressão inteligente: Ignora dados já comprimidos

Otimização de Bateria

  • Modos de Energia Adaptativos: Ajusta automaticamente com base no nível da bateria
    • Modo desempenho: Funcionalidades completas ao carregar ou bateria >60%
    • Modo equilibrado: Operação padrão (30-60% de bateria)
    • Economia de energia: Varredura reduzida com bateria <30%
    • Potência ultrabaixa: Modo de emergência com bateria <10%
  • Eficiência em segundo plano: Economia automática de energia quando o aplicativo está em segundo plano
  • Varredura configurável: Ciclo de trabalho se adapta ao estado da bateria

Eficiência de Rede

  • Filtros Bloom Otimizados: Detecção de duplicatas mais rápida com menos memória
  • Agregação de Mensagens: Agrupa mensagens pequenas para reduzir transmissões
  • Limites de Conexão Adaptativos: Ajusta conexões de pares com base no modo de energia

Arquitetura Técnica

Protocolo Binário

O bitchat usa um protocolo binário eficiente otimizado para Bluetooth LE:

  • Formato compacto de pacote com campo de tipo de 1 byte
  • Roteamento de mensagens baseado em TTL (máx. 7 saltos)
  • Fragmentação automática para mensagens grandes
  • Deduplicação de mensagens via IDs únicos

Rede Mesh

  • Cada dispositivo atua como cliente e periférico
  • Descoberta automática de pares e gerenciamento de conexão
  • Armazenar e encaminhar para entrega de mensagens offline
  • Ciclo de trabalho adaptativo para otimização da bateria

Otimizações Específicas do Android

  • Arquitetura de Corrotinas: Operações assíncronas para rede mesh
  • Kotlin Coroutines: Operações mesh simultâneas seguras para threads
  • EncryptedSharedPreferences: Armazenamento seguro para configurações do usuário
  • Consciente do Ciclo de Vida: Manipulação adequada do ciclo de vida do aplicativo Android
  • Otimização de Bateria: Serviço em primeiro plano e varredura adaptativa

Arquitetura Técnica do Android

Componentes Principais

  1. BitchatApplication.kt: Inicialização no nível do aplicativo e injeção de dependência
  2. MainActivity.kt: Atividade principal que gerencia permissões e hospedagem da interface
  3. ChatViewModel.kt: Padrão MVVM gerenciando estado do aplicativo e lógica de negócios
  4. BluetoothMeshService.kt: Rede mesh BLE principal (função central + periférica)
  5. EncryptionService.kt: Operações criptográficas usando BouncyCastle
  6. BinaryProtocol.kt: Codificação/decodificação de pacotes binários compatível com o formato iOS
  7. ChatScreen.kt: Interface Jetpack Compose com Material Design 3

Dependências

  • Jetpack Compose: Interface declarativa moderna
  • BouncyCastle: Operações criptográficas (X25519, Ed25519, AES-GCM)
  • Biblioteca BLE Nordic: Operações Bluetooth LE confiáveis
  • Kotlin Coroutines: Programação assíncrona
  • LZ4: Compressão de mensagens (quando ativada)
  • EncryptedSharedPreferences: Armazenamento local seguro

Compatibilidade do Protocolo Binário

A implementação Android mantém 100% de compatibilidade de protocolo binário com iOS:

  • Formato de Cabeçalho: Estrutura de cabeçalho idêntica de 13 bytes
  • Tipos de Pacote: Mesmos tipos de mensagem e lógica de roteamento
  • Criptografia: Algoritmos criptográficos idênticos e troca de chaves
  • UUIDs: Mesmos identificadores de serviço e característica Bluetooth
  • Fragmentação: Fragmentação de mensagens compatível para conteúdo grande

Publicação no Google Play

Preparação

  1. Atualize as informações da versão:

    // In app/build.gradle.kts
    defaultConfig {
        versionCode = 2  // Incrementar para cada lançamento
        versionName = "1.1.0"  // Versão visível ao usuário
    }
    
  2. Crie uma compilação de lançamento assinada:

    ./gradlew assembleRelease
    
  3. Gere o pacote do aplicativo (recomendado para Play Store):

    ./gradlew bundleRelease
    

Requisitos da Play Store

  • API Alvo: API Android mais recente (atualmente 34)
  • Política de Privacidade: Necessária para aplicativos que solicitam permissões sensíveis
  • Permissões do Aplicativo: Justifique o uso de Bluetooth e localização
  • Classificação de Conteúdo: Preencha questionário para conteúdo adequado à idade

Distribuição

  • Google Play Store: Canal principal de distribuição
  • F-Droid: Para distribuição de código aberto
  • APK Direto: Para testes e desenvolvimento

Comunicação entre Plataformas

Esta portabilidade Android permite comunicação perfeita com o aplicativo bitchat iOS original:

  • iPhone ↔ Android: Mensagens bidirecionais completas
  • Grupos Mistos: Usuários iOS e Android nos mesmos canais
  • Paridade de Funcionalidades: Todos os comandos e criptografia funcionam entre plataformas
  • Sincronização de Protocolo: Formato de mensagem e comportamento de roteamento idênticos

Versão iOS: Para usuários de iPhone/iPad, obtenha o bitchat original em github.com/jackjackbits/bitchat

Contribuindo

Contribuições são bem-vindas! Áreas-chave para melhoria:

  1. Desempenho: Otimização da bateria e confiabilidade da conexão
  2. UI/UX: Funcionalidades adicionais do Material Design 3
  3. Segurança: Funcionalidades criptográficas aprimoradas
  4. Testes: Cobertura de testes unitários e de integração
  5. Documentação: Documentação da API e guias de desenvolvimento

Suporte e Problemas

Para problemas específicos do iOS, consulte o repositório original do bitchat iOS.

Categorias