Archives For Script

Mi rendo conto che il titolo è molto poco preciso ma provare a buttarci dentro “Come abilitare o disabilitare l’Home Mode di Synology Surveillance Station appoggiandosi a Fritz!Box e agli smartphone collegati alla WiFi di casa” sarebbe stato un pelo esagerato. La sostanza però è proprio questa: il Geofence integrato nell’applicazione DS cam fa oggettivamente schifo, non è assolutamente affidabile e si finisce per non riuscire mai a sfruttare la modalità Home dell’ottimo software di controllo telecamere disponibile per i NAS Synology. L’ostacolo si può aggirare tramite un router Fritz!Box (nella soluzione proposta da questo articolo, chiaro) e un paio di script da tenere sul NAS.

Synology Surveillance Station: automatizzare l'Home Mode tramite WiFi

AVM FRITZ!Box Synology Surveillance Home Mode Automation

Mark Schipper è lo sviluppatore che ha in origine pubblicato tutto il necessario in un repository GitHub qui disponibile. Le sue indicazioni sono già valide per poterle sfruttare in un ambiente casalingo dalle pari disponibilità, e dopo una mia segnalazione di possibile bug ha anche integrato una serie di novità e riscritto parte del codice che si occupa di:

  • verificare tramite query SOAP al router Fritz!Box di casa (uno o più) se un dispositivo è connesso alla rete WiFi (bisognerà dichiarare il MAC address del dispositivo, nda);
  • contattare la Surveillance Station tramite API e chiedere di abilitare o disabilitare la modalità Home nel caso in cui il dispositivo sia dentro o fuori casa.

In parole estremamente povere la modalità Home di Synology Surveillance Station si attiva se un tuo smartphone (o altro dispositivo a tua scelta) entra nella rete WiFi di casa, si disattiva invece quando esci da quel perimetro, il tutto lanciando controlli ripetuti a distanza di una quantità di minuti da te stabilita.

Tutto questo si è reso “necessario” perché la funzione di Geofence integrata nell’applicazione DS cam per Android e iOS non è esattamente questo gran mostro di precisione. Un esempio virtuoso che potrei farti in questo caso è tado° che difficilmente perde un colpo. Per questo motivo ho preferito mettere in campo e sperimentare quanto scritto da Mark, apportando poi delle piccole modifiche per rendere ancora migliore il risultato e colmando un gap che manca all’appello del README dello sviluppatore originale, che invita a installare il modulo PHP 7 di Synology senza però specificare che occorrerà ricordarsi di attivare l’estensione soap se precedentemente mai attivata.

DS cam
DS cam
Developer: Synology Inc.
Price: Free
DS cam
DS cam
Developer: Synology Inc.
Price: Free

Il fork

Synology Surveillance Station: automatizzare l'Home Mode tramite WiFi 1

Il mio fork nasce per integrare alcuni riferimenti in più rispetto al progetto originale e per proporre una modifica allo script di bash che ti permette di ottenere un aggiornamento di stato di Home Mode via Telegram. Quest’ultima funzione è chiaramente opzionale e può essere disabilitata facilmente.

Cosa ti serve

  • Un router Fritz!Box (non obbligatoriamente un 7490 come nel caso di Mark o un 7590 nel mio) e un NAS Synology (ma va?).
  • PHP 7 (disponibile nel Synology Package Manager) con estensioni soap e curl.
  • Utenza limitata per permettere di disabilitare o abilitare Home Mode della Surveillance Station (sconsigliato utilizzarne una già esistente con maggiori autorizzazioni).
  • Pacchetto file contenuti nel repository GitHub.
  • Opzionale: bot Telegram tramite il quale ricevere i cambi di stato.

Affrontiamo per passaggi ogni necessità sopra riportata

#1: PHP 7, soap & curl

Apri il Centro Pacchetti del tuo NAS Synology e cerca PHP 7, quindi installalo:

Synology Surveillance Station: Home Mode automatico tramite WiFi

