qeli

Project Url: litvinovtd/qeli
Introduction: Self-hosted, censorship-resistant VPN with REALITY / anti-DPI obfuscation and post-quantum (X25519 + ML-KEM-768) crypto. Rust core + native Android/Windows/macOS clients. Works on networks with active DPI (Iran, China, Russia).
More: Author   ReportBugs   OfficialWebsite   
Tags:

Qeli — самостоятельно-хостируемый (self-hosted) VPN с современной криптографией и настраиваемой обфускацией транспорта, спроектированный для работы в сетях с активной DPI (Deep Packet Inspection). Один Rust-движок протокола и нативные клиенты под Android, Windows и macOS на общем ядре через FFI; есть экспериментальный клиент для роутеров Keenetic.

Qeli is a self-hosted, censorship-resistant VPN with modern cryptography and configurable transport obfuscation, built to keep working on networks with active Deep Packet Inspection (DPI). One Rust protocol engine plus native Android / Windows / macOS clients sharing a native core via FFI, plus an experimental Keenetic router client.

Криптография · Cryptography: эфемерный X25519 + post-quantum ML-KEM-768 (гибридный handshake) · ChaCha20-Poly1305 AEAD · Argon2id для паролей.

Статус · Status

⚠️ Бета. Все компоненты сейчас в бета-версиях и могут работать нестабильно. Стабильной считается линейка начиная с версии 1.0 — она выйдет после тестирования и сбора обратной связи от пользователей.

⚠️ Beta. All components are currently beta releases and may be unstable. The 1.0 line will be the first stable one — it will ship after testing and user feedback.

Возможности · Features

  • Режимы обфускации (wire modes) · obfuscation/wire modes: plain, fake-tls, obfs, reality-tls (REALITY), quic — выбираются на профиль, по TCP и UDP.
  • REALITY (reality-tls): настоящий TLS 1.3-handshake к реальному стороннему сайту (cert-borrowing / TLS-camouflage) — трафик выглядит как обычный HTTPS к этому сайту, устойчив к active probing и блокировке по SNI. A genuine TLS 1.3 handshake to a real decoy site, so the connection is indistinguishable from ordinary HTTPS and resists active probing & SNI-based blocking.
  • Анти-DPI форма потока · traffic flow shaping: cover-трафик в простое (Poisson) + опциональный stealth-режим, чтобы поток не выглядел как «bulk-загрузка» для статистического DPI.
  • Post-quantum: гибридный X25519 + ML-KEM-768 во внутреннем handshake — защита от «harvest-now, decrypt-later».
  • Кроссплатформенные клиенты · cross-platform clients: Android, Windows (WPF), macOS (Avalonia), общий нативный core (Rust FFI) + экспериментальный Keenetic.
  • Self-hosted сервер · server: Linux, .deb-пакет + systemd, веб-панель администрирования, CLI, full-tunnel NAT, мульти-профиль (по профилю на режим/порт).
  • Импорт в один шаг · one-tap import: qeli://-ссылки и QR для телефонов.

Работает при активном DPI · Works under active DPI

Qeli создан для устойчивости к цензуре в сетях, где обычный VPN (WireGuard, OpenVPN, IKEv2) распознаётся и блокируется DPI — например в Иране, Китае (Great Firewall / GFW) и России (ТСПУ). Режим REALITY маскирует туннель под обычный HTTPS к легитимному сайту, а форма потока сбивает статистические эвристики DPI.

Qeli is designed for censorship circumvention on networks where ordinary VPN protocols are fingerprinted and blocked by DPI — e.g. Iran, China (the Great Firewall / GFW) and Russia (TSPU). REALITY makes the tunnel look like normal HTTPS to a legitimate site, and traffic shaping defeats statistical DPI heuristics.

По духу — самохостируемая альтернатива связке Xray/V2Ray/sing-box (REALITY/VLESS), но с собственным протоколом, нативными GUI-клиентами и post-quantum handshake. In spirit a self-hosted alternative to Xray / V2Ray / sing-box (REALITY/VLESS) setups, but with its own protocol, native GUI clients and a post-quantum handshake.

Быстрый старт · Quick start

Сервер за одну команду (REALITY на :443) · one-command REALITY server:

# на чистом Linux-сервере (Debian/Ubuntu), от root:
curl -fsSL https://raw.githubusercontent.com/litvinovtd/qeli/main/install-reality-server.sh | bash

Скрипт ставит .deb из Releases, пишет reality-tls-конфиг на :443 с full-tunnel NAT, создаёт пользователей и печатает готовые qeli://-ссылки. Затем поставьте клиент из Releases и вставьте/отсканируйте ссылку. Подробный разбор «с нуля» (CLI + веб-панель) — GETTING-STARTED.md · GETTING-STARTED.md (рус).

The script installs the .deb from Releases, writes a reality-tls config on :443 with full-tunnel NAT, creates users and prints ready-to-use qeli:// links. Then install a client from Releases and paste/scan a link. Full from-scratch guide (CLI + web panel) is in GETTING-STARTED.md.

Документация · Documentation

(Полная документация — конфигурация, дизайн, аудиты, бенчмарки, модель угроз — в соответствующей локали. The full docs — configuration, design, audits, benchmarks, threat model — live under each locale.)

License

Монорепозиторий с несколькими лицензиями по каталогам · monorepo with per-directory licences:

  • ядро + сервер (qeli/) · core + server → AGPL-3.0-only (LICENSE)
  • клиенты (qeli-android/, qeli-win/, qeli-mac/) · clients → MPL-2.0

Полная карта и нюансы (libqeli/AGPL) · full map and the libqeli/AGPL note — LICENSING.md. Вклады · contributing (DCO, без CLA) — CONTRIBUTING.md.


Keywords: self-hosted VPN, anti-censorship VPN, censorship circumvention, anti-DPI, DPI bypass, deep packet inspection, REALITY, Reality TLS, TLS camouflage, SNI, active-probing resistant, traffic obfuscation, fake-TLS, obfs, QUIC VPN, post-quantum VPN, ML-KEM-768, X25519, ChaCha20-Poly1305, Rust VPN, Android VPN, Windows VPN, macOS VPN, Keenetic, WireGuard alternative, Xray / V2Ray / sing-box alternative, VPN for Iran, VPN for China / Great Firewall, VPN for Russia / TSPU.

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools
AI Daily Digest