diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..6678b0f --- /dev/null +++ b/Readme.md @@ -0,0 +1,86 @@ +# Windows Proxy Changer + +Простая программка для переключения между прокси в Windows. ***Разработана прежде всего для личных нужд.*** + +## Запуск + +Для запуска программы предоставлены .bat и .cmd файлы на которые можно сделать ярлыки и пользоваться с удобством. +В этих файлах программа запускается с помощью коммандной строки. В целом есть 2 способа запуска программы: + +- без аргументов, например: +``` +javaw -jar proxy.jar +``` +- с аргументами, где в качестве аргумента принимается адрес автоматического сценария прокси: +``` +javaw -jar proxy.jar "http://proxy.mcs.br:8080/array.dll?Get.Routing.Script" +``` + +После запуска программа появляется в трее: + +![Программа в трее](/readmeSrc/tray.png) + +## Использование + +При нажатии на значок ПКМ появится меню: + +![Меню](/readmeSrc/trayMenu.png) + + +В меню мы соответственно можем: +- Добавить новый прокси +- Переключить прокси +- Удалить прокси +- Остановить прокси +- Выйти + +## Функции + +### 1. Add proxy... + +При нажатии на этот пункт меню мы увидим следующее окошко: + +![Добавление прокси](/readmeSrc/addProxy.png) + +Соответственно вставляем адрес сценария и нажимаем **Add**. Адреса сценариев сохраняются в конфиг. + +### 2. Proxy + +При наведении на этот пункт меню мы увидим выпадающий список уже добавленных прокси: + +![Список прокси](/readmeSrc/proxyList.png) + +Мы можем по нажатию на нужный адрес прокси переключаться между ними. +Программа будет с заданным периодом прописывать в реестр выбранный адрес сценария. Период задается в конфиге. + +### 3. Delete proxy... + +При нажатии на этот пункт меню мы увидим следующее окошко: + +![Добавление прокси](/readmeSrc/deleteProxy.png) + +Соответственно отмечаем чекбоксы нужных прокси и нажимаем **Delete**. + +### 4. Stop + +При нажатии на этот пункт меню периодическое прописывание адреса сценария в реестр приостанавливается. Возобновить можно выбрав нужный адрес в пункте Proxy. + +### 5. Exit + +Закрывает программу. + +## config.json + +Для сохранения параметров программа использует файл config.json из директории config. В нем содержатся следующие параметры: +- port - какой порт займет программа. Бинд порта сделан для предотвращения запуска 2х экземпляров программы. +- proxyList - список адресов сценариев прокси. Собсна используется чтобы после выхода из программы все прокси сохранились. +- setRepeatTimeMs - колличество миллисекунд через которое прокси будет прописываться в реестр. Например для запуска раз в минуту пишем 60000. +- deleteBySevenDays - принимает значения true или false. Если стоит true, будет чистить логи старше 7 дней. + +## Программная лабуда + +Программа использует jdk-17, которая должная быть установлена на компьютере. Так же использует библеотеки: +- json-simple-1.1.1 (для работы с конфигом) +- dhaverdLogs (для записи логов работы) + +Программу лучше качать архивом, т.к. там лежат файлы нужные для работы программы. diff --git a/out/artifacts/proxy/logs/2024.03.06_16-34-10_startup.log b/out/artifacts/proxy/logs/2024.03.06_16-34-10_startup.log new file mode 100644 index 0000000..4f0a878 --- /dev/null +++ b/out/artifacts/proxy/logs/2024.03.06_16-34-10_startup.log @@ -0,0 +1,13 @@ +[2024-03-06 16:34:10] [Config Loading] Delete by seven days: true +[2024-03-06 16:34:11] [Config Loading] Port loaded: 7458 +[2024-03-06 16:34:11] [BindSocket] Socket binded +[2024-03-06 16:34:11] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2024-03-06 16:34:11] [Config Loading] Repeat time loaded: 60000 +[2024-03-06 16:34:11] [Proxy Checker] Current proxy: proxy is off +[2024-03-06 16:34:11] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2024-03-06 16:34:12] [SystemTray] System tray launched +[2024-03-06 16:46:20] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script diff --git a/readmeSrc/addProxy.png b/readmeSrc/addProxy.png new file mode 100644 index 0000000..c539006 Binary files /dev/null and b/readmeSrc/addProxy.png differ diff --git a/readmeSrc/deleteProxy.png b/readmeSrc/deleteProxy.png new file mode 100644 index 0000000..404c499 Binary files /dev/null and b/readmeSrc/deleteProxy.png differ diff --git a/readmeSrc/proxyList.png b/readmeSrc/proxyList.png new file mode 100644 index 0000000..00e23c6 Binary files /dev/null and b/readmeSrc/proxyList.png differ diff --git a/readmeSrc/tray.png b/readmeSrc/tray.png new file mode 100644 index 0000000..4a2f6f1 Binary files /dev/null and b/readmeSrc/tray.png differ diff --git a/readmeSrc/trayMenu.png b/readmeSrc/trayMenu.png new file mode 100644 index 0000000..af7bd1b Binary files /dev/null and b/readmeSrc/trayMenu.png differ