diff --git a/README.md b/README.md index 772fcd2..2f3f775 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,69 @@ -# multiwan_informer +# MultiWan Informer +![License](https://img.shields.io/github/license/serega404/multiwan_informer?style=flat-square&) +![Go version](https://img.shields.io/github/go-mod/go-version/serega404/multiwan_informer?style=flat-square&filename=src%2Fgo.mod) +Language: [Русский](./README_RU.md) | [English](./README.md) + +## What is this program created for? + +This program is necessary for those who need to monitor the connection of several network cards to the network, thanks to this program you will be able to receive notifications in a telegram about disconnecting or connecting the network on a specific network card + +## Screenshots + +![Telegram chat](./img/telegram.png) + +## How to setup? + +To get started, download the assembly artifact, then configure your parameters in the file ```conf.json``` + +### Settings + +
+Config example + +```json +{ + "Interfaces": [{ + "DisplayName": "MainInterface", + "IpOrInterfaceName": "enp2s0" + }, + { + "DisplayName": "SecondInterface", + "IpOrInterfaceName": "enp3s0" + } + ], + "WaitTimeSec": 15, + "PingAddr": "8.8.8.8", + "TelegramConf": { + "BotToken": "Token", + "ChatID": "Id", + "SendSilent": "false" + } +} +``` + +
+ +### Parameters + +* `Interfaces` - array of interfaces + * `DisplayName` - the name displayed in the notification + * `IpOrInterfaceName` - name or own IP address of the interface +* `WaitTimeSec` - how many seconds to wait before a successful ping (```ping -w```) +* `PingAddr` - which address to ping (preferably not a domain) +* `TelegramConf` - bot telegram settings + * `BotToken` - Telegram bot token ([get it here](https://t.me/BotFather/)) + * `ChatID` - telegram user/channel id ([get it here](https://t.me/chatIDrobot/)) +* `SendSilent` - send messages without sound + +## Build + +Build for your system: +
```build -o ./build/multiwan_informer ./src/main.go``` + +Build example for MIPS: +
```GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -o ./build/multiwan_informer_mipsle ./src/main.go``` + +## License + +Distributed under the GPLv3 License. See [`LICENSE`](./LICENSE) for more information. diff --git a/README_RU.md b/README_RU.md new file mode 100644 index 0000000..e26c414 --- /dev/null +++ b/README_RU.md @@ -0,0 +1,69 @@ +# MultiWan Informer +![License](https://img.shields.io/github/license/serega404/multiwan_informer?style=flat-square&) +![Go version](https://img.shields.io/github/go-mod/go-version/serega404/multiwan_informer?style=flat-square&filename=src%2Fgo.mod) + +Язык: [Русский](./README_RU.md) | [English](./README.md) + +## Для чего эта программа? + +Эта программа нужна тем кому нужно следить за подключением к сети нескольких сетевых карт, благодаря этой программе вы сможете получать уведомления в телеграмме об отключении или подключении сети на определённой сетевой карте + +## Скриншоты + +![Telegram chat](./img/telegram.png) + +## Как настроить? + +Для начала скачайте артефакт сборки, после чего настрйоки ваши параметры в файле ```conf.json``` + +### Настройка + +
+Пример конфига + +```json +{ + "Interfaces": [{ + "DisplayName": "MainInterface", + "IpOrInterfaceName": "enp2s0" + }, + { + "DisplayName": "SecondInterface", + "IpOrInterfaceName": "enp3s0" + } + ], + "WaitTimeSec": 15, + "PingAddr": "8.8.8.8", + "TelegramConf": { + "BotToken": "Token", + "ChatID": "Id", + "SendSilent": "false" + } +} +``` + +
+ +### Параметры + +* `Interfaces` - массив интерфейсов + * `DisplayName` - имя выводимое в уведомлении + * `IpOrInterfaceName` - название или собственный IP адрес интерфейса +* `WaitTimeSec` - сколько секунд ожидать до успешного пинга (```ping -w```) +* `PingAddr` - какой адрес пинговать (желательно не домен) +* `TelegramConf` - настройки телеграм бота + * `BotToken` - токен бота ([получать тут](https://t.me/BotFather/)) + * `ChatID` - id чата ([узнать](https://t.me/chatIDrobot/)) +* `SendSilent` - отправлять сообщения без звука + +## Сборка + +Cборка под вашу систему: +
```build -o ./build/multiwan_informer ./src/main.go``` + +Пример сборки под MIPS: +
```GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -o ./build/multiwan_informer_mipsle ./src/main.go``` + +## Лицензия + +Распространяется под лицензией GPLv3. Дополнительные сведения смотрите в файле [`LICENSE`](./LICENSE). diff --git a/img/telegram.png b/img/telegram.png new file mode 100644 index 0000000..defea4e Binary files /dev/null and b/img/telegram.png differ