Skip to content

ThisTakou/FPC-UserAgentAuto-Rotate-Generate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

FPC-UserAgentAuto-Rotate-Generate

Как устроен плагин

cab98d32-180e-4547-8e0b-5404317c010e

FunPay User-Agent Rotator — это плагин для FunPayCardinal, который не просто хранит один User-Agent, а управляет всем циклом работы с ним: генерацией, ротацией, проверкой, импортом собственных строк и областью применения.

Основная идея плагина — дать удобный инструмент, который можно полностью контролировать через Telegram-кнопки, без постоянной ручной правки файлов и без рестартов после каждого изменения.

Что делает плагин

Плагин умеет:

  • генерировать User-Agent прямо внутри себя;
  • ротировать его по таймеру в секундах;
  • менять интервал без рестарта;
  • работать через кнопочный интерфейс Telegram;
  • проверять строку через WhatMyUserAgent Free API;
  • включать и выключать уведомления;
  • выбирать платформы и браузеры для генерации;
  • загружать свои User-Agent списком;
  • переключать охват применения нового User-Agent.

Из каких частей состоит плагин

Внутри плагин логически делится на несколько основных блоков.

1. Настройки

image

Плагин хранит:

  • включена ли авто-ротация;
  • какой интервал стоит в секундах;
  • включены ли уведомления;
  • включена ли API-проверка;
  • какой режим источника активен;
  • какой охват активен;
  • какие платформы участвуют в генерации;
  • какие браузеры участвуют в генерации;
  • какие пользовательские User-Agent уже загружены.

2. Состояние

Отдельно хранится текущее runtime-состояние:

  • какой User-Agent сейчас активен;
  • из какого источника он получен;
  • какая платформа использовалась;
  • какой браузер использовался;
  • время последней смены;
  • время следующей смены;
  • результат последней проверки;
  • последние ошибки;
  • кеш каталогов;
  • список последних строк, чтобы не крутить одно и то же слишком часто.

3. Каталоги платформ и браузеров

Плагин подтягивает списки значений с WhatMyUserAgent:

На момент проверки страницы содержат:

  • 143 платформы;
  • 419 браузеров.

По умолчанию в рабочий пул попадают:

  • первые 100 платформ;
  • первые 300 браузеров.

Это можно менять вручную через кнопки.

4. Генератор

Плагин умеет генерировать строку сам.
Для этого он:

  1. выбирает платформу из активного списка;
  2. выбирает браузер из активного списка;
  3. определяет семейство браузера;
  4. подставляет подходящий шаблон;
  5. собирает итоговый User-Agent.

Поддерживаются разные семейства строк:

  • Chromium / Chrome;
  • Firefox;
  • Safari;
  • Edge;
  • Opera;
  • Samsung Internet;
  • UC Browser;
  • Brave;
  • Vivaldi;
  • Yandex Browser;
  • текстовые браузеры вроде Lynx.

То есть это не просто одна и та же строка с подменой пары цифр, а несколько разных шаблонов под разные типы клиентов.

5. Пользовательский пул User-Agent

Если встроенной генерации мало, можно загрузить свой список.

Формат:

1 строка = 1 UA Пример:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.6998.89 Safari/537.36 Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.6768.91 Safari/537.36 После импорта можно выбрать один из режимов:

генерация свои UA микс Как работает ротация Плагин запускает собственный фоновый цикл. Он регулярно проверяет:

включена ли авто-ротация; наступило ли время следующей смены; какой источник сейчас активен; куда должен применяться новый User-Agent. Если пришло время смены, плагин:

берёт новый User-Agent из активного источника; сохраняет его как текущий; применяет его в runtime; при необходимости проверяет через API; обновляет время следующего цикла; отправляет уведомление, если они включены. Главное здесь то, что всё это работает без рестарта.

Зачем нужна внешняя API-проверка Плагин умеет проверять текущую строку через:

WhatMyUserAgent Free API По документации используется запрос вида:

https://whatmyuseragent.com/api?ua=USERAGENT&key=NOTREQUIED То есть отдельный пользовательский API-ключ не нужен.

Важно: API здесь нужно не для генерации и не для ротации. Оно нужно только для проверки результата.

Проверка позволяет понять:

как внешний сервис распознаёт браузер; какую ОС он видит; какой тип устройства определяет; распознаётся ли строка вообще адекватно. То есть API в этом плагине — это валидатор, а не обязательная зависимость.

Нужно ли добавлять API вручную Нет.

Для этого плагина отдельный ключ добавлять не нужно.

Причина простая:

используется free API WhatMyUserAgent; у него уже предусмотрен публичный формат запроса; плагин сам обращается к нему для валидации строки. Если API-проверка не нужна, её можно выключить — и плагин всё равно продолжит:

генерировать строки; менять их по таймеру; применять в runtime. Что даёт смена User-Agent на практике Плагин нужен не как “магия против лимитов”, а как управляемый инструмент работы с User-Agent.

Он может быть полезен для:

обновления профиля HTTP-запросов; снижения однотипности строк; тестов разных платформ и браузеров; ручного и автоматического контроля текущего клиента; управления поведением без ручной правки кода. Что смена User-Agent не делает Важно не ждать от плагина того, чего User-Agent сам по себе не гарантирует.

Смена User-Agent не означает, что она:

обнуляет лимиты сайта; сбрасывает rate limit; меняет IP; обходит ограничения аккаунта; сбрасывает серверные ограничения по сессии; решает все вопросы антибот-логики сама по себе. Если ограничения завязаны на:

IP; cookies; сессию; fingerprint; аккаунт; серверную историю запросов, то одна только смена User-Agent это не исправит.

Поэтому правильнее воспринимать плагин как инструмент управления HTTP-профилем клиента, а не как средство “обнуления лимитов”.

Охват применения В плагине есть три режима охвата:

FunPay API Cardinal Server FunPay API Более точечный режим. Ориентирован на рабочие объекты и запросы, связанные с FunPay-аккаунтом.

Cardinal Более широкий runtime-режим. Плагин обновляет:

активные requests.Session; известные headers/default_headers; runtime-объекты процесса; рабочую среду самого FunPayCardinal. Это основной и самый практичный режим для повседневной работы.

Server Специальный режим для Ubuntu/Linux-сценариев.

Важно понимать честно: у Linux нет одной глобальной “системной настройки User-Agent для всей ОС”. User-Agent — это HTTP-заголовок клиента, а не системный сетевой параметр.

Поэтому режим Server делает реалистичную вещь:

пишет текущий User-Agent в env/profile текущего пользователя или сервиса; одновременно применяет его в текущем runtime процесса. Это практичный профильный режим, а не фейковый “магический global UA”.

Логика конфликтов режимов Здесь специально сделана строгая логика, чтобы всё не превратилось в конфликтные галочки.

Если включается Server, то:

FunPay API выключается; Cardinal выключается. Если включается FunPay API, то:

Server выключается. Если включается Cardinal, то:

Server выключается. FunPay API и Cardinal могут работать вместе.

Если пользователь случайно выключит всё, плагин оставит хотя бы:

Cardinal Это сделано для того, чтобы не было ситуации, когда ротация включена, интерфейс живой, а реально User-Agent никуда не применяется.

About

Плагин для FunPayCardinal с кнопочной ротацией User-Agent, генерацией, проверкой через WhatMyUserAgent API и выбором области применения без рестартов.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages