Android 4.7.2 · Windows 4.7.2 — уже доступны

Chameleon 4.5

Персональный VPN, который сам выбирает рабочий протокол — и обновляется прямо в приложении.

Персональный VPN · Android · Windows

Новое поколение персонального VPN

Одна кнопка. Автоматический выбор протокола. Обновления прямо в приложении.

Chameleon4.7.2
VPNПротоколДоступОбновления
Не подключено
Нажмите кнопку — это демонстрация интерфейса
ПротоколAUTO
Chameleon VPN
Ваше подключение
Готов к подключениюВыбран AUTO. Трафик пока не защищён VPN.
Подключить VPN
ПротоколAUTO
Отправлено0 Б
Получено0 Б

Интерактивная демонстрация интерфейса. Реальное подключение — в приложении.

Обновление от 11 октября 2026: вышли Android 4.7.2 и Windows 4.7.2 — обновления теперь скачиваются в несколько потоков и докачиваются после обрыва связи, а в приложении виден срок действия ключа с напоминанием за 5 дней. Скачать


Мы представляем Chameleon 4.5 — самый удобный и проверяемый выпуск нашего персонального VPN.

Chameleon объединяет собственный транспорт CITP поверх TCP и быстрый KS поверх UDP. В режиме AUTO приложение само проверяет, какой протокол работает в вашей сети, подключает его и запоминает удачный вариант. Никаких адресов, портов и конфигов — только личный ключ и одна кнопка.

Начиная с этой версии приложения сами следят за новыми сборками: вкладка «Обновления» находит новую версию на официальном сайте, скачивает её, проверяет размер, контрольную сумму SHA‑256 и подпись и устанавливает — ключ и настройки сохраняются.

2платформы — Android и Windows
KS + CITPдва протокола и режим AUTO
SHA‑256для каждого опубликованного файла
0рекламных SDK и сторонних трекеров

Как это работает

AUTO: выбор протокола под вашу сеть

  • KS · UDP
  • CITP · TCP
  • Выбранный маршрут
Устройство Нода Chameleon KS · UDP · быстрый CITP · TCP · устойчивый

В обычной сети AUTO сначала проверяет KS: зашифрованный пробный запрос должен получить подлинный ответ ноды. Ответ пришёл — подключаемся через быстрый UDP.

«Мы не сохраняем содержимое VPN‑трафика. В приложениях нет рекламных SDK и сторонних трекеров. Каждый файл на этом сайте можно сверить по SHA‑256, а каждую строку кода — прочитать на GitHub.»
Принципы проекта Chameleon

Всё, что нужно. Ничего лишнего.

Одна кнопка

Приложение само выбирает сервер и транспорт и показывает реальный статус соединения.

AUTO: KS и CITP

Быстрый UDP там, где он работает, и устойчивый TCP в строгих сетях. Удачный выбор запоминается.

Личный ключ

Подписанный доступ для каждого пользователя. На Windows ключ шифруется DPAPI, адреса вводить не нужно.

Мгновенное отключение

В Android 4.5 VPN отключается сразу, без ожидания завершения фоновых задач.

Обновления в приложении

Вкладка «Обновления» находит, проверяет и ставит новую версию. Скачивать вручную больше не нужно.

Открытый код

Исходники клиентов, ноды и протокола открыты. Архив исходников каждой сборки лежит рядом с ней.

Получить ключ

Личный ключ бесплатного плана: до 2 устройств, 30 дней с продлением. Выберите удобный способ — ключ одинаково работает в Android и Windows.

На сайте через Google

Войдите Google-аккаунтом — ключ, QR-код и кнопка «Открыть Chameleon» появятся прямо на этой странице. Мы получаем только обезличенный идентификатор аккаунта, без почты и имени.

Вход через Google скоро будет доступен — пока воспользуйтесь Telegram-ботом.

В Telegram-боте

Напишите боту @citpauthbot команду /start — он пришлёт личный QR-код и ссылку активации. Там же можно продлить доступ.

Открыть @citpauthbot ↗

Скачать Chameleon

Файлы отдаются только с этого сайта. После загрузки сверьте SHA‑256 — инструкция ниже.

Androidbeta

Для телефона

Android 6+ · ARM64 / ARMv7

