09/01/2025: Обновление более стабильной и производительной версии с возможностью исключения предупреждений с определенных IP-адресов.
У меня есть маршрутизатор Synology и 2 интернет-соединения (одно от Starlink и другое от Proximus), благодаря опции на маршрутизаторе Synology я автоматически переключаю интернет-соединение на другое, если одно из них становится недоступным.
Проблема в том, что мое соединение Proximus - это очень маленькое соединение с ограниченным квотой, я хочу оставаться как можно дольше на соединении Starlink, которое не имеет ограничений, но как узнать, что я переключаюсь с одного на другое? Я оказываюсь без ведома на Proximus днями и ночами, рискуя исчерпать свой квот.
Я создал небольшой инструмент, который устанавливается на Synology (с установленным пакетом .Net Core 6.0) и который отправляет мне электронное письмо, когда он обнаруживает, что я нахожусь на другом IP-адресе интернета! Так что переключение произошло без моего ведома! Очень удобно!
Вот что это дает:
2024-02-04 17:52:24.8188 INFO DetectChangeIp.Program Previous IP found: '0.0.0.0' loaded. 2024-02-04 17:52:26.9158 INFO DetectChangeIp.Program Detecting new change of Ip Address : 245.xxx.xxx.xxx - SPACEX-STARLINK
2024-02-04 17:55:26.9158 INFO DetectChangeIp.Program Detecting new change of Ip Address : 114.xxx.xxx.xxx - Proximus NV
Существует версия для Windows, если у вас нет NAS Synology, и версия для Linux
На Synology
Вы можете запустить версию LINUX на Synology через задачу, выполняемую при запуске
1) Убедитесь, что пакет ".Net 8" установлен на вашем Synology
2) Скачайте версию Linux приложения и скопируйте все файлы в каталог на ваш выбор на вашем Synology (например, в "/homes/[ваше имя пользователя в synology]/DetectChangeIp")
3) Вам нужно дать права на выполнение для файла "DetectChangeIp" (chmod +rwx DetectChangeIp), вы можете сделать это в "FileZilla", щелкнув правой кнопкой мыши по файлу, затем "Свойства" на вкладке "Разрешения", отметьте все поля (или сделать это через ssh с командой "chmod +rwx DetectChangeIp")
4) На вашем Synology откройте "Панель управления", затем "Планировщик задач"
5) Создайте новую задачу "срабатывающую", откроется окно, выберите "Запуск" рядом с "Событие", таким образом, он запустит приложение "DetectChangeIp" как только Synology запустится
6) На вкладке "Параметры задачи" вы должны записать путь, где находится файл "DetectChangeIp", например: /volume1/homes/[ваше имя пользователя в synology]/DetectChangeIp/DetectChangeIp
Готово! В первый раз выполните задачу вручную с помощью кнопки "Выполнить", вы можете видеть логи, если приложение работает правильно, под кнопкой "Действие" > "Показать результат"
Как 'Служба' на Windows
1) Убедитесь, что у вас установлен .Net Core 8.0
2) Для установки консольного приложения в службу используйте nssm: https://nssm.cc/download
3) Скопируйте файл nssm в C:\Windows\System32
4) Скачайте версию Windows DetectChangeIp и скопируйте ее в одну из ваших папок
5) Откройте командную строку и введите: nssm install DetectChangeIpService "C:\путь\к\DetectChangeIp.exe"
Вот и все, теперь, если вы хотите остановить вашу службу, вы можете ввести: nssm stop DetectChangeIpService
* nssm restart DetectChangeIpService
* nssm remove DetectChangeIpService confirm
Файл конфигурации "appSettings.json"
В файле конфигурации "appSettings.json" вы должны обязательно указать электронную почту и сервер, чтобы он отправлял электронные письма на ваш ящик.
Также есть возможность указать исключения, например, если вы используете VPN, вы не хотите, чтобы он уведомлял вас, когда вы находитесь под определенным IP-адресом.
Внимание, для Windows или Linux (а также Synology) вам необходимо предварительно установить Runtime .Net 8.0 (https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
Aucun commentaire pour le moment.