Jak mogę wysłać mobilną wiadomość tekstową z terminala?

51

Właśnie zgubiłem telefon. Wiem, że jest tutaj w moim domu, ponieważ użyłem go zeszłej nocy i moje głośniki bluetooth połączą się z nim dziś rano.

Jak mogę wysłać SMS na mój telefon za pomocą bash? Następnie rozlegnie się powiadomienie telefoniczne i mogę znaleźć swój telefon.

Uwaga: Poprosiłem o rozwiązanie bash, ponieważ jest to prostsze niż instalacja i konfiguracja GUI. Poza tym czuję się bardziej komfortowo pracując w bashu niż w Pythonie, HTML lub Javie itp. Wreszcie rozwiązanie bash działa w systemie Windows 10, gdy używasz Windows Subsystem for Linux ( WSL ).

Uwaga 2: Odpowiedz na komentarze:

  • Nie mam telefonu stacjonarnego, więc nie mogę po prostu zadzwonić na mój smartfon.
  • Było 6 rano w niedzielę rano, kiedy zgubiłem telefon. Ludzie, do których mogłem wysłać e-mail, aby zadzwonić na mój telefon, spali. Nie byłam pewna co do poziomu naładowania baterii, a jeśli spadł, nigdy nie mogłem jej wysłać SMS-em.
  • Kilka tygodni wcześniej wyłączyłem powiadomienia dźwiękowe e-mailem na swoim smartfonie, więc nie mogłem sam wysłać e-maila.
  • Nie mam skypeani żadnych dostawców usług VoIP

Po 30 minutach znalazłem smartfona, pisząc go SMS-em, korzystając z odpowiedzi, którą zamieściłem poniżej. Schowano go pod 4-calową półką z wysokimi podłogami w salonie ...

WinEunuuchs2Unix
źródło
1
Jeśli przeczytam to poprawnie, poprosisz o odpowiednik usługi Znajdź mój telefon, która zadzwoni do Twojego telefonu niezależnie od głośności, trybu wibracji, słuchawek Bluetooth itp., Które powodują, że telefon milczy. Wiem, że Google ma taki, który możesz zrobić dla Androida, ale nie jestem tego świadomy. Jeśli potrafię to rozgryźć, korzystanie z niego jest nieograniczone. To samo dotyczy Apple.
Terrance
3
Na Androidzie nie ma oprogramowania do zainstalowania. Po prostu wejdź na google.com/android/find
Terrance
3
„Dobra Google!” słuchanie nasila się ...
Michael Frank

Odpowiedzi:

45

SMS-y z terminala / powłoki / bash

W celu wykonania poniższych kroków otwórz wiersz polecenia, zwany także „interfejsem wiersza poleceń” lub „CLI”. W większości dystrybucji Linuksa rób to za pomocą Ctrl+ Alt+T

textbelt.com wysłać tekst z bash

Znalazłem artykuł reddit: Wyślij SMS-a z wiersza poleceń za pomocą tego polecenia Bash / Terminal, którego możesz użyć:

curl -X POST https://textbelt.com/text \
   --data-urlencode phone='7801234567' \
   --data-urlencode message='Find Your Phone!' \
   -d key=textbelt

Zastąp 7801234567swój numer telefonu. Jeśli wysyłasz międzynarodowy numer telefonu (poza Kanadą / USA), postępuj zgodnie z tymi instrukcjami .

Uwaga: Oprogramowanie zastępuje „Znajdź swój telefon!” z komunikatem, że musisz kupić klucz, aby użyć niestandardowej wiadomości. Ale oprogramowanie nadal nalega, abyś przesłał wiadomość, która zostanie zastąpiona.


Inne powody wysłania SMS-a z Bash

Znalezienie mojego smartfona było niezwykłą potrzebą wysłania SMS-a z Bash. Możesz mieć kilka osób, które powinny zostać wysłane SMS-em, gdy:

  • Dyski wkrótce ulegną awarii (lub wystąpiły inne błędy sprzętowe)
  • Wykorzystanie miejsca na dysku przekracza próg, na przykład 90%
  • Pamięć RAM jest pełna, a swap jest intensywnie wykorzystywany
  • Serwer WWW doświadcza ataków zewnętrznych
  • Użytkownik miał zbyt wiele nieprawidłowych rejestracji, a konto zostało dezaktywowane
  • Uruchomiono określone zadanie, które wpływa na kluczowe procesy
  • Czytnik kart drzwi monitoruje odblokowanie niektórych drzwi

textbelt.com jest bezpłatny dla jednego tekstu dziennie

Nadawca może wysłać tylko jedną bezpłatną wiadomość SMS dziennie. Oto przykład pierwszej i drugiej próby jednego dnia:

$ find-phone # bash script with above command
{"success":true,"textId":"168141545572031481","quotaRemaining":0}