Una volta terminata l’installazione, collegati via SSH al tuo NAS (non sai come fare? Guarda qui), quindi spostati in /usr/local/etc/php70 e modifica il file php.ini (esempio: vi php.ini). Per salvare le modifiche che apporterai ti sarò richiesto quasi sicuramente di essere utenza root, lancia un sudo -i seguito da invio, quindi inserisci la password della tua utenza amministrativa e premi invio (non sai di cosa sto parlando? Guarda qui). Ora:

  • cerca la stringa extension_dir = "/usr/local/lib/php70/modules"
  • Aggiungi subito sotto l’abilitazione delle due estensioni per soap e curl:
    extension=soap.so
    extension=curl.so
  • Salva il file e chiudilo (tasto ESC, poi :wq seguito da invio).
  • Torna ora nel Gestore Pacchetti di Synology e riavvia PHP 7.

Il php.ini modificato dovrebbe assomigliare a questo:

Synology Surveillance Station: Home Mode automatico tramite WiFi 1

#2: api_user

Un’utenza limitata che possa solo disabilitare o abilitare Home Mode in Synology Surveillance Station, è ciò di cui hai bisogno in questo momento. Avvia Surveillance Station e apri il menu in alto a sinistra con un clic, quindi seleziona Utente. Aggiungi un nuovo utente seguendo la procedura guidata, ti riepilogo i passaggi e ti propongo poi qualche screenshot:

  • nome utente: api_user (uso questo perché richiamato dagli script, tu puoi decidere di cambiarlo ma ti invito poi a leggere il paragrafo Troubleshooting nella parte finale dell’articolo);
  • descrizione: inserisci una descrizione che possa ricordarti un domani a cosa serve l’utente che stai creando;
  • password: scegline una sufficientemente robusta, puoi crearne una random qui;
  • fai clic su Avanti e crea un nuovo profilo privilegio;
  • dai un nome e una descrizione al profilo privilegio (scegli un nome che possa un domani ricordarti a cosa serve quel privilegio), mantenendo Gestore come tipo;
  • NON aggiungere autorizzazioni nella schermata Videocamere, E-Map e Layout. Arrivato alla schermata dei Privilegi avanzati, spunta l’opzione in corrispondenza di Passa manualmente alla modalità Home.

#3 scarica e modifica gli script

Scarica il contenuto del repository da GitHub, scompatta il file ZIP e ottieni così i file fritz_activemac.php e switch_homemode.sh (puoi buttare via il README). Prima di caricare i file sul NAS ti suggerisco di modificarli in base a ciò che è stato fatto fino a ora (utenza generica, eventuale bot Telegram, ecc.).

Il primo file citato (fritz_activemac.php) non dovrebbe necessitare di modifica alcuna (tranne se hai scelto di creare un utente limitato diverso da quello da me suggerito, quindi non “api_user“, ti rimando a questa nota nel Wiki), contrariamente allo script bash switch_homemode.sh. Aprilo con un buon editor di testo (Notepad++ o Atom) quindi segui queste indicazioni:

  • SYNO_SS_USER: inserisci qui l’utenza limitata che hai precedentemente creato. Se hai seguito scrupolosamente le indicazioni, lascerai probabilmente api_user;
  • SYNO_SS_PASS: inserisci la password che hai scelto e inserito quando hai creato l’utenza limitata;
  • SYNO_URL: inserisci l’IP e la porta utilizzata per collegarsi al tuo NAS;
  • FRITZ_URL: inserisci l’IP (o gli IP se più d’uno, intervallati dai due punti, esempio: 192.168.1.2:192.168.1.3);
  • TELEGRAM: può avere solo due valori, 0 e 1. 0 disabilita le funzionalità legate al bot di Telegram, 1 le attiva;
  • BOT_TOKEN: inserisci qui il token che ti ha rilasciato BotFather quando hai creato il tuo nuovo bot;
  • CHAT_ID: l’ID della chat in cui il bot dovrà riportare i messaggi riguardanti il cambio di stato di Home Mode;
  • MSG_SS_ACTIVE: riporta qui il messaggio che il bot ti invierà quando la modalità Home sarà attiva;
  • MSG_SS_INACTIVE: riporta qui il messaggio che il bot ti invierà quando la modalità Home sarà disattiva.

Fai attenzione: modifica esclusivamente ciò che ho riportato qui sopra, facendo attenzione a mantenere le virgolette dove specificate. Lascia tutto il resto invariato per scongiurare possibili malfunzionamenti. Se non sai come creare un bot Telegram fammi un cenno, sto valutando se scrivere qualche riga di testo nel Wiki su GitHub o meno.

