Följ Black Week på SweClockers
Permalänk
Medlem

Skicka SMS från konsollen

Hejsan. Tidigare har jag sett färdiggjorda script som fungerar tillsammans med sidor man kan skicka gratis SMS ifrån som gör att man enkelt kan skicka SMS från konsollen. Det kan ju vara smidigt om man vill bli uppmärksammad på något till exempel.

Känner någon till ett sådan script med tillhörande sida som fungerar? Alternativt så skulle man ju kunna göra ett eget script om man vet om en bra sida för att skicka gratis SMS men som det inte finns något färddigjort script till.

EDIT: Inte mycket feedback men jag slängde ihop ett script i som använder wget och SMS.se. Fungerar utmärkt, bara att nyttja wget:s POST-funktioner och dess kakhantering.

Permalänk

DELA MED DIG!!!

Vore nice som fan

Visa signatur

Macbook Vit | Macbook Unibody | D80 | iPod Touch | iPhone 3GS

Permalänk
Medlem

jag har skrivit om detta tidigare...
vi skrev en applikation för ett antal år sedan när det fanns diverse gratis-tjänster där man kunde skicka SMS via konsoll

man anropade det ungefär såhär

SMS.exe [telefonnr] [budskap]

och då kunde man skicka med alla tecken som tilläts för en del "SMS-leverantörer" reserverade typ 20 tecken för egen text/reklam

jaja -oavsett så funkade det perfekt

tyvärr slutade dessa gratis-SMS att fungera efter ett tag - men det var perfekt att kunna skicka server-loggar o dylikt till sin mobil

även systeminfo, SETI-statistik o dylikt kunde skickas...allt anropades via en schemalagd .bat-fil...

kul med flera tusen SMS om dagen

Visa signatur

Har varit på detta forum på tok för länge...

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Filleokus
DELA MED DIG!!!

Vore nice som fan

Så här ser det jag använder ut:

meddelande=$1 nummer=$2 losenord="Ditt Lösenord på SMS.se" mobilnummer="Ditt Mobiltelefonnummer" meddelande2=`echo $meddelande | sed -e 's/%/%25/g' -e 's/å/%E5/g' -e 's/ä/%E4/g' -e 's/ö/%F6/g' -e 's/Å/%C5/g' -e 's/Ä/%C4/g' -e 's/Ö/%D6/g' -e 's/+/%2B/g' -e 's/&/%26/g'` wget -O - "http://www.sms.se/action.php?action=login" --post-data "cellphone=$mobilnummer&password=$losenord&buttonName=x" --keep-session-cookies --save-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=sendsms&gateway=1" --post-data "tocellphone=$nummer&text=$meddelande2&remaining=160&thesubmit=x" --load-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=logout" --load-cookies kaker.txt 2&> /dev/null rm kaker.txt

Då kör man alltså

./SMS.sh 'Meddelande' Nummer

Det kan vara problem med vissa tecken som inte kommer fram som de ska. Men om man håller sig till relativt vanliga tecken bör det inte vara några problem.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jucce
Så här ser det jag använder ut:

meddelande=$1 nummer=$2 losenord="Ditt Lösenord på SMS.se" mobilnummer="Ditt Mobiltelefonnummer" meddelande2=`echo $meddelande | sed -e 's/%/%25/g' -e 's/å/%E5/g' -e 's/ä/%E4/g' -e 's/ö/%F6/g' -e 's/Å/%C5/g' -e 's/Ä/%C4/g' -e 's/Ö/%D6/g' -e 's/+/%2B/g' -e 's/&/%26/g'` wget -O - "http://www.sms.se/action.php?action=login" --post-data "cellphone=$mobilnummer&password=$losenord&buttonName=x" --keep-session-cookies --save-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=sendsms&gateway=1" --post-data "tocellphone=$nummer&text=$meddelande2&remaining=160&thesubmit=x" --load-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=logout" --load-cookies kaker.txt 2&> /dev/null rm kaker.txt

Då kör man alltså

./SMS.sh 'Meddelande' Nummer

Det kan vara problem med vissa tecken som inte kommer fram som de ska. Men om man håller sig till relativt vanliga tecken bör det inte vara några problem.

Verkar riktigt najs men hur ska man göra programet?

Visa signatur

