[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-715":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":15,"starSnapshotCount":15,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},715,"mastodon","mastodon\u002Fmastodon","Your self-hosted, globally interconnected microblogging community","https:\u002F\u002Fjoinmastodon.org",null,"Ruby",50013,7462,709,4256,0,25,69,5,45,"GNU Affero General Public License v3.0",false,"main",[24,25,26,27,5,28,29,30,31],"activity-stream","activitypub","docker","fediverse","microblog","social-network","social-web","webfinger","2026-06-12 02:00:17","> [!NOTE]\n> Want to learn more about Mastodon?\n> Click below to find out more in a video.\n\n\u003Cp align=\"center\">\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=IPSbNdBmWKE\">\n    \u003Cimg alt=\"Mastodon hero image\" src=\".\u002Fdocs\u002Fhero-nodes.gif\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fmastodon\u002Fmastodon\u002Freleases\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fmastodon\u002Fmastodon.svg\" alt=\"Release\" \u002F>\u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fmastodon\u002Fmastodon\u002Factions\u002Fworkflows\u002Ftest-ruby.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fmastodon\u002Fmastodon\u002Factions\u002Fworkflows\u002Ftest-ruby.yml\u002Fbadge.svg\" alt=\"Ruby Testing\" \u002F>\u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fmastodon\">\n    \u003Cimg src=\"https:\u002F\u002Fd322cqt584bo4o.cloudfront.net\u002Fmastodon\u002Flocalized.svg\" alt=\"Crowdin\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\nMastodon is a **free, open-source social network server** based on [ActivityPub](https:\u002F\u002Fwww.w3.org\u002FTR\u002Factivitypub\u002F) where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, and video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon software that implements ActivityPub!)\n\n## Navigation\n\n- [Project homepage 🐘](https:\u002F\u002Fjoinmastodon.org)\n- [Donate to support development 🎁](https:\u002F\u002Fjoinmastodon.org\u002Fsponsors#donate)\n  - [View sponsors](https:\u002F\u002Fjoinmastodon.org\u002Fsponsors)\n- [Blog 📰](https:\u002F\u002Fblog.joinmastodon.org)\n- [Documentation 📚](https:\u002F\u002Fdocs.joinmastodon.org)\n- [Official container image 🚢](https:\u002F\u002Fgithub.com\u002Fmastodon\u002Fmastodon\u002Fpkgs\u002Fcontainer\u002Fmastodon)\n\n## Features\n\n\u003Cimg src=\".\u002Fapp\u002Fjavascript\u002Fimages\u002Felephant_ui_working.svg?raw=true\" align=\"right\" width=\"30%\" \u002F>\n\n**Part of the Fediverse. Based on open standards, with no vendor lock-in.** - the network goes beyond just Mastodon; anything that implements ActivityPub is part of a broader social network known as [the Fediverse](https:\u002F\u002Fjointhefediverse.net\u002F). You can follow and interact with users on other servers (including those running different software), and they can follow you back.\n\n**Real-time, chronological timeline updates** - updates of people you're following appear in real-time in the UI.\n\n**Media attachments** - upload and view images and videos attached to the updates. Videos with no audio track are treated like animated GIFs; normal videos loop continuously.\n\n**Safety and moderation tools** - Mastodon includes private posts, locked accounts, phrase filtering, muting, blocking, and many other features, along with a reporting and moderation system.\n\n**OAuth2 and a straightforward REST API** - Mastodon acts as an OAuth2 provider, and third party apps can use the REST and Streaming APIs. This results in a [rich app ecosystem](https:\u002F\u002Fjoinmastodon.org\u002Fapps) with a variety of choices!\n\n## Deployment\n\n### Tech stack\n\n- [Ruby on Rails](https:\u002F\u002Fgithub.com\u002Frails\u002Frails) powers the REST API and other web pages.\n- [PostgreSQL](https:\u002F\u002Fwww.postgresql.org\u002F) is the main database.\n- [Redis](https:\u002F\u002Fredis.io\u002F) and [Sidekiq](https:\u002F\u002Fsidekiq.org\u002F) are used for caching and queueing.\n- [Node.js](https:\u002F\u002Fnodejs.org\u002F) powers the streaming API.\n- [React.js](https:\u002F\u002Freactjs.org\u002F) and [Redux](https:\u002F\u002Fredux.js.org\u002F) are used for the dynamic parts of the interface.\n- [BrowserStack](https:\u002F\u002Fwww.browserstack.com\u002F) supports testing on real devices and browsers. (This project is tested with BrowserStack)\n- [Chromatic](https:\u002F\u002Fwww.chromatic.com\u002F) provides visual regression testing. (This project is tested with Chromatic)\n\n### Requirements\n\n- **Ruby** 3.3+\n- **PostgreSQL** 14+\n- **Redis** 7.0+\n- **Node.js** 20+\n- **FFmpeg** 5.1+\n\nThis repository includes deployment configurations for **Docker and docker-compose**, as well as for other environments like Heroku and Scalingo. For Helm charts, reference the [mastodon\u002Fchart repository](https:\u002F\u002Fgithub.com\u002Fmastodon\u002Fchart). A [**standalone** installation guide](https:\u002F\u002Fdocs.joinmastodon.org\u002Fadmin\u002Finstall\u002F) is available in the main documentation.\n\n## Contributing\n\nMastodon is **free, open-source software** licensed under **AGPLv3**. We welcome contributions and help from anyone who wants to improve the project.\n\nYou should read the overall [CONTRIBUTING](https:\u002F\u002Fgithub.com\u002Fmastodon\u002F.github\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) guide, which covers our development processes.\n\nYou should also read and understand the [CODE OF CONDUCT](https:\u002F\u002Fgithub.com\u002Fmastodon\u002F.github\u002Fblob\u002Fmain\u002FCODE_OF_CONDUCT.md) that enables us to maintain a welcoming and inclusive community. Collaboration begins with mutual respect and understanding.\n\nYou can learn about setting up a development environment in the [DEVELOPMENT](docs\u002FDEVELOPMENT.md) documentation.\n\nIf you would like to help with translations 🌐 you can do so on [Crowdin](https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fmastodon).\n\n## LICENSE\n\nCopyright (c) 2016-2025 Eugen Rochko (+ [`mastodon authors`](AUTHORS.md))\n\nLicensed under GNU Affero General Public License as stated in the [LICENSE](LICENSE):\n\n```text\nCopyright (c) 2016-2025 Eugen Rochko & other Mastodon contributors\n\nThis program is free software: you can redistribute it and\u002For modify it under\nthe terms of the GNU Affero General Public License as published by the Free\nSoftware Foundation, either version 3 of the License, or (at your option) any\nlater version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT\nANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\nFOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\ndetails.\n\nYou should have received a copy of the GNU Affero General Public License along\nwith this program. If not, see https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F\n```\n","Mastodon 是一个免费开源的社交网络服务器，基于 ActivityPub 协议构建，允许用户关注好友并发现新朋友。其核心功能包括实时更新的时间线、多媒体附件支持（如图片和视频）、以及一系列安全与管理工具（例如私密帖子、锁定账户、关键词过滤等）。此外，Mastodon 还提供了OAuth2认证和REST API接口，促进了丰富的第三方应用生态发展。作为联邦化网络的一部分，所有遵循ActivityPub标准的服务可以互相通信，这使得Mastodon非常适合那些寻求去中心化、开放且隐私保护更佳的社交媒体解决方案的个人或组织使用。",2,"2026-06-11 02:38:51","top_all"]