Archives For Twitter

Ho voluto sperimentare un metodo alternativo di pubblicazione automatica su Twitter passando dal mio NAS anziché da IFTTT (che a dirla tutta non mi dava la possibilità di controllare una delle condizioni da me desiderate) o alternative già presenti sul mercato. Ho messo mano a PHP e Bash ancora una volta, lasciando che sia il NAS a fare il lavoro sporco programmato quotidianamente tramite utilità di pianificazione. Io ti racconto la mia esigenza e relativa esperienza, sta a te vederci un possibile utilizzo per qualcosa che ti riguarda.

Pubblicare su Twitter: farlo da Synology (e non solo)

L’esigenza

Dato un numero di giorni mancanti a una certa data (quindi in aggiornamento almeno una volta ogni 24h), ho bisogno di pubblicare un tweet quotidiano, come si trattasse di un conto alla rovescia. Scopro il servizio gratuito offerto da timercheck.io di Eric Hammond e decido di richiamarlo tramite PHP e l’aiuto della libreria twitteroauth di Abraham Williams, perché a vedere ciò che offre IFTTT e i trigger data/ora, Twitter e Webhooks non riesco a fare esattamente ciò che cerco.

Di cosa c’è bisogno

In realtà qualcosa è stato già dichiarato, ma ecco l’elenco della spesa:

  • Un NAS Synology o una qualsiasi macchina Linux-based (penso a un Raspberry, per dire), io comunque farò riferimento al primo citato.
  • PHP 7 (disponibile nel Synology Package Manager) con estensione openssl.
  • Te la ricordi l’utenza limitata che ho creato nell’articolo dedicato alla Surveillance Station? Ecco, ho riutilizzato la cartella del suo profilo (nell’esempio: /var/services/homes/api_user). Qui ho creato una cartella chiamata twitter-php-master all’interno della quale ho inserito gli script di cui ti parlerò dopo.
  • La libreria twitteroauth di Abraham Williams disponibile su GitHub.
  • Un account Twitter e relativa autorizzazione alla creazione / uso di applicazioni tramite apps.twitter.com (devi essere riconosciuto come sviluppatore).

Provo a dare per assodato che tu sappia ciò di cui stiamo parlando e salto a piè pari la creazione di un account Twitter e del profilo da sviluppatore, così come il modulo PHP 7 (ma ti parlerò dell’estensione relativa all’OpenSSL, tranquillo). Se qualcosa non ti è chiara o se non conosci un particolare passaggio non esitare a lasciare un commento in fondo all’articolo, proverò a darti una mano per quanto mi è possibile :-)

Detto ciò, partiamo.

Abilita il modulo OpenSSL su PHP 7

Collegati via SSH al tuo NAS (non sai come fare? Guarda qui), quindi passa all’utenza di root tramite un sudo -i seguito da invio, inserisci la password della tua utenza amministrativa e premi invio (non sai di cosa sto parlando? Guarda qui). Spostati ora in /usr/local/etc/php70 e modifica il file php.ini (esempio: vi php.ini). Ora:

  • cerca la stringa extension_dir = "/usr/local/lib/php70/modules"
  • Aggiungi subito sotto l’abilitazione di openssl:
    extension=openssl.so
  • Salva il file e chiudilo (tasto ESC, poi :wq seguito da invio).
  • Crea una copia del modulo openssl.so tramite un
cp /volume1/@appstore/PHP7.0/usr/local/lib/php70/modules/openssl.so /usr/local/lib/php70/modules/
  • Torna ora nel Gestore Pacchetti di Synology e riavvia PHP 7.

Tutto questo ti permetterà di evitare di incorrere nell’errore che qui di seguito ti mostro (da me ottenuto quando ho lanciato lo script di bash per la prima volta, dopo essermi dimenticato di abilitare SSL sul PHP del mio NAS):

Pubblicare su Twitter: farlo da Synology (e non solo) 1

Crea il conto alla rovescia tramite timercheck.io

Il funzionamento di questo semplicissimo servizio web è spiegato abbondantemente nell’articolo del suo stesso autore. Io sarò più breve: una giornata da 24 ore è composta da 86400 secondi (Google semplifica le cose), qui trovi un tool per il calcolo dei giorni tra due date, il gioco è praticamente fatto.