$ find-phone
{"success":false,"error":"Only one test text message is allowed per day.","quotaRemaining":0}

Uwaga: być może możesz zresetować adres IP routera dla więcej niż jednego tekstu dziennie, ale jeszcze tego nie przetestowałem.

Możesz korzystać z przedpłaconych nieograniczonej liczby tekstów. Dostępnych jest wiele usług bramek SMS. Ceny w powyższym linku dostawcy wynoszą od 0,03 USD do 0,15 USD za tekst. To jest w celach informacyjnych, a nie poparcia ani rekomendacji. Odrabiaj pracę domową i szukaj renomowanych dostawców usług płatnych po najlepszych cenach.


Utwórz skrypt Bash

Możesz utworzyć skrypt bash o nazwie sms:

#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
  • Wyślij wiadomość SMS za pomocą sms 7801234567 "Hello World"
  • Dziękujemy Fabby za przetestowanie tego z UE i potwierdzenie, że tam działa.

Wyślij e-mail do operatora smartfona za pomocą wiadomości SMS

Do następujących czynności wystarczy przeglądarka internetowa, taka jak FireFox, Internet Explorer lub Chrome. Nie musisz nurkować w „wnętrznościach bashu” ani ograniczać się do jednego wolnego tekstu dziennie.

Wielu operatorów pozwala wysyłać SMS-y na smartfony, adresując je na adres e-mail phone_number@mobile_provider_name.com.

Numer telefonu wyszukaj, aby uzyskać adres strony internetowej operatora

Aby uzyskać adres strony internetowej dostawcy za pomocą numeru telefonu, przejdź do: https://freecarrierlookup.com/ . Wyobraź sobie, że wprowadziliśmy numer telefonu 7801234567:

Fee Carrier Lookup.png

Powiedziano nam, że jest to adres e-mail [email protected]. Teraz wyślij wiadomość e-mail na ten adres, a telefon wyemituje powiadomienie.

Oczywiście, jeśli masz skonfigurowany smartfon, aby brzmiał z powiadomieniem o nadejściu wiadomości e-mail, możesz po prostu wysłać swój telefon e-mailem!

Interfejs CLI do wysyłania adresu e-mail

W Ask Ubuntu jest wiele pytań i odpowiedzi na temat wysyłania wiadomości e-mail za pomocą bash. Używam ssmtp(Secure Simple Mail Transport Protocol) do croncodziennych kopii zapasowych: kopii zapasowej konfiguracji Linuksa, skryptów i dokumentów do Gmaila

Chociaż ta konfiguracja jest przeznaczona dla jednego użytkownika, możesz utworzyć plik z wieloma użytkownikami w celu wysyłania wiadomości tekstowych, aby:

Name         Email Address
Tiny Tim     5551234567@att.com
Mrs. Clause  5552223333@sprint.com
Bad Elf      5551114444@telus.net

Następnie w swoim kodzie bash coś takiego :

ssmtp 5551234567@att.com < mail.txt

Gdzie mail.txtwygląda tak:

Cc: admin@our_company.com
Subject: Nightly Database Update FAILED
From: root@our_company.com
Content-Type: text/html; charset="utf8"


<html>
<body>
<div style="
    background-color:
    #abcdef; width: 300px;
    height: 300px;
    ">
</div>
Nightly database update failed at procedure: AP005.
</body>
</html>

Istnieje wiele sposobów wysyłania wiadomości e-mail z bash. To tylko przykład. Ważne jest, aby adres e-mail zawierał numer smartfona, a następnie adres internetowy dostawcy smartfona

WinEunuuchs2Unix
źródło
16
Istnieją również adresy e-mail, na które można wysłać wiadomość, że firma telefoniczna prześle je na Twój telefon jako SMS.
Kevin
1
Skype może wysyłać SMS-y lub zwykłe połączenia głosowe (co spowoduje, że telefon będzie wydawał dźwięki przez dłuższy czas). Kosztuje pieniądze, ale nie za dużo. Może nie
naliczą
2
Wysyłanie TEKSTU za pomocą wiadomości e-mail działa. Musisz jednak znać operatora, z którego korzysta odbiorca wiadomości tekstowej. Obecnie możesz to ustalić za pośrednictwem freecarrierlookup.com Otrzymasz również adres e-mail , którego będziesz używać do wysyłania wiadomości SMS lub MMS. np .: [email protected] ... po uzyskaniu adresu e-mail do wysyłania tekstu, a następnie użyj dowolnej metodologii e-mail, którą chcesz, od poczty z wiersza poleceń, do Gmaila, Thunderbirda itp., aby sformatować wiadomość tekstową i wysłać ją .
TonyB
2
Wiem, że wykracza to poza zakres tego pytania i odpowiedzi, ale do wysyłania alertów dotyczących pełnych dysków / pamięci RAM lub innych awarii dedykowanym użytkownikom nie polegałbym na usłudze, która wysyła SMS-y raz dziennie, ale zamiast tego podłącza modem z kartą SIM. W Niemczech (Europie?) CEP CT63 jest dość popularny.
PerlDuck
1
„Większość, jeśli nie wszyscy przewoźnicy” To dość zlokalizowana informacja. W okolicy (Holandia) wydaje się, że nie działa.
Maszt
22

