🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux
37 messages
37 total messages Started by Baczek Fri, 30 Sep 2022 16:08
Wykonanie polecenia na serwerze poprzez stronę www
#906507
Author: Baczek
Date: Fri, 30 Sep 2022 16:08
14 lines
1613 bytes
Witam
jak już kiedyś pisałem, zbudowałem sobie sterownik do pieca CO. 
Sterownik oparty na raspberry.
Wszystko od roku działa jak powinno, ale,
żeby zmienić chwilowo program grzania loguję się poprzez ssh i odpalam 
odpowiedni skrypt.
Chciałbym mieć możliwość uruchomienia skryptu poprzez stronę www.
Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na serwerze 
odpowiedni skrypt.
Mam na raspberry zainstalowany lighttpd.
Nie wiem jak zapytać google.
Podeśle ktoś za czym mam szukać?

Pozdrawiam
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906508
Author: Andrzej A. Filip
Date: Fri, 30 Sep 2022 16:21
25 lines
1963 bytes
Baczek <m_bakowski@poczta.onet.pl> pisze:
> Witam
> jak już kiedyś pisałem, zbudowałem sobie sterownik do pieca
> CO. Sterownik oparty na raspberry.
> Wszystko od roku działa jak powinno, ale,
> żeby zmienić chwilowo program grzania loguję się poprzez ssh i odpalam
> odpowiedni skrypt.
> Chciałbym mieć możliwość uruchomienia skryptu poprzez stronę www.
> Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na
> serwerze odpowiedni skrypt.
> Mam na raspberry zainstalowany lighttpd.
> Nie wiem jak zapytać google.
> Podeśle ktoś za czym mam szukać?

Szukaj CGI albo Fast CGI (FCGI), lighttpd to wspiera.

To są metody do generowania stron/odpowiedzi HTTP przez zewnętrzne
programy/skrypty.  W jakim języku programowania/skryptowania jest ten
skrypt sterujący (albo co ty preferujesz python/perl/…)?

Oczywiście w miarę _proste_ sprawienie żeby nie każdy na internecie mógł
sterować może być najtrudniejsze.

-- 
Andrzej A. Filip
Re: Wykonanie polecenia na serwerze poprzez stron www
#906509
Author: Mateusz Viste
Date: Fri, 30 Sep 2022 16:24
25 lines
1785 bytes
2022-09-30 o 18:08 +0200, Baczek napisał:
> Witam
> jak już kiedyś pisałem, zbudowałem sobie sterownik do pieca CO. 
> Sterownik oparty na raspberry.
> Wszystko od roku działa jak powinno, ale,
> żeby zmienić chwilowo program grzania loguję się poprzez ssh i
> odpalam odpowiedni skrypt.
> Chciałbym mieć możliwość uruchomienia skryptu poprzez stronę www.
> Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na
> serwerze odpowiedni skrypt.
> Mam na raspberry zainstalowany lighttpd.
> Nie wiem jak zapytać google.
> Podeśle ktoś za czym mam szukać?

Szukaj pod hasłem "jak obsłużyć formularz html via PHP".

Oczywiście zamiast PHP może być cokolwiek innego - C, perl, python czy
nawet bash, bo interfejs CGI można obsłużyć czymkolwiek, ale PHP chyba
najprostsze do tego zadania.

Formularz musi koniecznie z metodą POST. Przy standardowym GET
ryzykujesz, że przeglądarka sama powtórzy zapytanie i będzie Ci
zmieniać ustawienia pieca.

Mateusz
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906510
Author: Pawel
Date: Fri, 30 Sep 2022 17:33
24 lines
2291 bytes
W dniu 30.09.2022 o 18:08, Baczek pisze:
> Witam
> jak już kiedyś pisałem, zbudowałem sobie sterownik do pieca CO. 
> Sterownik oparty na raspberry.
> Wszystko od roku działa jak powinno, ale,
> żeby zmienić chwilowo program grzania loguję się poprzez ssh i odpalam 
> odpowiedni skrypt.
> Chciałbym mieć możliwość uruchomienia skryptu poprzez stronę www.
> Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na serwerze 
> odpowiedni skrypt.
> Mam na raspberry zainstalowany lighttpd.
> Nie wiem jak zapytać google.
> Podeśle ktoś za czym mam szukać?
> 
> Pozdrawiam
> 
Ja zrobilem cos podobnego na bazie nodejs i pakietu express (prosty 
skrypt - kilkanascie linijek kodu, zeby uruchaamiac z 10 roznych 
skryptow) i na Androida appka "Skroty HTTP" (nie wiem jak sprawdzic, 
jaka to oficjalna nazwa. musialbym sprawdzic).
W Androidzie wrzucasz kilka ikon na ekran i pod kazda ikone podpinasz 
zapytanie http, ktore mozna takze uruchamiac ze zwyklej przegladarki. 
Dzialalo bardzzo dobrze.
Potem, wciskasz ikone na telefonie i na serwerze uruchamia sie skrypt.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906512
Author: Marcin Debowski
Date: Fri, 30 Sep 2022 23:11
32 lines
2299 bytes
On 2022-09-30, Baczek <m_bakowski@poczta.onet.pl> wrote:
> Witam
> jak już kiedyś pisałem, zbudowałem sobie sterownik do pieca CO. 
> Sterownik oparty na raspberry.
> Wszystko od roku działa jak powinno, ale,
> żeby zmienić chwilowo program grzania loguję się poprzez ssh i odpalam 
> odpowiedni skrypt.
> Chciałbym mieć możliwość uruchomienia skryptu poprzez stronę www.
> Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na serwerze 
> odpowiedni skrypt.
> Mam na raspberry zainstalowany lighttpd.
> Nie wiem jak zapytać google.
> Podeśle ktoś za czym mam szukać?

Najprościej, jak już Mateusz wspomniał, to chyba html/php. Tylko jeśli 
te skrypty chodzą pod root'em to ja bym to odizolował od www.

