Archives For Blog & Social

Di come creare un bot di Telegram per poterlo utilizzare come ponte tra il tuo blog e il gruppo / canale che preferisci, te ne avevo già parlato qualche tempo fa. Quello di cui ti parlo oggi è un modo diverso per consegnare le ultime novità del blog (o qualsiasi altro sito web fornito di feed RSS) a Telegram, e va un po’ in contrasto con quanto ammesso nel 2016, perché nel frattempo le cose su IFTTT sono cambiate (e si sono stabilizzate e velocizzate).

Da WordPress a Telegram, passando per IFTTT

In funzione ormai da diversi mesi (quasi un anno, a dirla tutta), il bot di Gioxx’s Wall consegna –in un gruppo di amici “non aperto al pubblico”– le ultime pubblicazioni che compaiono qui dove tu stesso stai leggendo adesso l’articolo, prendendo URL e immagini di copertina dal feed RSS pubblico. Questo genera un’anteprima immediatamente selezionabile su Telegram, che i frequentatori del gruppo possono utilizzare per puntare il browser alla pagina dell’articolo, in attesa dell’approvazione del template di apertura rapida che ho finalizzato e sottoposto lo scorso gennaio.

L’applet

L’applet di IFTTT si basa su Webhook, e ricostruisce quindi un’azione scatenata da una nuova voce disponibile nel feed di cui ti parlavo prima, per poi catturarla e trasformarla in un URL da richiamare (e in quel caso, passo dalle API di Telegram).

Da WordPress a Telegram, passando per IFTTT 1

Cosa ti serve conoscere:

  • il token HTTP API che ti viene rilasciato da @BotFather (fai riferimento sempre a questo articolo se non hai ancora creato il tuo bot, paragrafo “Creazione del bot“),
  • l’ID del gruppo o del canale (chat_id), di cui ti parlo adesso.

Ricavare il chat_id

Fino a qualche tempo fa era il dato più ostico da ricercare per chi non è abituato a giocare con API e output JSON, oggi è facilmente ricavabile grazie all’utilizzo di un bot (giusto per rimanere in tema) :-) Io ti parlo di entrambi i metodi utilizzabili, scegli tu la via preferita. La prima è più manuale, la seconda è immediata ed evidentemente più comoda per tutti.

Manualmente

Invita il tuo bot all’interno del canale o gruppo che ti interessa “servire“, quindi collegati all’indirizzo https://api.telegram.org/bot<Token del bot>/getUpdates dove <Token del bot> andrà sostituito con il token HTTP API di cui si parlava poco fa. Un esempio pratico potrebbe essere questo: https://api.telegram.org/botjbd78sadvbdy63d37gda37bd8/getUpdates (quel token non esiste e otterrai un output di errore, è solo per fare un esempio). Accedendo alla pagina, ammesso che il token sia giusto, ti ritroverai davanti a una serie di dettagli in JSON che mostreranno i dettagli di ciò che il bot ha visto negli ultimi minuti, compreso l’ingresso nel gruppo / canale che hai portato tu a termine:

Da WordPress a Telegram, passando per IFTTT 2

Quell’ID evidenziato in rosso è proprio quello che identifica il gruppo / canale, dettaglio che a te serve per completare il lavoro, compreso di quel “” davanti, come fosse un numero negativo. Copialo negli appunti.

Automaticamente

Inserisci il bot @RawDataBot all’interno del tuo gruppo / canale. Appena entrato, questo risponderà fornendoti proprio quei dettagli JSON che tu avresti potuto vedere manualmente (spiegato sopra). Ti basterà individuare la riga id in corrispondenza di chat, quindi copiare il numero negativo riportato.

Da WordPress a Telegram, passando per IFTTT 3

IFTTT: completare la configurazione

