Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
domestic-system — Usando @charmbracelet para criar um navegador Ethereum com estilo | Kitploit
Ferramentas/GitHubGitHub/cartosys/domestic-system
Ferramentas de Criptografia/DescriptografiaSegurança WebCriptografiaSegurança de HardwareGerenciamento de Identidade e Acesso (IAM)Autenticação
GitHubcartosys/domestic-system

domestic-system

Usando @charmbracelet para criar um navegador Ethereum com estilo

Ver Repositório
11há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

O Sistema Doméstico

Uma bela carteira Ethereum baseada em terminal e navegador de contratos inteligentes, construída para soberania, segurança e estilo.

root@kitploit:~
━━━━━━━━━━━━━━━━━━━━
 domestic system
━━━━━━━━━━━━━━━━━━━━

Demonstração do Sistema Doméstico

Visão Geral

O Sistema Doméstico é uma interface de usuário de terminal (TUI) projetada para navegar por contas Ethereum (EVM) e contratos inteligentes. Ele reúne três princípios fundamentais que tornam a interação com blockchain baseada em terminal não apenas prática, mas preferível.

Filosofia

🏛️ Soberano

Apenas no lado do cliente. Sem servidores centralizados. Só você e o blockchain.

O Sistema Doméstico conecta-se diretamente a endpoints RPC Ethereum de sua escolha. Sem intermediários. Sem análises. Sem rastreamento. Sua interação com o blockchain é direta e sem mediação. É assim que o Web3 deveria funcionar.

🔐 Seguro

Sem gerenciamento de chave privada. Pronto para carteira de hardware.

Suas chaves privadas nunca tocam este aplicativo. Todas as transações são geradas como QR codes seguindo EIP-4527, projetados especificamente para assinatura com dispositivos de carteira de hardware. Veja suas contas, prepare transações e assine-as com segurança em sua carteira de hardware.

✨ Estética Retro

Construído com Charm.sh. Interfaces de terminal, lindamente feitas.

Usando o lindo ecossistema Charm.land (Bubble Tea, Lip Gloss, Huh), o Sistema Doméstico prova que CLIs não precisam ser austeras. Cores ricas, interações suaves e design de IU cuidadoso trazem uma estética retro-futurista para a interação com blockchain.

Por que Terminal?

Esses três princípios—soberania, segurança e estética—convergem perfeitamente no terminal. Aplicações de terminal são:

  • Leves: Sem aplicativos Electron inchados ou extensões de navegador
  • Transparentes: Código aberto que você pode auditar
  • Portáteis: Funciona via SSH, em servidores, em sistemas mínimos
  • Focados: Sem distrações, apenas a informação que você precisa
  • Atemporais: UIs de terminal envelhecem graciosamente

O Sistema Doméstico ocupa uma interseção única de casos de uso de nicho, atendendo aqueles que valorizam controle, segurança e arte.

Recursos

  • 📊 Gerenciamento de múltiplas carteiras: Acompanhe vários endereços Ethereum simultaneamente
  • 💰 Visualização de saldo de tokens: Suporte nativo a ETH e tokens ERC-20 com listas de observação personalizáveis
  • 🌐 Configuração multi-RPC: Conecte-se a qualquer endpoint RPC Ethereum (Mainnet, L2s, testnets)
  • 🔄 Atualizações em tempo real: Atualizações ao vivo de saldo e status da rede
  • 🎨 TUI bonita: Elaborada com Bubble Tea e Lip Gloss para uma experiência de terminal excepcional
  • 🦄 Integração com Uniswap: Troque tokens diretamente do terminal
  • 📱 Navegador DApp: Navegue e interaja com aplicações descentralizadas
  • ⚡ Construção de transações: Gere QR codes de transação para assinatura em carteira de hardware (EIP-4527)
  • 📋 Integração com área de transferência: Cópia fácil de endereços e resolução ENS
  • ⚙️ Configuração persistente: Configurações e listas de carteiras salvas localmente
  • 🔑 Assinante de transações: Módulo de assinatura nativo em Go + CLI Python independente para fluxos de trabalho EIP-4527 com isolamento de rede

Instalação

Pré-requisitos

  • Go 1.21 ou superior
  • Um terminal com suporte a cores verdadeiras (a maioria dos terminais modernos)

Compilar a partir do código-fonte

root@kitploit:~
git clone https://github.com/yourusername/domestic-system.git
cd domestic-system
go build
go run .

Configuração

O Sistema Doméstico armazena sua configuração em ~/.charm-wallet-config.json.

Endpoints RPC

Adicione endpoints RPC Ethereum na página de configurações 's' ou definindo a variável de ambiente ETH_RPC_URL:

root@kitploit:~
export ETH_RPC_URL="https://eth.llamarpc.com"
go run .

Lista de observação de tokens

