Skip to content

bububebe0/UniProxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniProxy

UniProxy Logo

Расширение Chrome для управления прокси прямо из панели инструментов

Manifest V3 Version License


UniProxy

UniProxy - расширение для Chromium-браузеров, позволяющее быстро переключаться между несколькими прокси-профилями без входа в системные настройки. Поддерживает HTTP, HTTPS, SOCKS4 и SOCKS5 и гибкое туннелирование по доменам.

Разработано с упором на скорость и совместимость с VPN-клиентами уровня сети (sing-box, Clash, tun-интерфейсы и т.д.).


Возможности

  • Несколько профилей - создавайте, редактируйте и удаляйте любое количество прокси-профилей
  • Протоколы - HTTP, HTTPS, SOCKS4, SOCKS5
  • Аутентификация - логин и пароль подставляются автоматически, браузерный диалог входа не появляется
  • Site Tunneling - два режима:
    • Все сайты - весь трафик идёт через прокси
    • Только указанные сайты - через прокси идут только домены из списка, остальной трафик - напрямую
  • Совместимость с VPN - при отключении прокси браузер возвращается к системным настройкам, не ломая sing-box, Clash и другие VPN-клиенты
  • Автосохранение черновика - данные формы сохраняются при закрытии popup и восстанавливаются при повторном открытии
  • Тест соединения - проверка доступности прокси прямо из интерфейса
  • Русский / English - переключение языка в один клик
  • Тёмный интерфейс - минималистичный дизайн

Структура файлов

uniproxy/
├── manifest.json          # Манифест расширения (MV3)
├── background.js          # Service worker: логика прокси, аутентификация, tunneling
├── icons/
│   ├── icon16.png
│   ├── icon32.png
│   ├── icon48.png
│   └── icon128.png
└── popup/
    ├── popup.html         # Разметка интерфейса
    ├── popup.css          # Стили (тёмная тема, DM Mono + Syne)
    └── popup.js           # Логика UI, i18n, автосохранение черновика

Установка

Из /releases

  1. Скачайте последнюю версию файла .rar https://github.com/bububebe0/UniProxy/releases

  2. Распакуйте архив

  3. Откройте Chrome и перейдите на страницу расширений:

    chrome://extensions/
    
  4. Включите Developer mode/Режим разработчика

  5. Нажмите Load unpacked/Загрузить распакованное расширение

  6. Выбрать распакованную папку

Из исходников (Developer Mode)

  1. Клонируйте репозиторий либо перейдите на

    git clone https://github.com/your-username/uniproxy.git
  2. Откройте Chrome и перейдите на страницу расширений:

    chrome://extensions/
    
  3. Включите Developer mode/Режим разработчика (переключатель в правом верхнем углу)

  4. Нажмите Load unpacked/Загрузить распакованное расширение и выберите папку с репозиторием

  5. Иконка UniProxy появится в панели инструментов


Использование

Создание профиля

  1. Нажмите + в правом верхнем углу
  2. Заполните поля: название, протокол, хост, порт
  3. При необходимости - логин и пароль
  4. Нажмите Save

Подключение

Нажмите кнопку ▶ рядом с нужным профилем. Активный профиль отмечается зелёной точкой в статус-баре.

Site Tunneling

  1. Откройте настройки (иконка шестерёнки)
  2. Выберите режим:
    • All sites - весь трафик через прокси
    • Specific sites only - только домены из списка
  3. Добавляйте домены в формате example.com (субдомены подхватываются автоматически)

Совместимость с VPN / sing-box

Если VPN работает как TUN-интерфейс (перехват на уровне сети) - режим Specific sites корректно работает: указанные домены идут через прокси, остальные через TUN.

Если VPN настроен как системный прокси - используйте режим All sites и задавайте фильтрацию на стороне VPN-клиента.


Разрешения

Разрешение Зачем нужно
proxy Управление настройками прокси Chrome
storage Хранение профилей и настроек
webRequest Перехват сетевых запросов
webRequestAuthProvider Автоматическая подстановка логина/пароля прокси
tabs Обновление состояния после переключения
notifications Уведомления об ошибках подключения
host_permissions: <all_urls> Применение прокси ко всем сайтам

Технические детали

  • Manifest V3 - современный стандарт расширений Chrome
  • Service Worker - фоновый процесс без постоянной страницы
  • PAC-скрипт - используется для режима Specific sites, корректно матчит домены и субдомены ((^|\.)example\.com$)
  • chrome.proxy.settings.clear() - при отключении возвращает управление ОС, не выставляет DIRECT
  • webRequestAuthProvider - перехватывает только прокси-аутентификацию (isProxy: true), серверные 401 не затрагивает

Лицензия

MIT - используйте свободно, в том числе в коммерческих проектах.

About

UniProxy is an extension for Chromium browsers that allows you to quickly switch between multiple proxy profiles without logging into the system settings. It supports HTTP, HTTPS, SOCKS4, and SOCKS5 protocols

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors