Archived
Watch
1
0
Fork
You've already forked soapbox
0
forked from mirrors/soapbox
A social media frontend with a focus on custom branding and ease of use. https://soapbox.pub
This repository has been archived on 2026-10-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • TypeScript 99%
  • HTML 0.7%
  • CSS 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alex Gleason 60ed6cd23f
refactor!: remove Nostr and Ditto v1 support
Ditto has been rewritten as a pure Nostr client and no longer exposes a
Mastodon-compatible API, so nothing that Soapbox's Ditto/Nostr code talks
to exists anymore. Soapbox is now a pure Fediverse client.

Removed:
- Nostr login/signup (extension, bunker/NIP-46, keyring), the Nostr
  relay context, bech32 redirects, and the PoW worker.
- Ditto-only features: zaps and zap splits, the Cashu wallet, Vines
  (/divine), streaks, NIP-05 identity requests and admin name
  revocation, the Ditto captcha, relay management, the Ditto server
  admin page, local suggestions, and the public timeline language
  filter.
- The onboarding username step, which posted to /api/v1/ditto/names
  unconditionally and so failed on every Fediverse server.
- The discloseClient setting, which sent a Ditto-only parameter with
  every post.
- The settings-notifications system, whose only notification was the
  NIP-05 prompt.
- Ditto/Nostr fields from the account, status, instance and
  notification schemas, and the DITTO backend plus its Ditto-only
  feature flags.
- Dependencies: @nostrify/nostrify, nostr-tools, comlink,
  @soapbox/weblock and @webbtc/webln-types.

Account and status "open on remote server" links go back to using the
Fediverse URI only, as they did before the Ditto external_url override.

Non-English locale files are left alone; they already carry stale keys
and are managed through the translation workflow.
2026-10-03 22:04:02 -05:00
.github Move FUNDING.yml to .github/FUNDING.yml 2022-04-18 16:20:40 -05:00
.gitlab Add template for easy before/after screenshots 2022-12-28 11:53:09 -05:00
.husky Use lint-staged with Husky to only lint changed files 2021-09-15 11:00:50 -05:00
.nsite ci: add deploy-nsite job 2026-09-12 15:00:07 -05:00
.vscode soapbox/ -> @/ 2025-10-06 15:37:23 -05:00
custom Allow custom module imports 2022-05-09 17:57:15 -05:00
docs Remove docs, point to docs.soapbox.pub 2024-04-11 20:42:47 -05:00
installation manifest.json -> manifest.webmanifest 2024-09-26 13:30:37 -05:00
scripts Enforce node: imports 2025-03-28 13:48:45 -05:00
src refactor!: remove Nostr and Ditto v1 support 2026-10-03 22:04:02 -05:00
tailwind Add file extensions to all imports 2024-11-09 21:18:55 -06:00
.dockerignore build: produce a soapbox.zip 2023-09-18 12:54:21 -05:00
.editorconfig Add .editorconfig 2020-04-11 15:02:30 -05:00
.env.example Patron updates 2020-06-30 17:33:21 -05:00
.eslintignore ci: stop lint from racing the build over Vite's temp files 2026-09-12 15:32:35 -05:00
.eslintrc.json Enforce node: imports 2025-03-28 13:48:45 -05:00
.gitattributes Add .gitattributes, prevent conflicts on CHANGELOG.md 2022-12-14 17:44:16 -06:00
.gitignore Update code to deal with new paths under src 2023-09-18 16:37:15 -05:00
.gitlab-ci.yml ci: fix build job so it can pass again 2026-09-12 15:27:23 -05:00
.gitpod.yml add javanese font 2023-12-22 19:36:32 +00:00
.goosehints Add a .goosehints file 2025-03-31 19:05:23 -05:00
.lintstagedrc.json Change app/ to src/ in configuration files etc 2023-09-18 16:07:02 -05:00
.madgerc Add .madgerc 2024-10-19 17:34:32 -05:00
.npmrc Add .npmrc for JSR 2024-03-06 15:49:16 -06:00
.stylelintrc.json Upgrade stylelint to v16, remove deprecated rules 2023-12-21 11:00:33 -06:00
.tool-versions Upgrade to Vite 6 2024-12-03 14:50:11 -06:00
AGENTS.md docs: add AGENTS.md with commit policy 2026-10-03 21:32:01 -05:00
app.json Add app.json 2022-09-01 17:11:57 -05:00
CHANGELOG.md Fix some typos 2024-01-11 14:53:06 +01:00
COFE_OF_CONDUCT.md Replace code of conduct with cofe of conduct 2020-05-29 00:57:07 -05:00
compose-dev.yaml Support Docker local development 2022-10-27 12:09:12 -05:00
deno.json Add a deno.json with exclude: "." 2025-01-28 11:45:24 -06:00
Dockerfile Update Node.js to v21 2023-10-20 00:07:16 +00:00
Dockerfile.dev Update Node.js to v21 2023-10-20 00:07:16 +00:00
heroku.yml Add heroku.yml so it uses the Dockerfile 2022-09-01 17:21:05 -05:00
index.html feat: add title, favicons, OG image, and manifest icons 2026-10-03 21:31:52 -05:00
LICENSE Add LICENSE and README 2020-03-28 16:06:29 -05:00
package.json refactor!: remove Nostr and Ditto v1 support 2026-10-03 22:04:02 -05:00
postcss.config.cjs Add types to postcss.config.cjs 2023-12-21 11:31:59 -06:00
README.md Add translations doc to the README 2024-09-07 07:23:56 -05:00
renovate.json Renovate: disable lockFileMaintenance 2023-01-05 19:01:25 +00:00
soapbox-screenshot.png Overhaul README 2022-12-18 17:03:11 -06:00
tailwind.config.ts Fix typo in "tailwind.config" 2025-03-03 12:26:16 -03:00
tsconfig.json refactor!: remove Nostr and Ditto v1 support 2026-10-03 22:04:02 -05:00
vite.config.ts feat: add title, favicons, OG image, and manifest icons 2026-10-03 21:31:52 -05:00
yarn.lock refactor!: remove Nostr and Ditto v1 support 2026-10-03 22:04:02 -05:00