Ta odpowiedź nie dotyczy wiersza polecenia, ponieważ nie mogę znaleźć rozwiązania wiersza polecenia dla Google.

Jeśli masz telefon z Androidem i nie chcesz korzystać z wiersza poleceń, możesz przejść do https://www.google.com/android/find w przeglądarce internetowej i stamtąd zadzwonić na telefon bez względu na wyciszenie, wibrację lub połączenie z zestawem słuchawkowym Bluetooth. W telefonie nie jest również wymagane dodatkowe oprogramowanie. Można to również zrobić tyle razy, ile chcesz w ciągu dnia.

Terrance
źródło
4

Rozmowa telefoniczna z przeglądarki za pomocą Google Hangouts

Możesz także zlokalizować swój telefon, dzwoniąc na niego, nawet jeśli nie masz telefonu stacjonarnego.

Warunek: konto Google

Uwaga: tylko większość połączeń do USA i Kanady jest bezpłatna. Stawki znajdziesz na https://www.google.com/voice/b/0/rates?p=hangout .

  1. Wejdź na hangouts.google.com
  2. Kliknij przycisk „Rozmowa telefoniczna”:
    zrzut ekranu przycisku
  3. Kliknij „Nowa rozmowa”:
    zrzut ekranu przycisku
  4. Wprowadź swój numer telefonu:
    zrzut ekranu z polem wprowadzania numeru
  5. Kliknij „Zadzwoń”:
    zrzut ekranu przycisku połączenia
Nonny Moose
źródło
Widzę $0.00obok numeru telefonu, pod który można zadzwonić. Czy możesz opracować koszt korzystania z tej usługi?
WinEunuuchs2Unix,
Nie działa w moim kraju bez pieniędzy na koncie.
sudodus
1
@ WinEunuuchs2Unix Przepraszam! Zapomniałem, że Google Hangouts pobiera opłaty za połączenia poza USA i Kanadą. Zaktualizowałem odpowiednio swoją odpowiedź.
Nonny Moose,
@NonnyMoose Dziękujemy za aktualizację. Już głosowałem twoją odpowiedź przed moim komentarzem.
WinEunuuchs2Unix,
1

Sposób, w jaki to zrobiłem lata temu, to dobrze się bawić z pythonem i uczyć się języka.

To co zrobiłem to:

  • Napisz kod python, który używa modułu smtp
  • Przetestuj za pomocą Gmaila
  • Odszukaj adres e-mail, który mapuje na mój numer telefonu (sprawdził interfejsy API wiadomości e-mail trzech dużych operatorów na SMS-y (tak naprawdę to tylko domena e-mail, w której użytkownik jest numerem telefonu))
  • utwórz narzędzie wiersza poleceń
  • przetestuj z moim numerem telefonu

I VOILA! SMS-y z bash.

Ps napisany z trudnego w obsłudze urządzenia mobilnego ... Jeśli to zyska więcej uwagi, mógłbym znaleźć stary kod

Trevor Boyd Smith
źródło
4
Wydaje mi się, że python nie jest tutaj wymagany, do wysyłania wiadomości używaj narzędzi pocztowych unix.
val
1
Myślę, że jest to raczej przegląd odpowiedzi i ważne kroki / polecenia należy wykonać.
WinEunuuchs2Unix,
1
@val przy użyciu mailzamiast pisania kodu python smtp brzmi, jakbyś mógł uzyskać trochę łatwiejsze i szybsze rozwiązanie. Wystarczy wykonać prosty skrypt powłoki bash, który byłby krótszy niż czwartkowe wiersze.
Trevor Boyd Smith,
1
Ta odpowiedź jest pozbawiona treści. „Jak mogę wysłać SMS-a za pomocą bash” - „Tak, używając Pythona i Gmaila na własnym telefonie za pomocą smtp” ... Czy to brzmi jak produktywna lub satysfakcjonująca odpowiedź?
vol7ron
Czy zauważyłeś na dole „Ps napisany z trudnego w obsłudze urządzenia mobilnego”. ||| Odtwarzanie kroków nie jest zbyt trudne. Po prostu wysyłasz wiadomość e-mail z wiersza polecenia. mailPolecenia byłoby szybsze łatwiejsze niż kodzie Pythona prawdopodobnie.
Trevor Boyd Smith