Salva il file, questo lavoro è terminato. Carica ora i due script all’interno della cartella /var/services/homes/api_user del tuo NAS, dove “api_user” ovviamente dovrà essere modificato se hai scelto di creare un utente dallo username differente. A questo punto sei pronto a verificare il funzionamento.

#4 test e programmazione

Salvo errori, gli script sono ora pronti a lavorare. Puoi provare tu stesso lanciando da terminale

./switch_homemode.sh MAC1 MAC2

dove MAC1 e MAC2 dovranno essere sostituiti con due MAC Address appartenenti a dispositivi che sono collegati alla rete casalinga. Sia chiaro, puoi specificare anche solo un MAC Address, non c’è bisogno di metterne due o più (ma puoi farlo). A questo punto verrà lanciata la query SOAP al router e il risultato (un semplice true o false) verrà salvato all’interno del file synohomemode.state (che verrà creato sul momento se non esistente).

Se il dispositivo non è collegato alla WiFi casalinga, Home Mode verrà disattivato, diversamente verrà attivato.

Manca l’ultimo passaggio, programmare l’esecuzione dello script tramite Utilità di pianificazione di Synology. Accedi all’utilità tramite Pannello di controllo, quindi crea una nuova operazione e compila i dati richiesti:

  • Attività: dai un nome all’attività, uno “parlante” (che ti ricordi immediatamente di cosa si tratta).
  • Utente: lascia che sia root a eseguire l’attività.
  • Programmazione: l’esecuzione dovrà essere giornaliera, a partire dalla mezzanotte, ogni 5 minuti fino alle 23:55. I 5 minuti possono anche essere diminuiti o aumentati, dipende dalla tua esigenza.
  • Impostazioni attività: dovrai semplicemente inserire nel box di testo la stringa che ti permetterà di avviare il controllo, quindi
bash /var/services/homes/api_user/switch_homemode.sh MAC1 MAC2

Sostituisci chiaramente MAC1 e MAC2 con i veri MAC Address dei dispositivi che vuoi tenere sotto controllo, puoi specificarne solo uno o anche più di due.

Il gioco è ormai fatto :-)

Se ci sono dubbi o problemi l’area commenti è a tua disposizione, io qui di seguito inserisco già un paio di risposte ad altrettante domande che potresti avere, ma sentiti libero di chiedere altro se dovesse servire.

Synology Surveillance Station: Home Mode automatico tramite WiFi 9

Buon Natale!

Troubleshooting

Cambiare lo username dell’utente generico

Puoi chiaramente scegliere di utilizzare un nome utente che non corrisponda ad api_user come riportato nell’articolo, dovrai però ricordarti di modificare quel SYNO_SS_USER="api_user"; in switch_homemode.sh, oltre che eventuali operazioni programmate nell’Utilità di pianificazione del NAS. Modifica poi, sempre in switch_homemode.sh, tutto il blocco relativo ai file di stato e il richiamo dello script PHP:

## State file configuration (don't touch anything if not necessary)
STATEFILE='/var/services/homes/api_user/synohomemode.state';
RETRYFILE='/var/services/homes/api_user/synohomemode.retry';
CHECKFRITZ='/usr/local/bin/php70 /var/services/homes/api_user/fritz_activemac.php';

dove al posto di api_user dovrai chiaramente inserire il nome utente da te scelto.

Wiki: github.com/gioxx/AVM-FRITZ-Box-Synology-Surveillance-Home-Mode-Automation/wiki/Cambiare-lo-username-dell%E2%80%99utente-generico

Errore nella query SOAP

Qualcosa non torna e lanciando lo script di bash manualmente ottieni errori sulla query SOAP? Forse è necessario copiare i moduli delle due estensioni, prova a dare un’occhiata al documento che ho salvato nel Wiki del repository GitHub: github.com/gioxx/AVM-FRITZ-Box-Synology-Surveillance-Home-Mode-Automation/wiki/PHP-7:-abilitare-CURL-e-SOAP-su-Synology-DSM.


grazie a:
Condividi l'articolo con i tuoi contatti:

sourcecode-vbscriptAvevo parlato di cambio Description PC da remoto nell’ormai lontano 2016, l’ho sempre fatto con un VBS che tenevo a portata di mano nei miei strumenti. Ma se quegli strumenti non dovessero essere disponibili su una macchina diversa dalla mia? Diciamo che è più semplice trovare (o scaricare) un PSExec e collegarsi al prompt remoto, per poi lanciare un comando molto semplice che modifica -come il VBS- il medesimo parametro.

