Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
domestic-system — Usando @charmbracelet para crear un navegador de Ethereum con estilo | Kitploit
Herramientas/GitHubGitHub/cartosys/domestic-system
Herramientas de Cifrado/DescifradoSeguridad WebCriptografíaSeguridad de HardwareGestión de Identidad y Acceso (IAM)Autenticación
GitHubcartosys/domestic-system

domestic-system

Usando @charmbracelet para crear un navegador de Ethereum con estilo

Ver Repositorio
11hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

El Sistema Doméstico

Una hermosa billetera Ethereum y navegador de contratos inteligentes basado en terminal, construido para soberanía, seguridad y estilo.

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

Domestic System Demo

Descripción general

The Domestic System es una interfaz de usuario de terminal (TUI) diseñada para navegar cuentas y contratos inteligentes de Ethereum (EVM). Reúne tres principios fundamentales que hacen que la interacción con la cadena de bloques desde la terminal no solo sea práctica, sino preferible.

Filosofía

🏛️ Soberano

Solo del lado del cliente. Sin servidores centralizados. Solo tú y la cadena de bloques.

The Domestic System se conecta directamente a los endpoints RPC de Ethereum que elijas. Sin intermediarios. Sin analíticas. Sin seguimiento. Tu interacción con la cadena de bloques es directa y sin mediación. Así es como se suponía que funcionara Web3.

🔐 Seguro

Sin administración de claves privadas. Listo para billetera hardware.

Tus claves privadas nunca tocan esta aplicación. Todas las transacciones se generan como códigos QR según EIP-4527, diseñados específicamente para firmar con dispositivos de billetera hardware. Visualiza tus cuentas, prepara transacciones y fírmalas de forma segura en tu billetera hardware.

✨ Estética Retro

Construido con Charm.sh. Interfaces de terminal, bellamente realizadas.

Usando el magnífico ecosistema Charm.land (Bubble Tea, Lip Gloss, Huh), The Domestic System demuestra que las CLIs no tienen por qué ser austeras. Colores vibrantes, interacciones suaves y un diseño de interfaz reflexivo aportan una estética retrofuturista a la interacción con la cadena de bloques.

¿Por qué una Terminal?

Estos tres principios—soberanía, seguridad y estética—convergen perfectamente en la terminal. Las aplicaciones de terminal son:

  • Ligeras: Sin aplicaciones Electron infladas ni extensiones de navegador
  • Transparentes: Código abierto que puedes auditar
  • Portátiles: Funcionan a través de SSH, en servidores, en sistemas mínimos
  • Enfocadas: Sin distracciones, solo la información que necesitas
  • Atemporales: Las interfaces de terminal envejecen con elegancia

The Domestic System ocupa una intersección única de casos de uso nicho, sirviendo a aquellos que valoran el control, la seguridad y la artesanía.

Características

  • 📊 Gestión Multi-billetera: Rastrea múltiples direcciones Ethereum simultáneamente
  • 💰 Visualización de Saldos de Tokens: Soporte nativo para ETH y tokens ERC-20 con listas de seguimiento personalizables
  • 🌐 Configuración Multi-RPC: Conéctate a cualquier endpoint RPC de Ethereum (Mainnet, L2s, testnets)
  • 🔄 Actualizaciones en Tiempo Real: Actualizaciones de saldos y estado de la red en vivo
  • 🎨 TUI Hermosa: Elaborada con Bubble Tea y Lip Gloss para una experiencia de terminal excepcional
  • 🦄 Integración con Uniswap: Intercambia tokens directamente desde la terminal
  • 📱 Navegador DApp: Navega e interactúa con aplicaciones descentralizadas
  • ⚡ Construcción de Transacciones: Genera códigos QR de transacciones para firmar con billetera hardware (EIP-4527)
  • 📋 Integración de Portapapeles: Copia fácil de direcciones y resolución ENS
  • ⚙️ Configuración Persistente: La configuración y las listas de billeteras se guardan localmente
  • 🔑 Firmante de Transacciones: Módulo de firma nativo en Go + CLI Python independiente para flujos de trabajo EIP-4527 aislados

Instalación

Requisitos Previos

  • Go 1.21 o superior
  • Una terminal con soporte de color verdadero (la mayoría de las terminales modernas)

Compilar desde el Código Fuente

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

Configuración

The Domestic System almacena su configuración en ~/.charm-wallet-config.json.

Endpoints RPC

Añade endpoints RPC de Ethereum en la página de configuración "s" o configurando la variable de entorno ETH_RPC_URL:

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

Lista de Seguimiento de Tokens

Personaliza qué tokens ERC-20 mostrar editando la lista de seguimiento de tokens en main.go (próximamente configuración desde la interfaz de usuario).

Uso

Navegación

  • Teclas de Flecha / hjkl: Navega por menús y listas
  • Enter: Seleccionar / Confirmar
  • Esc: Retroceder / Cancelar
  • Tab: Cambiar entre campos de entrada
  • Ctrl+C: Salir de la aplicación
  • Doble clic: Haz doble clic en la dirección activa en el encabezado para abrir la ventana emergente de la lista de cuentas y cambiar rápidamente entre cuentas

Páginas

  • Cuentas: Gestiona tu lista de seguimiento de direcciones Ethereum
  • Detalles: Visualiza saldos y tenencias de tokens para la dirección activa
  • Configuración: Configura endpoints RPC y ajustes de la aplicación
  • DApps: Navega e interactúa con aplicaciones descentralizadas
  • Uniswap: Interfaz de intercambio de tokens
  • Firmante (x desde Cuentas): Gestiona claves de firma, escanea códigos QR EIP-4527 a través de la cámara web y firma transacciones

Añadir Cuentas

  1. Navega a la página de Billeteras
  2. Presiona a para añadir una nueva billetera
  3. Ingresa una dirección Ethereum o nombre ENS
  4. Opcionalmente proporciona un apodo
  5. Presiona Enter para guardar

Cambiar de Cuenta

La cuenta activa (marcada con ★) determina qué billetera se usa para las transacciones. Para cambiar de cuenta:

  1. Haz doble clic en la dirección activa que se muestra en el encabezado global (funciona desde cualquier vista)
  2. Usa las teclas de flecha (↑/↓) para seleccionar una cuenta diferente
  3. Presiona Enter para activar la cuenta seleccionada
  4. Presiona Esc para cancelar

Alternativamente, navega a la página de Billeteras y presiona Enter en cualquier billetera para ver sus detalles y activarla.

Enviar Transacciones

  1. Selecciona una billetera con saldo de ETH
  2. Tabulador & Haz clic en el botón Enviar
  3. Completa la dirección del destinatario y la cantidad
  4. Genera un código QR para firmar con la billetera hardware

Firmante de Transacciones

The Domestic System incluye un flujo de trabajo completo de firma de transacciones EIP-4527 utilizable tanto dentro de la TUI como de forma independiente desde la terminal.

Cómo funciona

root@kitploit:~
TUI (cualquier página)  →  empaqueta tx sin firmar  →  muestra código QR EIP-4527
                                                        ↓
                                          La página Firmante escanea el QR con la cámara web
                                                        ↓
                                          Decodifica UR → firma con la clave almacenada
                                                        ↓
                                          Muestra el hex de la transacción firmada en bruto

Almacenamiento de claves privadas

Las claves se almacenan en ~/.charm-wallet-private-keys.json (modo 600, fuera del repositorio). En la primera ejecución, una clave de demostración NotForProduction se inicializa automáticamente y su dirección se registra en ~/.charm-wallet-config.json.

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

Página Firmante en la TUI

Presiona x desde la página de Cuentas para abrir el Firmante. Desde allí:

La transacción firmada (hex en bruto, hash de la tx, r/s/v) se muestra inmediatamente después del escaneo.

CLI Python Independiente (signer/eth_signer.py)

El firmante Python se ejecuta de forma independiente sin la TUI. Instala las dependencias una vez:

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

Toda la salida es JSON. El modo --scan abre una ventana OpenCV que muestra la transmisión en vivo de la cámara y emite las transacciones firmadas a stdout a medida que se detectan.

CLI de prueba de firma de extremo a extremo (cmd/txtest)

Ejercita el ciclo completo empaquetar → decodificar → firmar usando los módulos Go directamente:

root@kitploit:~
# Fuera de línea (parámetros de prueba codificados — no se necesita RPC)
go run ./cmd/txtest

# Con nonce/gasPrice/chainId en vivo desde un endpoint RPC
go run ./cmd/txtest --rpc https://eth.llamarpc.com

# Destinatario y cantidad personalizados
go run ./cmd/txtest --to 0xYourAddr --value 0.5 --chainid 11155111

La salida muestra ambos pasos 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

Desarrollo

Acceder a un nodo remoto mediante SSH

  1. Asegúrate de que el nodo esté en ejecución. Por defecto, el puerto RPC suele ser 8545. Puedes verificarlo ejecutando esto en la máquina del nodo
root@kitploit:~
    ss -ntlp | grep 8545 
  1. En tu máquina de aplicación, crea un túnel SSH persistente hacia la máquina del nodo.
root@kitploit:~
    ssh -N -L 8545:localhost:8545 user@node_machine_ip_address #para http
    ssh -N -L 8546:localhost:8546 user@node_machine_ip_address #para ws websocket 

Tu aplicación, ejecutándose en la máquina de la aplicación, ahora puede acceder al RPC del nodo Ethereum a través de http://localhost:8545

Oyente de Uniswap v4 como módulo auxiliar ejecutable en uniswap_v4_listener.go. Ahora puedes ejecutarlo desde la terminal con:

go run helpers/uniswap_v4_listener.go -ws -poolmanager

[-from ]

Escuchar solo eventos nuevos

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

Con relleno desde un bloque específico

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

Estructura del Proyecto

root@kitploit:~
domestic-system/
├── main.go              # Punto de entrada — conecta el programa Bubble Tea
├── model.go             # Estructura del estado de la aplicación + Init()
├── update.go            # Todos los manejadores de mensajes Update()
├── view.go              # Despacho View() de nivel superior
├── cmd/
│   ├── txtest/          # CLI de prueba de empaquetado → firma de extremo a extremo
│   └── v4listener/      # Oyente de eventos Uniswap V4 independiente
├── config/              # Carga/guardado de configuración JSON, definiciones de tipos
├── helpers/             # Resolución ENS, formateo de direcciones, Uniswap V2/V4
├── rpc/                 # Cliente RPC de Ethereum, empaquetado de transacciones EIP-4527
├── signer/
│   ├── signer.go        # Paquete Go: gestión de claves, decodificación EIP-4527, firma ECDSA
│   └── eth_signer.py    # CLI Python independiente (misma funcionalidad)
├── styles/              # Colores Lip Gloss y estilos compartidos
├── views/               # Renderizadores por página
│   ├── wallets/
│   ├── details/
│   ├── settings/
│   ├── dapps/
│   ├── uniswap/
│   ├── terra/
│   └── signer/          # Renderizador de la página Firmante
└── webcam/              # Captura de cámara y renderizado de video de medio bloque

Ejecutar Pruebas

root@kitploit:~
# Pruebas del paquete RPC (requiere endpoint RPC)
ETH_RPC_URL="https://eth.llamarpc.com" go test ./rpc -v

# Todas las pruebas
go test ./... -v

Contribuciones

¡Las contribuciones son bienvenidas! Este proyecto valora:

  • Minimalismo: Añade funciones que se alineen con la filosofía principal
  • Seguridad: Sin atajos con los fondos o datos del usuario
  • Pulido: Las interfaces de terminal merecen atención al detalle

Por favor, abre un issue antes de comenzar un trabajo importante.

Hoja de Ruta

  • Panel de control principal con resumen de cartera
  • Visualización del historial de transacciones
  • Generación de códigos QR EIP-4527
  • Firma de códigos QR EIP-4527 (página Firmante en TUI + CLI Python)
  • Soporte para visualización de NFTs
  • Más integraciones de DApps
  • Integración directa con Ledger/Trezor (opcional)
  • Soporte de ratón para hacer clic en direcciones/botones

Licencia

Licencia MIT - Consulta el archivo LICENSE para más detalles

Agradecimientos

Construido con:

  • Bubble Tea - Framework de interfaz de terminal
  • Lip Gloss - Definiciones de estilo para TUI
  • Huh - Formularios de terminal
  • go-ethereum - Biblioteca cliente de Ethereum

Inspirado en el ethos de la autosoberanía y la estética de la retroinformática.


The Domestic System: Tu terminal, tus claves, tu cadena de bloques.

Descargar herramienta
TeclaAcción
↑/↓Seleccionar clave de firma
sAbrir cámara web — firma automáticamente el primer código QR EIP-4527 detectado
aRecargar claves desde el disco
cLimpiar el resultado actual
EscVolver a Cuentas
ComandoDescripción
python signer/eth_signer.py --generate-keysGenerar un nuevo par de claves ECDSA
python signer/eth_signer.py --derive-address 0x...Derivar dirección a partir de la clave privada
python signer/eth_signer.py --private-key 0x... --to 0x... --value 1000000000000000000Firmar una transacción
python signer/eth_signer.py --scanEscaneo con cámara web: detectar y firmar códigos QR EIP-4527
python signer/eth_signer.py --add-key --private-key 0x... --name "Wallet"Añadir una clave al almacén
python signer/eth_signer.py --list-keysListar direcciones almacenadas