Workstation: Intel Core 2 Duo E6420 | 4GB DDR2 PC5300 | 8800GTS 320Mb | 500Gb Sata2 |
WD My Book Essential Edition 500Gb |

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ozz_z
Verkar riktigt najs men hur ska man göra programet?

Göra programmet?

Det där är ett script, inget kompilerat program.

Skriv bara in det där i en textfil och döp den till SMS.sh så är det bara att köra sen.

Visa signatur

"Problemet med socialism är att till sist tar alla andras pengar slut" - Margaret Thatcher

Permalänk
Hedersmedlem

Mja, nästan. Först och främst måste den vara chmod:dad (chmod +x SMS.sh) och så behövs ju en
#!/bin/bash
(eller liknande) som första rad. Alternativt kan man ju skippa det och köra den som "bash SMS.sh <argument>" om man så vill.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Medlem

Det här verkar allt för krångligt =/

Visa signatur

Workstation: Intel Core 2 Duo E6420 | 4GB DDR2 PC5300 | 8800GTS 320Mb | 500Gb Sata2 |
WD My Book Essential Edition 500Gb |

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ozz_z
Det här verkar allt för krångligt =/

Krångligt?

1. Skapa en vanlig text fil med valfri editer och skriv #! /bin/sh på första raden.
2. Klistra in scriptet
3. Spara
4. skriv i din terminal

% chmod u+x /väg/till/filen

5. Kör filen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Vijjje
2. Klistra in scriptet

Och kom ihåg att mata in dina egna uppgifter som du registrerat dem på SMS.se.

Permalänk

Humm, detta verkar intressant, kan ju säkert komma till nytta. Te.x. skicka meddelanden från servern osv.

Visa signatur

Citera mig gärna om du vill ha svar!

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Vijjje
Krångligt?

1. Skapa en vanlig text fil med valfri editer och skriv #! /bin/sh på första raden.
2. Klistra in scriptet
3. Spara
4. skriv i din terminal

% chmod u+x /väg/till/filen

5. Kör filen.

Antingen gör jag något fel, men det vill inte funka :S

Visa signatur

Workstation: Intel Core 2 Duo E6420 | 4GB DDR2 PC5300 | 8800GTS 320Mb | 500Gb Sata2 |
WD My Book Essential Edition 500Gb |

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ozz_z
Antingen gör jag något fel, men det vill inte funka :S

Hur visar sig felet?

Permalänk
Medlem

Det händer ingenting :/

Visa signatur

Workstation: Intel Core 2 Duo E6420 | 4GB DDR2 PC5300 | 8800GTS 320Mb | 500Gb Sata2 |
WD My Book Essential Edition 500Gb |

Permalänk
Medlem

gissar att det är inloggningen som misslyckas. Har di fyllt i rätt uppgifter?

Permalänk
Medlem

Uppgifterna är rätt och när jag skriver kommandot ser det ut så här:

TeleTaubi:~# % chmod u+x /root/sms
-bash: fg: %: inget sådant jobb

Visa signatur

Workstation: Intel Core 2 Duo E6420 | 4GB DDR2 PC5300 | 8800GTS 320Mb | 500Gb Sata2 |
WD My Book Essential Edition 500Gb |

Permalänk
Hedersmedlem

Du ska inte skriva med %.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Thomas
Du ska inte skriva med %.

TeleTaubi:~# chmod u+x /root/sms
TeleTaubi:~#

Så blir det ändå =/

Jag kan väl posta min lilla kod

#! /bin/sh meddelande=$1 nummer=$2 losenord="mittlösenord" mobilnummer="mittnummer" meddelande2=`echo $meddelande | sed -e 's/%/%25/g' -e 's/å/%E5/g' -e 's/ä/%E4/g' -e 's/ö/%F6/g' -e 's/Å/%C5/g' -e 's/Ä/%C4/g' -e 's/Ö/%D6/g' -e 's/+/%2B/g' -e 's/&/%26/g'` wget -O - "http://www.sms.se/action.php?action=login" --post-data "cellphone=$mobilnummer&password=$losenord&buttonName=x" --keep-session-cookies --save-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=sendsms&gateway=1" --post-data "tocellphone=$nummer&text=$meddelande2&remaining=160&thesubmit=x" --load-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=logout" --load-cookies kaker.txt 2&> /dev/null rm kaker.txt

Visa signatur

Workstation: Intel Core 2 Duo E6420 | 4GB DDR2 PC5300 | 8800GTS 320Mb | 500Gb Sata2 |
WD My Book Essential Edition 500Gb |