Hai i due dettagli fondamentali che servono per completare la configurazione dell’Applet su IFTTT. Attiva (su IFTTT, se non lo hai già fatto) il servizio di RSS e anche quello di web request, quindi crea la nuova Applet con questi dettagli:

  • New feed item: indica l’URL del tuo feed (es. https://gioxx.org/feed)
  • Make a web request: inserisci all’interno dell’URL il richiamo alle API di Telegram (un po’ come fatto prima se hai scelto il metodo manuale per ricavare il chat_id) ma stavolta citando l’azione di invio nuovo messaggio, https://api.telegram.org/botjbd78sadvbdy63d-37gda37bd8/sendMessage.
    Il Method dovrà essere di tipo POST e il Content Type di tipo application/json.
    All’interno del Body potrai finalmente specificare il contenuto di ciò che il bot dovrà inviare all’interno del gruppo / canale, io ho inserito questo contenuto:
{"chat_id":"-123456789","text":"{{EntryTitle}} - {{EntryUrl}}/?utm_source=telegram&utm_medium=group"}

Dovrai chiaramente sostituire -123456789 con il vero chat_id ricavato precedentemente, mentre il resto potrebbe anche rimanere identico. L’articolo verrà infatti servito nella modalità “Titolo – URL“, quest’ultimo seguito da alcuni parametri per me utili a fini statistici (e monitorati da Google Analytics, nda).

Ti propongo alcuni ritagli della schermata di IFTTT per permetterti di capire meglio i vari passaggi (in realtà si tratta di un grande blocco in pagina unica):

Salva ora la tua configurazione e attiva l’Applet (se IFTTT non lo ha già fatto autonomamente), quindi attendi che il tutto cominci a funzionare (dovrai pubblicare un nuovo articolo sul tuo blog).

Se vuoi effettuare un test

Ho messo insieme qualche riga di PHP per permetterti di effettuare dei test prima di andare “in produzione“, trovi il risultato all’indirizzo mobile.gfsolone.com/tgram_public.php:

Da WordPress a Telegram, passando per IFTTT 7

Compila il form con i veri dettagli del tuo bot (Token) e del canale / gruppo che vuoi raggiungere (ChatID), quindi inserisci il testo che vuoi inviare e fai clic su “Invia messaggio“. Salvo errori, vedrai comparire il tuo messaggio su Telegram.

Da WordPress a Telegram, passando per IFTTT 8

Lo so, il messaggio è stupido, era per dire che ho migrato mobile.gfsolone.com a HTTPS :-p

Ora dovresti praticamente avere tutto a tua disposizione per replicare una configurazione funzionante, non ti resta che iniziare a sperimentare.

Buon inizio settimana breve! :-)


credits: stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id

Un doveroso ringraziamento anche a Napolux che tempo addietro mi aveva suggerito di adottare questo metodo passando da IFTTT.

Condividi l'articolo con i tuoi contatti:

Era agosto quando ho cominciato a curiosare nel sito web di Fabio Disconzi, approdato lì grazie a un consiglio di lettura riguardo gli Open Data e la difficile adozione da parte di alcune mentalità “brillanti“, quelle che difficilmente comprendono che si tratta di dati ufficialmente accessibili in maniera pubblica, al massimo rimaneggiati da chi ne ha le giuste capacità e che, talvolta, li propone in maniera parecchio più “user-friendly“, come fa Fabio. L’articolo di cui parlo è questo (e ti consiglio a mia volta la lettura): fabiodisconzi.com/webzine/opendata/30/societa-opendata-trasparenza-problemi/index.html

Perché ne parlo oggi? Perché chiacchierando con un amico è saltato fuori l’eterno discorso del prezzo della benzina nella pompa italiana, e del suo costante modificarsi nel tempo a causa di accise e scelte del governo non troppo chiare al comune mortale come me. È per questo motivo che mi è tornato in mente il sito web di Fabio, ed è per questo che ho consigliato di farci un salto per rendersi conto della curva di crescita (e decrescita, in rari casi) che il litro ha subito.

L'Open Carburanti di Fabio Disconzi

Si chiama Open Carburanti ed è solo uno degli osservatori messi a disposizione, nati grazie alla disponibilità degli Open Data resi pubblici dal Governo Italiano (vedi qui: mise.gov.it/index.php/it/open-data), plasmati affinché l’utente finale potesse leggerli e ordinarli secondo le proprie esigenze. Il progetto –completamente libero e aperto a tutti– è accessibile all’indirizzo fabiodisconzi.com/open-carburanti.

Da qui potrai navigare nei prezzi medi storici del carburante (non solo gasolio o benzina verde, ma anche GPL e metano), cercare la pompa di benzina economica più vicina a te, ma anche capire quanto ti è costato un pieno di benzina (basato sulla media dei 40 litri, occhio) rispetto all’ultimo aggiornamento dei prezzi, confrontando il tutto tra le diverse bandiere presenti sul mercato. Questo particolare riguardo le accise ha risposto alla domanda principale della chiacchierata di cui ti parlavo all’inizio, ma c’è tanto che si può imparare semplicemente dando una forma ai dati grezzi.

