Skip to content
/ moa Public
forked from FedStoa/moa

A Mastodon <-> Twitter Cross-poster

License

Notifications You must be signed in to change notification settings

SamR1/moa

 
 

Repository files navigation

                 _ __ ___   ___   __ _
                | '_ ` _ \ / _ \ / _` |
                | | | | | | (_) | (_| |
                |_| |_| |_|\___/ \__,_| (Beta)

┌──────────────┐     ╔══════════════╗      ┌──────────────┐
│  Instagram   │────▶║  moa.party   ║◀────▶│   Twitter    │
└──────────────┘     ╚══════════════╝      └──────────────┘
                             ▲
                             │
                             ▼
                     ┌──────────────┐
                     │   Mastodon   │
                     └──────────────┘

A Mastodon <-> Twitter Cross-poster

https://moa.party

Install

Requires python 3.6+

Moa is a flask app and can be run with python or proxied behind something like nginx/passenger.

  • clone it and change directory
  • install moa
$ make install
  • fill in the blanks in config.py
  • init database
$ make upgrade-db
  • start the server
$ make serve
  • run the worker
$ make run-worker

Features

  • preserves image alt text
  • handles boosts/retweets

Some code lifted from https://github.com/halcy/MastodonToTwitter

Example nginx/passenger configuration

server {
    listen 80;
    server_name moa.party;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ;
    server_name moa.party;
    
    # SSL
    
    ssl on;
    ssl_certificate     /etc/certificates/moa.crt;
    ssl_certificate_key /etc/certificates/moa.key;
    
    client_max_body_size 1G;
    
    access_log /var/www/moa/logs/access.log;
    error_log /var/www/moa/logs/error.log;
    
    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt  { log_not_found off; access_log off; }
    
    passenger_enabled on;
    passenger_app_env production;
    passenger_python /var/www/moa/.moa-venv/bin/python3;
    passenger_env_var MOA_CONFIG config.ProductionConfig;
    
    root /var/www/moa/public;
}

About

A Mastodon <-> Twitter Cross-poster

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.7%
  • Awk 3.4%
  • CSS 1.2%
  • Mako 0.3%
  • Makefile 0.3%
  • Shell 0.1%