Hai già effettuato il collegamento via PSExec al prompt remoto? D’accordo, procediamo. Per verificare l’attuale descrizione impostata sulla macchina, ti basterà lanciare il comando net config server, e osservare ciò che compare in corrispondenza della voce “Commento server” (come nell’immagine qui di seguito).

Modificare la descrizione di un PC da Command

A questo punto, per modificare la descrizione, dovrai eseguire un net config server /srvcomment:"Nuova descrizione". Modifica Nuova descrizione con il testo che ti interessa, mantieni gli apici e assicurati che non ci siano spazi tra i due punti e l’apertura degli stessi (:"). Salvo errori, riceverai conferma della modifica a video e potrai ora verificare tu stesso il buon esito dell’intervento lanciando ancora una volta il comando net config server.

Se al posto di questo metodo alternativo vuoi mantenere quello basato su VBScript accomodati, ti rimando al vecchio ma ancora valido articolo che avevo scritto e pubblicato due anni fa :-)

VBS: cambiare la descrizione di un PC da remoto

Buon lavoro!


fonte: lifeofageekadmin.com/changing-windows-computer-description-from-a-command-prompt

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Si legga il sottotitolo “fino a quando non vi beccano“. Sì perché oggi si torna a ospitare amici sulle frequenze web di questo blog. Non capitava da qualche tempo e fa sempre piacere. Brava persona, sviluppatore, alto, biondo e con gli occhi azzurri (ci credi?), manterrà l’anonimato perché –come me e tanti altri– ci tiene a lasciar sopravvivere i suoi account. Io che ho invece un rapporto travagliato con le creature legate a Zuckerberg sorrido, strizzo l’occhiolino e spero che si rimanga un po’ amici come prima (lo siamo mai stati Marchino?).

A te la parola, GianGiacom…oh wait.

Come automatizzare il proprio account Instagram e vivere felici

Disclaimer

Non siamo (né io, né Gioxx) responsabili per qualunque cosa possa succedere al tuo account Instagram se applicherai le tecniche descritte in questo articolo.

Ovviamente utilizzare un bot che simuli l’uso di un account reale è contro le condizioni d’uso di Instagram, quindi, occhio, rischi di perdere i tuoi account, per davvero.

Ringrazio Gioxx per l’ospitalità sul suo blog, e sì, non mi firmo, non mi interessa.

Instagram e i bot

Parliamoci chiaro. Instagram (ma anche Facebook, Twitter, ecc…) è strapiena di bot.

Dai, non mi dire che non te ne eri accorto.

La maggior parte di questi sono bot dedicati palesemente allo spam, altri no, ma andiamo con ordine.

Esistono almeno tre tipologie di bot, e una di queste è al 100% umana. :P

Lo spam umano

Partiamo dagli account “più in basso” nella gerarchia dello spam: gli spammer umani. Di solito si tratta di persone, coinvolte in schemi piramidali, che seguono “a manina” migliaia di account, commentano post proponendo diete, succhi, trucchi, ecc..

Il loro obiettivo? Venderti quel prodotto che tanto pubblicizzano.

Ovviamente non ci riescono: l’effort è veramente troppo grosso. Di solito abbandonano dopo un po’.

Su Facebook è pieno di questi personaggi (di solito donne, sempre che non siano profili creati appositamente), Instagram si sta riempiendo piano piano.

Come automatizzare il proprio account Instagram e vivere felici 1

Buona fortuna se sei donna e hai un account Instagram

Non vogliamo parlare di questo oggi.

Gli spambot

Saliamo di un livello. Ecco gli spambot veri e propri.

Ti seguono, ti taggano, ti richiedono l’amicizia: il loro obiettivo? Venderti un servizio o un prodotto (di solito di bassa qualità o inutile, come i like sul tuo account, o illegale, tipo il viagra).

Sono gestiti da serverfarm in paesi come Cina, India, ma anche in Europa.

Come automatizzare il proprio account Instagram e vivere felici 2

Sono talmente “scarsi” che gli utenti, anche i meno preparati, li individuano, li bloccano e (si spera) li segnalano.

