Перейти к содержимому
Назад к портфолио

Личный проект · 2026

Falco

Falco превращает подключение к серверу в переносимый исполняемый файл и инструкцию how-to-use.md. Десктопный редактор на Python — или тот же редактор в headless-режиме — записывает настройки подключения в готовые Rust-лаунчеры для macOS, Windows и Linux. После приватной первоначальной настройки люди и AI-агенты с доступом к shell могут выполнять команды, открывать терминал и управлять файлами по SFTP. Пароли остаются в системном хранилище; лаунчер раскрывает хост, порт и имя пользователя, а вариант с зашифрованным ключом содержит приватный ключ и должен оставаться приватным.

Роль
Проектирование и разработка
Год
2026
Полный стек
10 инструментов
Текущий редактор Falco на macOS: выбор пароля или зашифрованного ключа, напоминание о VPN и настройки платформ сборки
Интерфейс проекта — live-capture или реконструкция по рабочей реализации

Полный стек

  • Rust
  • tokio
  • russh
  • russh-sftp
  • ssh-key
  • keyring
  • Python 3.12
  • Tkinter
  • PyInstaller
  • GitHub Actions

На чём всё держится

  1. Сборка не требует компилятора или подключения к сети. GUI и headless-сборщик используют одинаковые готовые Rust-stub и выпускают одинаковые исполняемые файлы и инструкции для агентов, включая напоминание о VPN.
  2. Ключ хоста теперь фиксируется при первом подключении в системном хранилище. Изменившийся ключ отклоняется до аутентификации; принятие нового отпечатка — явное действие, а не автоматический повтор. При первом подключении всё ещё нужна доверенная сеть или независимая проверка отпечатка.
  3. Пароли и парольные фразы ключей вводятся только в приватном терминальном запросе, а не через аргументы, переменные окружения или чат агента. Отсутствие первоначальной настройки и другие ошибки лаунчера возвращают структурированные JSON-диагностики с подсказками о дальнейших действиях.
  4. Команды передают удалённый вывод и возвращают фактический код завершения. SFTP поддерживает файлы, каталоги, просмотр, перемещение и удаление. Публикация релиза ждёт проверок Python и Rust на всех трёх операционных системах.

Если продолжать

  1. Подписывать распространяемые редакторы и лаунчеры, чтобы получатели могли проверить происхождение без обхода защитных механизмов платформы.
  2. Сделать проверку подлинности первого подключения понятнее и явно показывать риски передачи зашифрованного ключа в редакторе и сгенерированной инструкции.
Следующий проектMaine