| Next revision | Previous revisionLast revisionBoth sides next revision |
| ru:docs:guide-user:services:remote_control:im_email [2024/12/15 00:10] – created stokito | ru:docs:guide-user:services:remote_control:im_email [2024/12/15 16:38] – [UnifiedPush] stokito |
|---|
| ===== EMail ===== | ===== EMail ===== |
| Как отправить почту смотрите в статье про [[:docs:guide-user:services:email:smtp.client|SMTP клиенты]]. | Как отправить почту смотрите в статье про [[:docs:guide-user:services:email:smtp.client|SMTP клиенты]]. |
| Получение писем с коммандами возможно с помощью SMTP сервера, например ''postfix'' (популярный но сложный в настройке) или [[docs:guide-user:services:email:emailrelay|E-MailRelay]] и с помощью своих скриптов можно обрабатывать команды. | Получение писем с командами возможно с помощью SMTP сервера, например ''postfix'' (популярный но сложный в настройке) или [[docs:guide-user:services:email:emailrelay|E-MailRelay]] и с помощью своих скриптов можно обрабатывать команды. |
| Но в целом почтовый сервер использовать проблематично из-за множества ограничений: ему нужен статический адрес, провайдеры интернета часто блокируют 25тый порт SMTP, много спама и проблема с DDoS. | Но в целом почтовый сервер использовать проблематично из-за множества ограничений: ему нужен статический адрес, провайдеры интернета часто блокируют 25тый порт SMTP, много спама и проблема с DDoS. |
| |
| |
| ===== Telegram ===== | ===== Telegram ===== |
| Наиболее вменяемая и часто используемуе средство. У Телеграмма роскошное АПИ для ботов с которым удобно работать через простое HTTP API с долгим ожиданием (long pooling). Например чтобы боту отправить сообщение достаточно отправить POST запрос: | Наиболее вменяемый и часто используемуй способ. У Телеграмма [[https://core.telegram.org/bots|роскошное АПИ для ботов]] с которым удобно работать через простое HTTP API с долгим ожиданием (long pooling). Например чтобы боту отправить сообщение достаточно отправить POST запрос: |
| |
| <code bash> | <code bash> |
| wget --post-data="chat_id=idчата&text=сообщение" "https://api.telegram.org/bot$TOKEN/sendMessage" | TOKEN="токен вашего бота" |
| | CHAT_ID="id чата между пользователем и ботом" |
| | MSG="сообщение" |
| | wget -q -O - --post-data="chat_id=$CHAT_ID&text=$MSG" "https://api.telegram.org/bot$TOKEN/sendMessage" |
| </code> | </code> |
| | |
| Если интересно разобраться читайте [[https://habr.com/ru/articles/860748/|Простой телеграмм бот на sh, или ещё одно применение старому роутеру]]. | Если интересно разобраться читайте [[https://habr.com/ru/articles/860748/|Простой телеграмм бот на sh, или ещё одно применение старому роутеру]]. |
| |
| * wifi_list: List all wireless devices. | * wifi_list: List all wireless devices. |
| * wifi_restart: Restart a wireless device radio. | * wifi_restart: Restart a wireless device radio. |
| * wll_list: Get a wifi clients list that is connected to this device * * Unordered List Item | * wll_list: Get a wifi clients list that is connected to this device |
| |
| | Есть ещё один бот https://github.com/varakh/tlgbot. Он посвежее и русифицированный но он зачем-то использует bash (который ещё устанавливать нужно) и функционал скромнее. |
| |
| | Важно понимать что бот всё же ограничен в том что он может делать. Оконечного шифрования при этом нет, если кто-то взломает ваш Телеграмм он может вам попортить роутер и жизнь. |
| |
| ===== XMPP ===== | ===== XMPP ===== |
| The XMPP (Jabber) is badly supported but used. You can install the [[:docs:guide-user:services:xmpp.server|Prosody XMPP server]] and use it as client too with a little Lua scripting. | XMPP (Jabber) плохо поддерживается но это потенциально самый безопасный способ. Вы можете установить [[:docs:guide-user:services:xmpp.server|Prosody XMPP серве]] и с небольшыми скриптами на Луа использовать его и как клиент. |
| The [[https://sendxmpp.hostname.sk/|sendxmpp]] is a perl-script to send xmpp, similar to what sendmail does for email. To send and receive messages over HTTP API with ''wget'' or ''curl'' you may install REST API plugin on the XMPP server ([[https://modules.prosody.im/mod_http_rest|mod_http_rest]] for Prosody). The [[https://xmpp.org/extensions/xep-0124.html|XEP-0124 BOSH]] probably can be used. | Есть [[https://sendxmpp.hostname.sk/|sendxmpp]] скрипт на perl чтобы отправлять сообщения по xmpp, похожий на sendmail. Чтобы отправлять сообщения через HTTP API с помощью ''wget'' или ''curl'' вы можете установить плагин REST API на ваш XMPP server ([[https://modules.prosody.im/mod_http_rest|mod_http_rest]] для Prosody). Возможно [[https://xmpp.org/extensions/xep-0124.html|XEP-0124 BOSH]] позволяет отправлять так сообщения. |
| | |
| | * [[https://github.com/stanson-ch/xmppcd|xmppcd]] Небольой демон XMPP клиента |
| | * [[https://www.reddit.com/r/openwrt/comments/11auq9n/send_a_xmpp_message_from_router/|Обсуждение на Reddit: Send a xmpp message from router]] |
| | |
| | |
| | ===== UnifiedPush ===== |
| | |
| | [[https://unifiedpush.org/|UnifiedPush]] это открытая спецификация и инструменты которые позволяют пользователю выбрать как пуш оповещения будут доставляться. Его поддерживают различные приложения: |
| | |
| | * [[https://docs.ntfy.sh/|ntfy.sh]] (произносится как "notify, нотифай") это сервис оповещений Издатель — Подписчик (англ. publisher-subscriber; pub/sub) поверх HTTP протокола. Он позволяет вам отправлять оповещения на ваш телефон или компьютер с помощью скриптов с любого устройства используя REST API. У него есть приложения для Android и iOS. |
| | * Тоже самое но я хочу использовать Google по какой-то причине: [[https://unifiedpush.org/users/distributors/fcm/|gCompat-UP Distrib (Android)]] |
| | * У меня есть сервер Nextcloud: [[https://unifiedpush.org/users/distributors/nextpush/|NextPush (Android)]] |
| | * Я использую XMPP клиент Conversations: [[https://unifiedpush.org/users/distributors/conversations/|Conversations (Android)]] |
| | |
| | ==== Отправка оповещений через ntfy.sh ==== |
| | Пример скрипта для отправки пуш нотификаций через [[https://docs.ntfy.sh/|ntfy.sh]] в очередь [[https://ntfy.sh/example|example]] (вам следует создать свою личную очередь): |
| | |
| | <code bash> |
| | NTFY_QUEUE="example" |
| | NEW_CLIENT_IP="192.168.1.42" |
| | MSG="Someone joined network |
| | |
| | A new client with IP $NEW_CLIENT_IP joined. |
| | Please check if it's not an intruder." |
| | |
| | wget -q -O - "ntfy.sh/$NTFY_QUEUE" \ |
| | --header "Priority: urgent" \ |
| | --header "Tags: ghost" \ |
| | --header "Click: http://192.168.1.1/" \ |
| | --header "Actions: http, Open Luci, https://192.168.1.1/cgi-bin/ntfy-action.cgi?block=$NEW_CLIENT_IP, clear=true" \ |
| | --header "Email: root@OpenWrt" \ |
| | --post-data="$MSG" |
| | </code> |
| | |
| | **ВНИМАНИЕ:** опция ''--header'' была добавлена в ''uclient-fetch'' только в июле 2024 поэтому если вы желаете использовать расширенные свойства вам следует установить пакет ''wget-ssl''. |
| | |
| | ==== Смотрите также ==== |
| | |
| | * [[https://github.com/bitfireAT/webdav-push/|WebDAV Push]] |
| |
| * [[https://github.com/stanson-ch/xmppcd|xmppcd]] Small XMPP client daemon | |
| * [[https://www.reddit.com/r/openwrt/comments/11auq9n/send_a_xmpp_message_from_router/|Reddit: Send a xmpp message from router]] | |