# Quelques commandes remote (luatool) à envoyer avec le plugin Atom-IDE-terminal de l'éditeur Atom # zf200301.1318 Todo à faire pour ce projet ! - refaire le fichier _secrets_project.lua_ à partir de secrets_project.lua - faire la documentation pour le fonctionnement de concept de rtelnet dans un fichier à part .md - flip/flop du relais depuis la page api_sonoff - ajouter le contrôle flip/flop du btn sur RELAY - y regarder pour faire tourner en MEME temps le reverse et le forward telnet - z lancement ou arrêt du WEBIDE via la home page # si luatool ne marche pas sur le MAC, il faut lire ceci: # https://docs.google.com/document/d/1q64uK3IMOgEDdKaIAttbYuFt4GuLQ06k3FLeyfCsWLg/edit#heading=h.bmefcu67uwj0 # raccourcis clavier # CTRL+ALT+ENTER envoie au terminal la ligne de l'éditeur # SHIT+CTRL+` ouvre le terminal (attention, ne pas oublier de copier le *path* dans le *tree* et le changer) # ALT+CMD+F bascule entre le terminal et l'éditeur # définitions à faire AVANT ! export luatool_tty="/dev/cu.wchusbserial1410" export zIP="192.168.0.150" export zport="23" export zIP="localhost" export zport="23000" ATTENTION: voir les tunnels tout à la fin ! # ouvrir et fermer (ALT+N+.) une session telnet sur le NodeMCU avec l'adresse zIP) telnet -rN $zIP $zport ~. --node.restart() collectgarbage() =node.heap() for k,v in pairs(_G) do print(k,v) end # commandes lua pour ce projet export zIP="192.168.0.182" export zIP="192.168.4.1" export zport="23" ./luatool.py --ip $zIP:$zport -f z_index.html ./luatool.py --ip $zIP:$zport -f secrets_project.lua ./luatool.py --ip $zIP:$zport -f api_sonoff.html http://192.168.0.182 telnet -rN $zIP $zport verbose=false dofile("dir.lua") dir() collectgarbage() =node.heap() for k,v in pairs(_G) do print(k,v) end dofile("wifi_info.lua") node.restart() ~. ./luatool.py --ip $zIP:$zport -f dir.lua verbose=true verbose=false zsort_rssi() zshow() ################################ # commandes lua pour ce projet # ################################ ssh ubuntu@www.zuzutest.ml killall -9 socat sleep 1 killall -9 ssh sleep 1 ssh ubuntu@www.zuzutest.ml socat TCP-LISTEN:23001,reuseaddr,fork TCP-LISTEN:23000,reuseaddr,bind=127.0.0.1 & watch -n 1 'ssh ubuntu@www.zuzutest.ml netstat -nat |grep 230' ######## envoyer un CTRL-C dans le terminal ! ssh -N -L 23000:localhost:23000 ubuntu@www.zuzutest.ml & export zIP="localhost" export zport="23000" telnet -rN $zIP $zport for k,v in pairs(_G) do print(k,v) end ~. zdyn =node.heap() collectgarbage() =node.heap() dofile("dir.lua") dir() for k,v in pairs(_G) do print(k,v) end dofile("wifi_info.lua") node.restart() ~. ./luatool.py --ip $zIP:$zport -l ./luatool.py --ip $zIP:$zport -f wifi_init.lua ./luatool.py --ip $zIP:$zport -f boot.lua ./luatool.py --ip $zIP:$zport -f 0_tst3_socat.lua ./luatool.py --ip $zIP:$zport -f 0_cron.lua ./luatool.py --ip $zIP:$zport -f secrets_project.lua ./luatool.py --ip $zIP:$zport -f 0_zdyndns.lua ./luatool.py --ip $zIP:$zport -f 0_btn_flipflop.lua ./luatool.py --ip $zIP:$zport -f api_sonoff.html ./luatool.py --ip $zIP:$zport -f z_index.html ./luatool.py --ip $zIP:$zport -f initz.lua -t init.lua ./luatool.py --ip $zIP:$zport --delete wifi_ap_start.lua ./luatool.py --ip $zIP:$zport --delete wifi_cli_conf.lua ./luatool.py --ip $zIP:$zport --delete wifi_cli_start.lua ./luatool.py --ip $zIP:$zport --delete dir.lua ./luatool.py --ip $zIP:$zport --delete initz.lua ./luatool.py --ip $zIP:$zport --delete wifi_conf.lua dofile("wifi_info.lua") --node.restart() for k,v in pairs(_G) do print(k,v) end t=12 t=nil print(pcall(function () print("2"..t) end)) # ici c'est maintenant ;-) ~. ./luatool.py --ip $zIP:$zport -f b.lua #./luatool.py --ip $zIP:$zport --zrestart telnet -rN $zIP $zport zsort_rssi() zshow() print(ztrig_rssi) ztrig_rssi=-1000 ztrig_rssi=-90 # test de la gestion des erreurs ~. ./luatool.py --ip $zIP:$zport -f c.lua #./luatool.py --ip $zIP:$zport --zrestart telnet -rN $zIP $zport status, err = pcall(function () dofile("c.lua") end) if status==false then print("Error: ",err) end zerr=nil zerr=1 ztmr_tst_err:unregister() ~. ./luatool.py --ip $zIP:$zport -f head.lua telnet -rN $zIP $zport dofile("head.lua") zhead("c.lua") ztmr_tst_err:unregister() for k,v in pairs(_G) do print(k,v) end ./luatool.py --ip $zIP --zrestart # faire un cat d'un fichier sur le NodeMCU dofile("cat.lua") cat("secrets_project.lua") # commandes luatool ./luatool.py -h ./luatool.py --ip $zIP:$zport -i ./luatool.py --ip $zIP:$zport -l ./luatool.py --ip $zIP:$zport -f toto.lua -d ./luatool.py --ip $zIP:$zport --delete toto.lua **************************************************************************** # création des tunnels ssh ATTENTION: dans un premier terminal ! Pour Bolo à Ruchonnet: ssh -t -L 2323:localhost:2323 ubuntu@www.zuzutest.ml ssh -N -L 2323:192.168.8.102:23 ubuntu@localhost -p 20223 Pour le Crêt ssh -N -L 2323:192.168.0.137:23 admin@z.zufferey.com -p 1822 ssh -N -L 2323:192.168.0.122:23 admin@z.zufferey.com -p 1822 ssh -N -L 2323:192.168.0.118:23 admin@z.zufferey.com -p 1822 ATTENTION: dans un deuxième terminal ! export zIP="localhost" export zport="2323" telnet -rN $zIP $zport ~. =node.heap() verbose=false verbose=true dofile("dir2.lua") dir() filec("head.lua") dofile("head.lua") zhead("dir2.lua") dofile("cat.lua") cat("head.lua") ~. --node.restart() =node.heap() status, err = pcall(function () fonction_a_tester() end) if status==false then print("Error: ",err) end status, err = pcall(function () toto() end) if status==false then print("Error: ",err) end Gestion de la passerelle SSH reverse Puis depuis une autre console on peut faire directement pour aller sur l'OpiZ (ici le 20223): ssh -t ubuntu@www.zuzutest.ml ssh ubuntu@localhost -p 20223 ou 1ère console On établit le tunnel local avec l'OpiZ ssh -N -L 20223:localhost:20223 ubuntu@www.zuzutest.ml 2ème console, on utilise le tunnel OpiZ en local sur sa machine pour aller sur l'OpiZ ssh ubuntu@localhost -p 20223 pour copier sa clef SSH depuis un MAC ./ssh-copy-id -i ~/.ssh/id_rsa.pub 'ubuntu@localhost -p 20223' après on devrait pouvoir se connecter sans devoir entrer son password à chaque fois ssh ubuntu@localhost -p 20223 ou, on établit un tunnel pour telnet sur un NodeMCU ssh -L 2323:192.168.0.137:23 ubuntu@localhost -p 20223 puis telnet -rN localhost 2323 ou, on établit un tunnel pour le rpimonotor sur l'OpiZ ssh -N -L 8888:192.168.0.113:8888 ubuntu@localhost -p 20223 puis http://localhost:8888 ou, on établit un tunnel proxy Socket 5 pour le modem 4G HUAWEI sur l'OpiZ ssh -N -D 8080 ubuntu@localhost -p 20223 puis depuis le browser FireFox avec le plugin FoxyProxy Socket 5 sur localhost port 8080 http://192.168.8.1 .