Questi bot giocano sulla quantità, non sulla qualità. I personaggi dietro questi bot creano ogni giorno centinaia di migliaia di account, spammano milioni di utenti e così via.

A chi gestisce questi bot perdere account non interessa: non puntano a far crescere un account ma puntano a far sì che i loro account siano “visti”.

Hai presente quell’account babe123456789, una tipa scosciata con 10 foto, che ti ha appena aggiunto su Instagram?

Ecco, ti svelo un segreto, non è veramente una tipa scosciata. Molto più probabilmente si tratta di un nerd brufoloso che ha creato migliaia di account che cominciano tutti per babe.

Bot dedicati ad un singolo account

Altri bot sono più subdoli ed è qui che casca l’asino.

Sono bot dedicati unicamente alla crescita di un account. Agiscono in due modi:

  • Mettono like ai contenuti dell’account che vogliono far crescere in modo che siano più “visibili” su Instagram
  • Mettono like, seguono e commentano altri account a nome dell’account originale, in modo che venga conosciuto e seguito dagli utenti (veri questa volta) che sono raggiunti dal bot.

In entrambi i casi questi bot sfruttano script creati appositamente (o pubblici, ne parleremo più avanti) per simulare l’attività di un account su Instagram.

Nel primo caso, ad esempio, recuperano liste di account compromessi sul “dark web” e li usano, effettuando il login in un account alla volta, per mettere like al nuovo contenuto dell’account da far crescere.

È la tecnica descritta in questo articolo.

Nel secondo caso il bot effettua il login all’account da far crescere e “a suo nome” va in giro per instagram a lasciare like e commenti.

Come funzionano questi bot?

Le API di Instagram sono così “chiuse” che non permettono di seguire account o mettere like facilmente. Gli script di questi bot in genere lanciano un browser (o parsano direttamente le pagine di Instagram) per poi loggarsi ed effettuare alcune operazioni.

Che browser usano? Di solito browser come Chrome Headless, tramite le API esposte da Puppeteer o soluzioni simili.

Quindi immagina che il tuo bot sia in realtà un utente che clicca una pagina di Instagram, si collega, mette like e poi sparisce.

Se ti senti più tecnico, puoi dare un’occhiata a questo video che ti permetterà di approfondire l’argomento: https://www.youtube.com/watch?v=WSnfGQFZ2F0

Il bot finge (tramite uno user agent noto) di essere un cellulare, se si “comporta” bene, è tendenzialmente indistinguibile da un utente normale.

Siamo davvero certi che funzionino?

Sì, funzionano. In 5 giorni, senza far nulla, ho fatto crescere un account Instagram da zero a 100 follower, e non mi sono impegnato più di tanto.

Come automatizzare il proprio account Instagram e vivere felici 3

