Minimize GoodbyeDPI to Tray | Минимизация GoodbyeDPI в трей
I created a Python wrapper for GoodbyeDPI that allows you to minimize the application to the system tray. After launching main.exe, the application will appear in the tray, where you can choose how to launch the program - for example, with ru_blacklist, ru_blacklist_redir, etc. The application status is displayed as an icon in the tray: green - if the application is running, red - if it is turned off. The config.json file is used to configure parameters.
Обертка для GoodbyeDPI, которая позволяет сворачивать приложение в системный трей. После запуска main.exe приложение окажется в трее, где вы можете выбрать способ запуска программы - например, с ru_blacklist, ru_blacklist_redir и т. д. Статус приложения отображается в виде значка в трее: зеленый - если приложение запущено, красный - если выключено. Файл config.json используется для настройки параметров.
UPD: Tray icons can be found in the README.md. I also plan to add the ability to have the application start automatically with the system.
При запуске ругается на отсутсвие модуля:
Через venv запускается
(venv) c:\DPI_Tray>python main.py
Starting the application...
Executing command: x86_64\goodbyedpi.exe -9 --dns-addr 77.88.8.8 --dns-port 1253 --dnsv6-addr 2a02:6b8::feed:0ff --dnsv6-port 1253 --blacklist russia-blacklist.txt --blacklist russia-youtube.txt
Executed: x86_64\goodbyedpi.exe -9 --dns-addr 77.88.8.8 --dns-port 1253 --dnsv6-addr 2a02:6b8::feed:0ff --dnsv6-port 1253 --blacklist russia-blacklist.txt --blacklist russia-youtube.txt
Process terminated on exit.
Application has stopped.
При запуске ругается на отсутсвие модуля:
Через venv запускается
(venv) c:\DPI_Tray>python main.py Starting the application... Executing command: x86_64\goodbyedpi.exe -9 --dns-addr 77.88.8.8 --dns-port 1253 --dnsv6-addr 2a02:6b8::feed:0ff --dnsv6-port 1253 --blacklist russia-blacklist.txt --blacklist russia-youtube.txt Executed: x86_64\goodbyedpi.exe -9 --dns-addr 77.88.8.8 --dns-port 1253 --dnsv6-addr 2a02:6b8::feed:0ff --dnsv6-port 1253 --blacklist russia-blacklist.txt --blacklist russia-youtube.txt Process terminated on exit. Application has stopped.
Исправил Спрасибо что заметил, случайно закинул .pyd в игнор, но на написанных тестах все проходило
а смысл, если он в сервисе все равно не виден?
а смысл, если он в сервисе все равно не виден?
Изначальная задумка предполагала добавление функционала сворачивания в трей работающего окна
Добавляем
Добавляем
Ты сервис в трей просишь добавить? Не очень понял сути комментария
Спасибо автору PR за старания, но не очень понял задумки автора. Данное приложение является консольной утилитой.
У него есть два состояния:
- Режим окна
- Режим сервиса
Режим окна служит для быстрого подбора необходимых ключей, потом можно отредактировать cmd файл запуска сервиса с необходимым количеством ключей и запустить как сервис.
Данный PR:
- вводит лишнюю зависимость на 140к строк в виде Python.
- Неизвестная зависимость ресурса https://p.thenewone.lol/domains-export.txt
- Поправьте меня, разве можно бинарники вставлять в репу на С? Вроде как оформляется зависимость отдельная.
- Тесты на разных версиях Windows отсутствуют.
- Дублирование сценариев(cmd)
- app.log???
- config.json???
В общем, считаю данный PR не состоятельным.
Спасибо автору PR за старания, но не очень понял задумки автора. Данное приложение является консольной утилитой.
У него есть два состояния:
- Режим окна
- Режим сервиса
Режим окна служит для быстрого подбора необходимых ключей, потом можно отредактировать cmd файл запуска сервиса с необходимым количеством ключей и запустить как сервис.
Данный PR:
- вводит лишнюю зависимость на 140к строк в виде Python.
- Неизвестная зависимость ресурса https://p.thenewone.lol/domains-export.txt
- Поправьте меня, разве можно бинарники вставлять в репу на С? Вроде как оформляется зависимость отдельная.
- Тесты на разных версиях Windows отсутствуют.
- Дублирование сценариев(cmd)
- app.log???
- config.json???
В общем, считаю данный PR не состоятельным.
Спасибо за комментарий и за потраченное время на PR. Отвечу на некоторые поинты.
- Да, данное приложение является консольной утилитой, но держать отдельное окно или сервис мне неудобно
- 140к строк, бинарники - согласен
- App.log нужен чтобы посмотреть - правильно ли запускается приложение
- Config.json - я не запускаю каждый из cmd по отдельности, я запускаю goodbyedpi.exe с нужными флагами, которые были в файлах cmd, поэтому для изменения каких-либо параметров запуска можно просто поменять json
https://github.com/Virenbar/GDPIControl уже все это умеет.
Соглашусь с тем, что данный PR, при всем уважении к автору за старания, конкретно в данном проекте будет лишним. Подобную утилиту лучше иметь отдельно от основного проекта, чтобы разделять зоны ответственности (как приведенная выше @AndyShade GDPIControl).
Не понимаю смысл данного пулл реквеста, когда автор пытается костылями сделать обертку трея на пайтоне, когда GoodbyeDPI в абсолютном опен сурсе и написан на C, и можно сохранить очень много места и ускорить работу, если переписать все на C где все уже есть. (используй WndProc) для справки - trayframework. GDPIControl упомянутый выше тоже является оберткой но написан уже на C#, использовать я бы тоже не стал.
Идея хорошая, но это
не приемлимо большое количество кода, просто чтобы свернуть в трей. Наверняка возможно не добавлять лишних зависимостей и сделать это всё в намного меньшее количенство строк кода.
Я считаю, что если можно сделать официальную версию лучше (добавив эту фичу), то это стоит того, чем для одной такой фичи делать отдельный репо.
И хоть я и люблю python, но в данном случае удобнее использовать тот же си, чтобы весь код был в одном приложении и на одном языке.
Развивайте программу отдельно, я не смогу её поддерживать в своём репозитории.