——
Скачать APK
загружаем…
Исходникиbeta

Исходники этой сборки

Точный код опубликованных файлов

——
Скачать .tar.gz
загружаем…
Зависимости—

Go‑модули и лицензии

Архив исходников Go‑модулей

——
Скачать архив
загружаем…
Репозиторий Chameleon‑CITP‑VPN на GitHub ↗ Сертификат подписи Android (SHA‑256): загружаем…

Проверяем опубликованные сборки…

Инструкции

  1. Скачайте APK

    Нажмите «Скачать APK» выше. Если браузер спросит — разрешите установку приложений из этого браузера.

  2. Установите и откройте

    Откройте загруженный файл и нажмите «Установить». Приложение не просит доступ к контактам, камере, микрофону или геолокации.

  3. Получите личный ключ

    Войдите через Google на сайте или откройте бота @citpauthbot. Откройте QR‑ссылку на телефоне или вставьте ключ во вкладке «Доступ».

  4. Нажмите «Подключить»

    Подтвердите системный запрос VPN. Режим AUTO сам выберет KS или CITP.

Бенчмарки

Нагрузочный тест хаба на реальной RU-ноде (2 vCPU, 2 ГБ). Хаб ограничен одним ядром (CPUQuota=100%) и 700 МБ RAM. Нагрузку подаёт отдельная машина: 10% пользователей активны (20 пакетов/с по 1000 Б), остальные раз в 2 с шлют keepalive. На каждой ступени 60 с измерений.

Сколько пользователей держит одно ядро

ks-hub 2 (было)ks-hub 3, общий портks-hub 3, свой порт

Задержка p95

95% ответов быстрее этой отметки. Ниже — лучше, логарифмическая шкала.

норма ≤ 500 мс100 мс200 мс500 мс1 с2 с5 с10 с20 с1003005007001000пользователейks-hub 2 (было) · 100 польз.: p95 165 мс, p50 128 мсks-hub 2 (было) · 300 польз.: p95 1,3 с, p50 130 мсks-hub 2 (было) · 500 польз.: p95 3,1 с, p50 1,1 сks-hub 2 (было) · 700 польз.: p95 5,8 с, p50 3,6 сотказks-hub 2 (было) · 1000: 0 на связиks-hub 3, общий порт · 100 польз.: p95 218 мс, p50 132 мсks-hub 3, общий порт · 300 польз.: p95 2,6 с, p50 145 мсks-hub 3, общий порт · 500 польз.: p95 1,8 с, p50 170 мсks-hub 3, общий порт · 700 польз.: p95 3,4 с, p50 1,3 сks-hub 3, общий порт · 1000 польз.: p95 10,7 с, p50 6,7 сks-hub 3, свой порт · 100 польз.: p95 178 мс, p50 129 мсks-hub 3, свой порт · 300 польз.: p95 691 мс, p50 131 мсks-hub 3, свой порт · 500 польз.: p95 1,9 с, p50 260 мсks-hub 3, свой порт · 700 польз.: p95 3,5 с, p50 1,4 сks-hub 3, свой порт · 1000 польз.: p95 9,6 с, p50 8,1 с

Пользователей на связи

Доля клиентов, которые получали ответы во время измерения.

0%25%50%75%100%100ks-hub 2 (было) · 100 польз.: 100 на связи (100%)ks-hub 3, общий порт · 100 польз.: 100 на связи (100%)ks-hub 3, свой порт · 100 польз.: 100 на связи (100%)300ks-hub 2 (было) · 300 польз.: 300 на связи (100%)ks-hub 3, общий порт · 300 польз.: 300 на связи (100%)ks-hub 3, свой порт · 300 польз.: 300 на связи (100%)500ks-hub 2 (было) · 500 польз.: 500 на связи (100%)ks-hub 3, общий порт · 500 польз.: 500 на связи (100%)ks-hub 3, свой порт · 500 польз.: 500 на связи (100%)700ks-hub 2 (было) · 700 польз.: 699 на связи (100%)ks-hub 3, общий порт · 700 польз.: 700 на связи (100%)ks-hub 3, свой порт · 700 польз.: 700 на связи (100%)1000ks-hub 2 (было) · 1000 польз.: 0 на связи (0%)0%ks-hub 3, общий порт · 1000 польз.: 1000 на связи (100%)ks-hub 3, свой порт · 1000 польз.: 898 на связи (90%)90%пользователей

