Mirror of mastodon

JP DeVries 3ebaeccec9 Toolbar icons accessible names (#1424) 7 rokov pred
app 3ebaeccec9 Toolbar icons accessible names (#1424) 7 rokov pred
bin 23eea5c5ae Install Yarn dependencies during setup (#1169) 7 rokov pred
config 45b379abac Missing occitan locale file (#2446) 7 rokov pred
db 52c119052a Refactor seed.rb (#2430) 7 rokov pred
docs f16b9a4928 Fix redirect link on Tuning.md (#1595) 7 rokov pred
lib 322cbf83c8 fix typo on daily tasks logging (#2450) 7 rokov pred
log 9c4856bdb1 Initial commit 8 rokov pred
public f3b86c1bda Add mask-icon.svg (#1572) (#1585) 7 rokov pred
spec 7177e37b99 Stricter whitelist rules (#2213) 7 rokov pred
storybook d90b1650d8 Update storybook file autoload (#2057) 7 rokov pred
streaming d0ec4fb828 refactor-cores (#2308) 7 rokov pred
vendor 9c4856bdb1 Initial commit 8 rokov pred
.babelrc c4eb63c1d4 Debounce autosuggestions requests 7 rokov pred
.buildpacks 79765d61f5 Install nodejs before ruby 7 rokov pred
.codeclimate.yml 181115422c Disable CodeClimate duplication checks (#1943) 7 rokov pred
.dockerignore f4045ba3d9 Add eslint-plugin-jsx-a11y (#1651) 7 rokov pred
.editorconfig 3672a799d4 Dev Tooling fixes (eslint/editorconfig) (#1398) 7 rokov pred
.env.production.sample 0876a06e45 Updated note about 'none' SMTP authentication method in .env.production.sample (#2167) 7 rokov pred
.env.test df4ff9a8e1 Add recovery code support for two-factor auth (#1773) 7 rokov pred
.env.vagrant 94eccbc5de Add a default LOCAL_DOMAIN=mastodon.dev to .env.vagrant 7 rokov pred
.eslintignore 3672a799d4 Dev Tooling fixes (eslint/editorconfig) (#1398) 7 rokov pred
.eslintrc.json b00f4a0cf3 Use new ESLint filename (.json) (#2248) 7 rokov pred
.gitignore 8d3412c90c Ignore /vendor/bundle (#1880) 7 rokov pred
.nvmrc 8482f67caf update Node to 6.x LTS (#1228) 7 rokov pred
.rspec 71fe24096c Adding a Mention model, test stubs 8 rokov pred
.rubocop.yml e9737c2235 Fix tests, add applications to eager loading/cache for statuses, fix 7 rokov pred
.ruby-version 64dbde0dbf Version bumps for ruby and misc gems (#1159) 7 rokov pred
.slugignore a2adf84858 Updates slugignore. 7 rokov pred
.travis.yml fc99d11703 Convert to "container-based" travis build (#2449) 7 rokov pred
CONTRIBUTING.md fc122e9d78 README tidy up (#2026) 7 rokov pred
Capfile 9c88d1b99e Speed up capistrano deployments 7 rokov pred
Dockerfile 83e3538181 Update CA certificates in Dockerfile (#2339) 7 rokov pred
Gemfile 452dc6b5fe Use local_time gem for timezone replacement (#2174) 7 rokov pred
Gemfile.lock 452dc6b5fe Use local_time gem for timezone replacement (#2174) 7 rokov pred
ISSUE_TEMPLATE.md 99226aba93 Adds note for instance admins. (#1925) 7 rokov pred
LICENSE d709151781 Fix #49 - License changed from GPL-2.0 to AGPL-3.0 7 rokov pred
Procfile 1c351709bc Force UTF8 encoding on generated XML (#1140) 7 rokov pred
README.md fc122e9d78 README tidy up (#2026) 7 rokov pred
Rakefile 9c4856bdb1 Initial commit 8 rokov pred
Vagrantfile a9a4710fe1 Alter Vagrantfile to use RVM for Ruby installation (#2346) 7 rokov pred
app.json 0dbbc16c69 More SMTP customization (#1372) 7 rokov pred
config.ru fdc17bea58 Fix rubocop issues, introduce usage of frozen literal to improve performance 7 rokov pred
docker-compose.yml 0d2910478a Use image too in docker-compose (#1109) 7 rokov pred
package.json 48652cb41e Fixes string length issue for multibyte characters. (#2443) 7 rokov pred
scalingo.json 0dbbc16c69 More SMTP customization (#1372) 7 rokov pred
yarn.lock 48652cb41e Fixes string length issue for multibyte characters. (#2443) 7 rokov pred

README.md

Mastodon

Build Status Code Climate

Mastodon is a free, open-source social network server. A decentralized solution 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.

An alternative implementation of the GNU social project. Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon.

Click on the screenshot to watch a demo of the UI:

Screenshot

The project focus is a clean REST API and a good user interface. 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.

If you would like, you can support the development of this project on Patreon. Alternatively, you can donate to this BTC address: 17j2g7vpgHhLuXhN4bueZFCvdxxieyRVWd

Resources

Features

  • Fully interoperable with GNU social and any OStatus platform Whatever implements Atom feeds, ActivityStreams, Salmon, PubSubHubbub and Webfinger is part of the network
  • Real-time timeline updates See the updates of people you're following appear in real-time in the UI via WebSockets
  • Federated thread resolving If someone you follow replies to a user unknown to the server, the server fetches the full thread so you can view it without leaving the UI
  • Media attachments like images and WebM Upload and view images and WebM videos attached to the updates
  • OAuth2 and a straightforward REST API Mastodon acts as an OAuth2 provider so 3rd party apps can use the API, which is RESTful and simple
  • Background processing for long-running tasks Mastodon tries to be as fast and responsive as possible, so all long-running tasks that can be delegated to background processing, are
  • Deployable via Docker You don't need to mess with dependencies and configuration if you want to try Mastodon, if you have Docker and Docker Compose the deployment is extremely easy

Deployment

There are guides in the documentation repository for deploying on various platforms.

Contributing

You can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository. Here are the guidelines for code contributions

IRC channel: #mastodon on irc.freenode.net

Extra credits

  • The Emoji One pack has been used for the emojis
  • The error page image courtesy of Dopatwo

Mastodon error image