/mirrortter

🐘 Forward awesome toots to Twitter from the fediverse

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

mirrortter

Build Status Maintainability

🐘 Mirrortter forwards your awesome toots to Twitter from the fediverse

Installation

First, you need to copy .env.exmaple to .env which is production environment variable

cp .env.example .env

Then specify some authorization information, for more preferences, see Configuration section below

+MASTODON_URL=
+MASTODON_ACCESS_TOKEN=
+MASTODON_STREAMING_URL=
+TWITTER_CONSUMER_KEY=
+TWITTER_CONSUMER_SECRET=
+TWITTER_ACCESS_TOKEN=
+TWITTER_ACCESS_TOKEN_SECRET=

Finally, run following commands to start the app:

yarn
yarn start

Configuration

key description default value
MASTODON_URL URL of your Mastodon instance, including https://
MASTODON_STREAMING_URL Streaming API endpoint of your mastodon instance
MASTODON_ACCESS_TOKEN Access token of your Mastodon API
TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET Authroization information of Twitter API
FETCH_INTERVAL Interval of polling user's statuses (milliseconds) 60000
USE_STREAMING Whether use streaming API or not, if ture specified, FETCH_INTERVAL will be ignored true
MIRROR_BOOSTS Whether tweet statuses which you boosted in Mastodon false
MIRROR_MENTIONS Whether tweet statuses which you mentioned to someone in Mastoodn false
MIRROR_SENSITIVE Whether tweet statuses which is sensitive false
MIRROR_WITH_URL Flag of tweeting with URL, following values are possible:
always Always tweet with URL
only_media Tweet with URL when media attached
only_sensitive Tweet with URL when status is a senstive content
media_or_sensitive Tweet with URL when media attached and/or sensitive
never Tweet only content
"never"
ALLOWED_VISIBILITY Space-sperated text of allowed visiblity type of Mastodon status, public unlisted private and direct are possible "public unlisted private direct"
ELLIPSIS Style of ellipsis which will be used when omitting content because of text limit issue "..."