Questo più che un articolo è uno di quei consigli e “Segnalibro” che puoi salvare anche tu nel tuo browser, perché sono certo che possa tornarti utile per rispondere a qualche tua domanda. Dal canto mio, ringrazio Fabio per il lavoro svolto e gli faccio un grande in bocca al lupo per un futuro meno denso di mentalità chiuse che pretendono solo di essere rimosse / oscurate da quanto da lui messo online. Tutti abbiamo il sacrosanto diritto della maggiore trasparenza di quanto è già nato pubblico.

Buon fine settimana!


Photo by Gab Pili on Unsplash
Condividi l'articolo con i tuoi contatti:

Per circa un giorno (qualcosina in più, in realtà), fuorigio.co è rimasto down a causa di OVH e dei problemi relativi agli storage che ospitano i database MySQL. No SLA, “no-excuses”, niente di niente. Una telefonata al supporto, un paio di pagine dedicate allo stato di “salute dei servizi” e a ciò che stanno facendo per riportare online (ancora adesso) un numero non meglio definito di siti web. Gli operatori non sanno più che raccontare, quasi sono stufi di stare a sentire l’ennesima lamentela di persona pagante che non può sfruttare il servizio, e non certo per “una manciata di minuti“.

Che cosa sta succedendo a Fuorigio.co (e OVH)?

Agevolo URL che passano da Google Translate per trasformare il francese in inglese (ma perché usare il francese per qualcosa che impatta mezzo mondo? Credo che l’inglese in questi casi sia un atto dovuto, nda):

113 VM with the databases were impacted.

We are sincerely sorry for this failure. The
The last breakdown of this magnitude dates from 2006 and
At the time, we questioned all the
Storage technologies that we use at Ovh.
This breakdown is one more lesson and we will
To communicate the changes that will take place
End of this incident to avoid relive the next
Breakdown of this magnitude in 10 years.

Che un danno simile non si verificasse dal 2006 è lodevole (anche se lo considero più che normale, quando si svolge questo tipo di lavoro e si ha a che fare con così tanti clienti), che tutte le buone intenzioni (“per evitare ulteriori disastri per almeno altri 10 anni”) ci siano lo è altrettanto, ma che un sito web non torni up&running in tempi più decenti proprio no. Il nostro è un progetto che gestiamo nel tempo libero, che portiamo avanti per pura passione, che non ci paga gli stipendi. Se fosse stato qualcosa di diverso, qualcosa che non necessitava delle risorse messe a disposizione da un server dedicato (VPS e famiglia) o un investimento più grande (necessario per salire lo scalino da hosting condiviso a dedicato), quanto sarebbe stato carino e cortese dire “Niente SLA, sono cose che possono succedere e non ci sarà rimborso alcuno“?

A questo punto non resta che aspettare. Il nostro piccolo progetto collaterale è ora online ma con una caterva di errori WordPress randomici dovuti alla mancata possibilità di scrivere nel database attualmente tornato inizialmente disponibile in sola lettura, con tanto di informazioni in bella vista che non posso andare a togliere se non oscurando completamente il sito web. Cambierò nome, password e qualsiasi altra informazione a quel database, per evitare possibili ulteriori problemi in futuro.

L’amaro in bocca me lo rimetto nel sacco, il tempo perso invece no, quello è certamente passato a miglior vita, ora non resta che lavorare.

Condividi l'articolo con i tuoi contatti:

Prima Urlist, poi Delicious. Sembra che i servizi di “Social Bookmarking” ai quali ci si affeziona presto (il primo citato lo adoravo particolarmente, ed era stato il motivo per il quale avevo abbandonato Delicious, nda) siano poi destinati a sparire perché arrivati al capolinea per un qualsivoglia motivo.

Delicious abbandona questa “vita terrena” per lasciar spazio a chi lo ha acquisito (Pinboard), dopo essere stato trattato “come una bambola” dai diversi proprietari susseguitisi nel tempo:

In December of 2010, Yahoo announced it was ‘sunsetting’ Delicious, an adventure I wrote about at length. The site was sold to the YouTube founders in 2011. They subsequently sold it to Science, Inc. in 2014. Science sold it to Delicious Media in 2016, and last month Delicious Media sold it to me.

Do not attempt to compete with Pinboard.

Ciao Delicious, benvenuto Diigo

