Работа через API
Linken Sphere предоставляет мощный RESTful API для полной автоматизации действий как внутри самого приложения, так и в запущенных сессиях.
invisible text for space
С помощью API вы можете программно управлять практически всеми аспектами работы:
Управление сессиями: создание (в том числе массовое), клонирование, изменение и удаление.
Управление окружением: работа с пресетами и рабочими столами.
Работа с данными: импорт и экспорт cookies в различных форматах (JSON, Netscape).
Интеграция с фреймворками автоматизации: запуск сессий, совместимых с Playwright, Puppeteer, Selenium и другими инструментами через Chrome DevTools Protocol (CDP).
Прочие операции: запуск прогрева профилей (WarmUp), назначение, проверка прокси-соединений и многое другое.
invisible text for space
Полный список методов с подробным описанием и примерами вы найдете в нашей Postman-документации.
API доступен пользователям тарифов Pro и Premium.
Мы не устанавливаем искусственных ограничений на количество запросов (RPM/RPH). Скорость работы API ограничена только вычислительной мощностью вашего компьютера.
Активация API
По умолчанию API-сервер отключен. Чтобы начать работу, его необходимо активировать и указать порт:
Нажмите на иконку шестеренки в левом верхнем углу, чтобы перейти в глобальные настройки.
Перейте в раздел Network.
В поле Api port укажите желаемый порт (например, 36555) и нажмите Enter.

После сохранения настроек API будет доступен по локальному адресу. Например, если вы указали порт 36555, эндпоинт будет: http://127.0.0.1:36555/
Использование пресетов при работе с API

В Linken Sphere реализован особый подход к созданию сессий через API, нацеленный на повышение удобства и эффективности вашей работы. Вместо передачи полного набора параметров в каждом запросе, вы используете пресеты.
invisible text for space
Пресет — это заранее сконфигурированный шаблон настроек для сессий, который вы создаете и настраиваете в графическом интерфейсе программы. Вы можете создать несколько пресетов для разных задач, указав в них все ключевые параметры:
Основные данные конфигурации: операционная система, браузер и т.д.
Тип хранения данных: локальный или облачный.
Пользовательские настройки: стартовые страницы, закладки и предустановленные расширения.
Вспомогательные функции: например, активация AdCrusher.
invisible text for space
Все остальные параметры, необходимые для обеспечения уникальности отпечатка, генерируются автоматически на основе выбранных вами настроек в пресете.
Для управления пресетами через API используется отдельный метод — Set Active Provider. С помощью этого метода вы указываете, какой из созданных пресетов должен быть активным в данный момент.
После этого все сессии, которые вы создаете через API, будут автоматически использовать настройки из этого активного пресета.
invisible text for space
Такой подход дает несколько ключевых преиментов:
Вам не нужно самостоятельно реализовывать сложную логику рандомизации отпечатков. Linken Sphere берет эту задачу на себя, гарантируя высокое качество и уникальность конфигураций.
Упрощается управление конфигурациями. Вместо десятков параметров в каждом API-запросе вы оперируете только идентификатором нужного пресета.
Гибкость и скорость. Вы можете быстро переключаться между совершенно разными конфигурациями (например, “Windows/Chrome” и “macOS/Safari”), просто меняя активный пресет одной командой.
invisible text for space
Для получения более подробной информации о том, как создавать и настраивать шаблоны, изучите раздел — Создание пресетов.
Базовая автоматизация и примеры подключения
Базовая автоматизация состоит из следующих шагов:
Запустить сессию используя API
Подключиться к порту сессии с помощью инструмента автоматизации
Запустить собственный скрипт автоматизации через открытое соединение
invisible text for space
Для работы c API должен быть запущен и авторизован клиент Linken Sphere
Шаг 1. Создание и запуск сессии с использованием API
Для создания сессии через API необходимо послать POST-запрос по адресу http://127.0.0.1:40080/sessions/create_quick

После чего будет создана сессия с использованием настроек активного пресета на текущем рабочем столе. В ответ мы получим имя созданной сессии и ее уникальный “uuid” - именно на нём и строится будущая работа скриптов.
invisible text for space
{
"name": "Default provider 4",
"uuid": "19bb5764-98a3-4ee1-bff8-5306e434493d"
}
invisible text for space
После получения “uuid” нужной нам сессии мы можем ее запустить отправив POST-запрос по адресу http://127.0.0.1:40080/sessions/start и передав body
invisible text for space
{
"uuid": "19bb5764-98a3-4ee1-bff8-5306e434493d",
"headless": false,
"debug_port": 12345
}

Следует отметить, что headless и debug_port являются опциональными, и если их не передать то сессия будет запущена в обычном режиме с автоматическим назначением порта.
Если всё верно то в ответ придет следующая структура
invisible text for space
{
"debug_port": 12345,
"uuid": "19bb5764-98a3-4ee1-bff8-5306e434493d"
}
invisible text for space
Важно:
Локальное API работает только при запущенном клиенте Linken Sphere
Запросы необходимо посылать с компьютера, на котором запущен клиент Linken Sphere
Локальное API использует порт, заданный в глобальных настройках программы
Шаг 2. Подключение к запущенной сессии
Selenium
Для работы с Selenium необходимо скачать и установить ChromeWebDriver по ссылке:
Для Mac Intel: chromedriver-mac-x64.zip
Для Mac ARM (M-series): chromedriver-mac-arm64.zip
Для Windows: chromedriver-win64.zip
Примеры кода для подключения Selenium к уже запущенному браузеру представлены ниже.
invisible text for space
Selenium Python
# pip install selenium
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
debug_port = 12345
# Укажите путь к вашему chromedriver
s = Service(executable_path="/ваш/путь/к/chromedriver.exe")
options = webdriver.ChromeOptions()
options.add_experimental_option("debuggerAddress", f"127.0.0.1:{debug_port}")
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://ls.app/')
print(driver.title)
driver.quit()
invisible text for space
Selenium JS
// npm i selenium-webdriver
const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
(async () => {
const debugPort = 12345;
// Укажите путь к вашему chromedriver
const service = new chrome.ServiceBuilder('/ваш/путь/к/chromedriver.exe');
const options = new chrome.Options().debuggerAddress(`127.0.0.1:${debugPort}`);
const driver = await new Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.setChromeService(service)
.build();
try {
await driver.get('https://ls.app/');
const title = await driver.getTitle();
console.log(title);
} finally {
await driver.quit();
}
})();
Playwright
Примеры подключения к запущенной сессии используя Playwright:
invisible text for space
Playwright Python
import asyncio
from playwright.async_api import async_playwright
debug_port = 12345
async def main():
async with async_playwright() as p: {
browser = await p.chromium.connect_over_cdp(endpoint_url=f"http://127.0.0.1:{debug_port}")
context = browser.contexts[0]
page = await context.new_page()
await page.goto("https://ls.app/")
print("Title:", await page.title())
await browser.close()
}
asyncio.run(main())
invisible text for space
Playwright JS
const { chromium } = require('playwright');
const debugPort = 12345;
(async () => {
const browser = await chromium.connectOverCDP(`http://127.0.0.1:${'{'}debugPort{'}'}`);
const context = browser.contexts()[0];
const page = await context.newPage();
await page.goto('https://ls.app/', { waitUntil: 'domcontentloaded' });
console.log('Title:', await page.title());
await browser.close();
})();
Pyppeteer/Puppeteer
Примеры подключения к запущенной сессии используя Pyppeteer/Puppeteer:
invisible text for space
Pyppeteer Python
import asyncio
from pyppeteer import connect
debug_port = 12345
async def main():
browser = await connect(browserURL=f'http://127.0.0.1:{debug_port}', defaultViewport=None)<br></br> page = await browser.newPage()<br></br> await page.goto(https://ls.app/')
print('Title:', await page.title())
await browser.disconnect()
asyncio.run(main())
invisible text for space
Puppeteer JS
const puppeteer = require('puppeteer');
const debug_port = 12345;
(async () => {
const browser = await puppeteer.connect({ browserURL: `http://127.0.0.1:${'{'}debug_port{'}'}`, defaultViewport: null });
const page = await browser.newPage();
await page.goto('https://ls.app/');
console.log('Title:', await page.title());
await browser.disconnect();
})().catch(console.error);
Шаг 3. Остановка сессии через API
Для остановки сессии через API необходимо послать POST-запрос по адресу http://127.0.0.1:40080/sessions/stop с указанием “uuid”.
invisible text for space
{
"uuid": "19bb5764-98a3-4ee1-bff8-5306e434493d"
}
invisible text for space
Подробная документация по работе с API: documenter.getpostman.com/view/32398185/2s9YsRd9cC
При возникновении вопросов, пожалуйста обращайтесь в службу поддержки через чат в самой программе или используя бот в Telegram.
Предыдущая страница
Следующая страница