Zrób sobie najpierw skryp pod powłoką (np. w bash'u), który uruchamia 
odpowiednie skrypty piecowe w zależności np. od zawartości jakiegoś 
pliku (np. 0 - skrypt 0, 1 - skrypt 1 itd.), i niech coś sobie czyta ten 
plik np. co 10s, odpala odpowiedni skrypt po czym czysci zawartość pliku. 

A potem dajesz w form html 4x 
<input type="submit" name="cokolwiek" value="guzikczycosN"> (gdzie N=0..3])
php switch i zapisywanie do tego pliku odpowiedniej wartości.

A jak nie masz nic przeciwko, aby Ci coś spod www wykonywało skrypty z 
prawem roota to shell_exec i zapewne dodanie www-data to sudoers lub 
ustawienie sticky bit.

-- 
Marcin
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906496
Author: Dominik Ałaszewski
Date: Sat, 01 Oct 2022 12:22
20 lines
2118 bytes
Dnia 30.09.2022 Marcin Debowski <agatek@INVALID.zoho.com> napisał/a:

> Zrób sobie najpierw skryp pod powłoką (np. w bash'u), który uruchamia 
> odpowiednie skrypty piecowe w zależności np. od zawartości jakiegoś 
> pliku (np. 0 - skrypt 0, 1 - skrypt 1 itd.), i niech coś sobie czyta ten 
> plik np. co 10s, odpala odpowiedni skrypt po czym czysci zawartość pliku. 

Nawet nie musi czytać, wystarczy wykorzystać mechanizm inotify kernela
(np. incrontab), gdy apacz zmieni jakiś plik może się automagicznie
odpalać skrypt. Ja tak miałem rozwiązane dodatkowe sterowanie radiem
internetowym, skrypty działały na innym userze.

A dostęp z zewnątrz, jeśli potrzebny, rozwiązałbym po prostu vpn-em,
wireguard na pi działa bardzo przyzwoicie.

-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stron www
#906521
Author: Mateusz Viste
Date: Sat, 01 Oct 2022 12:39
11 lines
1322 bytes
2022-10-01 o 12:22 GMT, Dominik Ałaszewski napisał:
> A dostęp z zewnątrz, jeśli potrzebny, rozwiązałbym po prostu vpn-em,
> wireguard na pi działa bardzo przyzwoicie.

A co jest złego w zwyczajnym basic auth http z warstwą TLS? Dużo
łatwiejsze w implementacji i w pół minuty można się połączyć do web UI
z byle smartfona.

Można jeszcze dodać rate limiting, jeśli kto boi się brute force.

Mateusz
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906522
Author: Dominik Ałaszewski
Date: Sat, 01 Oct 2022 14:27
28 lines
2448 bytes
Dnia 01.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:

> A co jest złego w zwyczajnym basic auth http z warstwą TLS? Dużo
> łatwiejsze w implementacji i w pół minuty można się połączyć do web UI
> z byle smartfona.

Nic złego (choć skonfigurowanie Let's Encrypt chwilę zajmie, 
a przy samopodpisanym przeglądarka zapyskuje- choć z drugiej
strony zapewne zapyskuje i przy połączeniu nieszyfrowanym).

W każdym razie implementacja wireguarda trudniejsza
nie jest- odpowiedź na parę pytań konfiguratora i skan
QR kodu smartfonem, zajmie może 3 minuty.
I też można się dostać z byle smartfona w kilkanaście sekund. 

Ja po prostu nie wystawiałbym na świat rzeczy, których tylko 
ja używam, przy okazji ucinając okazję do macania chińskim
macantom i unikając jakichś 0-day serwera http ;-)

Pisząc, że ja bym tak zrobił nie twierdzę, iż dane rozwiązanie 
jest Jedynie Słuszne, czy że inne rozwiązania mają jakieś wady 
nie do zaakceptowania.

-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906535
Author: Dominik Ałaszewski
Date: Sat, 01 Oct 2022 14:37
17 lines
1615 bytes
Dnia 30.09.2022 Baczek <m_bakowski@poczta.onet.pl> napisał/a:

> Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na serwerze 
> odpowiedni skrypt.

Chyba najprościej (co nie oznacza, że dobrze ;-)

<button onClick="document.location='http://172.16.0.24/cgi-bin/1.sh'">
1
</button>


-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stron www
#906537
Author: Mateusz Viste
Date: Sat, 01 Oct 2022 15:26
24 lines
1884 bytes
2022-10-01 o 14:37 GMT, Dominik Ałaszewski napisał:
> Dnia 30.09.2022 Baczek <m_bakowski@poczta.onet.pl> napisał/a:
> 
> > Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na
> > serwerze odpowiedni skrypt.  
> 
> Chyba najprościej (co nie oznacza, że dobrze ;-)
> 
> <button onClick="document.location='http://172.16.0.24/cgi-bin/1.sh'">
> 1
> </button>

W takiej perspektywie równie dobrze może to być link <a>... I problem
ten sam: jeśli przycisk zmienia jakieś ustawienia czegoś, to szybko
może się okazać, że przeglądarka sama grzebie w ustawieniach pieca bo
np. odświeża sobie cache ostatnio przeglądanej strony - albo odwrotnie,
zamiast wykonać skrypt wyświetla zawartość swojego cache i użytkownik
myśli, że coś zrobił, a wcale nie. No i każdy z przycisków pojawi się w
historii przeglądarki, więc łatwo samemu niechcący powklikać coś lewego.

Z tych właśnie powodów sugerowałem formularz POST. W PHP jego obsługa
jest równie prosta, a nie ma wyżej opisanych nieprzyjemności.

