Документация Lacc
Всё, что провайдер может задать через ссылки и кабинет Lacc, и что применяет клиент. Один источник для трёх слоёв: кабинет Premium Partner Access, приложение (Windows / Android / iOS) и check-server.
Стандартные параметры (трафик, срок, заголовок, объявления) применяются с любой подписки. Премиум-функции (обход блокировок, автоподключение, брендинг, kiosk, per-app) — только когда подписка несёт валидный partnerkey, подтверждённый на check.lacc.ru, то есть через наши ссылки. Чужая или безключевая подписка премиум молча игнорирует. Брендинг — всегда премиум.
Разработчики подписок интегрируются под форматы Lacc: свои крипто-ссылки, схема lacc://, полная схема маршрутизации, наши параметры, наш check-server. Чужие форматы принимаются только на входе, бренд наружу не всплывает.
Доставка параметров
Провайдер отдаёт настройки тремя каналами. Клиент читает все; при конфликте заголовок важнее тела.
| Канал | Формат | Пример |
|---|---|---|
| HTTP-заголовок | key: value в ответе на запрос подписки | routing: lacc://routing/onadd/<b64> |
| Тело | #key: value / #key {value} | #profile-title: Мой сервис |
| URL-фрагмент | ...#?key=value | sub_url#?partnerkey=ABC123 |
Значения могут иметь префикс base64:. Любой доп. ключ (Custom) хранится дословно. Формат единый на всех платформах.
Ссылки lacc://
Генерируем только свои. На импорт дополнительно принимаем чужие того же вида, но наружу отдаём только lacc://.
| Схема | Действие |
|---|---|
lacc://add/<b64> | импорт подписки или ключей |
lacc://crypt/<payload> | зашифрованная ссылка (X25519) |
lacc://hwid/<b64> | подписка, привязанная к устройству |
lacc://routing/add|onadd/<b64> | профиль маршрутизации (+ активировать) |
lacc://routing/off | отключить активный профиль |
?installid=<code> | limited-ссылка (лимит устройств) |
Стандартные параметры free
Применяются с любой подписки, включая чужие и без ключа.
| Параметр | Что делает | Win | And |
|---|---|---|---|
subscription-userinfo | трафик и срок | ✓ | ✓ |
profile-title | имя профиля (+base64) | ✓ | ✓ |
profile-update-interval | период обновления, ч | ✓ | планировщик |
support-url · profile-web-page-url | ссылки поддержки/кабинета | ✓ | частично |
announce · announce-url | объявление (баннер) | ✓ | только тело |
routing-enable | активировать профиль маршрутизации | ✓ | ✓ |
partnerkey · верификация
Идентификатор провайдера, привязанный к домену. Доставка тремя способами: URL #?partnerkey=<ID>, тело #partnerkey {ID}, заголовок partnerkey: <ID>.
GET check.lacc.ru/partner?id=<partnerkey>&domain=<sha256(host)>&hwid=<HWID>&os=<android|windows>&v=<ver>
→ { valid, tier, features[], expires, max_devices, reason }
Не чаще раза в 24 ч, кэш с грейсом (сеть недоступна → последний валидный кэш). Применяемое множество = features ∩ тир. reason=device_limit → баннер. Брендинг — только при активном ключе.
HWID · limited-ссылки
HWID — SHA-256 от машинного ID с солью, первые 16 байт → 32 hex. Windows: MachineGuid. Android: ANDROID_ID. Один алгоритм везде; шлётся заголовками hwid+os при запросе подписки.
- HWID-ссылка — привязка к устройству, сверяется локально; чужой → «Ссылка привязана к другому устройству».
- Limited-ссылка (
?installid=) — лимит устройств;check.lacc.ru/install→ partnerkey + статус; сверх лимита → отказ.
Provider API · кабинет
Конверт: { "rc": 1 ok | 0 error | 2 conflict, "msg", ... }. Авторизация: provider_code + auth_key.
Ссылки и домены
add-install/update-install/list-install— limited-ссылки.list-hwid/delete-hwid— устройства по ссылке.add-domain/delete-domain/list-domain— домены (SHA-256, сырой URL не хранится).
Push и команды под auth
/remote/notification— пуш (локали RU/EN/CN/FA, force/optional, срок, расписание)./remote/command—import-data·update-subscription·set-settings·sub-change.
Маршрутизация
Профиль в едином JSON (одинаков на всех платформах): какие сайты через туннель, напрямую или в блок.
Name, GlobalProxy, RouteOrder, ProxySites/ProxyIp, DirectSites/DirectIp, BlockSites/BlockIp, Geositeurl/Geoipurl, DomainStrategy, FakeDNS, DnsHosts, RemoteDNS*, DomesticDNS*, UseChunkFiles.
{
"Name": "Обход РФ",
"GlobalProxy": false,
"RouteOrder": "block-proxy-direct",
"ProxySites": ["geosite:youtube"],
"DirectSites": ["geosite:category-ru"],
"DirectIp": ["geoip:ru"],
"BlockSites": ["geosite:category-ads-all"]
}
Домены / full: / geosite: → доменные правила; IP / CIDR / geoip: → IP-правила; фазы в порядке RouteOrder; при GlobalProxy=false без proxy-правил — страховка от утечки. Гео-базы качаются с нашего сервера. Доставка: routing: / #routing: / lacc://routing/onadd/.
Крипто-ссылки
Наша схема (не чужой RSA). lacc://crypt/ = X25519 → HKDF-SHA256 (info lacc-crypt-v1) → XChaCha20-Poly1305; формат eph_pub32 ‖ nonce24 ‖ ct+tag, base64url. Sealed-box — шифруем и расшифровываем сами; пользователь не может вытащить исходный URL.
Статус по платформам
Что реально сделано, а что в планах.
Windows ~90%
Премиум-гейтинг заперт, полный набор параметров, маршрутизация с полной DNS-схемой, QR, LAN-share, крипто, HWID. Осталось: xray run-path для тонких транспорт-параметров.
Android ~35%
Готово: клиент, импорт (vless/vmess/trojan/ss/JSON), сервера с честным пингом и «Авто», DNS, mux/fragment/split локально, обновление из приложения, 5 языков, маршрутизация (профили + гео + редактор). По волнам: partnerkey/HWID/гейтинг → параметры → ссылки/крипто/QR → монитор → комфорт.
iOS план
После унификации Windows и Android — единый набор функций переносится на iOS.
Кабинет · check-server ~80%
Верификация ключей, лимиты устройств, домены, push/команды. Дорабатывается веб-интерфейс кабинета.