mastodon - Your self-hosted, globally interconnected microblogging community

  •        240

Mastodon is a free, open-source social network server based on open web protocols like ActivityPub and OStatus. The social focus of the project is a viable decentralized alternative to commercial social media silos that returns the control of the content distribution channels to the people. The technical focus of the project is a good user interface, a clean REST API for 3rd party apps and robust anti-abuse tools. Ruby on Rails is used for the back-end, while React.js and Redux are used for the dynamic front-end. A static front-end for public resources (profiles and statuses) is also provided.


array-includes : ^3.0.3
autoprefixer : ^8.6.5
axios : ~0.16.2
babel-core : ^6.26.3
babel-loader : ^7.1.5
babel-plugin-lodash : ^3.3.4
babel-plugin-preval : ^1.6.1
babel-plugin-react-intl : ^2.4.0
babel-plugin-syntax-dynamic-import : ^6.18.0
babel-plugin-transform-class-properties : ^6.24.1
babel-plugin-transform-decorators-legacy : ^1.3.5
babel-plugin-transform-es2015-modules-commonjs : ^6.26.2
babel-plugin-transform-object-rest-spread : ^6.23.0
babel-plugin-transform-react-inline-elements : ^6.22.0
babel-plugin-transform-react-jsx-self : ^6.22.0
babel-plugin-transform-react-jsx-source : ^6.22.0
babel-plugin-transform-react-remove-prop-types : ^0.4.13
babel-plugin-transform-runtime : ^6.23.0
babel-preset-env : ^1.7.0
babel-preset-react : ^6.24.1
classnames : ^2.2.5
compression-webpack-plugin : ^1.1.11
cross-env : ^5.1.4
css-loader : ^0.28.11
detect-passive-events : ^1.0.2
dotenv : ^4.0.0
emoji-mart : Gargron/emoji-mart#build
es6-symbol : ^3.1.1
escape-html : ^1.0.3
exif-js : ^2.3.0
express : ^4.16.2
file-loader : ^1.1.11
font-awesome : ^4.7.0
glob : ^7.1.1
http-link-header : ^0.8.0
immutable : ^3.8.2
imports-loader : ^0.8.0
intersection-observer : ^0.5.0
intl : ^1.2.5
intl-messageformat : ^2.2.0
intl-relativeformat : ^2.1.0
is-nan : ^1.2.1
js-yaml : ^3.11.0
lodash : ^4.17.5
mark-loader : ^0.1.6
marky : ^1.2.0
mini-css-extract-plugin : ^0.4.1
mkdirp : ^0.5.1
node-sass : ^4.9.2
npm-run-all : ^4.1.2
npmlog : ^4.1.2
object-assign : ^4.1.1
object-fit-images : ^3.2.3
object.values : ^1.0.4
offline-plugin : ^5.0.5
path-complete-extname : ^1.0.0
pg : ^6.4.0
postcss-loader : ^2.1.6
postcss-object-fit-images : ^1.1.2
postcss-smart-import : ^0.7.6
precss : ^3.1.2
prop-types : ^15.5.10
punycode : ^2.1.0
rails-ujs : ^5.2.0
react : ^16.3.0
react-dom : ^16.3.0
react-hotkeys : ^0.10.0
react-immutable-proptypes : ^2.1.0
react-immutable-pure-component : ^1.1.1
react-intl : ^2.4.0
react-motion : ^0.5.2
react-notification : ^6.8.2
react-overlays : ^0.8.3
react-redux : ^5.0.4
react-redux-loading-bar : ^2.9.3
react-router-dom : ^4.1.1
react-router-scroll-4 : ^1.0.0-beta.1
react-sparklines : ^1.7.0
react-swipeable-views : 0.12.13
react-textarea-autosize : ^5.2.1
react-toggle : ^4.0.1
redis : ^2.7.1
redux : ^3.7.1
redux-immutable : ^4.0.0
redux-thunk : ^2.2.0
rellax : ^1.6.2
requestidlecallback : ^0.3.0
reselect : ^3.0.1
rimraf : ^2.6.1
sass-loader : ^7.0.3
stringz : ^0.3.0
style-loader : ^0.21.0
substring-trie : ^1.0.2
throng : ^4.0.0
tiny-queue : ^0.2.1
uglifyjs-webpack-plugin : ^1.2.7
uuid : ^3.1.0
uws : 10.148.0
webpack : ^4.16.0
webpack-bundle-analyzer : ^2.13.1
webpack-cli : ^3.0.8
webpack-manifest-plugin : ^2.0.3
webpack-merge : ^4.1.3
websocket.js : ^0.1.12



Related Projects

Mastodon - A GNU Social-compatible microblogging server. Alternative to Twitter

  •    Ruby

Mastodon is a free, open-source social network server. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.

Pixelfed - Federated Image Sharing (WIP)

  •    PHP

PixelFed is a federated social image sharing platform, similar to Instagram. Federation is done using the ActivityPub protocol, which is used by Mastodon, PeerTube, Pleroma, and more. Through ActivityPub PixelFed can share and interact with these platforms, as well as other instances of PixelFed.

social_stream - A framework for building distributed social network websites

  •    Ruby

Social Stream is an engine for Ruby on Rails. It provides a robust and flexible framework with social networking features and activity streams for building websites. There is a detailed guide in Social Stream’s website on how to get started, install Social Stream in your Rails application and customize it. - Social server with an ActivityStreams API

  •    Javascript is a stream server that does most of what people really want from a social network. You post anything and my followers see it. It is an alternative to twitter. You can post almost anything that can be represented with activity streams -- short or long text, bookmarks, images, video, audio, events, geo checkins. You can follow friends, create lists of people, and so on.

