This project is a Flask-based web application that allows users to post statuses (toots) to Mastodon. It supports both immediate posting and scheduling posts for future times. It also includes image upload functionality.
curl https://raw.githubusercontent.com/scidsg/mastodon-scheduler/main/install.sh | bash
- Post Immediately: Send toots to Mastodon right away.
- Schedule Posts: Plan your posts for future dates and times.
- Upload Images: Attach images to your toots with ease.
- Content Warnings: Add content warnings to your posts for sensitive or spoiler content.
- Image Alt Text: Provide alternative text for images, enhancing accessibility.
- View Scheduled Posts: Review all your scheduled posts in one place.
- Cancel Scheduled Posts: Cancel scheduled posts before publication.
Waveshare's 2.13" e-paper display is supported!
curl https://raw.githubusercontent.com/scidsg/mastodon-scheduler/main/setup_display.sh | bash
Before you begin the installation of Mastodon Scheduler, ensure you have:
- Linux Environment: A compatible Linux operating system. The installation script is tailored for Debian-based distributions (e.g., Ubuntu).
- Root Access: The script requires root privileges to install necessary packages and perform configurations.
- Internet Connection: An active internet connection to download required packages and dependencies.
- Mastodon Account: A Mastodon account and your generated API credentials (Client Key, Client Secret, Access Token) with the following scopes:
read:accounts
read:statuses
write:media
write:statuses
crypto
To install the Mastodon App, follow these steps:
- Run the easy installer command:
curl https://raw.githubusercontent.com/scidsg/mastodon-scheduler/main/install.sh | bash
or
- Clone the repository:
git clone https://github.com/scidsg/mastodon-scheduler.git
- Navigate to the project directory:
cd mastodon-scheduler
- Make the installer executable:
chmod +x install.sh
- Run the installation script:
./install.sh
This script will set up a Python virtual environment, install necessary dependencies, create a Flask app, and set up a systemd service for the app.
After installation, the Mastodon App will run as a service on your machine. You can access the web interface by navigating to https://mastodon-scheduler.local:5000
in your web browser.
To post a status or schedule a post, fill in the form on the main page and submit.
Contributions to this project are welcome. To contribute, please follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make and commit your changes:
git commit -m '<commit_message>'
. - Push to the original branch:
git push origin <project_name>/<location>
. - Create the pull request.
Alternatively, see the GitHub documentation on creating a pull request.
If you have any questions or feedback, please get in touch with me at [email protected].