100 follower presumibilmente reali (la certezza non c’è mai, vedi https://socialdraft.com/how-to-identify-fake-likes-and-followers/), che hanno deciso di seguire il mio account volontariamente e senza alcun obbligo.

Ok, voglio farlo anche io

Ok, te lo racconto. Ma occhio, se ti fai ingolosire troppo, Instagram potrebbe accorgersi del tuo bot e operare in questo modo:

  • Bannare l’account.
  • Disabilitare la possibilità di mettere like e commentare (o altre restrizioni).

Da qui il disclaimer ad inizio articolo che ripetiamo per i duri d’orecchio: non siamo (né io, né Gioxx) responsabili per qualunque cosa possa succedere al tuo account Instagram se applichi le tecniche descritte in questo articolo

Instabot.py

Lo script che uso di solito è InstaBot, uno script Python, che ha i seguenti pregi:

  • È facile da configurare.
  • Funziona. (non banale).
  • C’è una community attiva, il codice è aggiornato spesso.
  • Gira su Mac, Windows, Linux e anche su Raspberry Pi.

Le istruzioni che seguono sono per computer Apple, ma sulla pagina del progetto ci sono i link ai video per il setup in ambiente Windows.

Cosa ci serve

Non serve molto per lanciare Instabot.py.

Basta, non serve altro.

Configurare il tuo bot

Scarica il pacchetto di Instabot. Apri il file example.py con un qualsiasi editor di testo e cerca questa sezione:

bot = InstaBot(
    login="username",
    password="password",
    like_per_day=1000,
    comments_per_day=0,
    tag_list=['follow4follow', 'f4f', 'cute'],
    tag_blacklist=['rain', 'thunderstorm'],
    user_blacklist={},
    max_like_for_one_tag=50,
    follow_per_day=300,
    follow_time=1 * 60,
    unfollow_per_day=300,
    unfollow_break_min=15,
    unfollow_break_max=30,
    log_mod=0,
    proxy='',
    # List of list of words, each of which will be used to generate comment
    # For example: "This shot feels wow!"
    comment_list=[["this", "the", "your"],
                  ["photo", "picture", "pic", "shot", "snapshot"],
                  ["is", "looks", "feels", "is really"],
                  ["great", "super", "good", "very good", "good", "wow",
                   "WOW", "cool", "GREAT","magnificent", "magical",
                   "very cool", "stylish", "beautiful", "so beautiful",
                   "so stylish", "so professional", "lovely",
                   "so lovely", "very lovely", "glorious","so glorious",
                   "very glorious", "adorable", "excellent", "amazing"],
[".", "..", "...", "!", "!!", "!!!"]],

Cambia il campo login e password con quelli del tuo account. Lascia a 1000 il valore di like_per_day e porta il valore di comments_per_day a 200, così non sarai troppo “spammoso“.

Guarda poi il campo comment_list. È qui che genererai i tuoi commenti. Si tratta di una lista di array che il bot userà, una parola alla volta, per generare un commento “casuale”.

Vediamo un esempio.

comment_list=[["Che bella questa", "Mi piace molto questa"],
              ["foto", "immagine"],
              ["!", "!!"]]

Con questa lista, i commenti che sarà possibile generare saranno:

  • Che bella questa foto!
  • Che bella questa foto!!
  • Che bella questa immagine!
  • Che bella questa immagine!!
  • Mi piace molto questa foto!
  • Mi piace molto questa foto!!
  • Mi piace molto questa immagine!
  • Mi piace molto questa immagine!!

Ovviamente le combinazioni possibili aumentano esponenzialmente man mano che aggiungerai contenuti alla variabile comment_list. Ti consiglio CALDAMENTE di elaborare quante più combinazioni possibili, in modo da variare spesso i commenti ed evitare la falce dei ban di Instagram.

Ok, hai impostato i tuoi commenti… Passiamo alla scelta delle foto che vuoi commentare. Sceglierai le foto in base ai tag.

La sezione da cambiare è tag_list: anche in questo caso vediamo un esempio.

tag_list=['follow4follow', 'f4f', 'cute'],

Anche qui, inserirai quanti più tag possibili. L’unico suggerimento che mi sento di dare è di puntare a tag “italiani”, se il tuo account è italiano, tag più internazionali se il tuo account è di respiro globale.

Ultimo tocco, per dare un po’ più di sicurezza…

Aggiungi subito sotto la riga log_mod queste due righe:

start_at_h=9,
end_at_h=22,

Diranno al bot di commentare e mettere like dalle 9 alle 22, così si comporterà più da “umano” che da “bot” ;)

Ok, siamo pronti per partire.

Lanciare lo script

Abbiamo cambiato il nostro file, abbiamo installato PIP e Python. Eccoci pronti.

  • Andiamo nella cartella dello script
  • Digita: pip install -r requirements.txt. Questo comando installerà i pacchetti richiesti dallo script Instabot.py
  • Lancia lo script: python example.py.

Vedrai che lo script comincerà a collegarsi a Instagram, a mettere like e scrivere commenti. Se lo lascerai girare per “sempre”, ad esempio su un server sempre online o su un Raspberry Pi, continuerà a lavorare in silenzio per te!

Come automatizzare il proprio account Instagram e vivere felici 4

Alcuni suggerimenti

  • Fai girare lo script su un computer sempre acceso, così sarà più efficace.
  • Ogni tanto collegati all’account che stai pompando anche dal cellulare, per rendere il tuo account “più reale”.
  • Ricordati che c’è il rischio di perdere l’account. Non esagerare cambiando il valore di like e commenti con valori troppo alti. Pochi ma buoni, dice il proverbio.
  • Ogni tanto dai un’occhiata all’output dello script. A volte si incarta e va ucciso il processo di Python CTRL+C più volte su Linux/MacOS. Puoi poi farlo ripartire.
  • Puoi lanciare più istanze del bot, se hai più account da gestire… Basta copiare example.py e cambiare le credenziali di accesso.

Buona fortuna!


immagine di copertina: unsplash.com / author: Jakob Owens

Condividi l'articolo con i tuoi contatti:

OS X: formattare un disco in FAT32 direttamente da Terminale 1Non ti ho mai parlato prima di InkScape perché, al contrario di GIMP, lo uso molto meno, lo prediligo per lavorare più facilmente delle immagini vettoriali o dei file SVG, prevalentemente su Windows e pressoché zero su macOS. Eppure qualche giorno fa ho avuto la necessità di creare rapidamente un file PNG partendo da un SVG sul MacBook, e l’ho fatto con una finestra di Terminale e InkScape senza necessità di lanciare l’interfaccia grafica.

InkScape

Lo scarichi gratuitamente dal sito web ufficiale e, contrariamente a GIMP, ha ancora bisogno di un sistema di finestre X, questo si appoggia nello specifico a XQuartz (che quindi ti tocca scaricare e installare a parte, anche lui gratuitamente).

Una volta fatto (sia il primo che il secondo pacchetto DMG), non avviare neanche InkScape.

Da Terminale

Supponendo che la tua immagine SVG si trovi nella cartella Download (e il programma sotto la classica /Applications), aprendo Terminale potrai richiamare script --without-gui dalle risorse di InkScape, in questa maniera:

macOS: trasformare un SVG in PNG con Terminale e InkScape

Spiegata in soldoni, il comando ti permette di richiedere a InkScape di esportare un file PNG partendo dal file SVG, specificando ovviamente l’una e l’altra cartella su cui lavorare (sorgente e destinazione, chiaramente), aggiungendo ulteriori parametri di cui potresti aver bisogno, tutti disponibili da documentazione linux.die.net/man/1/inkscape.

Nel mio caso (quello dell’immagine poco sopra), ho estratto prima un PNG a risoluzione intera, poi ho tenuto a bada la larghezza, portandola a 1000px. Ti riporto il codice qui di seguito:

/Applications/Inkscape.app/Contents/Resources/script --without-gui --export-png=/Users/gioxx/Downloads/raster-image.png /Users/gioxx/Downloads/Logo-TeamViewer-2016.svg

e:

/Applications/Inkscape.app/Contents/Resources/script --without-gui --export-png=/Users/gioxx/Downloads/raster-image.png /Users/gioxx/Downloads/Logo-TeamViewer-2016.svg -w 1000

Ovviamente la cartella dovrai modificarla (in ambo i casi) con quella che corrisponde alla tua situazione attuale, il resto è un colpo di invio e il risultato servito su un piatto d’argento.

Cheers :-)

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