Память хаба

Пиковое потребление RAM (systemd MemoryPeak).

0 МБ125 МБ250 МБ375 МБ500 МБ1003005007001000пользователейks-hub 2 (было) · 100 польз.: 43 МБks-hub 2 (было) · 300 польз.: 121 МБks-hub 2 (было) · 500 польз.: 203 МБks-hub 2 (было) · 700 польз.: 291 МБks-hub 2 (было) · 1000 польз.: 404 МБks-hub 3, общий порт · 100 польз.: 15 МБks-hub 3, общий порт · 300 польз.: 36 МБks-hub 3, общий порт · 500 польз.: 59 МБks-hub 3, общий порт · 700 польз.: 80 МБks-hub 3, общий порт · 1000 польз.: 120 МБks-hub 3, свой порт · 100 польз.: 17 МБks-hub 3, свой порт · 300 польз.: 41 МБks-hub 3, свой порт · 500 польз.: 69 МБks-hub 3, свой порт · 700 польз.: 100 МБks-hub 3, свой порт · 1000 польз.: 138 МБв 3,4× меньше памяти

Время подключения p95

От первого пакета до первого ответа хаба. Ниже — лучше.

200 мс500 мс1 с2 с5 с10 с20 с1003005007001000пользователейks-hub 2 (было) · 100 польз.: подключение p95 342 мсks-hub 2 (было) · 300 польз.: подключение p95 2,4 сks-hub 2 (было) · 500 польз.: подключение p95 2,8 сks-hub 2 (было) · 700 польз.: подключение p95 11,7 сks-hub 2 (было) · 1000 польз.: подключение p95 7,5 сks-hub 3, общий порт · 100 польз.: подключение p95 588 мсks-hub 3, общий порт · 300 польз.: подключение p95 898 мсks-hub 3, общий порт · 500 польз.: подключение p95 1,9 сks-hub 3, общий порт · 700 польз.: подключение p95 3,5 сks-hub 3, общий порт · 1000 польз.: подключение p95 8 сks-hub 3, свой порт · 100 польз.: подключение p95 349 мсks-hub 3, свой порт · 300 польз.: подключение p95 427 мсks-hub 3, свой порт · 500 польз.: подключение p95 1,4 сks-hub 3, свой порт · 700 польз.: подключение p95 1,7 сks-hub 3, свой порт · 1000 польз.: подключение p95 13,8 с
Таблица с цифрами
Пользователейks-hub 2 (было)ks-hub 3, общий портks-hub 3, свой порт у каждого
100✅ 100/100 · p95 165 мс✅ 100/100 · p95 218 мс✅ 100/100 · p95 178 мс
300⚠️ 300/300 · p95 1257 мс⚠️ 300/300 · p95 2605 мс⚠️ 300/300 · p95 691 мс
500⚠️ 500/500 · p95 3134 мс⚠️ 500/500 · p95 1762 мс⚠️ 500/500 · p95 1916 мс
700⚠️ 699/700 · p95 5774 мс⚠️ 700/700 · p95 3437 мс⚠️ 700/700 · p95 3468 мс
1000отказ (0 живых)⚠️ 1000/1000 · p95 10664 мс⚠️ 898/1000 · p95 9635 мс

✅ ≥99% пользователей на связи и p95 RTT ≤ 500 мс. ⚠️ все на связи, но задержка выше порога. Базовый RTT до ноды ≈ 125 мс.

Свой порт у каждого пользователя

  • RU-нода: пользователь слота N подключается к порту база+N. Хаб сразу знает, чей это пакет, и не перебирает ключи всех пользователей.
  • Плечо до выхода: ks-relay держит отдельный сеанс на каждого пользователя: порт база+N и ключ HMAC(master, N). Выход видит внутренний адрес пользователя, общего SNAT нет.
  • Ленивое окно ключей: пока пользователь молчит, хаб держит 256 позиций вместо 8192. Памяти и CPU нужно примерно в 30 раз меньше, байты на проводе прежние.

Как нас видит DPI/ТСПУ

Мы воспроизвели опубликованные методы обнаружения VPN (сигнатуры, правило «полностью зашифрованный трафик» FET, ритм простоя, ACK-эхо, активные зонды) и пять политик блокировки, а затем прогнали через них KS, CITP и для сравнения WireGuard, OpenVPN и обычный HTTPS. Меньше признаков — труднее отличить от обычного трафика.

Признаков из 7KSCITPCITP + CBRWireGuardOpenVPNHTTPS (эталон)
До исправлений221520
Сейчас (beta)100———
  • Что исправили: у CITP пропал ровный 5-секундный «пульс», зонд закрывается в случайный момент, первый пакет выглядит как TLS-запись, сервер слушает и 443; у KS убрано ACK-эхо (паддинг мелких пакетов) и снята чувствительность к сбитым часам (раньше дрейф ±9 с ломал связь, теперь держит ±30 с).
  • Политики: CITP работает при блокировке UDP, бане IP за UDP и когда открыты только порты ниже 1000. KS при блокировке UDP не работает — для этого и нужен AUTO. «Заморозку» соединения после 16 КБ пока не переживает ни один протокол.
  • Живая проверка (Россия → зарубежный сервер): все шесть протоколов 56/56 загрузок, вмешательства сети не видно.
  • Оговорка: это модель по открытым публикациям, а не настоящий ТСПУ. Полноценный разбор TLS увидит, что за заголовком CITP не TLS.

Запустить у себя

./bench/bench.sh          # 1 скорость · 2 пользователи/ресурсы · 3 скорость/число пользователей
./bench/bench.sh status   # пройденные чекпоинты; после обрыва продолжит с того же места

Свой сервер за 5 минут

git clone https://github.com/xfgx/Chameleon-CITP-VPN chameleon && cd chameleon
make setup && ./bin/chameleon-setup     # Windows: bin\chameleon-setup.exe

Мастер спросит адреса RU-ноды и выхода, порты (auto / default / свой) и число пользователей. Потом он заменит все заглушки в репозитории и запишет готовые команды запуска в .chameleon-setup/RUN.md. Откатить: chameleon-setup -undo.

Нужны тестеры

Chameleon бесплатный и открытый. Нам нужны люди с разными провайдерами и в разных городах: мобильный интернет, домашний, офисный Wi-Fi. Оставьте заявку ↗: город, провайдер и устройство. Мы пришлём ключ.

README

Открытый исходный код Chameleon CITP — VPN‑клиентов для Android и Windows, общего ядра на Go, серверной ноды и спецификации протокола. Реальные адреса, порты, ключи и токены заменены заглушками (vpn.example.com, 203.0.113.x, <port>); логика кода не менялась.

Ветки

ВеткаЧто внутри
mainПолный проект: клиенты, ядро, серверы, протокол, инструменты, документация
app/chameleon-4.5Только исходники приложения 4.5: Android 4.5.1, Windows 4.5.0 и общее ядро

Возможности

  • AUTO — клиент пробует транспорты CITP, KS и ChaosSync и держится за тот, что проходит в текущей сети; итоги сеансов учитываются при следующем выборе.
  • Российские сайты напрямую, остальное — через VPN.
  • Подписанный DNS (v2) — ответы о выборе узла проверяются клиентом, без тихого отката при ошибке.
  • Фоновый маскирующий трафик ограничен по объёму и времени.
  • Обновления в приложении со сверкой SHA‑256 пакета.

Состав репозитория

ПутьЧто это
androidПриложение Android (Kotlin, VpnService, Gradle)
desktop/Chameleon.WindowsИнтерфейс Windows на C# / WPF (.NET 10)
mobilecoreGo‑ядро для Android (gomobile bind → .aar)
cmd/chamdСлужба Windows: Wintun, AUTO, DNS, брандмауэр
cmd/cham-serverСерверная нода CITP (Linux)
cmd/ks-*, cmd/chaossync-*Протоколы KS и ChaosSync: клиент, хаб, консоль
internal/chameleonЯдро протокола: кадры, криптография, транспорты
protocol/Спецификация, инварианты, модель угроз, TLA+
packaging/, scripts/Установщик NSIS, сборка релизов, проверки безопасности
tools/, test/e2eДиагностика, лабораторные утилиты, сквозные тесты

Сборка

Нужны Go ≥ 1.26; для Android — Android SDK 34, gomobile, Gradle 8.7; для Windows — .NET 10 SDK и NSIS 3.

bash
git clone https://github.com/xfgx/Chameleon-CITP-VPN chameleon && cd chameleon
make build test vet            # всё Go-ядро, серверы и утилиты

# Сервер (linux/amd64)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" ./cmd/cham-server

# Ядро Windows
GOOS=windows GOARCH=amd64 go build -trimpath -ldflags "-H=windowsgui" ./cmd/chamd

# Android: ядро + APK
gomobile bind -target=android -androidapi 23 -o android/app/libs/mobilecore.aar ./mobilecore
cd android && gradle assembleRelease

Своя инсталляция

ЧтоКак
Ключ нодыcham-server -genkey -keyfile server.key
Ключ клиентаcham-keygen — публичная часть в allowlist ноды
Домен и ботзамените vpn.example.com и your_activation_bot на свои
Токен bulletin boardдлинная случайная строка в CITP_CF_BOARD_TOKEN

DNS‑аутентификация v2 не принимает старые MAC: клиенты и все узлы цепочки обновляются вместе.

Свой сервер за 5 минут

make setup && ./bin/chameleon-setup: 8 вопросов (адреса нод, порты auto/default/свой, число пользователей, домен), замена всех заглушек, ключ плеча в secrets/, команды запуска в .chameleon-setup/RUN.md. Для Windows есть chameleon-setup.exe.

Бенчмарк

./bench/bench.sh: сравнение скорости, максимум пользователей на разных ресурсах, скорость при разном числе пользователей. После каждого шага сохраняется чекпоинт, результаты в разделе Бенчмарки.

Безопасность

  • Модель угроз — THREAT_MODEL.md, сообщения об уязвимостях — по SECURITY.md, не в открытых issue.
  • make security ищет случайно закоммиченные секреты и уязвимые зависимости.
  • CI на GitHub только собирает и тестирует код и не имеет доступа к серверам проекта.

Устранение неполадок

  • Нода молчит — так задумано: на неаутентифицированные запросы нода отвечает 0 байт. Проверьте allowlist и ключи.
  • Windows не поднимает туннель — откройте «Диагностику» и нажмите «Проверить и исправить»: приложение запустит BFE, брандмауэр и службу ChameleonBroker.
  • KS не подключается — проверьте синхронизацию времени Windows; AUTO переключится на CITP.

Лицензия

MIT, см. LICENSE и LICENSE-NOTICE.md. Сторонние компоненты (Wintun, .NET и Go‑модули) распространяются под своими лицензиями — список в packaging/THIRD-PARTY-NOTICES.txt.

Вопросы

Что входит в бесплатный план?

До двух установок на персональный ключ. Срок доступа по умолчанию — 30 дней с продлением через бота или вход через Google на сайте. Доступ зависит от ёмкости нод; это предварительный релиз.

Какой протокол выбрать?

Оставьте AUTO. Приложение проверит KS (UDP) и при недоступности подключит CITP (TCP). Вручную протокол меняется во вкладке «Протокол» при отключённом VPN.

Почему Windows просит права администратора?

Они нужны для адаптера Wintun, маршрутов, DNS и правил брандмауэра против утечек. Правила других программ не изменяются, а при отключении всё снимается.

Почему SmartScreen не узнаёт установщик?

У предварительных сборок пока нет коммерческой подписи Authenticode. Скачивайте только с этого сайта и сверяйте SHA‑256. APK подписан отдельным release‑ключом — его отпечаток указан выше.

Что сохраняется при обновлении?

Ключ активации, идентификатор устройства и выбранный протокол. На Windows ключ хранится в DPAPI‑хранилище пользователя и не удаляется даже при деинсталляции.

Что вы записываете?

Мы не сохраняем содержимое VPN‑трафика. Служебные сетевые метаданные нужны для диагностики и хранятся до 72 часов с ограничением объёма. На сайте — только собственные счётчики просмотров и загрузок, без сторонних трекеров.

Есть ли гарантии обхода блокировок?

Нет. Chameleon делает всё, чтобы подключаться в строгих сетях, но мы не обещаем обход любой блокировки, полную анонимность или невидимость для DPI.