Onore e gloria a Delicious quindi, e grazie per tutto il pesce. Ovviamente però, come ciascun servizio che si è abituati ad annoverare tra i propri clic di mouse, anch’esso deve poter trovare un successore. Ne esistono molti, gratuiti o a pagamento. Sul blog di Lifehacker poco tempo fa è stato pubblicato qualcosa in merito, con alcuni suggerimenti più o meno validi (trovi l’articolo qui: lifehacker.com/export-your-bookmarks-from-delicious-to-pinboard-or-an-1795756036). Io ho seguito invece il suggerimento di Luca, importando i segnalibri su Diigo.

Seppur con qualche limitazione e con un’interfaccia diversa, Diigo può sostituire i servizi passati a miglior vita, basando il tutto sull’utilizzo dei tag (pratica ormai solida, giusto mantenerla tale) e permettendo di stabilire quali collegamenti devono rimanere pubblici e quali privati, anche se a occhio nudo ciò non si nota (bisogna entrare nella modifica del link per verificare che si tratti di un Private piuttosto che un Public, questo è uno svantaggio).

Per ciò che riguarda gli strumenti, anche Diigo offre la possibilità di memorizzare nel browser un bookmarklet per salvare agilmente un nuovo segnalibro, oppure puoi decidere di installare un ulteriore componente aggiuntivo sul browser (che offre anche altre possibilità, nda), se lo preferisci:

A loro si aggiungono inoltre le applicazioni ufficiali per iOS e Android, così da avere sempre a portata di tap la propria libreria e la possibilità di modificarla.

A questo punto ti basterà solo esportare da Delicious i tuoi segnalibri, quindi importarli su Diigo. L’operazione durerà diversi minuti, tu potrai nel frattempo continuare a lavorare e inserire già nuovi collegamenti. Il resto è tutta questione di abitudine, dovrai solo riprenderci un po’ la mano:

Tu hai mai utilizzato Delicious? Cosa ne farai dei segnalibri? Dove li trasferirai?

Condividi l'articolo con i tuoi contatti:

Stamattina mi trovavo in giro per Milano per un paio di appuntamenti. Ho ingannato l’attesa dando un’occhiata a Twitter, e ho fatto caso ad alcuni strani movimenti decisamente poco avvezzi all’essere autorizzati dai relativi proprietari, si trattava di stati clonati tra di loro, tutti più o meno pubblicati in una stessa fascia oraria, un evidente attacco a tappeto. Si è trattato di un vero e proprio sfacelo, di quelli che da qualche tempo non se ne vedevano più, pare che colpa sia stata di un’applicazione di terza parte con autorizzazioni di lettura e scrittura sugli account Twitter dei suoi utilizzatori.

Di Twitter, Turchia e accessi indesiderati

Ho visto per primi i tweet di Paolo Attivissimo, che è solito ricevere, verificare e rilanciare materiale solo se non si tratta di bufale (che in realtà combatte da sempre e stronca sul nascere). Uno, poi un altro, poi altri ancora e così via, sembra che account non collegati tra di loro abbiano pubblicato stati pro-Erdoğan (il presidente turco):

Il tweet contiene una svastica, alcuni hashtag che si riferiscono al nazismo, un video celebrativo del presidente turco Recep Tayyip Erdoğan e varie scritte fra cui “ci vediamo il 16 aprile”. È la data del referendum costituzionale in Turchia che deciderà se rafforzare i poteri del presidente, una riforma promossa e sponsorizzata dallo stesso Erdoğan. I riferimenti al nazismo e ai Paesi Bassi si legano probabilmente ai diversi litigi diplomatici che Erdoğan ha avuto con alcuni leader europei la scorsa settimana, dopo che in diversi paesi ai membri del governo turco è stato impedito di tenere comizi politici in vista del referendum (probabilmente perché non vogliono legittimare un governo autoritario e ultra-nazionalista come quello di Erdoğan).

vedi: ilpost.it/2017/03/15/attacco-hacker-twitter-turchia

I tweet si susseguono, l’attacco dilaga e gli account violati aumentano, basta dare un’occhiata a questo piccolo elenco di tweet, che in realtà sono poi diventati ancora di più, ma non posso certo star lì a recuperarli tutti ;-) (ci vuole ben poco in realtà):

Impossibile fare diversamente, Paolo cala l’asso e consiglia caldamente l’utilizzo della 2FA (l’autenticazione a due fattori, per la quale combatto e scrivo da sempre):