TeamViewer è uno strumento tutto sommato fantastico e universalmente riconosciuto per essere un giusto partner nell’assistenza remota verso PC diversamente non raggiungibili. In passato brillante per il suo modo di saltare a piè pari le limitazioni imposte dai firewall o dai NAT di rete, oggi cerca di fare bella mostra di sé per alcune finezze e servizi accessori (come la giovane assistenza remota su iOS 11+) che conquistano altre fette di mercato.

Kace: TeamViewer Remote Host Switch 3

TeamViewer è anche lo strumento utilizzato per fare assistenza remota in ufficio e, nel corso del tempo, ho costruito una serie di script che mi hanno facilitato la vita nella gestione delle sue autorizzazioni e comportamenti. Attivazione o disattivazione del popup di conferma al collegamento da parte dell’utente finale, blocco o sblocco (quindi disattivazione o attivazione) della creazione password a video (quella specificata sotto il tuo ID), possibilità di inibire il collegamento via internet lasciando solo quello da rete locale. Un piccolo coltellino svizzero in VBS, da richiamare comodamente da riga di comando in base alle esigenze.

Qualche giorno fa ho “tradotto” uno di quegli script in istruzioni per Kace. In particolare parlo dello script che abilita o disabilita l’accesso con conferma al TeamViewer di qualsiasi macchina (x86/x64) controllata all’interno del dominio / parco macchine gestito da Kace. Se la conferma di accesso è abilitata la disabilita, diversamente la abilita.

Lo script