Personalize quais tokens ERC-20 exibir editando a lista de observação de tokens em main.go (configuração de IU em breve).

Uso

Navegação

  • Teclas de seta / hjkl: Navegue por menus e listas
  • Enter: Selecionar / Confirmar
  • Esc: Voltar / Cancelar
  • Tab: Alternar entre campos de entrada
  • Ctrl+C: Sair do aplicativo
  • Clique duplo: Clique duplo no endereço ativo no cabeçalho para abrir o pop-up da lista de contas e alternar rapidamente entre contas

Páginas

  • Contas: Gerencie sua lista de observação de endereços Ethereum
  • Detalhes: Veja saldos e posições de tokens para o endereço ativo
  • Configurações: Configure endpoints RPC e configurações do aplicativo
  • DApps: Navegue e interaja com aplicações descentralizadas
  • Uniswap: Interface de troca de tokens
  • Assinante (x a partir de Contas): Gerencie chaves de assinatura, escaneie QR codes EIP-4527 via webcam e assine transações

Adicionando contas

  1. Navegue até a página de Carteiras
  2. Pressione a para adicionar uma nova carteira
  3. Insira um endereço Ethereum ou nome ENS
  4. Opcionalmente, forneça um apelido
  5. Pressione Enter para salvar

Alternando contas

A conta ativa (marcada com ★) determina qual carteira é usada para transações. Para alternar contas:

  1. Clique duplo no endereço ativo mostrado no cabeçalho global (funciona de qualquer visualização)
  2. Use as teclas de seta (↑/↓) para selecionar uma conta diferente
  3. Pressione Enter para ativar a conta selecionada
  4. Pressione Esc para cancelar

Alternativamente, navegue até a página de Carteiras e pressione Enter em qualquer carteira para ver seus detalhes e ativá-la.

Enviando transações

  1. Selecione uma carteira com saldo de ETH
  2. Tab e clique no botão Enviar
  3. Preencha o endereço do destinatário e o valor
  4. Gere QR code para assinatura em carteira de hardware

Assinante de transações

O Sistema Doméstico inclui um fluxo de trabalho completo de assinatura de transações EIP-4527 utilizável tanto dentro da TUI quanto independentemente do terminal.

Como funciona

root@kitploit:~
TUI (any page)  →  packages unsigned tx  →  displays EIP-4527 QR code
                                                        ↓
                                          Signer page scans QR via webcam
                                                        ↓
                                          Decodes UR → signs with stored key
                                                        ↓
                                          Displays raw signed transaction hex

Armazenamento de chave privada

As chaves são armazenadas em ~/.charm-wallet-private-keys.json (modo 600, fora do repositório). Na primeira execução, uma chave de demonstração NotForProduction é inicializada automaticamente e seu endereço é registrado em ~/.charm-wallet-config.json.

root@kitploit:~
{
  "private_keys": [
    {
      "address": "0x29c73B201bEE86C4d1Fe4f598C4355Bb210251e3",
      "name": "NotForProduction",
      "private_key": "0xc0054..."
    }
  ]
}

Página do assinante na TUI

Pressione x na página de Contas para abrir o Assinante. A partir daí:

A transação assinada (hex bruto, hash da tx, r/s/v) é mostrada imediatamente após a leitura.

CLI Python independente (signer/eth_signer.py)

O assinante Python é executado independentemente sem a TUI. Instale as dependências uma vez:

root@kitploit:~
pip install -r requirements.txt

Toda a saída é JSON. O modo --scan abre uma janela OpenCV mostrando o feed da câmera ao vivo e emite transações assinadas para stdout conforme são detectadas.

CLI de teste de assinatura de tx ponta a ponta (cmd/txtest)

Exercita o ciclo completo de empacotar → decodificar → assinar usando os módulos Go diretamente:

root@kitploit:~
# Offline (hardcoded test params — no RPC needed)
go run ./cmd/txtest

# With live nonce/gasPrice/chainId from an RPC endpoint
go run ./cmd/txtest --rpc https://eth.llamarpc.com

# Custom recipient and amount
go run ./cmd/txtest --to 0xYourAddr --value 0.5 --chainid 11155111

A saída mostra ambas as etapas claramente:

root@kitploit:~
STEP 1 — Pack unsigned transaction (EIP-4527)
─────────────────────────────────────────────
Transaction fields: { "from": "0x29c7...", "to": "0xd8dA...", ... }
UR: ur:eth-sign-request/onadtpdagd...

STEP 2 — Decode + sign with stored key
───────────────────────────────────────
Decoded transaction: { "from": "0x29c7...", "value": "0.001000 ETH", ... }
Signed transaction:  { "txHash": "0x5989...", "raw_transaction": "0xf86b...", ... }

✓  Round-trip complete

Desenvolvimento