Mateusz
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906520
Author: Marcin Debowski
Date: Sat, 01 Oct 2022 22:32
17 lines
1788 bytes
On 2022-10-01, Dominik Ałaszewski <Dominik.Alaszewski@gazeta.pl.invalid> wrote:
> Dnia 30.09.2022 Marcin Debowski <agatek@INVALID.zoho.com> napisał/a:
>
>> Zrób sobie najpierw skryp pod powłoką (np. w bash'u), który uruchamia 
>> odpowiednie skrypty piecowe w zależności np. od zawartości jakiegoś 
>> pliku (np. 0 - skrypt 0, 1 - skrypt 1 itd.), i niech coś sobie czyta ten 
>> plik np. co 10s, odpala odpowiedni skrypt po czym czysci zawartość pliku. 
>
> Nawet nie musi czytać, wystarczy wykorzystać mechanizm inotify kernela
> (np. incrontab), gdy apacz zmieni jakiś plik może się automagicznie
> odpalać skrypt. Ja tak miałem rozwiązane dodatkowe sterowanie radiem
> internetowym, skrypty działały na innym userze.

Nawet tego nie znałem. Zapoznam się przy okazji, dzięki.

-- 
Marcin
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906524
Author: Marcin Debowski
Date: Sat, 01 Oct 2022 23:07
32 lines
2542 bytes
On 2022-10-01, Dominik Ałaszewski <Dominik.Alaszewski@gazeta.pl.invalid> wrote:
> Dnia 01.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:
>
>> A co jest złego w zwyczajnym basic auth http z warstwą TLS? Dużo
>> łatwiejsze w implementacji i w pół minuty można się połączyć do web UI
>> z byle smartfona.
>
> Nic złego (choć skonfigurowanie Let's Encrypt chwilę zajmie, 
> a przy samopodpisanym przeglądarka zapyskuje- choć z drugiej
> strony zapewne zapyskuje i przy połączeniu nieszyfrowanym).
>
> W każdym razie implementacja wireguarda trudniejsza
> nie jest- odpowiedź na parę pytań konfiguratora i skan
> QR kodu smartfonem, zajmie może 3 minuty.
> I też można się dostać z byle smartfona w kilkanaście sekund. 
>
> Ja po prostu nie wystawiałbym na świat rzeczy, których tylko 
> ja używam, przy okazji ucinając okazję do macania chińskim
> macantom i unikając jakichś 0-day serwera http ;-)

No ale to też serwis i pewnie też będzie jeden użytkownik, więc i tam 
może się jakiś zirodej znaleźć. Fakt, że pewnie mniej do macania.

Nie do końca rozumiem też co ma dać wireguard czego nie ma już 
zainstalowany sshd? Zasadniczo można przecież sterować i tymi piecami 
bez otwierania terminala na tej malinie (ssh host polecenie), a w 
przypadku www zaletą jest sam interfejs wystawiony na malinie, gdzie 
jest on dostępny z każdej przeglądarki, każdego urządzenia bez 
jakiejkolwiek konfiguracji. 

-- 
Marcin
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906539
Author: Pawel
Date: Sat, 01 Oct 2022 23:39
61 lines
3327 bytes
W dniu 01.10.2022 o 17:26, Mateusz Viste pisze:
> 2022-10-01 o 14:37 GMT, Dominik Ałaszewski napisał:
>> Dnia 30.09.2022 Baczek <m_bakowski@poczta.onet.pl> napisał/a:
>>
>>> Mam np 4 buttony, i po wciśnięciu któregoś uruchamia mi się na
>>> serwerze odpowiedni skrypt.
>>
>> Chyba najprościej (co nie oznacza, że dobrze ;-)
>>
>> <button onClick="document.location='http://172.16.0.24/cgi-bin/1.sh'">
>> 1
>> </button>
> 
> W takiej perspektywie równie dobrze może to być link <a>... I problem
> ten sam: jeśli przycisk zmienia jakieś ustawienia czegoś, to szybko
> może się okazać, że przeglądarka sama grzebie w ustawieniach pieca bo
> np. odświeża sobie cache ostatnio przeglądanej strony - albo odwrotnie,
> zamiast wykonać skrypt wyświetla zawartość swojego cache i użytkownik
> myśli, że coś zrobił, a wcale nie. No i każdy z przycisków pojawi się w
> historii przeglądarki, więc łatwo samemu niechcący powklikać coś lewego.
> 
> Z tych właśnie powodów sugerowałem formularz POST. W PHP jego obsługa
> jest równie prosta, a nie ma wyżej opisanych nieprzyjemności.
> 
> Mateusz
> 


A tak sie spytam, co jest nie tak w uzyciu nodejs?

To jest fragment mojego skryptu. Wywalilem wszystko co zbedne, wiec mam 
nadzieje, ze nie za duzo i sie uruchomi


var express = require('express');
var app = express();
function kill_all_xxx()
{
     console.log("Funkcja kill_all_xxx")
     const exec = require('child_process').exec;
     const kill_command = exec(killall_path + ' ' + 'xxx');
     kill_command.stdout.on('data', (data)=>{
         console.log(data);
     });
     kill_command.stderr.on('data', (data)=>{
     console.error(data);
     });
}
app.all('/killall', function(req, res)
{
     kill_all_xxx()
     res.send("Uruchomilem killall \n");
});
app.listen(55555);


Uruchomienie polega na wywolaniu url-a
http://192.168.XXX.XXX:55555/killall

Mozna tego url-a wywolac z androida z tej appki
https://f-droid.org/packages/ch.rmy.android.http_shortcuts/
Re: Wykonanie polecenia na serwerze poprzez stron www
#906533
Author: Mateusz Viste
Date: Sun, 02 Oct 2022 08:18
9 lines
1311 bytes
2022-10-02 o 01:39 +0200, Pawel napisał:
> A tak sie spytam, co jest nie tak w uzyciu nodejs?

Wszystko cacy, tylko to już trochę wyższa szkoła jazdy. :)
Programowanie JS, instalacja usługi NodeJS na serwerze... Śmiem
twierdzić, że dla laika to wyższa poprzeczka niż skrypt PHP, ale mogę
się mylić bo ja z tym całym JS mało obiektywny jestem.

Mateusz
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906554
Author: Dominik Ałaszewski
Date: Sun, 02 Oct 2022 08:44
20 lines
1953 bytes
Dnia 01.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:

> ten sam: jeśli przycisk zmienia jakieś ustawienia czegoś, to szybko
> może się okazać, że przeglądarka sama grzebie w ustawieniach pieca bo
> np. odświeża sobie cache ostatnio przeglądanej strony - albo odwrotnie,
> zamiast wykonać skrypt wyświetla zawartość swojego cache i użytkownik

To nie wystarczy w tym skrypcie wrzucić coś w stylu:
printf "Pragma: no-cache\n\n" ?

Dla pewności można jeszcze dorzucić:
printf "Expires: 0\n\n"



-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906525
Author: Dominik Ałaszewski
Date: Sun, 02 Oct 2022 08:47
14 lines
1906 bytes
Dnia 01.10.2022 Marcin Debowski <agatek@INVALID.zoho.com> napisał/a:

> Nie do końca rozumiem też co ma dać wireguard czego nie ma już 
> zainstalowany sshd? Zasadniczo można przecież sterować i tymi piecami 

Wireguard ma tylko dać dostęp do http, a po co http zamiast ssh to
pytanie do OP. Może na przykład chce sobie jeszcze gustowną grafikę 
obrazującą działanie pieca przy aktualnych nastawach wywiesić?

-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906540
Author: Pawel
Date: Sun, 02 Oct 2022 09:42
21 lines
2395 bytes
W dniu 02.10.2022 o 10:18, Mateusz Viste pisze:
> 2022-10-02 o 01:39 +0200, Pawel napisał:
>> A tak sie spytam, co jest nie tak w uzyciu nodejs?
> 
> Wszystko cacy, tylko to już trochę wyższa szkoła jazdy. :)
> Programowanie JS, instalacja usługi NodeJS na serwerze... Śmiem
> twierdzić, że dla laika to wyższa poprzeczka niż skrypt PHP, ale mogę
> się mylić bo ja z tym całym JS mało obiektywny jestem.
> 
Ja takze nie jestem specem od Javascript. Skladnia javascript jest 
bardzo podobna do C/C++.
Co do instalacji node.js, to z tego co pamietam, to wystarczylo wrzucic 
jedna, czy dwie komendy, ktore tworzyly katalog z calym srodowiskiem i tyle.

To co wrzucilem, to jest caly skrypt, ktory uruchamia zewnetrzne 
programy, w tym przypadku uruchamial komende killall, czyli zwykla 
linuksowa appka.

A pomijajac tego node.js, to ta druga appka jest warta zainteresowania, 
bo z telefonu mozna wywolywac komendy przy uzyciu http. Nie musisz sie 
bujac z przegladarka, tylko sie wciska ikone w telefonie.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906536
Author: Kamil Jońca
Date: Sun, 02 Oct 2022 09:51
21 lines
2065 bytes
Pawel <ppf9@USUN_TOpoczta.fm> writes:

> W dniu 02.10.2022 o 10:18, Mateusz Viste pisze:
>> 2022-10-02 o 01:39 +0200, Pawel napisał:
>>> A tak sie spytam, co jest nie tak w uzyciu nodejs?
>> Wszystko cacy, tylko to już trochę wyższa szkoła jazdy. :)
>> Programowanie JS, instalacja usługi NodeJS na serwerze... Śmiem
>> twierdzić, że dla laika to wyższa poprzeczka niż skrypt PHP, ale mogę
>> się mylić bo ja z tym całym JS mało obiektywny jestem.
>> 
> Ja takze nie jestem specem od Javascript. Skladnia javascript jest
> bardzo podobna do C/C++.

Że co?
Poza tym składnia składnią, a semantyka semantyką. A tu jest IMO
zupełnie różnie.
KJ


-- 
http://wolnelektury.pl/wesprzyj/teraz/
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906548
Author: Pawel
Date: Sun, 02 Oct 2022 10:25
26 lines
2759 bytes
W dniu 02.10.2022 o 11:51, Kamil Jońca pisze:
> Pawel <ppf9@USUN_TOpoczta.fm> writes:
> 
>> W dniu 02.10.2022 o 10:18, Mateusz Viste pisze:
>>> 2022-10-02 o 01:39 +0200, Pawel napisał:
>>>> A tak sie spytam, co jest nie tak w uzyciu nodejs?
>>> Wszystko cacy, tylko to już trochę wyższa szkoła jazdy. :)
>>> Programowanie JS, instalacja usługi NodeJS na serwerze... Śmiem
>>> twierdzić, że dla laika to wyższa poprzeczka niż skrypt PHP, ale mogę
>>> się mylić bo ja z tym całym JS mało obiektywny jestem.
>>>
>> Ja takze nie jestem specem od Javascript. Skladnia javascript jest
>> bardzo podobna do C/C++.
> 
> Że co?
> Poza tym składnia składnią, a semantyka semantyką. A tu jest IMO
> zupełnie różnie.
> KJ
Mowie o glownych kwestiach, czyli, ze sa nawiasy otwierajace, nawiasy 
przy funkcjac, sredniki na koncu, typ zmiennej sie okresla itp. W 
porownaniu np do pythona, to javascript jest podobny do c/c++. Nie 
twierdze, ze to jest ten sam jezyk, bo tak nie jest, ale jak ktos zna 
c/C++, to latwiej ogarnac javascript, niz pythona. Oczywiscie, to sa 
zupelnie inne jezyki i do czego inego byly projektowane, ale jak sie 
patrzy na prosty kod typu hello world, to oba jezyki sa podobne. W tym 
skrypcie, co ja napisalem, to bardziej zaawansowanych rzeczy nie potrzeba.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906547
Author: Kamil Jońca
Date: Sun, 02 Oct 2022 10:29
31 lines
2304 bytes
Pawel <ppf9@USUN_TOpoczta.fm> writes:

[...]
>>> Ja takze nie jestem specem od Javascript. Skladnia javascript jest
>>> bardzo podobna do C/C++.
>> Że co?
>> Poza tym składnia składnią, a semantyka semantyką. A tu jest IMO
>> zupełnie różnie.
>> KJ
> Mowie o glownych kwestiach, czyli, ze sa nawiasy otwierajace, nawiasy
> przy funkcjac, sredniki na koncu, typ zmiennej sie okresla itp. W
> porownaniu np do pythona, to javascript jest podobny do c/c++. Nie
> twierdze, ze to jest ten sam jezyk, bo tak nie jest, ale jak ktos zna
> c/C++, to latwiej ogarnac javascript, niz pythona. Oczywiscie, to sa