Eseguito come Local System, si basa su due Task, si tratta rispettivamente di quello per un sistema installato a 64 bit, l’altro a 32. Basta controllare se esiste una chiave di registro partendo dalle voci di registro x64 (le Wow6432Node) e variare un valore in base alla condizione attuale, quindi passare al Task 2 nel caso si avesse a che fare con un Windows x86, a 32 bit.

Ti riporto qui di seguito i passaggi che ho salvato nel mio script.

Task 1

Verify

Verifica che la chiave di registro HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl esista, e che il valore AC_Server_AccessControlType sia impostato a 3 (il popup di conferma al collegamento remoto, che compare a video dell’utente finale quando ci si è autenticati dall’altro lato), tradotto quindi con:

Verify that HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl!AC_Server_AccessControlType is equal to “3”

Kace: TeamViewer Remote Host Switch

On Success

In caso di successo, dovrai terminare il processo relativo al servizio di TeamViewer, il client di TeamViewer stesso e modificare quel valore di chiave prima di poter riavviare il servizio di TeamViewer. Tradotto, si ottiene quindi:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl!AC_Server_AccessControlType” to “0”
Restart service “TeamViewer”

Dove lo 0 equivale a un lasciapassare che non richiede conferma alcuna da parte dell’utente finale, in pratica si va a emulare quella condizione di limbo (che permette la connessione senza conferma) di quando ci si trova nella schermata di login di Windows (CTRL+ALT+CANC).

Remediation

La Remediation serve come faultback, permettendoti quindi di riportare la situazione allo stadio precedente, perché il primo passaggio (quello di Verify, nda) ha evidentemente rilevato che il valore di AC_Server_AccessControlType era impostato su qualcosa di diverso dal 3. Quindi non farai altro che terminare il processo relativo al servizio di TeamViewer, il client di TeamViewer stesso e ritoccare quel valore di chiave prima di poter riavviare il servizio dell’applicazione. Traduco:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl!AC_Server_AccessControlType” to “3”
Restart service “TeamViewer”

Kace: TeamViewer Remote Host Switch 1

La procedura su sistemi a 64 bit è completa. Salvo errori, questa parte sarà già funzionante, a prescindere dallo stato d’uscita dello script in console (potrebbe anche dirti di aver fallito, ma mente, dall’altro lato la modifica è stata eseguita e potrai metterla subito alla prova).

Task 2

Verify

Non pensare che io lo faccia apposta, ma nulla cambia rispetto a prima. Il Task 2 serve esclusivamente nel caso in cui il primo fallisca, perché evidentemente non ci si trova davanti a una installazione di Windows a 64 bit. Questo primo passaggio pensa perciò a verificare che la chiave di registro HKLM\SOFTWARE\TeamViewer\AccessControl esista, e che il valore AC_Server_AccessControlType sia impostato a 3 (il popup di conferma al collegamento remoto, che compare a video dell’utente finale quando ci si è autenticati dall’altro lato), tradotto quindi con:

Verify that “HKLM\SOFTWARE\TeamViewer\AccessControl!AC_Server_AccessControlType” is equal to “3”

On Success

Anche in questo caso, se la ricerca ha successo, dovrai terminare il processo relativo al servizio di TeamViewer, il client di TeamViewer stesso e modificare quel valore di chiave prima di poter riavviare il servizio di TeamViewer. Tradotto, si ottiene quindi:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\TeamViewer\AccessControl!AC_Server_AccessControlType” to “0”
Restart service “TeamViewer”

Remediation

Con la Remedetion chiudi il cerchio e anche le operazioni di ambo i Task, riportando la situazione a quella considerata standard, prevedendo che sia l’utente a darti l’autorizzazione al collegamento al suo PC, senza che tu possa entrarci senza controllo alcuno:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\TeamViewer\AccessControl!AC_Server_AccessControlType” to “3"
Restart service “TeamViewer”

Lo script è utile per casi di emergenza nel caso in cui tu stia lavorando sul PC dell’utente senza presidio dall’altro lato (tipicamente quando ti lascia a fare il tuo lavoro e si allontana per una pausa, un tempo variabile non sempre ben definito), e tu ne perda il controllo per un qualsivoglia motivo, chiudendoti quindi la porta alle spalle (e senza le chiavi di casa). Non andrebbe mai utilizzato come passe-partout all’insaputa dell’utente.

Buon lavoro.

Condividi l'articolo con i tuoi contatti: