1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/kesin-ProxyBalance

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
Readme.md

Динамический прокси-балансировщик PBS

PBS Server — это балансировщик HTTP/HTTPS прокси, который автоматически выбирает лучшие прокси.

Этот инструмент был разработан для быстрой и простой реализации динамического прокси HTTP(s). В проекте недавно использовался HaProxy для соответствующей реализации, но он всё ещё кажется слишком тяжёлым и не поддерживает оптимизацию на основе качества прокси (например, задержки).

Учитывая, что стабильность сети прокси не может быть гарантирована, мы придерживаемся принципа «чем проще задача, тем проще её реализация». Мы разработали небольшой инструмент и представляем его здесь для тех, кто может его использовать.

Функции:

  • предоставление прокси-ссылок для PBS-клиента для планирования запросов;
  • предоставление PBC-клиенту для быстрой настройки прокси-узлов;
  • поддержка конфигурации нескольких узлов и весов (WRR);
  • поддержка группировки прокси-узлов;
  • динамическое обнаружение узлов и корректировка весов или удаление устаревших узлов;
  • настройка максимального количества одновременных подключений для одного узла;
  • блокировка или блокировка режима после достижения максимального числа одновременных подключений.

Дизайн проекта:

введите сюда описание изображения

Структура каталога:

├── LICENSE
├── Readme.md
├── go.mod
├── go.sum
├── pbc
│   ├── config.go
│   └── pbc.go // pbc client, used for config a proxy
├── pbs
│   ├── checker.go
│   ├── config.go
│   ├── pbs.go // pbs server, used for manage proxies
│   ├── pbs.json
│   ├── pbs.json.example
│   └── proxy.go
└── test
    └── testServer.go // tools for test servers

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

PBS Server

Скачайте скомпилированный и собранный клиент PBS и выполните команду ./pbs -h.

Usage: Config your pbs.json and start pbs with command ./pbs -c ./config.json &

Args:
	-c	Specify a config json
	-h	Help and quit
	-v	Show current version and quit

Настройте pbs.json:

{
  "Port": 7788,   // port for pbs listening
  "ActiveProxyGroups": "all", // select which groups actived, eg: 'all' or 'asia,africa' are same
  "Proxies": {
    "asia": [
      "127.0.0.1:7791 5", // ip:port weight
      "127.0.0.1:7792 1"
    ],
    "africa": [
      "127.0.0.1:7793 1"
    ]
  }
}

Запустите с помощью команды ./pbs -c ./pbs.json.

PBC Client

Конфигурация PBC находится на вашем прокси-сервере. Выполните команду ./pbc -h:

Usage: you can start pbc at port 7799 with command ./pbc -p 7799 &

Args:
	-p	Specify PBC client port to start
	-h	Help and quit
	-v	Show current version and quit

Выполните команду ./pbc -p 7791, чтобы запустить службу на порту 7791.

Сборка: Проект очень прост. Вам нужно только загрузить код, а затем выполнить следующие команды отдельно:

go build pbs.go
go build pbc.go
go build test/testServer.go

Это создаст соответствующие исполняемые файлы.

Вклад в код:

  1. Fork репозитория.
  2. Создайте локальную ветку (git checkout -b my-new-feature).
  3. Зафиксируйте изменения (git commit -am 'Add some feature').
  4. Отправьте в ветку (git push origin my-new-feature).
  5. Создайте Pull Request.

Автор: @Zoker

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Proxy Balance — это балансировщик HTTP/HTTPS прокси, который автоматически выбирает лучшие прокси. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/kesin-ProxyBalance.git
git@api.gitlife.ru:oschina-mirror/kesin-ProxyBalance.git
oschina-mirror
kesin-ProxyBalance
kesin-ProxyBalance
master