Mastodon

Crossposting on Social Media with crosspost


Do you have multiple social media accounts and want to share your content across all of them without the hassle of posting separately? With the crosspost tool, you can effortlessly share your content across various social media platforms with just a few commands.

In this article, we’ll walk you through the process of setting up and using crosspost to streamline your social media sharing.

My Social Media Journey

I’m using Bluesky, Mastodon and Twitter(X) for content sharing. These platforms are both text based and has different character limits. I prefer using hashtags on Bluesky and Mastodon, but due to character limits I don’t prefer using hashtags inside Twitter. I think Twitter(X) people do not care about hashtags, but Bluesky and Mastodon has a different audience. When I want to share something I need to open 3 different browser tabs and it takes time.

I’m also using LinkedIn but I have a separate strategy for it. It has more character limits and a different audience compared to the other platforms so I can share more detailed content there without worrying about the character count.

Why Use crosspost?

I need something that can help me to share my content across multiple platforms without the hassle of posting separately. I don’t want to waste my time with 3 times of post configuration and 3 times of sharing it. One time configuration and 1 time posting is what i need. First, i tried MixPost, but it takes so much time to configure. Simple and effective tools are so important for my workflow.

Thanks to Arda Kılıçdağı I discovered crosspost.

Post by @arda@micro.arda.pw
View on Mastodon

It s a great tool developed by Nicholas C. Zakas for posting across multiple social networks at once. You can use it via JavaScript Code, CLI or MCP Server.

Pre-requisites

You need to have Node.js installed on your machine.

CLI Usage

First of all, I suggest you to create a new directory called crosspost to hold your secrets and configurations.

mkdir crosspost
cd crosspost

Save your credentials inside .env.

Please get required credentials for each social media platform you want to post to. Instructions can be found in the crosspost strategy documentation.

TWITTER_ACCESS_TOKEN_KEY=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_API_CONSUMER_KEY=
TWITTER_API_CONSUMER_SECRET=

MASTODON_ACCESS_TOKEN=
MASTODON_HOST=

BLUESKY_HOST=
BLUESKY_IDENTIFIER=
BLUESKY_PASSWORD=

LINKEDIN_ACCESS_TOKEN=

DISCORD_BOT_TOKEN=
DISCORD_CHANNEL_ID=
DISCORD_WEBHOOK_URL=

DEVTO_API_KEY=

TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=

SLACK_TOKEN=
SLACK_CHANNEL=

Install crosspost as a global package.

npm install --global @humanwhocodes/crosspost

I will recommend you to create a {topic}.txt file to hold your post content.

echo "My blog post content" > my_blog_post.txt

Share your post on Mastodon

CROSSPOST_DOTENV=.env crosspost -m --file my_blog_post.txt

Share your post on Mastodon, Bluesky and Twitter

CROSSPOST_DOTENV=.env crosspost -m -b -t --file my_blog_post.txt

Conclusion

We explored the process of crossposting on social media using the crosspost tool. This tool simplifies sharing content across multiple platforms, saving time and effort. All you need to do is configure your environment and use the CLI commands provided.

Thanks for reading!

If you found this guide helpful, please consider sharing it with others who might benefit from it.