Acessando um nó remoto via SSH

  1. Certifique-se de que o nó está em execução. Por padrão, a porta RPC costuma ser 8545. Você pode verificar isso executando o seguinte na máquina do nó:
root@kitploit:~
    ss -ntlp | grep 8545 
  1. Na sua máquina de aplicação, crie um túnel SSH persistente para a máquina do nó:
root@kitploit:~
    ssh -N -L 8545:localhost:8545 user@node_machine_ip_address #for http
    ssh -N -L 8546:localhost:8546 user@node_machine_ip_address #for ws websocket 

Sua aplicação, executando na máquina de aplicação, agora pode acessar o RPC do nó Ethereum via http://localhost:8545

Listener Uniswap v4 como módulo auxiliar executável em uniswap_v4_listener.go. Agora você pode executá-lo do terminal com:

go run helpers/uniswap_v4_listener.go -ws -poolmanager

[-from ]

Ouvir apenas novos eventos

go run ./cmd/v4listener
-ws ws://localhost:8546
-poolmanager 0x000000000004444c5dc75cB358380D2e3dE08A90

Com preenchimento retroativo a partir de um bloco específico

go run ./cmd/v4listener
-ws ws://localhost:8546 \ #ou ws://mainnet.infura.io/ws/v3/YOUR_KEY
-poolmanager 0x000000000004444c5dc75cB358380D2e3dE08A90
-from 21688000

Estrutura do projeto

root@kitploit:~
domestic-system/
├── main.go              # Entry point — wires Bubble Tea program
├── model.go             # App state struct + Init()
├── update.go            # All Update() message handlers
├── view.go              # Top-level View() dispatch
├── cmd/
│   ├── txtest/          # End-to-end pack → sign test CLI
│   └── v4listener/      # Standalone Uniswap V4 event listener
├── config/              # JSON config load/save, type definitions
├── helpers/             # ENS resolution, address formatting, Uniswap V2/V4
├── rpc/                 # Ethereum RPC client, EIP-4527 transaction packaging
├── signer/
│   ├── signer.go        # Go package: key management, EIP-4527 decode, ECDSA sign
│   └── eth_signer.py    # Standalone Python CLI (same functionality)
├── styles/              # Lip Gloss colors and shared styles
├── views/               # Per-page renderers
│   ├── wallets/
│   ├── details/
│   ├── settings/
│   ├── dapps/
│   ├── uniswap/
│   ├── terra/
│   └── signer/          # Signer page renderer
└── webcam/              # Camera capture and half-block video rendering

Executando testes

root@kitploit:~
# Testes do pacote RPC (requer endpoint RPC)
ETH_RPC_URL="https://eth.llamarpc.com" go test ./rpc -v

# Todos os testes
go test ./... -v

Contribuindo

Contribuições são bem-vindas! Este projeto valoriza:

  • Minimalismo: Adicionar recursos que estejam alinhados com a filosofia central
  • Segurança: Sem atalhos com fundos ou dados do usuário
  • Polimento: UIs de terminal merecem atenção aos detalhes

Por favor, abra uma issue antes de iniciar um trabalho importante.

Roteiro

  • Painel inicial com visão geral do portfólio
  • Visualização do histórico de transações
  • Geração de QR code EIP-4527
  • Assinatura de QR code EIP-4527 (página do Assinante na TUI + CLI Python)
  • Suporte para visualização de NFTs
  • Mais integrações de DApps
  • Integração direta com Ledger/Trezor (opcional)
  • Suporte a mouse para clicar em endereços/botões

Licença

Licença MIT - Consulte o arquivo LICENSE para detalhes

Agradecimentos

Construído com:

  • Bubble Tea - Framework de IU de terminal
  • Lip Gloss - Definições de estilo para TUIs
  • Huh - Formulários de terminal
  • go-ethereum - Biblioteca cliente Ethereum

Inspirado pelo ethos da autossuficiência e pela estética da retrocomputação.


O Sistema Doméstico: Seu terminal, suas chaves, seu blockchain.

Baixar ferramenta
TeclaAção
↑/↓Selecionar chave de assinatura
sAbrir webcam — assina automaticamente o primeiro QR EIP-4527 detectado
aRecarregar chaves do disco
cLimpar resultado atual
EscVoltar para Contas
ComandoDescrição
python signer/eth_signer.py --generate-keysGerar um novo par de chaves ECDSA
python signer/eth_signer.py --derive-address 0x...Derivar endereço da chave privada
python signer/eth_signer.py --private-key 0x... --to 0x... --value 1000000000000000000Assinar uma transação
python signer/eth_signer.py --scanLeitura por webcam: detectar e assinar QR codes EIP-4527
python signer/eth_signer.py --add-key --private-key 0x... --name "Wallet"Adicionar uma chave ao armazenamento
python signer/eth_signer.py --list-keysListar endereços armazenados