9 выпусков
новый 0.2.0-alpha.12 | 17 авг. 2024 |
---|---|
0.2.0-alpha.11 | 13 авг. 2024 |
0.2.0-alpha.10 | 12 авг. 2024 |
#174 в Аутентификация
977 скачиваний в месяц
Используется в 2 контейнеры
10KB
218 строки
Geph5
Geph5 — это значительная переработка с несколькими значительными архитектурными отличиями от Geph4, которые в основном служат цели упрощения и значительного улучшения дизайна
Обзор
sosistab2
, или что-то подобное, что создает надежный транспорт на ненадежных трубах, больше не используется. Вместо этого шифрованные транспортные средства должны предоставлять надежный транспорт сами по себе. На практике это означает, что материалы основаны на потоках, мультиплексированных через TCP, а не на пакетах и UDP.- Клиент больше не имеет сложной логики для умного горячего замены труб. Это оказалось трудно достичь, учитывая разнообразие сетевых сред, чрезвычайно不准确ые/спящие телефонные часы и т.д. Вместо этого начинается сессия и используется до ее breakdown, затем начинается новая сессия и т.д. С достаточно быстрой созданием сессии, единственным заметным отличием является то, что прокси-соединения TCP перезагружаются, что большинство приложений обрабатывает без проблем.
- Центральный сервер аутентификации называется брокером, а не связующим звеном. Он также теперь использует простой API JSON-RPC без:end-to-end шифрования, с ответами, критичными для целостности, имеющими подписи ed25519.
- Вместо реализации на основе RSA слепых подписей с огромным количеством ключей, mizaru2 будет использовать некоторые схемы, которые вставляют несколько неявных бит в каждый анонимный аттестат, а также интерактивную проверку с вывода. Последнее значительно уменьшит нагрузку на брокера и задержку подключения, так как выходы больше не都需要 общаться с брокером для каждого нового сеанса.
- Брокер отвечает за коммуникацию с мостами и выводами для установки маршрутов пользователей. Усложненные
(число мостов) * (число выводов)
шаблоны коммуникаций исключены, и брокер может быть легко использован для генерации маршрутов для Earendil и аналогичного программного обеспечения. - Поддерживается режим VPN через туннелирование через поток ("socks5"), но с поддержкой перехвата трафика в стиле tun2socks.
- Мы повсеместно используем конфигурационные файлы вместо длинных строк аргументов командной строки.
- Мы больше не используем веб-виды для GUI. Вместо этого клиенты GUI пишутся на Rust и напрямую вызывают библиотеки протоколов.
Лицензия
代码通常采用 MPL 2.0 许可。适用于各种项目的底层库,例如 sillad
框架,通常采用 ISC 许可。
代码组织
与 Geph4 不同,Geph5 采用 Cargo 工作空间进行组织,采用“单仓库”风格。
libraries/
包含可能相互依赖的库 crate。所有这些 crate 也都接收 crates.io 的发布。binaries/
包含二进制 crate。geph5-client
geph5-exit
geph5-bridge
geph5-broker
依赖项
~9MB
~187K SLoC