Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
domestic-system — Использование @charmbracelet для создания стильного браузера Ethereum | Kitploit
Инструменты/GitHubGitHub/cartosys/domestic-system
Инструменты шифрования/дешифрованияВеб-безопасностьКриптографияАппаратная БезопасностьУправление идентификацией и доступом (IAM)Аутентификация
GitHubcartosys/domestic-system

domestic-system

Использование @charmbracelet для создания стильного браузера Ethereum

Репозиторий
111 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

The Domestic System

A beautiful, terminal-based Ethereum wallet and smart contract browser built for sovereignty, security, and style.

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

Демонстрация Domestic System

Обзор

The Domestic System — это терминальный пользовательский интерфейс (TUI), предназначенный для просмотра аккаунтов и смарт-контрактов Ethereum (EVM). Он объединяет три основных принципа, которые делают взаимодействие с блокчейном в терминале не просто практичным, но и предпочтительным.

Философия

🏛️ Суверенитет

Только на стороне клиента. Никаких централизованных серверов. Только вы и блокчейн.

The Domestic System подключается напрямую к выбранным вами RPC-конечным точкам Ethereum. Никаких посредников. Никакой аналитики. Никакого отслеживания. Ваше взаимодействие с блокчейном является прямым и неопосредованным. Именно так должна работать Web3.

🔐 Безопасность

Без управления приватными ключами. Готовность к аппаратным кошелькам.

Ваши приватные ключи никогда не попадают в это приложение. Все транзакции генерируются в виде QR-кодов в соответствии с EIP-4527, специально разработанных для подписания с помощью аппаратных кошельков. Просматривайте аккаунты, подготавливайте транзакции и подписывайте их безопасно на вашем аппаратном кошельке.

✨ Ретро-эстетика

Сделано с Charm.sh. Терминальные интерфейсы, выполненные с изяществом.

Используя великолепную экосистему Charm.land (Bubble Tea, Lip Gloss, Huh), The Domestic System доказывает, что CLI не обязаны быть строгими. Насыщенные цвета, плавные взаимодействия и продуманный дизайн интерфейса привносят ретро-футуристическую эстетику во взаимодействие с блокчейном.

Почему Терминал?

Эти три принципа — суверенитет, безопасность и эстетика — идеально сходятся в терминале. Терминальные приложения:

  • Легковесны: Никаких раздутых Electron-приложений или расширений браузера
  • Прозрачны: Открытый исходный код, который можно проверить
  • Портативны: Работают через SSH, на серверах, на минимальных системах
  • Сфокусированы: Никаких отвлекающих факторов, только необходимая информация
  • Вневременны: Терминальные интерфейсы стареют достойно

The Domestic System занимает уникальное пересечение нишевых сценариев использования, обслуживая тех, кто ценит контроль, безопасность и мастерство исполнения.

Возможности

  • 📊 Управление несколькими кошельками: Отслеживание нескольких адресов Ethereum одновременно
  • 💰 Просмотр балансов токенов: Поддержка нативного ETH и ERC-20 токенов с настраиваемыми списками наблюдения
  • 🌐 Множественные RPC-настройки: Подключение к любому RPC-узлу Ethereum (Mainnet, L2, тестнеты)
  • 🔄 Обновления в реальном времени: Актуальные балансы и статус сети
  • 🎨 Красивый TUI: Создан с помощью Bubble Tea и Lip Gloss для исключительного терминального опыта
  • 🦄 Интеграция Uniswap: Обмен токонами прямо из терминала
  • 📱 DApp-браузер: Навигация и взаимодействие с децентрализованными приложениями
  • ⚡ Создание транзакций: Генерация QR-кодов транзакций для подписания на аппаратном кошельке (EIP-4527)
  • 📋 Интеграция с буфером обмена: Легкое копирование адресов и разрешение ENS
  • ⚙️ Постоянная конфигурация: Настройки и списки кошельков сохраняются локально
  • 🔑 Подписыватель транзакций: Нативный Go-модуль для подписания + автономный Python CLI для air-gapped рабочих процессов EIP-4527

Установка

Предварительные требования

  • Go 1.21 или выше
  • Терминал с поддержкой true color (большинство современных терминалов)

Сборка из исходного кода

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

Конфигурация

The Domestic System хранит свою конфигурацию в ~/.charm-wallet-config.json.

RPC-конечные точки

Добавляйте RPC-конечные точки Ethereum на странице настроек "s" или с помощью переменной окружения ETH_RPC_URL:

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

Список отслеживания токенов

Настройте отображаемые ERC-20 токены, отредактировав список токенов в main.go (настройка через интерфейс появится позже).

Использование

Навигация

  • Стрелки / hjkl: Навигация по меню и спискам
  • Enter: Выбор / Подтверждение
  • Esc: Назад / Отмена
  • Tab: Переключение между полями ввода
  • Ctrl+C: Выход из приложения
  • Двойной клик: Двойной клик по активному адресу в заголовке открывает всплывающее окно со списком аккаунтов для быстрого переключения

Страницы

  • Accounts (Аккаунты): Управление списком отслеживаемых адресов Ethereum
  • Details (Детали): Просмотр балансов и токенов для активного адреса
  • Settings (Настройки): Настройка RPC-конечных точек и параметров приложения
  • DApps: Просмотр и взаимодействие с децентрализованными приложениями
  • Uniswap: Интерфейс обмена токенов
  • Signer (Подписание) (x на странице Accounts): Управление ключами подписания, сканирование QR-кодов EIP-4527 через веб-камеру и подписание транзакций

Добавление аккаунтов

  1. Перейдите на страницу Wallets (Кошельки)
  2. Нажмите a, чтобы добавить новый кошелек
  3. Введите адрес Ethereum или ENS-имя
  4. При желании укажите псевдоним
  5. Нажмите Enter для сохранения

Переключение аккаунтов

Активный аккаунт (отмечен ★) определяет, какой кошелек используется для транзакций. Чтобы переключить аккаунт:

  1. Двойным кликом на активном адресе в глобальном заголовке (работает с любого экрана)
  2. Используйте стрелки (↑/↓) для выбора другого аккаунта
  3. Нажмите Enter для активации выбранного аккаунта
  4. Нажмите Esc для отмены

Также можно перейти на страницу Wallets и нажать Enter на любом кошельке для просмотра его деталей и активации.

Отправка транзакций

  1. Выберите кошелек с балансом ETH
  2. Нажмите Tab и кликните по кнопке Send (Отправить)
  3. Заполните адрес получателя и сумму
  4. Сгенерируйте QR-код для подписания на аппаратном кошельке

Подписыватель транзакций

The Domestic System включает полный рабочий процесс подписания транзакций EIP-4527, который можно использовать как внутри TUI, так и независимо в терминале.

Как это работает

root@kitploit:~
TUI (любая страница)  →  упаковывает неподписанную транзакцию  →  отображает QR-код EIP-4527
                                                        ↓
                                          Страница Signer сканирует QR через веб-камеру
                                                        ↓
                                          Декодирует UR → подписывает сохранённым ключом
                                                        ↓
                                          Отображает сырую подписанную транзакцию в hex

Хранение приватных ключей

Ключи хранятся в ~/.charm-wallet-private-keys.json (режим доступа 600, вне репозитория). При первом запуске автоматически создаётся демо-ключ NotForProduction, его адрес регистрируется в ~/.charm-wallet-config.json.

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

Страница Signer в TUI

Нажмите x на странице Accounts, чтобы открыть Signer. В нём:

Подписанная транзакция (сырой hex, хэш tx, r/s/v) отображается сразу после сканирования.

Автономный Python CLI (signer/eth_signer.py)

Python-подписыватель работает независимо от TUI. Установите зависимости один раз:

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

Весь вывод в формате JSON. Режим --scan открывает окно OpenCV с потоком видеокамеры и выводит подписанные транзакции в stdout по мере их обнаружения.

Сквозной тест подписания транзакций (cmd/txtest)

Проверяет полный цикл упаковки → декодирования → подписания, используя Go-модули напрямую:

root@kitploit:~
# Офлайн (жёстко заданные тестовые параметры — RPC не требуется)
go run ./cmd/txtest

# С живыми значениями nonce/gasPrice/chainId от RPC-узла
go run ./cmd/txtest --rpc https://eth.llamarpc.com

# Свой получатель и сумма
go run ./cmd/txtest --to 0xYourAddr --value 0.5 --chainid 11155111

Вывод показывает оба этапа:

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

Разработка

Доступ к удалённому узлу через SSH

  1. Убедитесь, что узел запущен. По умолчанию RPC-порт часто 8545. Проверить можно так на машине с узлом:
root@kitploit:~
    ss -ntlp | grep 8545 
  1. На вашей рабочей машине создайте постоянный SSH-туннель к узлу:
root@kitploit:~
    ssh -N -L 8545:localhost:8545 user@node_machine_ip_address # для http
    ssh -N -L 8546:localhost:8546 user@node_machine_ip_address # для ws (websocket) 

Теперь ваше приложение на рабочей машине может обращаться к RPC узла Ethereum через http://localhost:8545

Прослушиватель Uniswap v4 как запускаемый вспомогательный модуль в файле uniswap_v4_listener.go. Теперь его можно запустить из терминала так:

go run helpers/uniswap_v4_listener.go -ws -poolmanager

[-from ]

Прослушивать только новые события

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

С обратным заполнением от определённого блока

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

Структура проекта

root@kitploit:~
domestic-system/
├── main.go              # Точка входа — запускает программу Bubble Tea
├── model.go             # Структура состояния приложения + Init()
├── update.go            # Все обработчики сообщений Update()
├── view.go              # Главная диспетчеризация View()
├── cmd/
│   ├── txtest/          # Сквозной тест упаковки → подписания (CLI)
│   └── v4listener/      # Автономный прослушиватель событий Uniswap V4
├── config/              # Загрузка/сохранение JSON-конфигурации, определения типов
├── helpers/             # Разрешение ENS, форматирование адресов, Uniswap V2/V4
├── rpc/                 # RPC-клиент Ethereum, упаковка транзакций EIP-4527
├── signer/
│   ├── signer.go        # Go-пакет: управление ключами, декодирование EIP-4527, ECDSA-подпись
│   └── eth_signer.py    # Автономный Python CLI (та же функциональность)
├── styles/              # Цвета Lip Gloss и общие стили
├── views/               # Отрисовщики страниц
│   ├── wallets/
│   ├── details/
│   ├── settings/
│   ├── dapps/
│   ├── uniswap/
│   ├── terra/
│   └── signer/          # Отрисовщик страницы Signer
└── webcam/              # Захват с камеры и полублочный рендеринг видео

Запуск тестов

root@kitploit:~
# Тесты пакета RPC (требуется RPC-узел)
ETH_RPC_URL="https://eth.llamarpc.com" go test ./rpc -v

# Все тесты
go test ./... -v

Участие в разработке

Вклад приветствуется! Этот проект ценит:

  • Минимализм: Добавляйте функции, соответствующие основной философии
  • Безопасность: Никаких компромиссов с средствами или данными пользователей
  • Качество: Терминальные интерфейсы заслуживают внимания к деталям

Пожалуйста, перед началом крупной работы откройте issue.

План развития

  • Главная панель с обзором портфеля
  • Просмотр истории транзакций
  • Генерация QR-кодов EIP-4527
  • Подписание QR-кодов EIP-4527 (страница Signer в TUI + Python CLI)
  • Поддержка просмотра NFT
  • Больше интеграций DApp
  • Прямая интеграция с Ledger/Trezor (опционально)
  • Поддержка мыши для клика по адресам/кнопкам

Лицензия

MIT License — подробности в файле LICENSE

Благодарности

Создано с помощью:

  • Bubble Tea — фреймворк для терминальных интерфейсов
  • Lip Gloss — стили для TUI
  • Huh — терминальные формы
  • go-ethereum — клиентская библиотека Ethereum

Вдохновлено идеей самосуверенности и эстетикой ретро-вычислений.


The Domestic System: Ваш терминал, ваши ключи, ваш блокчейн.

Скачать инструмент
КлавишаДействие
↑/↓Выбор ключа подписания
sОткрыть веб-камеру — автоматически подписывает первый обнаруженный QR EIP-4527
aПерезагрузить ключи с диска
cОчистить текущий результат
EscВернуться к Accounts
КомандаОписание
python signer/eth_signer.py --generate-keysСгенерировать новую ECDSA-пару ключей
python signer/eth_signer.py --derive-address 0x...Получить адрес из приватного ключа
python signer/eth_signer.py --private-key 0x... --to 0x... --value 1000000000000000000Подписать транзакцию
python signer/eth_signer.py --scanСканирование через веб-камеру: обнаружение и подписание QR-кодов EIP-4527
python signer/eth_signer.py --add-key --private-key 0x... --name "Wallet"Добавить ключ в хранилище
python signer/eth_signer.py --list-keysВывести список сохранённых адресов