Twitter aveva attivato l’autenticazione a due fattori tramite SMS già nella prima metà del 2013, evolutasi e passata ad autenticazione (sempre a due fattori) tramite la sua stessa applicazione pochi mesi dopo. Dal 2013 le cose sono ulteriormente cambiate e ci sono stati altri miglioramenti. Ora è possibile anche generare codici temporanei utilizzando applicazioni di terze parti come Google Authenticator o Authy. Non hai quindi più scuse per perdere tempo, attivala subito.

È solo dopo un’ora circa dai primi attacchi (orario italiano) che si scopre che il problema non è Twitter, né tanto meno una password troppo debole degli utilizzatori colpiti. Il cavallo di Troia si chiama TwitterCounter, un servizio (a ora che sto scrivendo l’articolo è down per manutenzione) che permette di rilevare diverse statistiche riguardo il proprio utente Twitter. Per utilizzarlo è necessario autenticarsi tramite il proprio user Twitter (sfruttando le API) e dargli accesso in lettura e scrittura. La seconda ACL è quella che ha causato il danno più visibile, evidentemente.

Paolo ha raccolto diverse informazioni e le ha messe a disposizione di tutti nell’articolo che potrai leggere all’indirizzo attivissimo.blogspot.it/2017/03/violazioni-di-massa-di-account-twitter.html.

Da lì a poco anche Matteo è entrato in gioco e ha fornito dettagliate statistiche che mostrano l’evoluzione dell’attacco e gli account colpiti, con relativi rimbalzi, visualizzazioni e chi più ne ha più ne metta. Trovi tutto il materiale all’indirizzo matteoflora.com/a-social-media-analysis-of-the-turkish-%E5%8D%90-nazialmanya-attack-294ff653085c#.mxnysyvy7.

Nel frattempo, anche Gizmodo ha raccolto ulteriori informazioni e le ha inserite all’interno del loro articolo riepilogativo (gizmodo.com/twitter-accounts-hacked-with-swastikas-through-third-pa-1793286451). I passaggi più importanti sono quelli relativi alle affermazioni di Twitter e del servizio di terza parte TwitterCounter, che riporto:

Update, 5:36am: Twitter just sent us this statement:

We are aware of an issue affecting a number of account holders this morning. Our teams are working at pace and taking direct action on this issue. We quickly located the source which was limited to a third party app. We removed its permissions immediately. No additional accounts are impacted. Advice on keeping your account secure can be found here.

vedi: support.twitter.com/articles/76036 (consigli di sicurezza che tutto sommato riportano quanto già detto da me, da Paolo e da molti altri, mille volte)

Da lì a poco, inevitabile il tweet di TwitterCounter:

Ciò vuol dire che, almeno per il momento, nulla si può muovere tramite TwitterCounter, il quale ha anche modificato la sua chiave privata per sfruttare le API di Twitter, così da evitare (si spera) ulteriori attacchi. Se e quando verrà scoperta la falla beh, questo non è ancora dato saperlo (ma salterà sicuramente fuori nelle prossime ore, o almeno tutti ce lo auguriamo).

Occhio a chi hai autorizzato

Il mio consiglio, oltre a quello di andare ad attivare l’autenticazione a due fattori e rimuovere immediatamente l’accesso all’applicazione TwitterCounter (ammesso tu l’abbia mai autorizzata) da twitter.com/settings/applications, è quello di verificare quante altre applicazioni possono accedere al tuo account Twitter, e fare una pulizia di primavera in leggero anticipo, per evitare che chiunque possa sfruttare falle che esulano da Twitter o dalla tua capacità di proteggere l’account con una robusta password e un corretto metodo di verifica.

Se non utilizzi più un’applicazione, se non ne riconosci il nome, se pensi di non averci nulla a che fare, rimuovi il suo accesso. Ricorda che potrai sempre ridarglielo in un secondo momento, senza conseguenze (dovrai semplicemente riautenticarti a Twitter). Fai distinzione tra lettura e scrittura, e prediligi l’eliminazione immediata di chi ha accesso in scrittura al tuo account, guarda la differenza in questa immagine catturata dal mio account:

Di Twitter, Turchia e accessi indesiderati 1

Ricorda solo che, nel caso tu utilizzi iOS o macOS abitualmente (sistemi operativi di casa Apple), revocare i diritti di accesso non è immediatamente banale, devi pensare più in grande e toglierli all’intero sistema, come spiegato nella documentazione ufficiale di Twitter.

Non perdere altro tempo, dai un’occhiata alle tue impostazioni di sicurezza e fai in modo da proteggerti il più possibile da accessi (e utilizzi) indesiderati.

Cheers.

G

Condividi l'articolo con i tuoi contatti: