DMRConnectDMRConnect
Главная · Для разработчиков · Формат ссылки

Формат ссылки без библиотеки

Ссылку можно собрать самому: JSON, base64url и решётка. Примеры на Python и PHP, про пароль.

JSON с короткими ключами из таблицы и полем "v":1 кодируется в UTF-8, затем в base64url без знаков = и ставится после решётки: https://dmrconnect.ru/add#КОД или dmrconnect://add#КОД. Подойдёт любой генератор QR, библиотека не обязательна.

# Python
import base64, json
cfg = {"v": 1, "t": "hblink", "h": "dmr.example.org", "p": 62031, "n": "Клуб R0A", "pw": "passw0rd", "tg": 91}
code = base64.urlsafe_b64encode(json.dumps(cfg, ensure_ascii=False).encode()).decode().rstrip("=")
print("https://dmrconnect.ru/add#" + code)
// PHP
$cfg = ["v" => 1, "t" => "hblink", "h" => "dmr.example.org", "p" => 62031, "n" => "Клуб R0A", "pw" => "passw0rd", "tg" => 91];
$code = rtrim(strtr(base64_encode(json_encode($cfg, JSON_UNESCAPED_UNICODE)), "+/", "-_"), "=");
echo "https://dmrconnect.ru/add#" . $code;

Про пароль

Всё после # браузер на сервер не отправляет, так что пароль не попадает в логи нашего сайта или вашего хостинга. Но в самом QR пароль читается любым сканером, поэтому код с паролем мастера показывают своим, а не в открытом канале. Пароль Hotspot Security от BrandMeister личный, его в общий код не кладите никогда.

Вопросы и предложения по формату пишите в группу DMRConnect.