Jako osoba która miała styczność z C++, pythonem i JS twierdzę, ze się
mylisz...

> zupelnie inne jezyki i do czego inego byly projektowane, ale jak sie
> patrzy na prosty kod typu hello world, to oba jezyki sa podobne. W tym
> skrypcie, co ja napisalem, to bardziej zaawansowanych rzeczy nie
> potrzeba.
>
... chyba, że na poziomie hello world.
KJ




-- 
http://stopstopnop.pl/stop_stopnop.pl_o_nas.html
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906527
Author: Marcin Debowski
Date: Sun, 02 Oct 2022 11:55
15 lines
1801 bytes
On 2022-10-02, Dominik Ałaszewski <Dominik.Alaszewski@gazeta.pl.invalid> wrote:
> Dnia 01.10.2022 Marcin Debowski <agatek@INVALID.zoho.com> napisał/a:
>
>> Nie do końca rozumiem też co ma dać wireguard czego nie ma już 
>> zainstalowany sshd? Zasadniczo można przecież sterować i tymi piecami 
>
> Wireguard ma tylko dać dostęp do http, a po co http zamiast ssh to
> pytanie do OP. Może na przykład chce sobie jeszcze gustowną grafikę 
> obrazującą działanie pieca przy aktualnych nastawach wywiesić?

To niech httpd słucha na localhost i przetunelować po ssh. Nawet nie 
będzie trzeba konfigurować ssl.

-- 
Marcin
Re: Wykonanie polecenia na serwerze poprzez stron www
#906555
Author: Mateusz Viste
Date: Sun, 02 Oct 2022 11:58
35 lines
2502 bytes
2022-10-02 o 08:44 GMT, Dominik Ałaszewski napisał:
> Dnia 01.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:
> 
> > ten sam: jeśli przycisk zmienia jakieś ustawienia czegoś, to szybko
> > może się okazać, że przeglądarka sama grzebie w ustawieniach pieca
> > bo np. odświeża sobie cache ostatnio przeglądanej strony - albo
> > odwrotnie, zamiast wykonać skrypt wyświetla zawartość swojego cache
> > i użytkownik  
> 
> To nie wystarczy w tym skrypcie wrzucić coś w stylu:
> printf "Pragma: no-cache\n\n" ?

Raczej z "\r\n" na końcu, znaczenie "\n\n" byłoby inne.

Poza tym, ta pragma jest "deprecated" więc nie ma na nic żadnych
gwarancji. Obecnie powinno się raczej używać "cache-control: no-cache",
ale tu też w praktyce różnie bywa bo zarówno przeglądarki jak i proxies
traktują to raczej w kategorii sugestii.

> Dla pewności można jeszcze dorzucić:
> printf "Expires: 0\n\n"

Jeśli dana implementacja cache to respektuje (a nie każda jest na tyle
uczciwa), to z przymrużeniem oka możemy uznać że załatwiłoby to temat
starego cache. Pozostaje problem automatycznego odświeżania cache
(tj. przeglądarka lub proxy na zaś odpytuje serwer żeby mieć
najświeższą wersję strony pod ręką w razie gdyby użytkownik zaraz
kliknął na link) oraz problem pojawiania się konfiguracyjnych akcji
pieca w historii przeglądarki.

Słowem - kupa problemów i rozkminy, kiedy użycie formularza POST
załatwia temat bez potrzeby doktoryzowania się z RFC i praktycznymi
implementacjami.

Mateusz
Re: Wykonanie polecenia na serwerze poprzez stron www
#906529
Author: Mateusz Viste
Date: Sun, 02 Oct 2022 12:02
24 lines
2222 bytes
2022-10-02 o 11:55 GMT, Marcin Debowski napisał:
> On 2022-10-02, Dominik Ałaszewski
> <Dominik.Alaszewski@gazeta.pl.invalid> wrote:
> > Dnia 01.10.2022 Marcin Debowski <agatek@INVALID.zoho.com> napisał/a:
> >  
> >> Nie do końca rozumiem też co ma dać wireguard czego nie ma już 
> >> zainstalowany sshd? Zasadniczo można przecież sterować i tymi
> >> piecami   
> >
> > Wireguard ma tylko dać dostęp do http, a po co http zamiast ssh to
> > pytanie do OP. Może na przykład chce sobie jeszcze gustowną grafikę 
> > obrazującą działanie pieca przy aktualnych nastawach wywiesić?  
> 
> To niech httpd słucha na localhost i przetunelować po ssh. Nawet nie 
> będzie trzeba konfigurować ssl.

Za to trzeba będzie cyrkować z konfiguracją smartfona żeby taki tunel
na nim postawić. TLS trudny w konfiguracji nie jest, a działa wszędzie
i na wszystkim. Jeśli same dane pieca nie są tajemnicą, tylko chodzi o
to by jaki pakistanczyk nam nie przestawił zdalnie temperatury w kuchni
to i bez TLS się obejdzie, wystarczy wówczas użyć challenge-response
(digest) auth na zwyczajnym HTTP.

Mateusz
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906550
Author: Pawel
Date: Sun, 02 Oct 2022 12:08
35 lines
2992 bytes
W dniu 02.10.2022 o 12:29, Kamil Jońca pisze:
> Pawel <ppf9@USUN_TOpoczta.fm> writes:
> 
> [...]
>>>> Ja takze nie jestem specem od Javascript. Skladnia javascript jest
>>>> bardzo podobna do C/C++.
>>> Że co?
>>> Poza tym składnia składnią, a semantyka semantyką. A tu jest IMO
>>> zupełnie różnie.
>>> KJ
>> Mowie o glownych kwestiach, czyli, ze sa nawiasy otwierajace, nawiasy
>> przy funkcjac, sredniki na koncu, typ zmiennej sie okresla itp. W
>> porownaniu np do pythona, to javascript jest podobny do c/c++. Nie
>> twierdze, ze to jest ten sam jezyk, bo tak nie jest, ale jak ktos zna
>> c/C++, to latwiej ogarnac javascript, niz pythona. Oczywiscie, to sa
> 
> Jako osoba która miała styczność z C++, pythonem i JS twierdzę, ze się
> mylisz...
A moglbys rozwinac swa mysl? Chetnie sie dowiem. Tak jak mowilem, nie 
jestem specem w zadnymjezyku, wiec moze sie myle i chetnie sie dowiem 
czegos wiecej.


