🌎 An interplanetary microsurfing platform 🌊 https://oscar.surf
Find a file
あわわわとーにゅ 695bbf02ca
Merge commit from fork
(cherry picked from commit d10fdfe9738b17a9d81037c031b40a2cc4cb8038)

* SP-2025-03.1 always wrap icon&thumbnail URLs

if they're not HTTP URLs, the frontend won't be able to display them
anyway (`<img src="mailto:…">` or '<div stile="background-image:
url(nntp:…)">` aren't going to work!), so let's always run them through the
media proxy, which will fail harder (fetching a `javascript:` URL
won't do anything in the backend, might do something in the frontend)
and will always protect the client's address in cases like `gemini:`
where the browser could try to fetch

* SP-2025-03.2 use object binding for more styles

interpolating a random (remote-controlled!) string into a `style`
attribute is a bad idea; using VueJS object binding, we should get
proper quoting and therefore safe parse failures instead of CSS
injections / XSS

* SP-2025-03.3 slightly more robust "self" URL handling

parse URLs instead of treating them as strings; this is still not
perfect, but the `URL` class only handles full URLs, not relative
ones, so there's so way to ask it "give me a URL object that
represents this resource relative to this base URL"

notice that passing very weird URLs to `MkUrl` and `MkUrlPreview` will
break the frontend (in dev mode) because there's an untrapped `new
URL(…)` that may explode; production builds seem to safely ignore the
error, though

---------

Co-authored-by: Julia <julia@insertdomain.name>
Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-05-01 21:29:39 +09:00
.config feat(analytics): Google Analytics・同意モード・一部機能のトラッキング実装 (MisskeyIO#784) 2024-11-06 01:28:14 +09:00
.devcontainer spec(test): DragonflyDBのフラグ見直し (MisskeyIO#977) 2025-04-16 09:55:33 +09:00
.github chore(deps): bump actions/setup-node from 4.3.0 to 4.4.0 (MisskeyIO#975) 2025-04-22 00:14:52 +09:00
.okteto ok-to-test with okteto (#8799) 2022-06-09 00:50:23 +09:00
.vscode fix(dev): vscode-jest: Deprecated: Please use jest.runMode instead. 2024-03-14 17:42:30 +09:00
assets cleanup: trim trailing whitespace (#11136) 2023-07-08 07:08:16 +09:00
chart spec(test): DragonflyDBのフラグ見直し (MisskeyIO#977) 2025-04-16 09:55:33 +09:00
cypress test: do not use indexedDB in cypress environment due to chrome bug (#13709) 2024-04-14 08:08:26 +09:00
fluent-emojis@cae981eb4c feat: introduce fluent emoji 2022-12-26 16:04:56 +09:00
locales i18n (MisskeyIO#954) 2025-03-31 10:30:56 +09:00
packages Merge commit from fork 2025-05-01 21:29:39 +09:00
scripts fix(MisskeyIO#927): tabler-icons-filledのフォントを参照できない問題を修正 (MisskeyIO#929) 2025-02-02 02:15:09 +09:00
.dockerignore chore(build): remove corepack & fetch gitmodules on checkout (MisskeyIO#840) 2024-12-25 01:36:30 +09:00
.dockleignore fix: aptのキャッシュを削除しないようにする (#9803) 2023-02-05 14:15:59 +09:00
.editorconfig cleanup: trim trailing whitespace (#11136) 2023-07-08 07:08:16 +09:00
.gitattributes 改行コードをLFに統一 (#9926) 2023-02-14 13:13:34 +09:00
.gitignore chore(build): remove corepack & fetch gitmodules on checkout (MisskeyIO#840) 2024-12-25 01:36:30 +09:00
.gitmodules chore(repository): 未使用のgitmodulesの削除、fluent-emojisのgitmodulesの参照をioのフォークに (MisskeyIO#309) 2024-01-01 02:57:44 +09:00
.node-version use node 22, update deps (#822) 2024-11-23 01:44:01 +09:00
.npmrc fix: .npmrcによりpackage.json記載のnodeバージョンに満たない場合はビルドに失敗するようにする (#12755) 2023-12-23 15:32:31 +09:00
.vsls.json Add .vsls.json 2018-08-13 00:24:45 +09:00
CHANGELOG.md もともとセンシティブではないと連合されていたファイルがセンシティブとして連合された場合にセンシティブとしてそのファイルを扱うように (misskey-dev#13879) 2024-11-06 09:09:07 +09:00
CODE_OF_CONDUCT.md docs: Update Code of Conduct to version 2.1 (#12150) 2023-11-13 16:52:54 +09:00
codecov.yml Update codecov.yml 2023-02-26 14:17:29 +09:00
CONTRIBUTING.md revert(dev): フロントエンド・バックエンドを分離する開発モードを廃止 2025-01-26 06:47:36 +09:00
COPYING 2024 2024-01-01 00:30:56 +09:00
crowdin.yml ドキュメントをmisskey-hubに移行 2021-11-05 16:18:52 +09:00
cypress.config.ts update cypress 2022-06-11 15:53:45 +09:00
docker-compose.local-db.yml spec(test): DragonflyDBのフラグ見直し (MisskeyIO#977) 2025-04-16 09:55:33 +09:00
docker-compose_example.yml spec(test): DragonflyDBのフラグ見直し (MisskeyIO#977) 2025-04-16 09:55:33 +09:00
Dockerfile fix(docker): ビルドに使用した pnpm を runner にコピーする (MisskeyIO#969) 2025-04-10 08:11:16 +09:00
healthcheck.sh update SPDX-FileCopyrightText 2024-02-12 11:37:45 +09:00
LICENSE Use AGPLv3 2018-03-28 22:56:28 +09:00
package.json Bump up version to 2024.5.0-io.9f (MisskeyIO#980) 2025-04-22 23:05:29 +09:00
pnpm-lock.yaml update deps (MisskeyIO#978) 2025-04-22 05:56:50 +09:00
pnpm-workspace.yaml refactor: extract bubble-game engine as independent package 2024-01-20 09:53:26 +09:00
Procfile Create Procfile 2019-04-05 18:17:30 +09:00
README.md misc: misskeyusercontent.com → misskeyusercontent.jp (MisskeyIO#563) 2024-03-22 17:09:12 +09:00
ROADMAP.md Update ROADMAP.md 2024-01-04 08:44:38 +09:00
SECURITY.md Update SECURITY.md 2023-12-25 16:50:41 +09:00

Misskey logo

🌎 Misskey is an open source, federated social media platform that's free forever! 🚀

Learn more


find an instance create an instance become a contributor join the community become a patron

Features

  • ActivityPub support
    Not on Misskey? No problem! Not only can Misskey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
  • Reactions
    You can add emoji reactions to any post! No longer are you bound by a like button, show everyone exactly how you feel with the tap of a button.
  • Drive
    With Misskey's built in drive, you get cloud storage right in your social media, where you can upload any files, make folders, and find media from posts you've made!
  • Rich Web UI
    Misskey has a rich and easy to use Web UI! It is highly customizable, from changing the layout and adding widgets to making custom themes. Furthermore, plugins can be created using AiScript, an original programming language.
  • And much more...

Documentation

Misskey Documentation can be found at Misskey Hub, some of the links and graphics above also lead to specific portions of it.

Sponsors of Misskey

List of sponsors of Misskey can be found at Misskey Hub.

Sponsors of Misskey.io

Skeb

Thanks

Chromatic

Thanks to Chromatic for providing the visual testing platform that helps us review UI changes and catch visual regressions.

Codecov

Thanks to Codecov for providing the code coverage platform that helps us improve our test coverage.

Crowdin

Thanks to Crowdin for providing the localization platform that helps us translate Misskey into many languages.

Docker

Thanks to Docker for providing the container platform that helps us run Misskey in production.