Soapbox Screenshot

Soapbox is customizable open-source software that puts the power of social media in the hands of the people. Feature-rich and hyper-focused on providing a user experience to rival Big Tech, Soapbox is already home to some of the biggest alternative social platforms.

For more info see: https://docs.soapbox.pub/soapbox/

On The Fediverse

You may have heard of Mastodon. Soapbox builds upon what Mastodon made great to make something even better.

You can run Mastodon+Soapbox, Rebased+Soapbox, and more.

Soapbox is the frontend (what users see) while Mastodon is the backend (data, APIs). You can mix-and-match in the Fediverse ecosystem.

💡 If you're starting a new server, we highly recommend Rebased+Soapbox. Rebased is our custom-built backend just for Soapbox, providing important new features such as quote posting and chats.

See: Installing Rebased+Soapbox

Try It Out

Want to give Soapbox a shot? Here are some suggested servers:

  • gleasonator.com - operated by the lead developer of Soapbox
  • social.teci.world - free speech server run by a Soapbox contributor
  • spinster.xyz - one of the largest feminist communities on the internet
  • poa.st - the largest Soapbox server on the network

Want to use Soapbox against any existing Mastodon/Pleroma server? Try:

  • fe.soapbox.pub - enter your server's domain name to use Soapbox on any server!

🚀 Starting Your Own Server

Starting your own server is one of the best ways to have freedom online! We recommend installing Rebased+Soapbox.

See here for a detailed setup guide: Installing Rebased+Soapbox

Adding Soapbox to an Existing Server

Already have a server? No problem — it is still possible to use Soapbox.

💡 If using Pleroma, it's recommended to upgrade it to Rebased. This comes with better support and many new features, helping you get the most out of Soapbox.

Developing Soapbox

tl;dr — git clone, yarn, and yarn dev.

For detailed guides, see these pages:

  1. Soapbox local development
  2. yarn commands
  3. How it works
  4. Build config
  5. Developing a backend

Contributing

We welcome contributions to this project!

Project Philosophy

Soapbox was born out of the need to build independent platforms with a unique identity and brand.

This is in contrast to Mastodon's idea, where all servers are called "Mastodon" and use the Mastodon colors and logo. Users won't see the word "Soapbox" throughout the UI, they'll see the name of your website and your logo. To facilitate this, Soapbox has a robust customization UI and integrated moderation tools. Large servers are a priority.

One disadvantage of this approach is that it does not help the software spread. Some of the biggest servers on the network and running Soapbox and people don't even know it!

License & Credits

© Alex Gleason & other Soapbox contributors
© Eugen Rochko & other Mastodon contributors
© Trump Media & Technology Group
© Gab AI, Inc.

Soapbox is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Soapbox is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with Soapbox. If not, see https://www.gnu.org/licenses/.