> 
>> zupelnie inne jezyki i do czego inego byly projektowane, ale jak sie
>> patrzy na prosty kod typu hello world, to oba jezyki sa podobne. W tym
>> skrypcie, co ja napisalem, to bardziej zaawansowanych rzeczy nie
>> potrzeba.
>>
> ... chyba, że na poziomie hello world.
Ale javascript (przynajmniej to co jest w node.js), podstawy ma bardzo 
podobne. Ify, czy tez while wyglada bardzo podobnie do c++, chyba, ze 
przez ostatnie kilka lat, podstawowaa struktura c++ sie jakos 
drastycznie zmienila. Od C++11 malo co uzywam C++, wiec nie jestem na 
czasie.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906556
Author: Dominik Ałaszewski
Date: Sun, 02 Oct 2022 12:26
30 lines
1889 bytes
Dnia 02.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:

> ale tu też w praktyce różnie bywa bo zarówno przeglądarki jak i proxies
> traktują to raczej w kategorii sugestii.

OK, a po prostu coś takiego?

main.html:
(..)
<button onClick="document.location='http://192.168.1.100/cgi-bin/1.sh'">
Nastawy 1
</button>
(..)

a w 1.sh:

#!/bin/bash
echo "1" >/sygnal/do/pieca

cat << EOF
<HTML>
<meta http-equiv="Refresh" content="0; url=http://192.168.1.100/main.html">
</HTML>


-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906307
Author: Marcin Debowski
Date: Sun, 02 Oct 2022 12:43
32 lines
2837 bytes
On 2022-10-02, Mateusz Viste <mateusz@xyz.invalid> wrote:
> 2022-10-02 o 11:55 GMT, Marcin Debowski napisał:
>> On 2022-10-02, Dominik Ałaszewski
>> <Dominik.Alaszewski@gazeta.pl.invalid> wrote:
>> > Dnia 01.10.2022 Marcin Debowski <agatek@INVALID.zoho.com> napisał/a:
>> >  
>> >> Nie do końca rozumiem też co ma dać wireguard czego nie ma już 
>> >> zainstalowany sshd? Zasadniczo można przecież sterować i tymi
>> >> piecami   
>> >
>> > Wireguard ma tylko dać dostęp do http, a po co http zamiast ssh to
>> > pytanie do OP. Może na przykład chce sobie jeszcze gustowną grafikę 
>> > obrazującą działanie pieca przy aktualnych nastawach wywiesić?  
>> 
>> To niech httpd słucha na localhost i przetunelować po ssh. Nawet nie 
>> będzie trzeba konfigurować ssl.
>
> Za to trzeba będzie cyrkować z konfiguracją smartfona żeby taki tunel
> na nim postawić. TLS trudny w konfiguracji nie jest, a działa wszędzie
> i na wszystkim. Jeśli same dane pieca nie są tajemnicą, tylko chodzi o
> to by jaki pakistanczyk nam nie przestawił zdalnie temperatury w kuchni
> to i bez TLS się obejdzie, wystarczy wówczas użyć challenge-response
> (digest) auth na zwyczajnym HTTP.

Nie, no ja się zgadzam, tylko polimeryzuje z Dominikiem nad sensem 
wprowadzania dodatkowo vpn'u, skoro już tam zainstalowany sshd załatwia 
MZ sprawę. Zdefiniowanie "forwarding" na np. takim androidowym czy 
iOSowym Terminusie nie będzie bardziej skomplikowane niż instalacja 
wireguarda, a poźniejsze utworzenie tunelu to jedno pacnięcie w ekran.

-- 
Marcin
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906531
Author: Dominik Ałaszewski
Date: Sun, 02 Oct 2022 13:07
18 lines
2347 bytes
Dnia 02.10.2022 Marcin Debowski <agatek@INVALID.zoho.com> napisał/a:

> Nie, no ja się zgadzam, tylko polimeryzuje z Dominikiem nad sensem 
> wprowadzania dodatkowo vpn'u, skoro już tam zainstalowany sshd załatwia 

Ależ ja nie proponuję vpn-u jako jedynie słuszne rozwiązanie,
tylko piszę, że _ja_ bym tak zrobił. Bo o ile nad własnym
rozwiązaniem mamy pełną kontrolę, o tyle mogą się trafić
rozwiązania pudełkowe- kamerki, sterowanie odkurzaczem
czy roletami- których nie wystawiałbym do netu, ale jednak 
dobrze byłoby mieć do nich dostęp spoza domu. 
Sterowanie piecem wpisuje mi się po prostu w całość.

-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stron www
#906557
Author: Mateusz Viste
Date: Sun, 02 Oct 2022 13:31
31 lines
1807 bytes
2022-10-02 o 12:26 GMT, Dominik Ałaszewski napisał:
> Dnia 02.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:
> 
> > ale tu też w praktyce różnie bywa bo zarówno przeglądarki jak i
> > proxies traktują to raczej w kategorii sugestii.  
> 
> OK, a po prostu coś takiego?
> 
> main.html:
> (..)
> <button
> onClick="document.location='http://192.168.1.100/cgi-bin/1.sh'">
> Nastawy 1 </button>
> (..)
> 
> a w 1.sh:
> 
> #!/bin/bash
> echo "1" >/sygnal/do/pieca
> 
> cat << EOF
> <HTML>
> <meta http-equiv="Refresh" content="0;
> url=http://192.168.1.100/main.html"> </HTML>

Sprawdź, doktoryzuj się. :) Oczywiście na kilku przeglądarkach, z
różnymi konfiguracjami proxy, z różnymi ustawieniami dot. cache, itd.