Trasforma il numero di giorni in secondi, quindi crea un URL univoco tramite timercheck.io che possa restituirti un output json contenente ciò che a te serve (il tempo che rimane) ogni volta che intendi visitare quell’URL tramite browser e non solo (nel mio caso lo richiamo proprio dallo script PHP di cui ti parlerò tra breve). Un esempio? timercheck.io/Test-Gioxx.org/60 crea un conto alla rovescia che dura un minuto, visitando semplicemente timercheck.io/Test-Gioxx.org e aggiornando la pagina noterai che il conto alla rovescia avanzerà portandosi sempre più verso lo zero (nel campo seconds_remaining), tutti i dati in json resteranno disponibili fino allo scadere di quel timer, e questo è proprio ciò che ti serve.

È caldamente consigliato creare un URL quanto più difficile da indovinare o replicare, questo perché in caso contrario chiunque potrà modificarlo o resettarlo al posto tuo, è un servizio totalmente aperto a tutti, senza gerarchie o complicati sistemi di autorizzazione. Accetti un’idea che credo possa tornarti utile? Genera un contatore nuovo con un nome qualsiasi e una durata di 10 secondi, copia il suo request_id e crea un nuovo contatore con il nome che ti interessa al quale farai seguire l’ID copiato (esempio: timercheck.io/Test-Gioxx.org-dc8a395c-10d7-11e9-b585-175833651ae5/60), questo è certamente un URL molto più univoco di quello da te precedentemente pensato.

Il tuo contatore è pronto, puoi procedere verso lo script PHP che si occuperà di lanciare il tuo tweet in rete.

post-tweets.php

Uno script PHP che troverà posto all’interno della cartella /var/services/homes/api_user/twitter-php-master e che conterrà le istruzioni necessarie per inviare il cinguettio sulla piattaforma. Prima però di dedicare la giusta attenzione a questo specifico script, devi scaricare una copia aggiornata della libreria twitteroauth di Abraham Williams, puoi farlo con un semplice clic qui. Scompatta il contenuto del file ZIP all’interno della cartella twitter-php-master (non ripeto la solita posizione completa, dai!), non toccare null’altro, non serve.

Torniamo a quello che per comodità chiamerò post-tweets.php, lo script che si occuperà di pubblicare il tweet. Ti mostro il contenuto del mio, rimuovendo i dettagli personali ma mantenendo l’esempio testuale:

Ciò che dovrai ritoccare riguarderà ovviamente i parametri personali e il testo da inviare online. Dovrai specificare CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN e ACCESS_TOKEN_SECRET dell’applicazione che potrà scrivere impersonando il tuo utente, aggiungere il timer da tenere d’occhio (nell’esempio ho mantenuto https://timercheck.io/Test-Gioxx.org/60, a te toccherà specificare qui il tuo timer) e modificare il testo da pubblicare in base alla condizione del countdown: se questo è attivo o se è terminato (lo posso fare monitorando uno dei valori output del json, in questo caso lo status).

Piccola nota di finezza è il round() applicato al calcolo dei giorni (numero dei secondi residui diviso 86400), così da evitare di far comparire dei decimali nel tweet.

Il risultato dovrebbe assomigliare a questo:

Programmare l’operazione

Hai terminato tutta la preparazione, non ti resta che automatizzare il processo tramite Utilità di pianificazione e un banalissimo script bash per rendere tutto più immediato:

Salva il file bash nella solita cartella (twitter-php-master), avvia l’utilità di pianificazione Synology e crea una nuova operazione programmata da far girare ogni giorno all’ora che preferisci (io ho scelto le 8:00):

Pubblicare su Twitter: farlo da NAS Synology (e non solo)

Ce l’hai fatta, salvo errori sei appena riuscito a programmare la pubblicazione di un tweet tramite il tuo account. Il mio è un esperimento per imparare qualcosa di nuovo, utile per arrivare a una data per me molto importante, e nel tuo caso qual è la giustificazione per aver avviato un nuovo contatore con pubblicazione su Twitter automatizzata? :-)

Buona giornata!


Credits: artisansweb.net/tweet-twitter-php

Condividi l'articolo con i tuoi contatti:

