No description
Find a file
Julia 85096e58b9
Merge commit from fork
* enhance: Add a few validation fixes from Sharkey

See the original MR on the GitLab instance:
https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/484

Co-Authored-By: Dakkar <dakkar@thenautilus.net>

* fix: primitive 2: acceptance of cross-origin alternate

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 3: validation of non-final url

* fix: primitive 4: missing same-origin identifier validation of collection-wrapped activities

* fix: primitives 5 & 8: reject activities with non
string identifiers

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 6: reject anonymous objects that were fetched by their id

* fix: primitives 9, 10 & 11: http signature validation
doesn't enforce required headers or specify auth header name

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 14: improper validation of outbox, followers, following & shared inbox collections

* fix: code style for primitive 14

* fix: primitive 15: improper same-origin validation for
note uri and url

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 16: improper same-origin validation for user uri and url

* fix: primitive 17: note same-origin identifier validation can be bypassed by wrapping the id in an array

* fix: code style for primitive 17

* fix: check attribution against actor in notes

While this isn't strictly required to fix the exploits at hand, this
mirrors the fix in `ApQuestionService` for GHSA-5h8r-gq97-xv69, as a
preemptive countermeasure.

* fix: primitive 18: `ap/get` bypasses access checks

One might argue that we could make this one actually preform access
checks against the returned activity object, but I feel like that's a
lot more work than just restricting it to administrators, since, to me
at least, it seems more like a debugging tool than anything else.

* fix: primitive 19 & 20: respect blocks and hide more

Ideally, the user property should also be hidden (as leaving it in leaks
information slightly), but given the schema of the note endpoint, I
don't think that would be possible without introducing some kind of
"ghost" user, who is attributed for posts by users who have you blocked.

* fix: primitives 21, 22, and 23: reuse resolver

This also increases the default `recursionLimit` for `Resolver`, as it
theoretically will go higher that it previously would and could possibly
fail on non-malicious collection activities.

* fix: primitives 25-33: proper local instance checks

* revert: fix: primitive 19 & 20

This reverts commit 465a9fe6591de90f78bd3d084e3c01e65dc3cf3c.

---------

Co-authored-by: Dakkar <dakkar@thenautilus.net>
Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
(cherry picked from commit 5f675201f261d5db6a58d3099a190372bb2f09f0)
2024-12-25 04:09:04 +09:00
.config feat(analytics): Google Analytics・同意モード・一部機能のトラッキング実装 (MisskeyIO#784) 2024-11-06 01:28:14 +09:00
.devcontainer chore(build): remove corepack & fetch gitmodules on checkout (MisskeyIO#840) 2024-12-25 01:36:30 +09:00
.github chore(build): remove corepack & fetch gitmodules on checkout (MisskeyIO#840) 2024-12-25 01:36:30 +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 Use DragonflyDB (MisskeyIO#716) 2024-09-17 03:46:58 +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 feat(sign-in): メールアドレスログインを実装 (MisskeyIO#836) 2024-12-22 00:09:33 +09:00
packages Merge commit from fork 2024-12-25 04:09:04 +09:00
scripts use node 22, update deps (#822) 2024-11-23 01:44:01 +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 doc: Nestで循環依存がある場合のCONTRIBUTING.mdに書く (#13522) 2024-03-05 14:26:16 +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 Use DragonflyDB (MisskeyIO#716) 2024-09-17 03:46:58 +09:00
docker-compose_example.yml Use DragonflyDB (MisskeyIO#716) 2024-09-17 03:46:58 +09:00
Dockerfile chore(build): remove corepack & fetch gitmodules on checkout (MisskeyIO#840) 2024-12-25 01:36:30 +09:00
healthcheck.sh (re) update SPDX-FileCopyrightText 2024-02-13 15:59:27 +00:00
LICENSE Use AGPLv3 2018-03-28 22:56:28 +09:00
package.json update deps (MisskeyIO#835) 2024-12-21 23:21:18 +09:00
pnpm-lock.yaml update deps (MisskeyIO#835) 2024-12-21 23:21:18 +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.