Ja tu tylko proponuję rozwiązanie nie wymagające zostania specjalistą.

Mateusz
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906558
Author: Dominik Ałaszewski
Date: Sun, 02 Oct 2022 13:57
27 lines
2645 bytes
Dnia 02.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:

> Sprawdź, doktoryzuj się. :) Oczywiście na kilku przeglądarkach, z
> różnymi konfiguracjami proxy, z różnymi ustawieniami dot. cache, itd.

Sprawdziłem, jak pisałem miałem tak rozwiązane sterowanie radiem
internetowym (znalazłem w archiwum stare pliki i zrobiłem to właśnie
z odświeżaniem). Nie było problemu zarówno z przeglądarki mobilnej
jak i stacjonarnej- nie było przypadku żeby "samo" się coś przestawiło
ani żeby nie było reakcji na wciśnięcie przycisku. Czy działałoby
to zawsze i wszędzie- nie mam pojęcia i mnie to mało interesowało,
ważne że działało na moich urządzeniach. 
 
> Ja tu tylko proponuję rozwiązanie nie wymagające zostania specjalistą.

Jasne, napisać kilkulinijkowy skrypt z jedną dyrektywą HTML to trzeba 
doktorat co najmniej zrobić, nie to co php, które opanowujemy 
po licencjacie.

A poważnie, to zapewne problem można rozwiązać na dziesiątki sposobów,
a każdy użyje tego, co zna i lubi.

-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906552
Author: Kamil Jońca
Date: Sun, 02 Oct 2022 14:08
50 lines
3443 bytes
Pawel <ppf9@USUN_TOpoczta.fm> writes:

> W dniu 02.10.2022 o 12:29, Kamil Jońca pisze:
>> Pawel <ppf9@USUN_TOpoczta.fm> writes:
>> [...]
>>>>> Ja takze nie jestem specem od Javascript. Skladnia javascript jest
>>>>> bardzo podobna do C/C++.
>>>> Że co?
>>>> Poza tym składnia składnią, a semantyka semantyką. A tu jest IMO
>>>> zupełnie różnie.
>>>> KJ
>>> Mowie o glownych kwestiach, czyli, ze sa nawiasy otwierajace, nawiasy
>>> przy funkcjac, sredniki na koncu, typ zmiennej sie okresla itp. W
>>> porownaniu np do pythona, to javascript jest podobny do c/c++. Nie
>>> twierdze, ze to jest ten sam jezyk, bo tak nie jest, ale jak ktos zna
>>> c/C++, to latwiej ogarnac javascript, niz pythona. Oczywiscie, to sa
>> Jako osoba która miała styczność z C++, pythonem i JS twierdzę, ze
>> się
>> mylisz...
> A moglbys rozwinac swa mysl? Chetnie sie dowiem. Tak jak mowilem, nie
> jestem specem w zadnymjezyku, wiec moze sie myle i chetnie sie dowiem
> czegos wiecej.

Ja w sumie też nie jestem jakimś wielkim fachowcem, zresztą od jakiegoś
czasu głównie python. Bardziej chodziło mi o pewne założenia w js
(np. wszystkie zmienne globalne) które powodują, że musimy bardziej
intensywnie korzystać z pewnych konstrukcji (np. domknięcia funkcji),
jeśli chcemy mieć jaką taką jakość kodu.  To tak na szybko. No i znane
mi zastosowania js to raczej reakcje na zdarzenia, często(?)
asynchroniczne, co też wpływa na styl kodowania.


>
>
>> 
>>> zupelnie inne jezyki i do czego inego byly projektowane, ale jak sie
>>> patrzy na prosty kod typu hello world, to oba jezyki sa podobne. W tym
>>> skrypcie, co ja napisalem, to bardziej zaawansowanych rzeczy nie
>>> potrzeba.
>>>
>> ... chyba, że na poziomie hello world.
> Ale javascript (przynajmniej to co jest w node.js), podstawy ma bardzo
> podobne. Ify, czy tez while wyglada bardzo podobnie do c++, chyba, ze
Tak to wszyskto wygląda bardzo podobnie  :). Może poza asemblerem.

KJ


-- 
http://wolnelektury.pl/wesprzyj/teraz/
Re: Wykonanie polecenia na serwerze poprzez stron www
#906559
Author: Mateusz Viste
Date: Sun, 02 Oct 2022 16:27
30 lines
2605 bytes
2022-10-02 o 13:57 GMT, Dominik Ałaszewski napisał:
> Jasne, napisać kilkulinijkowy skrypt z jedną dyrektywą HTML to trzeba 
> doktorat co najmniej zrobić, nie to co php, które opanowujemy 
> po licencjacie.

PHP jest tu drugorzędne, formularz można obsłużyć i w bashu jak się kto
uprze. PHP po prostu najlepiej od jakiegokolwiek innego języka się do
tego nadaje, bo został stworzony dokładnie do tego.

Istotniejsza jednak od samego języka jest konstrukcja pozwalająca
przesyłać rozkazy. A wykonywanie akcji zmieniających stan serwera za
pomocą zwyczajnego, cache-owalnego i powtarzalnego GET-a jest po prostu
koncepcyjnie słabe. I żeby nie było że Mateusz tak sobie twierdzi, aby
tylko dokuczyć na usenecie, podaję pierwszy z brzegu wycinek RFC 2616:

   In particular, the convention has been established that the GET and
   HEAD methods SHOULD NOT have the significance of taking an action
   other than retrieval. These methods ought to be considered "safe".
   This allows user agents to represent other methods, such as POST, PUT
   and DELETE, in a special way, so that the user is made aware of the
   fact that a possibly unsafe action is being requested.

> A poważnie, to zapewne problem można rozwiązać na dziesiątki sposobów,
> a każdy użyje tego, co zna i lubi.

No właśnie nie, w ścisłej kwestii przesyłania rozkazów do serwera HTTP
są tylko dwa możliwe sposoby. Jeden dobry, drugi... takie sobie.