Sono davanti al PC a dare un’occhiata alle offerte dell’11+11 di MediaWorld, una pena infinita dovuta al sovraccarico di un sito web evidentemente non concepito per scalare a dovere, ma questo è solo uno sterile sfogo di apertura articolo che poco c’entra con il succo del discorso che voglio intavolare con te. Tornando all’argomento principale, quello di oggi è un pezzo basato sulla preparazione per l’imminente Black Friday di Amazon, previsto per venerdì 23 novembre prossimo, seguito poi dal Cyber Monday del 26 novembre. Ne abbiamo già discusso in passato, ma è giusto rifare una panoramica sui metodi e software che puoi utilizzare per non perderti gli affari che più ti interessano e che vorresti comprare a prezzo inferiore rispetto all’attuale.

Amazon Black Friday: come arrivare preparati

Amazon Black Friday e Cyber Monday

Una rapida ricerca su internet ti permetterà di accedere già a una moltitudine di articoli che trattano l’argomento, alcuni dei quali in grado di proporti già una parte di lista offerte (o presunte tali) che andrà in vetrina in una delle due occasioni (venerdì / lunedì), a te tocca esclusivamente fare il lavoro sporco tenendo d’occhio ciò che ti interessa, facendo una sorta di “lista della spesa” che vorresti concludere al termine delle due giornate di sconti. Per fare questo puoi usare degli strumenti dei quali ti ho già parlato in passato, ancora oggi disponibili (e in alcuni casi nettamente migliorati), spesso integrati all’interno del tuo browser o con i client di messaggistica istantanea.

Keepa

Capo saldo del controllo dei prodotti Amazon che vorrei acquistare e delle liste desideri, Keepa è fedele compagno di viaggio ormai da qualche tempo, te ne ho parlato per la prima volta in un articolo del 2016, anche se avevo iniziato a utilizzarlo alcuni mesi prima (fine 2015). Quello che devi fare è semplicemente registrare un account gratuito su keepa.com, quindi installare il componente aggiuntivo per Firefox, Chrome, Opera o Edge, il quale ti permetterà di tenere sott’occhio le evoluzioni prezzi dei prodotti che ti interessano di più:

Keepa.com - Amazon Price Tracker
Keepa.com - Amazon Price Tracker
Keepa - Amazon Price Tracker
Keepa - Amazon Price Tracker
Developer: keepa.com
Price: Free
Install Chrome Extensions
Install Chrome Extensions
Developer:
Price: Free
Keepa
Keepa
Developer: Keepa
Price: Gratis

Un esempio pratico? Sto tenendo d’occhio il WD Red per il mio NAS, vorrei fare un upgrade da 2 a 4 TB, questo il suo grafico prezzi Amazon nel corso del tempo:

Amazon Black Friday: come arrivare preparati 1

Ho chiesto a Keepa di avvisarmi quando il prezzo sfiorerà i 100€ circa, come già successo in passato senza alcuna offerta lampo (Keepa le segnala con un pallino rosso sul grafico), a me non resta che aspettare perché ho aggiunto al mio account –oltre che la mail, ovviamente– il mio account di Telegram e le notifiche push sul mio Firefox.

Tracciare un prodotto è assolutamente semplice: una volta installata l’estensione per il browser (per facilitarti la vita eh, altrimenti puoi fare tutto anche da sito web di Keepa senza aggiungere null’altro al tuo browser), apri la pagina dell’articolo che ti interessa su Amazon, quindi usa il grafico per controllare l’andamento prezzi e mettere sotto tracking il prodotto, ho catturato e pubblicato su YouTube i passaggi ripresi dal mio Firefox:

Importare una lista desideri intera

Sì, è possibile. Il lavoro maggiore è proprio quello di individuare una serie di prodotti per te interessante, cosa che solitamente fai tramite la lista desideri di Amazon (la predefinita così come qualsiasi altra creata successivamente). Keepa può importare in qualsiasi momento una lista intera di prodotti tramite il suo URL, per poi permetterti di impostare una percentuale di prezzo sotto al quale ognuno di quei prodotti deve scendere per poter scatenare l’evento di invio alert al tuo account.

