Подключение к Karing
Материалы
- karing version >= 1.0.37.490
- karing-connect
- Содержит вторичную обертку app-интерфейса
karing.js - А также пример кода подключения для v2board и sspanel
- Содержит вторичную обертку app-интерфейса
1. Демонстрация
Подключение провайдера к Karing
-
Видео ниже показывает ситуацию, когда провайдер(сервис/ISP-сайт) и Karing настроены для подключения
-
Пользователь завершает цикл входа в приложении и входит в аккаунт на странице провайдера
- Конфигурация импортируется автоматически, данные провайдера автоматически подтягиваются и перезаписывают стандартную конфигурацию Karing.
-
Видео-демонстрация:
Сравнение процесса
-
По сравнению с полным процессом использования VPN/прокси-приложения, способ
karing-connectзначительно упрощает работу. -
Особенно для начинающих пользователей: не нужно понимать подписки и конфигурации, достаточно знать
заклинаниеиаккаунт провайдера -

2. Что такое karing-connect
- Пользователь открывает страницу входа провайдера(VPN-сервиса) из встроенного webview-контейнера Karing, и после входа конфигурация импортируется автоматически.
Преимущества после завершения подключения
- Замкнутый цикл входа пользователя, подключение в один клик.
- Информация провайдера внутри APP
- Можно добавить главную страницу провайдера, FAQ, поддержку, социальные аккаунты и т.п., с закрепленным отображением в меню Karing.
- Настраиваемые функции:
- Поддержка push-сообщений, можно настраивать платформу, канал и версию.
- Напоминание о продлении при окончании тарифа, с прямым переходом на страницу продуктов провайдера.
- todo провайдер может настраивать часть стандартных параметров APP под свои особенности, например ipv6, dns и т.п.
- Без дополнительной рекламы:
- Рекламный блок
специальный трафикна странице настроек Karing показывает только ссылку этого провайдера. - В APP больше не показываются другие конкурирующие сервисы
- Рекламный блок
- Безопасность:
- Весь код подключения открыт и прозрачен; провайдер также может развернуть его самостоятельно и изменять под свои задачи.
- Karing не записывает и не собирает логины/пароли.
Возможности в будущем
- todo владелец провайдера сможет изменять стандартную конфигурацию и правила
- todo специальная версия APP для провайдера: собственный logo, имя, конфигурация
3. Способ привязки/подключения
Три шага
- 1 Зарегистрируйтесь и создайте провайдера на https://harry.karing.app/provider
- 2 Измените код сайта провайдера, добавьте страницу подключения, например
http://v2board.local/karing-connect.html- Загрузите
karing.js - Вызовите метод
configобъекта_karingдля импорта конфигурации
- Загрузите
- 3 В админ-панели провайдера добавьте
заклинаниеи адрес страницы подключения
Примеры подключения
- Если вы используете относительно новые версии sspanel и v2board, ниже уже есть два полных примера:
Пример: привязка Karing через V2Board
Пример: подключение SSPanel к Karing
Описание файлов karing-connect
├── karing.js Вторичная обертка открытого интерфейса Karing APP
├── karing.min.js Сжатая версия karing.js, без обфускации
├── sspanel
│ └── KaringController.php Новый контроллер в примере sspanel
└── v2board
├── custom.js JS-код, добавленный в примере v2board
└── karing-connect.html Страница подключения примера
Пример использования karing.js
- Сейчас js-файл доступен только по двум адресам, но при наличии условий его можно развернуть на своем сервере.
- harry-сайт: https://harry.karing.app/assets/karing.min.js
- github: https://raw.githubusercontent.com/KaringX/karing-connect/refs/heads/main/karing.min.js
Способ загрузки
- Изменить html
<script src="https://harry.karing.app/assets/karing.min.js"></script>
- JS-загрузка
// Создать тег script
var script = document.createElement("script");
script.src = "https://harry.karing.app/assets/karing.min.js";
// После завершения загрузки скрипта выполнить метод
script.onload = function () {
something_todo();
};
// Добавить тег script в document и начать загрузку JS-файла
document.body.appendChild(script);
Основные вызовы методов
// Предустановить PID
(async function () {
try {
// параметры:
// PID - id, автоматически назначенный при создании провайдера в панели harry
// смысл предустановки в предварительной загрузке конфигурационного файла
// 1. проверка конфигурации.
// 2. сокращение последующего ожидания пользователя.
const result = _karing.prepare(PID);
if (result == "") {
// автоматически закрыть подсказку через 3 секунды
_karing.toast("Successfully prepared, next step...", true, 3);
} else {
_karing.error("prepare failed, err:", result);
}
} catch (error) {
console.error("Preparation failed:", error);
}
})();
// Добавить конфигурацию Karing
window.onload = async function () {
try {
// параметры:
// PID пустой - app автоматически прочитает значение, заданное prepare
// user_nick: ник пользователя
// link: ссылка подписки провайдера
// link_name: имя подписки, можно использовать имя провайдера
const result = await _karing.config(null, user_nick, link, link_name);
if (result == "") {
// автоматически закрыть подсказку через 3 секунды
_karing.toast("Import configuration successful, enjoy!", true, 3);
} else {
_karing.error("config failed, err:", result);
}
} catch (error) {
console.error("Configuration failed:", error);
}
};
4. Сотрудничество с Karing
- Нажмите, чтобы перейти 👉 контакты и формы сотрудничества