Comment puis-je envoyer un message texte mobile depuis un terminal?

51

Je viens de perdre mon téléphone. Je sais que c'est ici chez moi parce que je l'ai utilisé hier soir et mes haut-parleurs Bluetooth vont s'y connecter ce matin.

Comment puis-je envoyer un SMS à mon téléphone en utilisant bash? La notification téléphonique retentit et je peux trouver mon téléphone.

Remarque: j'ai demandé une solution bash car c'est plus simple que d'installer et de configurer une interface graphique. De plus, je suis plus à l'aise avec bash qu'avec python, HTML ou java, etc. Enfin, une solution bash fonctionne sous Windows 10 lorsque vous utilisez le sous-système Windows pour Linux ( WSL ).

Note 2: Réponse aux commentaires:

  • Je n'ai pas de téléphone fixe, je ne peux donc pas appeler simplement mon smartphone.
  • Il était 6 heures du matin dimanche matin lorsque j'ai perdu mon téléphone. Les personnes que je pouvais contacter pour appeler mon téléphone étaient en train de dormir. Je n'étais pas sûr du niveau de charge de la batterie et si elle mourait, je ne pourrais jamais l'envoyer par SMS.
  • Quelques semaines auparavant, j'avais désactivé les notifications sonores par courrier électronique sur mon smartphone afin que je ne puisse plus m'envoyer de courrier électronique.
  • Je n'ai pas skypeou tout VOIP fournisseurs de services

Au bout de 30 minutes, j'ai trouvé le smartphone en l'envoyant par SMS à l'aide de la réponse ci-dessous. Il était caché sous une étagère de meubles de 4 "de hauteur dans le salon ...

WinEunuuchs2Unix
la source
1
Si je lis ceci correctement, vous demandez l'équivalent du service Find My Phone qui fera sonner votre téléphone quels que soient le volume, le mode de vibration, le casque Bluetooth, etc. connectés, ce qui rend le téléphone muet. Je sais que Google a celui que vous pouvez faire pour Android, mais je ne connais pas le formulaire en ligne de commande correspondant. Si je peux le comprendre, son utilisation est illimitée. Même chose pour Apple.
Terrance
3
Il n'y a pas de logiciel à installer sur Android. Vous venez d'aller à google.com/android/find
Terrance
3
"D'accord Google!" l'écoute s'intensifie ....
Michael Frank

Réponses:

45

SMS par SMS depuis Terminal / Shell / Bash

Pour les étapes suivantes, ouvrez une invite de terminal appelée "Interface de ligne de commande" ou "CLI". Dans la plupart des distributions Linux, faites ceci en utilisant Ctrl+ Alt+T

textbelt.com envoyer du texte depuis bash

J'ai trouvé un article reddit: Envoyez un message texte SMS à partir de la ligne de commande avec cette commande Bash / Terminal que vous pouvez utiliser:

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

Remplacez-le 7801234567par votre numéro de téléphone. Si vous envoyez un SMS à un numéro de téléphone international (hors Canada / États-Unis), suivez ces instructions .

Remarque: le logiciel remplace "Trouvez votre téléphone!" avec un message indiquant que vous devez acheter une clé pour utiliser un message personnalisé. Mais le logiciel insiste toujours pour que vous deviez fournir un message qui sera écrasé.


Autres raisons pour l'envoi de SMS par SMS depuis Bash

Trouver mon smartphone était un besoin inhabituel d’envoyer un message texte SMS de Bash. Vous pouvez avoir quelques personnes qui devraient recevoir un SMS quand:

  • Les disques sont sur le point de tomber en panne (ou d'autres erreurs matérielles se sont produites)
  • L'utilisation de l'espace disque dépasse le seuil, par exemple 90%
  • La RAM est pleine et le swap est fortement utilisé
  • Le serveur Web subit des attaques externes
  • Un utilisateur avait trop de connexions non valides et son compte est désactivé
  • Un travail spécifique a été exécuté qui affecte les processus clés
  • Un lecteur de badge de porte surveille le déverrouillage d’une certaine porte

textbelt.com est gratuit pour un texte par jour

Un seul SMS gratuit par jour peut être envoyé par un expéditeur donné. Voici un exemple des première et deuxième tentatives d'un jour:

$ 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}