Permalänk
Medlem

Skriv nu

% /root/sms "Hej" nummer

Permalänk
Medlem

Tack som f*n Det funkar

Visa signatur

Workstation: Intel Core 2 Duo E6420 | 4GB DDR2 PC5300 | 8800GTS 320Mb | 500Gb Sata2 |
WD My Book Essential Edition 500Gb |

Permalänk
Hedersmedlem

Jag använde detta skript någon gång, sen berättade jag om det för en kompis som ville ha det och då kommenterade jag skriptet mer än utförligt också, så i open source-anda pastear jag in det här också. Exakt samma funktionalitet som ursprungsskriptet (eller tja, det skriver ut ett meddelande och avbryter om man har fel antal inparametrar och man kan välja var cookie-filen ska sparas):

#!/bin/sh if [ ! $# == 2 ]; then echo "sms kräver exakt två argument: sms \"meddelande\" \"mottagarnummer\"" exit fi ############################################################################ ###Användarspecifika variabler ##Användaruppgifter på sms.se #Registrerat nummer registrerat_nummer="dittnummer" #Lösenord losenord="dittlösenord" ##Datorspecifika uppgifter #Sökväg för temporär cookie-fil cookiefil="/tmp/sms.se-cookie" ############################################################################ ###Skriptets funktion ##Meddelandeuppgifter #Meddelandeformatering meddelande=`echo $1 | sed -e 's/%/%25/g' -e 's/å/%E5/g' -e 's/ä/%E4/g' -e 's/ö/%F6/g' -e 's/Å/%C5/g' -e 's/Ä/%C4/g' -e 's/Ö/%D6/g' -e 's/+/%2B/g' -e 's/&/%26/g'` #Mottagarens nummer angivet när skriptet anropas mottagarnummer=$2 ##HTTP-requests #Logga in wget -O - "http://www.sms.se/action.php?action=login" --post-data "cellphone=$registrerat_nummer&password=$losenord&buttonName=x" --keep-session-cookies --save-cookies $cookiefil 2&> /dev/null #Skicka meddelande wget -O - "http://www.sms.se/action.php?action=sendsms&gateway=1" --post-data "tocellphone=$mottagarnummer&text=$meddelande&remaining=160&thesubmit=x" --load-cookies $cookiefil 2&> /dev/null #Logga ut wget -O - "http://www.sms.se/action.php?action=logout" --load-cookies $cookiefil 2&> /dev/null #Ta bort temporär cookie-fil rm $cookiefil

Har upptäckt att radbrytningar genom "\n" i sitt meddelande fungerar i de skickade SMS:en, trevligt.

Ska man lägga till mer kan man ju ha kontroller på att numret verkligen är ett nummer, att meddelandet inte är längre än 160 tecken, kunna erbjuda interaktiv angivelse av lösenord och användarnamn, kunna spara lösenord och användarnamn i en riktig conf-fil i t ex användarens hemkatalog, sen kan man säkert fixa så att många fler tecken funkar (man kan ju tom skicka grekiska bokstäver i sms t ex... ), ha någon kontroll som berättar om SMS:et gick att skicka eller inte (leveransrapport tror jag inte sms.se stöder, annars vore ju det också bra), mm.

--

En genomgång för att använda det:

1. Registrera dig på sms.se
2. Klistra in skriptets kod i en texteditor, skriv in ditt registrerade telefonnummer och lösenord på angiven plats och spara filen som "sms"
3. Lägg till executable-rättigheter till filen genom att i terminalen skriva t ex "chmod u+x sms"
4. Kör programmet genom att skriva sökvägen till skriptet, ditt meddelande (inom citationstecken) och mottagarnummer. Står du i samma katalog som skriptet ligger i får du skriva "./sms" som sökväg.

Exempel:

~$ /usr/local/script/sms "hej hå" 0712345678