Una volta effettuato il login su Amazon, spostati nelle liste desideri (amazon.it/wishlist?ref_=ya_d_l_lists) e seleziona quella che vorresti importare su Keepa, assicurati che questa sia Pubblica, in caso contrario non potrai procedere (dovrai inserire manualmente i tracking prodotto), quindi copia l’URL della lista (l’indirizzo che trovi nella barra del browser!) e incollalo in Keepa, più precisamente qui: keepa.com/#!import. Ti basterà a questo punto dichiarare che percentuale di prezzo al ribasso vuoi tenere monitorata, al resto ci pensa il tool.

C’è altro da sapere?

Diciamo di no, tutto il resto appartiene un po’ all’argomento esplorazione e configurazione secondo i propri desideri. Se hai fatto tutto correttamente, avrai popolato la lista di tracking di Keepa relativa al tuo account, quella che troverai all’indirizzo keepa.com/#!manage, da qui potrai modificare il singolo monitoraggio variando il prezzo desiderato, o potrai decidere di rimuovere del tutto il tracking. Modifica la vista secondo tua comodità, io sto già usando la loro visualizzazione beta (e non è niente male), cioè quello che tutti vedranno (volenti o nolenti) tra qualche tempo. Keepa è uno strumento tanto potente quanto versatile, giocaci, scoprilo, utilizzalo al meglio per esaudire i tuoi desideri, è completamente gratuito e questo fa di lui Re incontrastato sul mercato software di monitoraggio Amazon.

Alternative: Pagomeno e WhenItDrop

Della prima ti ho parlato davvero poco tempo fa, ti posso rimandare direttamente all’articolo che viene ancora proposto nella colonna di destra del mio blog, troverai tutti i dettagli sulla piattaforma e la possibilità di tenere monitorati più fornitori, non fermandoti quindi ad Amazon o eBay (anch’esso tracciato da Keepa).

Pagomeno può essere un’alternativa a Keepa: come sfruttarla

C’è poi WhenItDrop, progetto nato evidentemente negli ultimi tempi (agosto 2018) e dietro al quale c’è uno sviluppatore italiano (Gabriele Castoro). Nulla di più semplice e banale da capire: se il prezzo di un prodotto che intendi seguire cala anche solo di un centesimo, ti viene immediatamente consegnata una nuova mail all’interno della casella di posta elettronica associata al tuo account Google, unico metodo di registrazione e login attualmente disponibile sul sito web (scelta molto secca e discutibile, ma tant’è).

Amazon Black Friday: come arrivare preparati 2

Ancora in uno stadio iniziale, WhenItDrop permette di inserire in lista di tracking i prodotti venduti da Amazon Italia e UK, senza permetterti di specificare il prezzo desiderato, vale la regola del “ti avviso se il prezzo cambia, a prescindere da quale sia“, caratteristica che in realtà esiste ma che è possibile sbloccare solo portando i propri amici e conoscenti a registrarsi al sito (puoi farlo da qui passando dal mio referral, se ti va). Ho quindi messo alla prova il prodotto e gli ho dato in pasto un paio di monitoraggi che seguo già via Keepa. Il tutto ha funzionato correttamente già nella giornata del 10 novembre scorso, durante la quale Red Dead Redemption 2 per Xbox One è passato dai 67 ai 61€ circa richiesti per l’acquisto:

Amazon Black Friday: come arrivare preparati 3

20/11/18

Aggiornamento: mi sembra giusto modificare l’articolo e segnalare che WhenItDrop aggiunge al link prodotto Amazon il proprio codice di affiliazione. Questo gli permette di guadagnare una piccola commissione in caso di acquisto confermato da parte dell’utente. Non c’è nulla di male, lo scrivo solo per massima trasparenza (è quello che generalmente succede anche con i prodotti che ti segnalo direttamente io negli articoli di questo blog!).

In conclusione

Inizia a preparare la carta di credito e la lista di tutto ciò che potrebbe tornarti utile, per il resto ti toccherà incrociare le dita e sperare che Amazon scelga di proporre i prodotti che desideri a un prezzo più basso dell’attuale. Oltre quanto riportato dal mio articolo c’è certamente dell’altro, mi viene in mente CamelCamelCamel (di cui ti ho parlato qui) solo per citarne uno, ma lì fuori è pieno di altri software in grado di offrirti la possibilità di non perdere d’occhio i prezzi di ciò che ti interessa acquistare. L’area commenti è a tua totale disposizione per parlare di questo argomento, proporre alternative, chiedere maggiori informazioni e tanto altro ancora.

