English
·
简体中文
·
日本語
·
한국어
·
Русский
·
فارسی
# Usque
Usque — неофициальный клиент, совместимый с сервисами Cloudflare® WARP® для Windows, Linux и Android / Android TV. Он совмещает системный VPN, SOCKS5 и HTTP-прокси в нативном интерфейсе Flutter. Сеть обеспечивает движок MASQUE на Rust.
> [!IMPORTANT]
> Скачивайте официальные пакеты только из [GitHub Releases](https://github.com/GeorgeXie2333/usque-app/releases). Артефакты Pull Request, локальные сборки и двоичные файлы без тега не являются официальными. Документация ветки разработки может описывать ещё не выпущенные изменения; сверяйтесь с примечаниями к выпуску и с документацией на теге вашего пакета.
Usque — независимый проект. Он не принадлежит Cloudflare, Inc., не спонсируется и не одобрен этой компанией. Cloudflare и WARP — товарные знаки и/или зарегистрированные товарные знаки Cloudflare, Inc. в США и других юрисдикциях. Использование потребительского сервиса WARP по-прежнему подчиняется условиям и политике конфиденциальности Cloudflare.
## Снимки экрана
|
Windows
|
Android
|
Снимки английского интерфейса отрисованы из текущих исходников; показано состояние без подключения.
## Загрузка и установка
Эта ветка готовит **v0.3.3 / 0.3.3+29**: версию для Linux, дополнительную поддержку Proton VPN и улучшения повседневного подключения. Сведения об опубликованных версиях доступны в [GitHub Releases](https://github.com/GeorgeXie2333/usque-app/releases) и документации соответствующего тега. Планируются 12 пользовательских установщиков и два Windows MSI только для обновления из приложения:
| Платформа | Минимальная ОС | Пакеты |
| --- | --- | --- |
| Windows | Windows 10 2004, сборка 19041 | установщик EXE для x64-v2 или установщик EXE для ARM64 |
| Linux (v0.3.3) | Ubuntu 22.04+, Debian 12+, поддерживаемая Fedora; systemd | amd64 / arm64 × AppImage / deb / rpm |
| Android / Android TV | Android 8.0, API 26 | APK arm64-v8a, x86_64 или armeabi-v7a |
| Android / Android TV | Android 8.0, API 26 | универсальный APK со всеми тремя ABI |
Для Linux предусмотрены AppImage/deb/rpm для обычной x86-64 и ARM64. До установки проверьте подпись манифеста Ed25519. При первой настройке VPN через AppImage фоновая служба устанавливается с разрешения администратора; для учётных данных нужна разблокированная связка ключей Secret Service. GNOME/KDE, X11/Wayland, восстановление и объём тестирования описаны в [руководстве Linux](docs/LINUX_DESKTOP.md).
Выберите пакет под архитектуру устройства. Windows x64 требует процессор с поддержкой **x86-64-v2**; для ARM64 Windows используйте нативный пакет ARM64. Если ABI Android неизвестен, возьмите универсальный APK большего размера. Перед установкой сравните SHA-256 пакета с `SHA256SUMS` и дайджестом файла на GitHub, затем проверьте отпечаток подписанта из примечаний к выпуску. Если любое значение не совпадает, остановитесь.
Пакеты Windows/Android до версии 1.0 используют фиксированные самоподписанные сертификаты под управлением проекта. Windows может показать предупреждение о неизвестном издателе; пакеты Android ставятся вне Google Play. Не отключайте антивирус или брандмауэр и не импортируйте сертификаты из неофициальных пакетов, чтобы обойти предупреждение.
Обновление, удаление, восстановление и проверка разработчика Android описаны в документе [Установка и удаление](docs/INSTALLATION.md), официальные удостоверения — в документе [Подпись кода](docs/CODE_SIGNING.md). Обновление нужно подтвердить до загрузки, и оно ставится установщиком платформы; установки без участия пользователя нет.
При обновлении с v0.3.1 схема конфигурации меняется с 24 на 26; v0.3.1 и более ранние версии её не читают. Перед обновлением изучите [совместимость конфигурации](docs/INSTALLATION.md#configuration-compatibility-when-upgrading) и подготовьте нужную резервную копию. Переустановка старой версии не отменяет миграцию.
## Первое подключение
1. Установите [проверенный официальный пакет](docs/INSTALLATION.md#verify-before-installing) и откройте Usque.
2. Пройдите шаги разрешений и условий при первом запуске. При настройке Android запрашивает только необязательные уведомления. Разрешение VPN запрашивается при подключении с выходом VPN и может отключить другой VPN; для подключения только через локальный прокси оно не требуется. Зарегистрируйте потребительский аккаунт WARP®, при желании с WARP License Key. После прерывания сначала проверьте сохранённый результат, прежде чем регистрироваться снова. Usque не принимает импорт новых WARP Secret.
3. Откройте **Прокси**. Включите виртуальный сетевой адаптер (Windows) или **VPN** (Android) в разделе **Трафик устройства**, а прокси SOCKS5 или HTTP — переключателем в начале его раздела, затем подключитесь со страницы **Главная**. Переключатели действуют сразу; изменения адресов и портов прослушивания требуют применения.
| Вариант подключения | Когда использовать |
| --- | --- |
| VPN/TUN | Направлять системный трафик через туннель, с вашими правилами обхода и правилами Android по приложениям. |
| SOCKS5 | Дать совместимым приложениям локальный прокси TCP/UDP; по умолчанию используется удалённый DNS. |
| HTTP-прокси | Дать совместимым приложениям локальный HTTP-прокси, в том числе HTTPS через CONNECT. |
| Системный прокси Windows | Направить параметры прокси Windows на HTTP-прокси Usque; HTTP-прокси должен быть включён. |
VPN, SOCKS5 и HTTP включены по умолчанию, системный прокси Windows выключен.
Они используют одно общее подключение WARP и могут работать одновременно. Если отключить все эти варианты,
подключение WARP сохраняется, но трафик приложений через него не идёт.
Каждый аккаунт хранит свои учётные данные; одновременно подключён только один аккаунт.
Сетевые настройки общие для всех аккаунтов.
## Возможности
- Необязательный [цепной прокси](docs/CHAIN_PROXY.md): откройте **Прокси → Цепной прокси** и выберите, в этом порядке,
**OpenVPN**, **WireGuard**, [**WARP via WireGuard**](docs/WARP_WIREGUARD.md),
[**Proton VPN**](docs/PROTON_VPN.md), **VPN Gate**, **HTTP** и **SOCKS5**.
Нативная поддержка Proton ещё проверяется: реальный вход, ручная головоломка и полный туннель не испытаны.
Импортируйте конфигурации VPN или добавьте прокси-серверы, затем выберите одну и примените её.
VPN, SOCKS5 и HTTP используют общий выход; явные правила прямого доступа по-прежнему действуют. По умолчанию выключено.
- Включаемый по желанию [экспериментальный режим L4](docs/L4_PROXY.md) проксирует TCP поверх HTTP/3.
Без цепочки OpenVPN по TCP он не пересылает обычный UDP; приложениям, которым нужен UDP, он может не подойти.
Режим «Авто» не выбирает L4.
- Автоматические подключения HTTP/3 с откатом на HTTP/2. Попытки по IPv4 и IPv6
помогают найти доступную конечную точку; при поддерживаемой смене сети соединение H3 может
мигрировать. См. [поведение пути](docs/h3-path-infrastructure.md).
- VPN с полным туннелем, DNS внутри туннеля, Kill Switch, доступ к локальной сети и [правила DIRECT/REJECT/PROXY с Ads](docs/ROUTING.md). Домены и CIDR поддерживают более точные исключения; конфликты проверяются перед сохранением. При включении и применении блокировки правила подготавливаются автоматически и проверяются каждые семь дней при работающем приложении. Новые запросы используют их без переподключения; сведения о правилах содержат состояние, источник и ручное обновление.
- Пользовательский [DNS выхода WARP](docs/WARP_DNS.md): откройте **Настройки → Дополнительные сетевые настройки → DNS WARP**, выберите обычный DNS, DoH или DoT и примените изменения. Изменение DNS переподключает активную сессию; конечный выход цепочки сохраняет собственную политику DNS.
- Необязательная прямая маршрутизация по странам. Данные GeoIP выбранных стран
и глобальный каталог GeoSite скачиваются отдельно. Если имя домена видно, Usque
применяет правила доменов, иначе правила IP; неизвестные назначения остаются в туннеле.
- Локальная [диагностика сети](docs/network-doctor.md) и страница «Качество сети»:
задержка, показания потери пакетов и их доступность, очереди и тенденции за 60 секунд.
Проверки «Стандартная» читают локальное состояние; проверки «Глубокая» отправляют тестовые запросы
только после подтверждения.
- В Windows — значок в области уведомлений с индикатором состояния, переключателями виртуального сетевого адаптера и системного прокси; пока окно в фоне, уведомления о переподключении длительностью пять секунд, ошибке подключения и восстановлении после объявленного прерывания. Также доступны активация единственного экземпляра, запуск при входе, закрытие окна в область уведомлений, запоминание положения окна и сочетания клавиш.
**Ctrl+1–4** выбирает страницы, **Ctrl+S** применяет изменения, **F5** обновляет VPN Gate или диагностику. См. [управление через область уведомлений и клавиатуру](docs/INSTALLATION.md#tray-and-keyboard-controls).
на Android — плитка быстрых настроек, ярлыки запуска, восстановление после загрузки и навигация на телевизоре.
Двадцать один язык, светлая и тёмная темы.
- После подтверждения потребительский WARP Secret можно экспортировать в выбранный файл. Usque
не может импортировать этот файл, чтобы восстановить аккаунт после переустановки.
**Прокси по приложениям** на Android действует на всё приложение и на все аккаунты. Когда он выключен,
VPN используют все приложения. Когда включён — только выбранные; новые установленные приложения нужно
выбрать. Если в Android включено **Блокировать соединения без VPN**, невыбранные приложения
блокируются, а не обходят туннель.
## Конфиденциальность и ограничения
- Usque требует, чтобы открытый ключ сервера WARP совпадал с зарегистрированным ключом.
Пропустить эту проверку нельзя. Учётные данные остаются в диспетчере учётных данных Windows
или в Android Keystore. В Windows привилегированные сетевые операции выполняет отдельный Agent;
на Android VPN работает в отдельном процессе.
- По умолчанию прокси слушают только loopback. SOCKS5 и HTTP поддерживают необязательную
проверку имени пользователя и пароля; если учётные данные не заданы, проверка не требуется.
Режим только прокси не даёт системного Kill Switch для VPN.
- Диагностика формируется локально, и секретные данные из неё удаляются. Нет аналитики использования
и автоматической отправки, а история качества остаётся только в памяти. Журналы по умолчанию ведутся на уровне INFO
и ограничены 7 днями или 20 MiB. Не публикуйте учётные данные или необработанные пакеты диагностики
в открытых Issues; об уязвимостях сообщайте через [SECURITY.md](SECURITY.md).
- Встроенный Kill Switch Android не защищает трафик после завершения процесса VPN.
Окончательный сбой VPN Gate тоже завершает подключение. Чтобы приложения оставались заблокированы после
завершения VPN, включите в системе и **Постоянный VPN**, и **Блокировать соединения без VPN**.
См. [настройку Android](docs/INSTALLATION.md#android-and-android-tv).
- Usque не объединяет несколько путей, чтобы получить дополнительную пропускную способность. Некоторые показания качества,
в том числе потеря пакетов HTTP/2 и PMTU, недоступны. Локальная диагностика
не может обнаружить утечки трафика.
### Конфиденциальность DNS
Правила прямого доступа по странам и пользовательским доменам по умолчанию используют **DNS текущей сети**: запросы подходящих доменов
уходят DNS-серверам текущей сети, вне VPN. Вместо этого можно
выбрать **DoH** с полным HTTPS URL или **DoT** с именем сервера и портом.
Новые черновики используют Cloudflare; сохранённые пользовательские настройки сохраняются.
Запросы получает этот резолвер; при сбое подключения они не переходят на
DNS в открытом виде. См. [шаги настройки и примеры](docs/encrypted-direct-dns.md).
Остальные удалённые запросы VPN используют туннель WARP или выбранный конечный выход.
DNS цепочки HTTP/SOCKS5 по умолчанию использует Cloudflare® DoH с проверкой TLS через
этот прокси; пользовательский или унаследованный DNS, отличный от стандартного,
сохраняет TCP DNS. С этими выходами запросы UDP/53 к выбранному приложением резолверу передаются ему
по TCP без отката на физический DNS. См. [настройки DNS цепочки](docs/CHAIN_PROXY.md#http-and-socks5-exits--http-与-socks5-出口).
Приложения со
своим шифрованным DNS скрывают доменные имена от Usque, поэтому прямая маршрутизация опирается на правила IP.
Пока подключения нет, загрузка правил также подчиняется Android Lockdown и ещё не снятому Kill Switch Windows.
### Экспериментальные и неподдерживаемые возможности
[Регистрация Zero Trust](docs/ZERO_TRUST_EXPERIMENTAL.md) экспериментальна. Для интернет-туннеля MASQUE используется
удостоверение организации; полной совместимости с Cloudflare One™ Client нет. Исходный код macOS сохранён, но не собирается и
не публикуется. iOS, распространение через магазины приложений и публичный CLI в этот выпуск не входят.
## Сетевые параметры по умолчанию
| Параметр | По умолчанию |
| --- | --- |
| Выбор конечной точки | Автоматический; прежние настройки сохраняют ручной режим |
| Сохранённая ручная точка IPv4 | `162.159.198.2` |
| Сохранённая ручная точка IPv6 | `2606:4700:103::2` |
| Порт / SNI | `443` / `speed.cloudflare.com` |
| Транспорт | Авто: HTTP/3, затем HTTP/2 |
| Контроль перегрузки HTTP/3 | `cubic`; можно выбрать BBRv2, экспериментальный BBRv3 и `reno` |
| Буфер приёма UDP для QUIC | [цель 2 MiB](docs/UDP_RECEIVE_BUFFER.md) в Windows и Android для H3 и L4; фактический объём зависит от ОС |
| TUN MTU | `1280` |
| Резервный DNS | `1.1.1.1`, `2606:4700:4700::1111` |
| SOCKS5 | `127.0.0.1:1080`, `[::1]:1080` |
| HTTP-прокси | `127.0.0.1:8080`, `[::1]:8080` |
Правки адреса прокси и порта остаются черновиком, пока их не применят. По умолчанию DNS прокси использует текущий выход: настройте [WARP DNS](docs/WARP_DNS.md) в дополнительных настройках или DNS конечного выхода в настройках цепочки. На странице прокси нет настроек DNS; настройка DNS прокси, сохранённая в старой версии, продолжает действовать.
Сброс в дополнительных настройках только подставляет значения по умолчанию в черновик и не применяет их сразу.
Zero Trust изначально использует зарегистрированные адреса. В дополнительных сетевых настройках выберите **Изменить адреса Zero Trust**, прочитайте красное полноэкранное предупреждение и подтвердите риски и право доступа, затем измените IPv4/IPv6 и примените изменения. Сброс возвращает зарегистрированные адреса в черновик; повторный вход восстанавливает их и удаляет собственные адреса. Если у выбранного аккаунта настроены собственные адреса Zero Trust или текущая ZT-сессия ещё использует их, на главной странице постоянно отображается предупреждение о рисках, которое нельзя закрыть.
В дополнительных сетевых настройках автоматический режим параллельно проверяет доступные аккаунту точки, а ручной сохраняет введённые адреса. Порт и SNI доступны в обоих режимах. См. [выбор конечных точек](docs/NETWORK_SETTINGS.md#automatic-endpoints--自动选择端点).
Изменения контроля перегрузки сохраняются до следующего ручного подключения или повтора
и не применяются к текущему сеансу и его автоматическим переподключениям. HTTP/2 использует
системный TCP. См. [контроль перегрузки HTTP/3](docs/congestion-control.md).
## Документация и разработка
Для установки и практических руководств начните с [Wiki](https://github.com/GeorgeXie2333/usque-app/wiki/Home). Полный справочник — [указатель документации](docs/README.md); большая часть технических документов на английском.
| Задача | Документ |
| --- | --- |
| Установка, обновление, удаление или восстановление | [Установка](docs/INSTALLATION.md) |
| Нативная настройка гостя или аккаунта Proton | [Руководство Proton VPN и текущие ограничения](docs/PROTON_VPN.md) |
| Подключение к Proton VPN через WARP | [Руководство WireGuard over MASQUE](https://github.com/GeorgeXie2333/usque-app/wiki/Proton-VPN-over-MASQUE) |
| Локальные проверки качества | [Network Doctor](docs/network-doctor.md) |
| Безопасная сборка и проверка изменений | [Участие в разработке](CONTRIBUTING.md) |
| Состояние реализации и проверок | [Реализация](docs/IMPLEMENTATION.md) |
| Сопровождение официального выпуска | [Процесс выпуска](docs/RELEASE.md) |
Используйте закреплённые инструментальные цепочки и проверки по области изменения из руководства для участников. Сборки только для компиляции и детерминированные тесты можно безопасно выполнять на рабочей станции; установка пакетов разработки и проверка жизненного цикла VPN требуют назначенных изолированных сред.
## Апстрим и лицензия
Поведение протокола следует [Diniboy1123/usque](https://github.com/Diniboy1123/usque). В этом репозитории снимок того клиента лежит в `oracle/go` и нужен для тестов совместимости. Интерфейс Flutter и движок Rust — новый код. Авторские права апстрима указаны в лицензии.
Собственный исходный код распространяется по лицензии [MIT](LICENSE.md). Сторонние компоненты сохраняют свои
лицензии. Необязательный [цепной прокси](docs/CHAIN_PROXY.md) включает OpenVPN 3
Core на условиях MPL-2.0 и Mbed TLS на условиях Apache-2.0. Соответствующие исходники, проверенные
исправления и тексты лицензий лежат в `third_party`; приложение показывает
эти уведомления на странице VPN Gate. WireGuard использует BoringTun 0.7.1 (BSD-3-Clause),
а локальные значки SVG — flutter_svg 2.3.0 (MIT); уведомления о них есть в реестре лицензий приложения.
Независимая реализация Proton SRP использует Proton go-srp (MIT) как эталон. [Уведомление об авторских правах и полный текст лицензии](apps/usque_gui/assets/licenses/proton-srp.txt) сохранены в исходниках, тестовых векторах и реестре лицензий приложения.
---
Cloudflare, WARP и Cloudflare One — товарные знаки и/или зарегистрированные товарные знаки Cloudflare, Inc. в США и других юрисдикциях.