Buddypress - Social Networking features in WordPress

  •    PHP

BuddyPress provides social networking features to a WordPress. It works well to enable people with similar interests to connect and communicate. It supports Content tagging, Grouping of similar activity stream items, AJAX live updating of site wide activity stream, Message archive, Better XProfile management and lot more.

GNU Social - Microblogging, Alternative to Twitter

  •    PHP

GNU social is a free social networking platform and it is a continuation of the StatusNet project. It helps people in a community, company or group to exchange short status updates, do polls, announce events, or other social activities (and you can add more!). Users can choose which people to "follow" and receive only their friends' or colleagues' status messages. It provides a similar service to proprietary social network sites, but is much more awesome.


  •    Javascript

Simple install, extensive documentation, developer support, SEO friendly, many options for customization of appearance, clean code without scripts tracking user activity on the page, high speed. Script works with any HTML tags: <a> or <div> or <button> or other.

Plume - Federated blogging application using ActivityPub

  •    Rust

Plume is a federated blogging engine, based on ActivityPub. It is written in Rust, with the Rocket framework, and Diesel to interact with the database. Plume is not just a single website, but an entire interconnected, yet independent network of what we call instances. You write content from your own instance, but anyone else on any other Plume instance can enjoy your stories too. Plume has many features that allow the exchange between writers and readers to be bi-directional from the get-go.

Prismo - Federated link aggregation powered by ActivityPub.

  •    Ruby

Prismo is a federated link aggregation powered by ActivityPub. It is similar to reddit which does link aggregation.

Intrapages - The Social Intranet

  •    NTF

Intrapages is a social intranet with lots of features like Wiki, Blogs, Polls, News Stream, Activity stream, Full text search, etc.. It is a single file and it is easy to setup. Intrapages require a Domino server and the extension library available for free download from openNTF.

dokieli - :bulb: dokieli is a clientside editor for decentralised article publishing, annotations and social interactions

  •    Javascript

dokieli is a decentralised article authoring, annotation, and social notification tool which works from Web browsers. It is built with the following principles in mind: freedom of expression, decentralisation, interoperability. See the growing list of examples in the wild. Add the URLs of your articles or interactions to the list.

social_shares - Check how many times url was shared in social networks, e.g. share counts

  •    Ruby

Social shares is intended to easily check social sharings of an url. You can track how many times the url was shared in various social networks, such as facebook, twitter, etc. It can be useful for some kind landings with social mechanics or for tracking network activity of your content pages.

Brevidy - A video social network built with Ruby on Rails, HAML, Bootstrap, and jQuery.

  •    Ruby

Brevidy was a video social network that I built with Ruby on Rails 3.0.7, HAML, Bootstrap, and jQuery that was released into beta testing February 2012. Brevidy closed down shortly after due to the high costs of server hosting in addition to all of the add-on services such as video transcoding, email, error exception handling, database storage, etc. Unfortunately, it's very difficult to get investor interest without knowing a friend of a friend, so I wasn't able to afford the rising costs that accompanied the user growth. The idea of Brevidy was to create a place that people could upload their own videos or cross-post YouTube/Vimeo videos into public or private channels that other people could subscribe to. When you subscribe to other people's channels, all videos from those channels show up in an infinitely-scrolling stream and you can easily re-share, comment, or badge a video. It was a beautiful website, but video is a difficult and expensive medium so unfortunately it didn't work out.

HumHub - Open Source Social Network

  •    PHP

HumHub is a feature rich and highly flexible OpenSource Social Network Kit written in PHP. It provides support to build Social Intranets, Enterprise Social Networks, Private Social Networks. Its social features include Commenting, Like, Following, Mentioning, Tags, OEmbed Support.

openpaas-esn - Open PaaS Enterprise Social Network

  •    Javascript

OpenPaaS is a collaboration platform for enterprises & organizations. You can install dependencies yourself, or use the Docker environment as described in ./docker/doc/

ThinkUp - ThinkUp gives you insights into your social networking activity on Twitter, Facebook, Instagram, and beyond

  •    PHP

ThinkUp is a free, installable web application that gives you insights into your activity on social networks like Twitter, Facebook, and Instagram. Find out more at Refer to ThinkUp's documentation, or contact the ThinkUp community on the project mailing list for support.

jsSocials - Social Network Sharing Plugin

  •    Javascript

jsSocials is a simple social network sharing jQuery plugin. It's flexible and easily extensible. Configure visual appearance. Choose one of several themes provided. Add any yet unsupported social network if needed. You can share via Email, Twitter, Facebook, Google-plus, LinkedIn, WhatsApp, StumbleUpon and lot more.

stream-react-example - Use React and Redux to build your own feature-rich and scalable social network app! Visit cabin

  •    HTML

This example application created by teaches you how to to build an Instagram style application with activity streams and newsfeeds.Visit for an overview of all 8 tutorials and a live demo. If you enjoy this tutorial please star this repo.

SocialVPN - P2P VPN that connects you to your friends computer

  •    C

SocialVPN is an open-source IPOP-based virtual network that connects your computers privately to your friends’ computers. It automatically maps online social network relationships using Jingle and XMPP to create your own user-defined peer-to-peer VPNs – with no hassle, and supporting unmodified TCP/IP applications.