Buono shopping! :-)

Condividi l'articolo con i tuoi contatti:

Il tweet è vecchio così come l’argomento, eppure ogni tanto torna in auge e non è mai per un buon motivo, perché si parla di tentativi di phishing che vanno a buon fine e mettono così in pericolo i tuoi dati e la tua privacy. Oggi torno quindi a parlarti (per la prima volta però sul blog) di Punycode e dei domini che non corrispondono esattamente al vero.

Firefox e Punycode: occhio ai tentativi di phishing

Punycode

Se hai letto Punycode così come un ateo leggerebbe un passo della Bibbia (che poi non è detto), non preoccuparti, può anche starci che tu non conosca l’argomento e non sappia di cosa stiamo parlando. Viene in aiuto un articolo di qualche mese fa, pubblicato all’indirizzo dev.to/loganmeetsworld/homographs-attack–5a1p, all’interno del quale viene minuziosamente spiegato come è possibile “attaccare” un ignaro utente di Firefox (ma anche Chrome e altri browser) sfruttando l’interpretazione dei caratteri Unicode (come le emoji che siamo tutti abituati a usare nelle applicazioni di messaggistica istantanea).

Volendola riportare in breve, ti cito qualche riga della voce specifica su Wikipedia:

Punycode è un sistema di codifica definito nella RFC 3492 che serve a rappresentare univocamente una sequenza di caratteri unicode tramite una sequenza di caratteri ASCII, per rendere possibile l’uso di tali sequenze nei nomi di dominio, senza dover modificare infrastrutture e standard esistenti.

Continua su: it.wikipedia.org/wiki/Punycode

Ciò vuol dire che potresti tranquillamente utilizzare una emoji al posto del testo o, se preferisci (e come viene generalmente fatto per questo tipo di attacchi), una serie di caratteri ASCII che vengono poi letti e mostrati in maniera più chiara dal browser. Che significa di preciso? Presto detto: il tweet a cui facevo riferimento in apertura articolo è questo di seguito …

Firefox & Chrome

Ciò che a te sembra assolutamente identico tra lo screenshot superiore e quello subito sotto, nella realtà corrisponde a profonda differenza tramite Punycode: www.xn--twili-nye.com (e questo è solo un esempio con caratteri russi) riporta apparentemente a un sito web lecito, che di lecito però nella realtà non ha nulla. La medesima storia è già stata documentata ampiamente in passato, successe anche con il domino di Apple (quello che per tutti è Apple.com e che ancora oggi esiste ancora come PoC Punycode se dai un’occhiata all’articolo al quale ti porto tramite il collegamento inserito qualche parola fa), funzionante su qualsiasi browser aggiornato (vedi il mio, qui di seguito):

Il “Prima” e “Dopo” che leggi come descrizione delle immagini è dovuto alla modifica che su Firefox ho apportato ormai diverso tempo fa, proprio per combattere questo tipo di attacco e poter immediatamente avere massima visibilità di domini che utilizzano il Punycode. La modifica alla quale faccio riferimento riguarda ovviamente l’about:config del browser, più precisamente la voce network.IDN_show_punycode, descritta già nel 2006 nella Knowledge Base di MozillaZine (kb.mozillazine.org/Network.IDN_show_punycode), che contrariamente al predefinito booleano “false” può (e secondo me deve) essere impostata a true per mostrare i caratteri estesi che compongono il nome del dominio in maniera altrimenti più leggibile, proprio come nell’immagine di seguito (presa sempre dal mio Nightly):

Firefox e Punycode: occhio ai tentativi di phishing 3

Ed è così che è semplice arrivare alla situazione riportata dall’immagine qualche riga più su con la descrizione “Dopo“, è evidente che un attacco di questo tipo non potrebbe mai andare a buon fine. Se però preferisci agire in maniera diversa, puoi sempre pensare di fare uso di un componente aggiuntivo come PunyCode Domain Detection, italiano sin dalla nascita (realizzato da Francesco De Stefano) e disponibile chiaramente su AMO:

Che potrebbe avere un corrispettivo anche nel Chrome Store (no, non se ne è occupato sempre lui anche dall’altro lato) in Punycode Alert:

Punycode Alert
Punycode Alert
Developer: i3visio
Price: Free

In conclusione

Argomento di discussione da anni e motivo di critica verso chi ancora non ha portato sul tavolo regole ufficiali e valide per tutti, Punycode e possibilità di registrazione domini alquanto discutibili basati su caratteri estesi continuano a mietere vittime poco attente (o poco preparate, a volerla dire tutta), per questo motivo è bene prendere precauzioni in totale autonomia e muoversi sin da subito (in realtà bisognava averlo già fatto anni fa).

Quanto riportato sopra è frutto della mia personale esperienza e si tratta ovviamente di suggerimenti che sei libero o meno di applicare. Se nel tuo caso hai preferito intraprendere una differente strada e vuoi parlarne, sei assolutamente libero di farlo in area commenti, è sempre bello potersi confrontare e arricchire le pubblicazioni del blog (ormai dovresti conoscermi e saperlo bene).

Spero di non aver dimenticato nulla. In caso contrario, bussa e segnalalo, sarà mia premura metterci quanto prima una pezza ;-)

Buona navigazione!


Ulteriori fonti:

Condividi l'articolo con i tuoi contatti:

Ho un paio di componenti aggiuntivi di cui ti voglio parlare molto rapidamente, per darti il buongiorno al sabato mattina, con calma, una (forse non tanto) tipica lettura da caffellatte e cereali. Il primo di cui ti parlo è per Firefox, il secondo per Chrome, ma per quest’ultimo ti rimando a sabato prossimo. Il nome di oggi è Temptation Blocker, si tratta di un un rimedio alle distrazioni e alle tentazioni (con molta fantasia).

Addons: Temptation Blocker

Il mestiere di chi vive e campa di internet è assai difficile. C’è da districarsi in mezzo a centinaia di siti web che permettono di perdere facilmente tempo, a tutto discapito dal focus e dalla mai troppo breve ToDo list. Scadenze, interventi da chiudere, concentrazione che dopo qualche tempo scarseggia. Solo 5 minuti mamma, cosa vuoi che sia? Mi sembra di essere tornato ai tempi di scuola e quel letto sempre caldo e maledettamente convincente quando si voleva rimanere sotto le coperte a combattere il freddo su quell’autobus verso l’inevitabile.

Il David Lloyd Clubs ha pubblicato un componente aggiuntivo che strizza l’occhiolino alla tecnica Pomodoro (per chi ancora non la conoscesse, rimando qui) e ne cavalca un po’ l’onda, sfruttando elenchi di siti web e termini facilmente riconoscibili, per evitare di cadere in tentazione, amen.

Temptation Blocker
Temptation Blocker
Developer: DevStars
Price: Free

Installando Temptation Blocker avrai accesso a una serie di “impedimenti” che metterai tu stesso sulla tua via, senza più complesse configurazioni di DNS personalizzati o prodotti di protezione (antivirus in primis) che permettono di far funzionare black e whitelist. Dal menu di Temptation Blocker potrai gestire le tue barriere, in maniera estremamente semplice:

Addons: Temptation Blocker 1

Scegli i paletti, fai clic su Blocca e ottieni conferma (Opzioni salvate, nda), ora prova a visitare un qualsiasi sito web legato a ciò che hai chiesto di bloccare (vale anche passare da una ricerca di Google!), il risultato dovrebbe essere grosso modo questo:

Addons: Temptation Blocker 2

Non c’è altro da sapere. Ora tocca solo a te, non distrarti! :-)

Per sbloccare una categoria dovrai semplicemente andare a disattivare la voce precedentemente selezionata, quindi fare clic su Blocca (lo so, ha poco senso, questo poteva essere pensato un attimo meglio, almeno sul piano logico).

Nota a marine prima di chiudere l’articolo: fanno sorridere i due (più che giusti e normali) pulsanti dedicati alla condivisione di Temptation Blocker su Twitter e Facebook. Se tra i tuoi blocchi hai incluso i Social Media, saranno completamente inutili (mi sarei aspettato quasi quasi il contrario, e invece il componente aggiuntivo non transige e non fa sconti a nessuno, neanche a sé stesso!).

Condividi l'articolo con i tuoi contatti: