Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
domestic-system — Utilisation de @charmbracelet pour créer un navigateur Ethereum avec style | Kitploit
Outils/GitHubGitHub/cartosys/domestic-system
Outils de Chiffrement/DéchiffrementSécurité WebCryptographieSécurité MatérielleGestion des Identités et des Accès (IAM)Authentification
GitHubcartosys/domestic-system

domestic-system

Utilisation de @charmbracelet pour créer un navigateur Ethereum avec style

Voir le dépôt
11il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Le Système Domestique

Un portefeuille Ethereum en terminal magnifique et un navigateur de contrats intelligents conçu pour la souveraineté, la sécurité et le style.

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

Démo du Système Domestique

Aperçu

Le Système Domestique est une interface utilisateur en terminal (TUI) conçue pour naviguer dans les comptes Ethereum (EVM) et les contrats intelligents. Il rassemble trois principes fondamentaux qui rendent l’interaction avec la blockchain en terminal non seulement pratique, mais préférable.

Philosophie

🏛️ Souverain

Côté client uniquement. Pas de serveurs centralisés. Juste vous et la blockchain.

Le Système Domestique se connecte directement aux points de terminaison RPC Ethereum de votre choix. Pas d’intermédiaires. Pas d’analytique. Pas de suivi. Votre interaction avec la blockchain est directe et sans intermédiaire. C’est ainsi que la Web3 était censée fonctionner.

🔐 Sécurisé

Aucune gestion de clé privée. Prêt pour portefeuille matériel.

Vos clés privées ne touchent jamais cette application. Toutes les transactions sont générées sous forme de codes QR suivant l’EIP-4527, conçu spécifiquement pour la signature avec des dispositifs de portefeuille matériel. Consultez vos comptes, préparez des transactions et signez-les en toute sécurité sur votre portefeuille matériel.

✨ Esthétique Rétro

Construit avec Charm.sh. Interfaces terminal magnifiquement réalisées.

En utilisant le superbe écosystème Charm.land (Bubble Tea, Lip Gloss, Huh), Le Système Domestique prouve que les CLI n’ont pas à être austères. Des couleurs riches, des interactions fluides et une conception d’interface réfléchie apportent une esthétique rétro-future à l’interaction avec la blockchain.

Pourquoi le Terminal ?

Ces trois principes – souveraineté, sécurité et esthétique – convergent parfaitement dans le terminal. Les applications en terminal sont :

  • Légères : Pas d’applications Electron gonflées ou d’extensions de navigateur
  • Transparentes : Code source ouvert que vous pouvez auditer
  • Portables : Fonctionne via SSH, sur des serveurs, sur des systèmes minimaux
  • Concentrées : Pas de distractions, juste les informations dont vous avez besoin
  • Intemporelles : Les interfaces terminal vieillissent avec élégance

Le Système Domestique occupe une intersection unique de cas d’utilisation de niche, servant ceux qui valorisent le contrôle, la sécurité et le savoir-faire.

Fonctionnalités

  • 📊 Gestion multi-portefeuille : Suivez plusieurs adresses Ethereum simultanément
  • 💰 Affichage des soldes de jetons : Prise en charge native de l’ETH et des jetons ERC-20 avec listes de surveillance personnalisables
  • 🌐 Configuration multi-RPC : Connectez-vous à n’importe quel point de terminaison RPC Ethereum (Mainnet, L2, testnets)
  • 🔄 Mises à jour en temps réel : Mises à jour en direct des soldes et de l’état du réseau
  • 🎨 Belle TUI : Conçue avec Bubble Tea et Lip Gloss pour une expérience terminal exceptionnelle
  • 🦄 Intégration Uniswap : Échangez des jetons directement depuis le terminal
  • 📱 Navigateur DApp : Naviguez et interagissez avec des applications décentralisées
  • ⚡ Construction de transactions : Génération de codes QR de transaction pour la signature par portefeuille matériel (EIP-4527)
  • 📋 Intégration du presse-papiers : Copie facile d’adresses et résolution ENS
  • ⚙️ Configuration persistante : Paramètres et listes de portefeuilles sauvegardés localement
  • 🔑 Signataire de transactions : Module de signature Go natif + CLI Python autonome pour les workflows EIP-4527 hors ligne

Installation

Prérequis

  • Go 1.21 ou supérieur
  • Un terminal avec prise en charge des vraies couleurs (la plupart des terminaux modernes)

Compiler à partir des sources

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

Configuration

Le Système Domestique stocke sa configuration dans ~/.charm-wallet-config.json.

Points de terminaison RPC

Ajoutez des points de terminaison RPC Ethereum dans la page de paramètres s ou en définissant la variable d’environnement ETH_RPC_URL :

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

Liste de surveillance des jetons

Personnalisez les jetons ERC-20 à afficher en éditant la liste de surveillance dans main.go (configuration de l’interface utilisateur à venir).

Utilisation

Navigation

  • Touches fléchées / hjkl : Naviguer dans les menus et listes
  • Entrée : Sélectionner / Confirmer
  • Échap : Revenir en arrière / Annuler
  • Tab : Basculer entre les champs de saisie
  • Ctrl+C : Quitter l’application
  • Double-clic : Double-cliquez sur l’adresse active dans l’en-tête pour ouvrir la fenêtre contextuelle de la liste des comptes et basculer rapidement entre les comptes

Pages

  • Comptes : Gérez votre liste de surveillance des adresses Ethereum
  • Détails : Consultez les soldes et les avoirs en jetons pour l’adresse active
  • Paramètres : Configurez les points de terminaison RPC et les paramètres de l’application
  • DApps : Parcourez et interagissez avec les applications décentralisées
  • Uniswap : Interface d’échange de jetons
  • Signataire (x depuis Comptes) : Gérez les clés de signature, scannez les codes QR EIP-4527 via la webcam et signez les transactions

Ajouter des comptes

  1. Accédez à la page Portefeuilles
  2. Appuyez sur a pour ajouter un nouveau portefeuille
  3. Saisissez une adresse Ethereum ou un nom ENS
  4. Fournissez éventuellement un surnom
  5. Appuyez sur Entrée pour sauvegarder

Basculer entre les comptes

Le compte actif (marqué ★) détermine le portefeuille utilisé pour les transactions. Pour basculer de compte :

  1. Double-cliquez sur l’adresse active affichée dans l’en-tête global (fonctionne depuis n’importe quelle vue)
  2. Utilisez les touches fléchées (↑/↓) pour sélectionner un autre compte
  3. Appuyez sur Entrée pour activer le compte sélectionné
  4. Appuyez sur Échap pour annuler

Vous pouvez également naviguer vers la page Portefeuilles et appuyer sur Entrée sur n’importe quel portefeuille pour voir ses détails et l’activer.

Envoyer des transactions

  1. Sélectionnez un portefeuille avec un solde ETH
  2. Appuyez sur Tab et cliquez sur le bouton Envoyer
  3. Remplissez l’adresse du destinataire et le montant
  4. Générez un code QR pour la signature par portefeuille matériel

Signataire de transactions

Le Système Domestique inclut un workflow complet de signature de transactions EIP-4527 utilisable à la fois dans la TUI et indépendamment depuis le terminal.

Comment ça fonctionne

root@kitploit:~
TUI (n’importe quelle page)  →  empaquette la tx non signée  →  affiche le code QR EIP-4527
                                                                      ↓
                                          La page Signataire scanne le QR via la webcam
                                                                      ↓
                                          Décode l’UR → signe avec la clé stockée
                                                                      ↓
                                          Affiche la transaction signée brute en hexadécimal

Stockage des clés privées

Les clés sont stockées dans ~/.charm-wallet-private-keys.json (mode 600, en dehors du dépôt). Lors du premier lancement, une clé de démonstration NotForProduction est amorcée automatiquement et son adresse est enregistrée dans ~/.charm-wallet-config.json.

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

Page Signataire de la TUI

Appuyez sur x depuis la page Comptes pour ouvrir le Signataire. Depuis là :

La transaction signée (hex brut, hash de tx, r/s/v) est affichée immédiatement après le scan.

CLI Python autonome (signer/eth_signer.py)

Le signataire Python s’exécute indépendamment de la TUI. Installez les dépendances une fois :

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

Toute la sortie est en JSON. Le mode --scan ouvre une fenêtre OpenCV montrant le flux vidéo en direct et émet les transactions signées sur stdout au fur et à mesure de leur détection.

CLI de test de signature de transaction de bout en bout (cmd/txtest)

Exécute le cycle complet d’empaquetage → décodage → signature en utilisant directement les modules Go :

root@kitploit:~
# Hors ligne (paramètres de test codés en dur – pas besoin de RPC)
go run ./cmd/txtest

# Avec nonce/gasPrice/chainId en direct depuis un point de terminaison RPC
go run ./cmd/txtest --rpc https://eth.llamarpc.com

# Destinataire et montant personnalisés
go run ./cmd/txtest --to 0xVotreAdresse --value 0.5 --chainid 11155111

La sortie montre clairement les deux étapes :

root@kitploit:~
ÉTAPE 1 — Empaqueter la transaction non signée (EIP-4527)
─────────────────────────────────────────────────────────────
Champs de la transaction : { "from": "0x29c7...", "to": "0xd8dA...", ... }
UR : ur:eth-sign-request/onadtpdagd...

ÉTAPE 2 — Décoder + signer avec la clé stockée
─────────────────────────────────────────────────────────
Transaction décodée : { "from": "0x29c7...", "value": "0.001000 ETH", ... }
Transaction signée :  { "txHash": "0x5989...", "raw_transaction": "0xf86b...", ... }

✓  Cycle complet terminé

Développement

Accéder à un nœud distant via SSH

  1. Assurez-vous que le nœud est en cours d’exécution. Par défaut, le port RPC est souvent 8545. Vous pouvez le vérifier en exécutant cette commande sur la machine du nœud
root@kitploit:~
    ss -ntlp | grep 8545 
  1. Sur votre machine d’application, créez un tunnel SSH persistant vers la machine du nœud.
root@kitploit:~
    ssh -N -L 8545:localhost:8545 user@node_machine_ip_address #pour http
    ssh -N -L 8546:localhost:8546 user@node_machine_ip_address #pour ws websocket 

Votre application, s’exécutant sur la machine d’application, peut désormais accéder au RPC du nœud Ethereum via http://localhost:8545

Écouteur Uniswap v4 en tant que module d’aide exécutable dans uniswap_v4_listener.go. Vous pouvez maintenant l’exécuter depuis le terminal avec :

go run helpers/uniswap_v4_listener.go -ws -poolmanager

[-from ]

Écouter uniquement les nouveaux événements

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

Avec reprise depuis un bloc spécifique

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

Structure du projet

root@kitploit:~
domestic-system/
├── main.go              # Point d’entrée — câble le programme Bubble Tea
├── model.go             # Struct de l’état de l’application + Init()
├── update.go            # Tous les gestionnaires de messages Update()
├── view.go              # Distribution View() de haut niveau
├── cmd/
│   ├── txtest/          # CLI de test d’empaquetage → signature de bout en bout
│   └── v4listener/      # Écouteur d’événements Uniswap V4 autonome
├── config/              # Chargement/sauvegarde de configuration JSON, définitions de types
├── helpers/             # Résolution ENS, formatage d’adresse, Uniswap V2/V4
├── rpc/                 # Client RPC Ethereum, empaquetage de transactions EIP-4527
├── signer/
│   ├── signer.go        # Package Go : gestion des clés, décodage EIP-4527, signature ECDSA
│   └── eth_signer.py    # CLI Python autonome (mêmes fonctionnalités)
├── styles/              # Couleurs Lip Gloss et styles partagés
├── views/               # Rendu par page
│   ├── wallets/
│   ├── details/
│   ├── settings/
│   ├── dapps/
│   ├── uniswap/
│   ├── terra/
│   └── signer/          # Rendu de la page Signataire
└── webcam/              # Capture caméra et rendu vidéo demi-bloc

Exécution des tests

root@kitploit:~
# Tests du package RPC (nécessite un point de terminaison RPC)
ETH_RPC_URL="https://eth.llamarpc.com" go test ./rpc -v

# Tous les tests
go test ./... -v

Contribution

Les contributions sont les bienvenues ! Ce projet valorise :

  • Le minimalisme : Ajoutez des fonctionnalités qui s’alignent sur la philosophie centrale
  • La sécurité : Pas de raccourcis avec les fonds ou les données des utilisateurs
  • Le soin : Les interfaces terminal méritent une attention aux détails

Veuillez ouvrir un ticket avant de commencer un travail important.

Feuille de route

  • Tableau de bord d’accueil avec vue d’ensemble du portefeuille
  • Consultation de l’historique des transactions
  • Génération de codes QR EIP-4527
  • Signature de codes QR EIP-4527 (page Signataire TUI + CLI Python)
  • Prise en charge de l’affichage des NFT
  • Plus d’intégrations de DApp
  • Intégration directe Ledger/Trezor (optionnelle)
  • Prise en charge de la souris pour cliquer sur les adresses/boutons

Licence

Licence MIT – Voir le fichier LICENSE pour plus de détails

Remerciements

Construit avec :

  • Bubble Tea - Framework d’interface terminal
  • Lip Gloss - Définitions de style pour les TUI
  • Huh - Formulaires en terminal
  • go-ethereum - Bibliothèque cliente Ethereum

Inspiré par l’éthique de la souveraineté personnelle et l’esthétique de la rétro-informatique.


Le Système Domestique : votre terminal, vos clés, votre blockchain.

Télécharger l’outil
ToucheAction
↑/↓Sélectionner une clé de signature
sOuvrir la webcam – signe automatiquement le premier QR EIP-4527 détecté
aRecharger les clés depuis le disque
cEffacer le résultat actuel
ÉchapRevenir aux Comptes
CommandeDescription
python signer/eth_signer.py --generate-keysGénérer une nouvelle paire de clés ECDSA
python signer/eth_signer.py --derive-address 0x...Dériver l’adresse depuis la clé privée
python signer/eth_signer.py --private-key 0x... --to 0x... --value 1000000000000000000Signer une transaction
python signer/eth_signer.py --scanScan par webcam : détecter et signer les codes QR EIP-4527
python signer/eth_signer.py --add-key --private-key 0x... --name "Portefeuille"Ajouter une clé au stockage
python signer/eth_signer.py --list-keysLister les adresses stockées