Mateusz
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906561
Author: Baczek
Date: Mon, 03 Oct 2022 07:45
8 lines
1482 bytes
Dziękuję wszystkim za podpowiedzi.
Na tę chwilę piecem steruję e-mailami. Wysyłam z odpowiednim tematem, 
skrypt wie co z tym robić. W razie potrzeby łączę się przez już 
skonfigurowany VPN.
Zmierzę się chyba z CGI.

Pozdrawiam
Max
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906563
Author: geos
Date: Mon, 03 Oct 2022 11:15
17 lines
1655 bytes
On 10/3/22 09:45, Baczek wrote:
> Dziękuję wszystkim za podpowiedzi.
> Na tę chwilę piecem steruję e-mailami. Wysyłam z odpowiednim tematem, 
> skrypt wie co z tym robić. W razie potrzeby łączę się przez już 
> skonfigurowany VPN.
> Zmierzę się chyba z CGI.
> 
> Pozdrawiam
> Max
> 

jeśli masz VPNa to chyba KDE connect da radę. możesz 
skonfigurować polecenia i wywoływać je na serwerze np. z telefonu też 
wpiętego w VPN.

pozdrawiam
geos
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906560
Author: Dominik Ałaszewski
Date: Tue, 04 Oct 2022 05:55
20 lines
2319 bytes
Dnia 02.10.2022 Mateusz Viste <mateusz@xyz.invalid> napisał/a:

> koncepcyjnie słabe. I żeby nie było że Mateusz tak sobie twierdzi, aby
> tylko dokuczyć na usenecie, podaję pierwszy z brzegu wycinek RFC 2616:

Ależ oczywiście masz rację. Wkręty służą do wkręcania, do wbijania
służą gwoździe. I producent wkrętów w karcie charakterystyki rzecze,
iż jak kto użyje wkrętów w charakterze gwoździ to on za nic nie
odpowiada.

Ja tylko uważam, że jak ktoś czasem w domowej dłubaninie użyje
wkrętów w charakterze gwoździ, to świat się od tego nie zawali.
Kto nigdy nie wbijał gwoździ kombinerkami niech pierwszy
rzuci kamieniem ;-)

-- 
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP 
Pisząc na priv zmień domenę na gmail.
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906553
Author: Roman Tyczka
Date: Thu, 13 Oct 2022 20:27
19 lines
2134 bytes
On 2.10.2022 12:25, Pawel wrote:
>>> Ja takze nie jestem specem od Javascript. Skladnia javascript jest
>>> bardzo podobna do C/C++.
>>
>> Że co?
>> Poza tym składnia składnią, a semantyka semantyką. A tu jest IMO
>> zupełnie różnie.
>> KJ
> Mowie o glownych kwestiach, czyli, ze sa nawiasy otwierajace, nawiasy 
> przy funkcjac, sredniki na koncu, typ zmiennej sie okresla itp. W 

JS nie ma typów, to język typowany dynamicznie (dobiera typy w locie). 
Średniki na końcu linii nie są wymagane.
To zupełnie inny język niż C++, podobieństwo jest tylko powierzchowne, 
te nawiasy właśnie i na tym koniec.

-- 
pzdr
Roman
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906564
Author: Pawel
Date: Sun, 16 Oct 2022 18:25
5 lines
1524 bytes
W dniu 3.10.2022 o 09:45, Baczek pisze:
> Dziękuję wszystkim za podpowiedzi.
> Na tę chwilę piecem steruję e-mailami. Wysyłam z odpowiednim tematem, 
> skrypt wie co z tym robić. W razie potrzeby łączę się przez już 
A moglbys podrzucic ten skrypt? Chetnie bym zobaczyl?
Re: Wykonanie polecenia na serwerze poprzez stronę www
#906567
Author: Baczek
Date: Mon, 17 Oct 2022 05:24
60 lines
3024 bytes
W dniu 16.10.2022 o 20:25, Pawel pisze:
> W dniu 3.10.2022 o 09:45, Baczek pisze:
>> Dziękuję wszystkim za podpowiedzi.
>> Na tę chwilę piecem steruję e-mailami. Wysyłam z odpowiednim tematem, 
>> skrypt wie co z tym robić. W razie potrzeby łączę się przez już 
> A moglbys podrzucic ten skrypt? Chetnie bym zobaczyl?
> 
>
Wiedza dotycząca programowania u mnie niewielka. Jak ktoś, widzi błędy 
(jakoś to działa) lub możliwość poprawy proszę dać znać

Skrypt w bash

#!/bin/sh
    python /temperatura/emaile/poczta.py | grep -v  MIME-Version | grep 
-v Content- | grep -v Received: | grep -v X-WP > /tmp/emaile.tmp

    wielkoscpliku=`wc -c /tmp/emaile.tmp | cut -d' ' -f1`

#kasuje bo nie bylo e-maili
    if [ $wielkoscpliku -eq 0 ];then rm -f /tmp/emaile.tmp; exit; fi

#odczytuje drugie slowo z tematu
    temat=`cat /tmp/emaile.tmp | grep Subject: | cut -d' ' -f3`

cat /tmp/emaile.tmp | grep Subject: | cut -d' ' -f3  > /tmp/numery
temat=`tail -n1 /tmp/numery`

#jak nr 99 prosze o wysylke statusu
if [ $temat -eq 99 ];then
    /home/pi/status.sh
fi

#dpalam odpowiedni program
if [ $temat -ge 6 ] && [ $temat -le 55 ]; then
    /temperatura/skrypty/przelacznik.sh $temat
    sleep 3
    /home/pi/status.sh
fi


Odbieranie poczty z serwera w pythonie
root@raspberrypi:/temp/emaile# cat ./poczta.py

import getpass, poplib
M = poplib.POP3('pop3.wp.pl')
M.user('moj_adres_email@wp.pl')
M.pass_('haslo_do_poczty')
numMessages = len(M.list()[1])

#print('Statystyka - ',M.stat(),' ilosc wiadomosci - ',numMessages)

for i in range(numMessages):
     print('### KONIEC ###')
     for j in M.retr(i+1)[1]:
         print(j)

for i in range(numMessages):
    M.dele(i+1)
M.quit()
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads