Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ru:docs:guide-user:services:remote_control:im_email [2024/12/15 00:10] – created stokitoru:docs:guide-user:services:remote_control:im_email [2024/12/17 19:28] (current) – [Telegram] stokito
Line 4: Line 4:
 ===== 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, или ещё одно применение старому роутеру]].
  
Line 19: Line 23:
  
   * cam_movie: Record 25 seconds of a camIP and send it.   * cam_movie: Record 25 seconds of a camIP and send it.
-  * cam_mv: Move the camera arround.+  * cam_mv: Move the camera around.
   * cam_shot: Get a Pic from the camera.   * cam_shot: Get a Pic from the camera.
   * cam_vdo: Get a 25 seconds record from a camIP.   * cam_vdo: Get a 25 seconds record from a camIP.
-  * chromego_add: Include to a user in chromego, a word to be used in permissions (block url/youtube channel/etc). +  * chromego_add: Include to a user in chromego, a word to be used in permissions (block url/YouTube channel/etc). 
-  * chromego_del: Remove a word from a user in chromego to be used in permissions (block url/youtube channel/etc). +  * chromego_del: Remove a word from a user in chromego to be used in permissions (block url/YouTube channel/etc). 
-  * chromego_list: List all permissions in chromego (block url/youtube channel/etc).+  * chromego_list: List all permissions in chromego (block url/YouTube channel/etc).
   * fw_add: Block a hostname using a deny rule in firewall, if append time to command will block from 23:00 to 8:00   * fw_add: Block a hostname using a deny rule in firewall, if append time to command will block from 23:00 to 8:00
   * fw_delete: Remove a hostname from a deny firewall rule, if hostname is empty, will remove all rules created by this bot.   * fw_delete: Remove a hostname from a deny firewall rule, if hostname is empty, will remove all rules created by this bot.
Line 35: Line 39:
   * fw_unblock: Remove a hostname from a deny firewall rule, if hostname is empty, will remove all rules created by this bot.   * fw_unblock: Remove a hostname from a deny firewall rule, if hostname is empty, will remove all rules created by this bot.
   * get_ip: Get WAN IPAddress.   * get_ip: Get WAN IPAddress.
-  * get_mac: Get the Organization that onwer the MacAddr. +  * get_mac: Get the Organization that own the MacAddr. 
-  * get_ping: Ping address or host, return Up or Down.+  * get_ping: Ping an address or host, return Up or Down.
   * get_uptime: Return the uptime from this Device.   * get_uptime: Return the uptime from this Device.
   * hst_list: Get hosts in the dhcp Leases. If a hostname is present, search only for this hostname.   * hst_list: Get hosts in the dhcp Leases. If a hostname is present, search only for this hostname.
   * ignoredmac_add: Add a new macaddress to the allowlist and avoid being notified about it.   * ignoredmac_add: Add a new macaddress to the allowlist and avoid being notified about it.
   * ignoredmac_list: Shows the list of ignored mac addresses that will not be notified by the bot.   * ignoredmac_list: Shows the list of ignored mac addresses that will not be notified by the bot.
-  * interface_down: Shutdown interface by name. +  * interface_down: Shutdown an interface by name. 
-  * interface_restart: Restart interface by name.+  * interface_restart: Restart an interface by name.
   * interfaces_list: Get interfaces configuration.   * interfaces_list: Get interfaces configuration.
-  * interface_up: Start up interface by name.+  * interface_up: Start up an interface by name.
   * lights: Turn On or Off house Lights.   * lights: Turn On or Off house Lights.
   * msg_tv: Send Message to Samsung TV   * msg_tv: Send Message to Samsung TV
   * netstat: Prints netstat table in ESTABLISHED, CLOSED and TIME_WAIT State.   * netstat: Prints netstat table in ESTABLISHED, CLOSED and TIME_WAIT State.
   * opkg_install: Install a package from opkg.   * opkg_install: Install a package from opkg.
-  * opkg_update: Update list of packages avaliable.+  * opkg_update: Update list of packages available.
   * ping_udp: Create a UDP packet to puncture a hole through a NAT firewall of your ISP   * ping_udp: Create a UDP packet to puncture a hole through a NAT firewall of your ISP
   * proc_list: List all process in execution   * proc_list: List all process in execution
Line 65: Line 69:
   * 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 Wi-Fi clients list that is connected to this device
  
 +Есть ещё один бот https://github.com/varakh/tlgbot. Он посвежее и русифицированный но он зачем-то использует bash (который ещё устанавливать нужно) и функционал скромнее.
  
 +Важно понимать что бот всё же ограничен в том что он может делать. Сквозного шифрования при этом нет, если кто-то взломает ваш Телеграмм он может вам попортить роутер и жизнь.
  
 ===== XMPP ===== ===== XMPP =====
-The XMPP (Jabber) is badly supported but usedYou 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 emailTo 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]] 
  • Last modified: 2024/12/17 19:28
  • by stokito