Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ZeroTworu/anet

Repository files navigation

ANet: Сеть Друзей

Build Status Language Protocol

ANet — это инструмент для организации приватного, защищенного информационного пространства между близкими людьми. Мы строим цифровые мосты там, где обычные пути недоступны.

Это не сервис. Это технология для связи тех, кто доверяет друг другу.

Особенности

В основе проекта лежит собственный транспортный протокол ASTP (ANet Secure Transport Protocol), разработанный с фокусом на:

  • Приватность: Полное сквозное шифрование (ChaCha20Poly1305 / X25519).
  • Устойчивость: Стабильная работа в сетях с высокими потерями пакетов и нестабильным соединением.
  • Мимикрия: Транспортный уровень неотличим от случайного шума (High-entropy UDP stream).
  • Кроссплатформенность: Клиенты для Linux, Windows и Android.

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

Проект написан на Rust и разделен на модули:

  • anet-server — Узел координации.
  • anet-client-cli — Консольный клиент для Linux/Headless систем.
  • anet-client-gui — Графический клиент (Windows/Linux) с минималистичным интерфейсом.
  • anet-mobile — Библиотека и JNI-биндинги для Android.
  • anet-common — Реализация протокола ASTP и криптографии.
  • anet-keygen — Утилита для генерации ключей доступа.

Сборка

Требуется установленный Rust (cargo).

# Сборка всех компонентов
make all
# Сборка статичных бинарников с musl
make musl
# Сборка библиотеки для Android
make mob
# Сборка под macOS
# Build macOS CLI client
make macos
# Build macOS GUI client
make macos-gui
# Build universal macOS binaries (Intel + Apple Silicon)
make macos-universal
# Генерация сертификата для QUIC
make cert

Android src

Запуск сервера, внимание!

После запуска сервера, настройте двухсторонние перенаправление траффика между TUN интерфейсом и вашим внешним интерфейсом.

обычно это так, но зависит от OS где запущен сервер и чего именно вы хотите.

iptables -I INPUT --dport <Server port> -j ACCEPT
iptables -I FORWARD -i <External Interface> -o <if_name from server config> -j ACCEPT
iptables -I FORWARD -i <if_name from server config> -o <External Interface> -j ACCEPT
iptables -t nat -A POSTROUTING -o <External Interface> -j MASQUERADE

Support the Chaos

Если ANet помог тебе — налей автору.

На водку разрабу: Donate

На булочки для Ханю: Donate

На J7: Donate

AltStyle によって変換されたページ (->オリジナル) /