Cross tweet from Mastodon
Find a file
2019-08-06 09:41:52 +02:00
.dockerignore more docker 2019-08-06 09:40:28 +02:00
.gitignore OAuth 2019-07-25 17:43:55 +02:00
app.js Fix 2019-07-26 18:55:25 +02:00
bot.js more docker 2019-08-06 09:40:28 +02:00
cert.pem OAuth 2019-07-25 17:43:55 +02:00
Dockerfile more docker 2019-08-06 09:40:28 +02:00
key.pem OAuth 2019-07-25 17:43:55 +02:00
LICENSE Add 'LICENSE' 2019-07-25 18:35:40 +02:00
oauth.js OAuth 2019-07-25 17:43:55 +02:00
package.json Docker 2019-08-05 23:11:38 +02:00
README.md Read me 2019-08-06 09:41:52 +02:00
storage.js OAuth 2019-07-25 17:43:55 +02:00

XTweet

Converts noisy toots to tiny tweets

Configurazione e deployment

Crea un file config.js con questa struttura

module.exports = {
  twitter_consumer_key: '...',
  twitter_consumer_secret: '...',

  mastodon_token: '...',
  mastodon_user: 'ekardnam',
  instance: 'mastodon.bida.im',

  key: 'key.pem',
  cert: 'cert.pem',
  passphrase: 'pass',
  bind_ip: '0.0.0.0',
  port: 8000,
  callback_url: 'https://localhost:8000',
  callback_path: '/oauth/callback'
}

In twitter_consumer_key e in twitter_consumer_secret ci vanno i token relativi all'app Twitter.

Collegare Mastodon

Per Mastodon basta andare nel menù Impostazioni > Sviluppo > Nuova applicazione e dare il permesso read:statuses.

Collegare Twitter

Twitter è po' più complicato. Bisgona eseguire l'app in locale alla prima esecuzione siccome non trovarà un file storage.json con i token di Twitter l'app avvierà un webserver per l'autorizzazione di Twitter.

I certificati che sono nella repo sono di test e sono configurati già nel config d'esempio. Siccome vengono negoziati i token di Twitter è bene cambiarli. Si generano con

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

bind_ip e port sono dove si binda il server HTTPS per l'autorizzazione, mentre callback_url e callback_path concatenati danno il callback dell'OAuth (che deve essere settato nell'app Twitter)

Avviato il webserver lo si visita (a https://localhost:8000 con la configurazione di default) e verrà chiesto di autenticarsi su Twitter e di autorizzare l'app.

Deployment del bot

Dopo aver seguito i passi precedenti si può finalmente eseguire il bot. Se lo si vuole ospitare su un server a questo punto sono necessarie alcune accortezze. Dopo aver clonato la repo sul server è necessario copiare nella directory sul server i file config.js e storage.json che contengono i token relativi a Mastodon e Twitter.

Fatto questo si può buildare l'immagine Docker con docker build . -t xtweet e successivamente eseguirla con docker run -d xtweet