Исходный код
Полный исходный код Aster. Все файлы — AGPL-3.0-or-later.
Состав архива
| Крейт | Файлов | Строк | Назначение |
aster-core | 13 | 4 044 | Криптография: Ed25519, X25519, PQXDH, ML-KEM-768, Double Ratchet, AEAD, адреса, очереди, ленты, звонки |
aster-net | 4 | 1 066 | Транспорт: WebSocket, Noise_NK, TLS-маскировка, Rustls, tcp compat |
aster-wire | 1 | 956 | Протокол: Request/Response, TransportEnvelope, InnerPayload, grind_pow, MeshMsg |
aster-server | 5 | 6 423 | Релей: DepositEnvelope, FetchEnvelope, FeedAgg, queue storage, мусорка |
aster-services | 12 | 5 890 | Бот-рантайм: publish, poll, queue_card, SERVICE codec, shim, 6 ботов |
aster-wasm | 2 | 5 858 | WASM-биндинги для веб-клиента: seal/open, session, queue, feed |
aster-cli | 1 | 348 | CLI-утилита: ключи, адреса, шифрование |
aster-ffi | 2 | 222 | FFI для нативных приложений (Swift/Kotlin) |
aster-kt | 1 | 243 | Kotlin-биндинги |
aster-client | 1 | 63 | Клиентский crate (заглушка) |
aster-notifier | 1 | 174 | Push-уведомления |
aster-transport | 1 | 50 | Транспортный trait |
Веб-клиент
| Файл | Строк | Назначение |
web/app.js | 9 343 | Основной клиент: UI, чаты, каналы, звонки, PQXDH, Double Ratchet |
web/config.js | ~50 | Конфигурация: relay key, endpoints |
web/callcrypto.js | ~300 | Шифрование звонков |
web/callmedia.js | ~200 | WebRTC медиа |
web/ratatoskr.js | ~150 | Mesh-роутер |
web/argon2-worker.js | ~100 | Argon2 хеширование |
web/aster-sw.js | ~80 | Service Worker |
web/notify*.js | ~100 | Push-уведомления |
Скрипты
| Файл | Назначение |
scripts/deploy-web.sh | Деплой веб-клиента на prod |
scripts/deploy-relay.sh | Деплой релея |
scripts/deploy-server.sh | Деплой сервера |
scripts/run-relay.sh | Запуск релея локально |
scripts/run-web.sh | Запуск веб-сервера локально |
scripts/test.sh | Запуск тестов |
scripts/gen-sri.sh | Генерация SRI-хешей |
scripts/content-hash.js | Контентный хеш для WASM |
Корневые файлы
| Файл | Назначение |
Cargo.toml | Workspace manifest |
Cargo.lock | Лок версий зависимостей |
.cargo/config.toml | Cargo конфигурация |
README.md | Описание проекта |
BUILD.md | Инструкции сборки |
SECURITY.md | Политика безопасности |
Сборка
tar xzf aster-src.tar.gz
cd aster-src
cargo build --release
Для бота на публичном релею:
printf '<128-hex-ключ>' | ./target/release/echo - 45.89.60.139:9977 937ee3c4…