(om skriptets sökväg är /usr/local/script/sms

~$ ./sms "hej hå" 0712345678

(om skriptet ligger i den katalog du står)

Det bör väl ha täckt det mesta

Bra grejer, det där scriptet, tackar jag för. Snart kommer jag på ett användningsområde för det också...

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

Tack för ett bra script, funkar klockrent!
Hur gör jag för att få ett SMS med t.ex outputen från kommandot uptime?

Visa signatur

Är du också lite less?

Permalänk
Hedersmedlem

sms.sh `uptime` nummer
borde funka. Lägg märke till att det inte är vanliga citationtecken ( ' ) utan "backticks". $(uptime) borde funka annars också.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Medlem

Fan, detta har jag ju inte tänkt på innan.. kan ju användas till massa roliga saker.. Tack Ericus!

Man kan ju göra såhär:

#!/bin/bash meddelande=`uptime` nummer="*mobilnummer man vill skicka till*" losenord="*lösen*" mobilnummer="*mobilnummer för inloggning*" meddelande2=`echo $meddelande | sed -e 's/%/%25/g' -e 's/å/%E5/g' -e 's/ä/%E4/g' -e 's/ö/%F6/g' -e 's/Å/%C5/g' -e 's/Ä/%C4/g' -e 's/Ö/%D6/g' -e 's/+/%2B/g' -e 's/&/%26/g'` wget -O - "http://www.sms.se/action.php?action=login" --post-data "cellphone=$mobilnummer&password=$losenord&buttonName=x" --keep-session-cookies --save-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=sendsms&gateway=1" --post-data "tocellphone=$nummer&text=$meddelande2&remaining=160&thesubmit=x" --load-cookies kaker.txt 2&> /dev/null wget -O - "http://www.sms.se/action.php?action=logout" --load-cookies kaker.txt 2&> /dev/null rm kaker.txt

Visa signatur

Behind every great fortune there is a crime. - Honoré de Balzac
simonb @ irc

Permalänk
Medlem

Det är väll lika bra jag postar min version av scriptet med då vi endå håller på modifera det..

entity@thor ~): /usr/scripts/sms "test message, with controll" 07012345 sms: max free sms exceeded (entity@thor ~): /usr/scripts/sms "test message, controll disabled" 07012345 nonfree sms: WARNING, free sms control disabled sms: login OK. sms: send (2/2) OK. sms: logout OK. (entity@thor ~): /usr/scripts/sms check sms: sent today: 2, maxfree: 2

Funktioner:
- Funkar för flera användare samtidigt utan att ändra i scriptet, det laddar dynamiskt en conf fil för varje användare
- varnar om man överskrider gratis sms gränsen
- med "nonfree" växeln använder man de markeringar som man kan köpa på sms.se
- kontrollerar att returkoderna från sms.se är ok, för grov felhantering.
- "check" funktion visar hur mycket som man skickat idag.
- varning om medelandet är för långt, då det kan klippas av..
- temp filen är korrekt hanterad, inga statiska filer med racecondition problem..
- säkert något som jag glömt men vad fan..

har inte orkat göra något åt tecken hanteringen, då jag endå endast använder engelska..

går att ladda ner här:

http://www.dnz.se/misc/sms

Visa signatur

"Stallman to Dvorak: Welcome to freedom, your rulebook is in the mail" - Fake Steve Jobs
rfc-1925 - The Twelve Networking Truths

Permalänk
Medlem

Det hade varit bra om du la' till exit status i ditt script ntity. Skit bra annars.

Permalänk

Ah, opensource-anda! Mycker trevlig. SMS känns dock 90-tal. Modda så att scriptet skickar ett snapshot från webkameran via email istället. Du kan ju få mail levererade som MMS.

Visa signatur

Macbook PRO, 2.33Ghz, 3Gb RAM.

Permalänk
Hedersmedlem

Om man t ex tar emot ett SMS att mailservern gått ner så bryr man sig väl inte vad webbkameran visar?

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Vijjje
Det hade varit bra om du la' till exit status i ditt script ntity. Skit bra annars.

Enda funktionerna som kan falera med en exit kod av 0 är login samt send, då dessa är baserade på returkoderna av wget & sms.se webserver är de inte direkt kopplade till om smset skickades eller inte.

Alla andra funktioner som kan falera fatalt exitar != 0

Men om det är ju bara att du ändrar om du vill ha annan funktion.

Visa signatur

"Stallman to Dvorak: Welcome to freedom, your rulebook is in the mail" - Fake Steve Jobs
rfc-1925 - The Twelve Networking Truths

Permalänk

Haha, tack för ett jävligt coolt skript. Detta kan man ju ha användning för.. och så mycket smidigare än att logga in på SMS.se och skriva åtminstone..

Mitt funkade direkt.

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com