Remarque: Vous pouvez peut-être réinitialiser l'adresse IP de votre routeur pour plus d'un texte par jour, mais je ne l'ai pas encore testé.

Vous pouvez utiliser des textes prépayés illimités. Il existe de nombreux services de passerelle SMS disponibles. Le prix au lien de fournisseur ci-dessus varie de 0,03 USD à 0,15 USD par texte. Ceci est pour référence et non une approbation ou une recommandation. S'il vous plaît, faites vos devoirs et recherchez des fournisseurs de renom payables au meilleur prix.


Créer un script Bash

Vous pouvez créer un script bash appelé smscontenant:

#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
  • Envoyer un SMS en utilisant sms 7801234567 "Hello World"
  • Merci Fabby d'avoir testé cela auprès de l'UE et de l'avoir confirmé.

Envoyer un e-mail au transporteur du smartphone avec SMS

Tout ce dont vous avez besoin, c’est d’un navigateur Web tel que FireFox, Internet Explorer ou Chrome. Pas besoin de plonger dans les "entrailles de bash" ou de vous limiter à un texte gratuit par jour.

De nombreux opérateurs vous permettent d'envoyer un message texte SMS à un smartphone en adressant un courrier électronique à phone_number@mobile_provider_name.com.

Numéro de téléphone rechercher l'adresse du site Web du transporteur

Pour obtenir l'adresse du site Web du fournisseur à l'aide du numéro de téléphone, accédez à l' adresse : https://freecarrierlookup.com/ . Imaginons que nous ayons entré le numéro de téléphone 7801234567:

Frais de portage Lookup.png

On nous dit que l'adresse e-mail à utiliser est [email protected]. Envoyez maintenant un email à cette adresse et votre téléphone sonnera avec une notification.

Bien sûr, si votre smartphone est configuré pour sonner avec une notification lorsque le courrier électronique arrive, vous pouvez simplement envoyer votre téléphone par e-mail en premier lieu!

Interface CLI pour l'envoi d'une adresse email

Dans Ask Ubuntu , de nombreuses questions et réponses expliquent comment envoyer un courrier électronique à l'aide de bash. J'utilise ssmtp(Secure Simple Mail Transport Protocol) pour mes cronsauvegardes quotidiennes: Sauvegarde de la configuration Linux, des scripts et des documents sur Gmail

Bien que cette configuration concerne un utilisateur, vous pouvez créer un fichier avec plusieurs utilisateurs pour envoyer des messages texte à:

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

Puis dans votre code bash quelque chose comme ça :

ssmtp 5551234567@att.com < mail.txt

mail.txtressemble à ceci:

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>

Il existe plusieurs façons d’envoyer un courrier électronique à partir de bash. Ceci n'est qu'un exemple. L'important est que l'adresse e-mail contienne le numéro de smartphone suivi de l'adresse Web du fournisseur de smartphone.

WinEunuuchs2Unix
la source
16
Vous pouvez également envoyer des adresses e-mail à la compagnie de téléphone qui les transmettra sous forme de texte.
Kevin
1
Skype peut envoyer un SMS ou un appel téléphonique normal (ce qui fera que le téléphone émet des sons plus longtemps). Cela coûte de l'argent, mais pas trop. Peut-être qu'ils ne factureront pas un appel téléphonique, si vous ne répondez pas (après avoir trouvé le téléphone) ;-)
sudodus
2
L'envoi de texte par courrier électronique fonctionne. Cependant, vous devez connaître le transporteur utilisé par votre destinataire. Actuellement, vous pouvez déterminer cela via freecarrierlookup.com. Vous obtiendrez également une adresse électronique à utiliser pour envoyer un SMS ou un MMS. c'est-à-dire: [email protected] ... après avoir reçu l'adresse e-mail pour l'envoi de texte, utilisez la méthode de messagerie de votre choix, du courrier en ligne de commande à la messagerie gmail, en passant par thunderbird, etc. pour formater le message texte et l'envoyer. .
TonyB
2
Je sais que cela va au-delà de la portée de ce Q & R, mais pour envoyer des alertes pour les disques complets / RAM ou toute autre défaillance à des utilisateurs dédiés, je ne compterais pas sur un service qui envoie des SMS une fois par jour mais connecte un modem avec une carte SIM. En Allemagne (Europe?), Le CEP CT63 est très populaire.
PerlDuck
1
"La plupart sinon tous les transporteurs" C'est une information assez localisée. Ici (aux Pays-Bas), cela ne semble pas fonctionner.
Mât
22

Cette réponse ne concerne pas la ligne de commande car je ne trouve pas de solution de ligne de commande pour Google.

Si vous avez un téléphone Android et que vous ne souhaitez pas utiliser la ligne de commande, vous pouvez accéder à https://www.google.com/android/find dans un navigateur Web et faire sonner votre téléphone à partir de là, que ce soit en mode muet, vibreur ou clavier. être connecté à un casque Bluetooth. Aucun logiciel supplémentaire n'est requis sur votre téléphone non plus. Cela peut également être fait autant de fois que vous le souhaitez en une journée.

Terrance
la source
4

Appel téléphonique depuis le navigateur, à l'aide de Google Hangouts

Vous pouvez également localiser votre téléphone en l'appelant, même si vous ne possédez pas de téléphone fixe.

Prérequis: un compte Google

Remarque: seuls les appels vers les États-Unis et le Canada sont gratuits. Voir https://www.google.com/voice/b/0/rates?p=hangout pour les tarifs.

  1. Allez sur hangouts.google.com
  2. Cliquez sur le bouton "Appel téléphonique":
    capture d'écran du bouton
  3. Cliquez sur "Nouvelle conversation":
    capture d'écran du bouton
  4. Entrez votre numéro de téléphone:
    capture d'écran numéro de la boîte d'entrée
  5. Cliquez sur "Appeler":
    capture d'écran du bouton d'appel
Nonny Moose
la source
Je vois à $0.00côté du numéro de téléphone à appeler. Pouvez-vous préciser le coût d'utilisation de ce service?
WinEunuuchs2Unix
Ne travaille pas dans mon pays sans argent pour leur compte.
sudodus
1
@ WinEunuuchs2Unix Donc, désolé! J'ai oublié que Google Hangouts facture les appels en dehors des États-Unis et du Canada. J'ai mis à jour ma réponse en conséquence.
Nonny Moose
@NonnyMoose Merci pour la mise à jour. J'ai déjà voté votre réponse avant mon commentaire.
WinEunuuchs2Unix
1

Ce que je faisais il y a quelques années était de m'amuser avec python et d'apprendre la langue.

Ce que j'ai fait était:

  • Écrire du code python utilisant le module smtp
  • Testez-le avec Gmail
  • Déterminez l'adresse e-mail qui correspond à mon numéro de téléphone (recherchez les API de messagerie des trois gros opérateurs en texte (en réalité, elles ne sont qu'un domaine de messagerie dans lequel l'utilisateur est le numéro de téléphone))
  • créer un outil de ligne de commande
  • tester avec mon numéro de téléphone

Et VOILA! envoyer des SMS à partir de bash.

Ps écrit à partir d'un appareil mobile difficile à utiliser ... Si cela attire plus d'attention, je pourrais chercher à retrouver l'ancien code

Trevor Boyd Smith
la source
4
Je pense que python n'est pas une partie requise ici, utilisez les utilitaires de messagerie unix pour envoyer un message.
Val
1
Je pense qu’il s’agit plus d’un aperçu de la réponse et des étapes / commandes importantes à suivre.
WinEunuuchs2Unix
1
@val utiliser mailau lieu d'écrire du code python avec smtp semble être une solution un peu plus simple et plus rapide. Il suffit de faire un simple script shell bash qui serait inférieur aux lignes du jeudi.
Trevor Boyd Smith
1
Cette réponse manque de substance. “Comment puis-je me texter via bash” - “Je l'ai fait, utiliser python et gmail sur mon propre téléphone à l'aide de smtp” ... cela vous semble-t-il être une réponse productive ou satisfaisante?
vol7ron
Avez-vous remarqué en bas "Ps écrit à partir d'un appareil mobile difficile à utiliser". ||| Recréer les étapes n'est pas trop difficile. Vous envoyez juste un email depuis la ligne de commande. La mailcommande serait probablement plus rapide que le code Python.
Trevor Boyd Smith