{"id":15105707,"url":"https://github.com/gizmo-ds/misstodon","last_synced_at":"2025-10-23T01:30:38.946Z","repository":{"id":65349765,"uuid":"589690052","full_name":"gizmo-ds/misstodon","owner":"gizmo-ds","description":"[DEPRECATED] Misskey Mastodon-compatible APIs","archived":false,"fork":false,"pushed_at":"2024-10-23T17:49:20.000Z","size":283,"stargazers_count":22,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T20:18:32.157Z","etag":null,"topics":["activitypub","federation","fediverse","mastodon","misskey"],"latest_commit_sha":null,"homepage":"https://gizmo-ds.github.io/misstodon/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gizmo-ds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-16T17:52:54.000Z","updated_at":"2024-10-24T02:38:00.000Z","dependencies_parsed_at":"2023-12-21T16:44:10.116Z","dependency_job_id":"af788969-c03a-48e1-b664-6e396d21fb74","html_url":"https://github.com/gizmo-ds/misstodon","commit_stats":{"total_commits":188,"total_committers":5,"mean_commits":37.6,"dds":0.06914893617021278,"last_synced_commit":"56b9a1311e0307233dbe6a1591285dc4c9dfebe8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gizmo-ds%2Fmisstodon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gizmo-ds%2Fmisstodon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gizmo-ds%2Fmisstodon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gizmo-ds%2Fmisstodon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gizmo-ds","download_url":"https://codeload.github.com/gizmo-ds/misstodon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237759101,"owners_count":19361458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activitypub","federation","fediverse","mastodon","misskey"],"created_at":"2024-09-25T20:42:17.220Z","updated_at":"2025-10-23T01:30:38.580Z","avatar_url":"https://github.com/gizmo-ds.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# misstodon\n\n[![爱发电](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fafdian.com%2Fapi%2Fuser%2Fget-profile%3Fuser_id%3D75e549844b5111ed8df552540025c377\u0026query=%24.data.user.name\u0026label=%E7%88%B1%E5%8F%91%E7%94%B5\u0026color=%23946ce6)](https://afdian.com/a/gizmo)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/gizmo-ds/misstodon?style=flat-square)\n[![Build images](https://img.shields.io/github/actions/workflow/status/gizmo-ds/misstodon/images.yaml?branch=main\u0026label=docker%20image\u0026style=flat-square)](https://github.com/gizmo-ds/misstodon/actions/workflows/images.yaml)\n[![License](https://img.shields.io/github/license/gizmo-ds/misstodon?style=flat-square)](./LICENSE)\n\nMisskey Mastodon-compatible APIs, Getting my [Misskey](https://github.com/misskey-dev/misskey/tree/13.2.0) instance to work in [Elk](https://github.com/elk-zone/elk)\n\n\u003e [!IMPORTANT]  \n\u003e Thank you for your interest and support for this project, which aims to make the Misskey API compatible with Mastodon clients. However, I have recently lost interest in Misskey and have decided to no longer actively maintain this project. In a twist of fate, my misskey.moe account has also been deleted recently—talk about a sign!\n\u003e\n\u003e If the community is interested in continuing this project, feel free to fork it and take it to new heights!\n\u003e\n\u003e Please be aware that due to the lack of maintenance, there may be unresolved issues or compatibility problems in the project.\n\n## Demo\n\nElk: [https://elk.zone/misstodon.aika.dev/public](https://elk.zone/misstodon.aika.dev/public)  \nElk: [https://elk.zone/mt_misskey_moe.aika.dev/public](https://elk.zone/mt_misskey_moe.aika.dev/public)  \nPhanpy: [https://phanpy.social/#/mt_misskey_io.aika.dev/p](https://phanpy.social/#/mt_misskey_io.aika.dev/p)\n\n## How to Use\n\n\u003e [!WARNING]  \n\u003e `aika.dev` is a demonstration site and may not guarantee high availability. We recommend [self-hosting](#running-your-own-instance) for greater control.\n\n### Domain Name Prefixing Scheme (Recommended)\n\nThe simplest usage method is to specify the instance address using a domain name prefix.\n\n1. Replace underscores (\"\\_\") in the domain name with double underscores (\"\\_\\_\").\n2. Replace dots (\".\") in the domain name with underscores (\"\\_\").\n3. Prepend \"mt\\_\" to the modified string.\n4. Append \".aika.dev\" to the modified string.\n\nWhen processing `misskey.io` according to the described steps, it will be transformed into the result: `mt_misskey_io.aika.dev`.\n\n```bash\ncurl --request GET --url 'https://mt_misskey_io.aika.dev/nodeinfo/2.0' | jq .\n```\n\n### Self-Hosting with Default Instance Configuration\n\nEdit the 'config.toml' file, and within the \"[proxy]\" section, modify the \"fallback_server\" field. For example:\n\n```toml\n[proxy]\nfallback_server = \"misskey.io\"\n```\n\nIf you are [deploying using Docker Compose](#running-your-own-instance), you can specify the default instance by modifying the 'docker-compose.yml' file. Look for the 'MISSTODON_FALLBACK_SERVER' field within the Docker Compose configuration and set it to the desired default instance.\n\n### Instance Specification via Query Parameter\n\n```bash\ncurl --request GET --url 'https://misstodon.aika.dev/nodeinfo/2.0?server=misskey.io' | jq .\n```\n\n### Instance Specification via Header\n\n```bash\ncurl --request GET --url https://misstodon.aika.dev/nodeinfo/2.0 --header 'x-proxy-server: misskey.io' | jq .\n```\n\n## Running your own instance\n\nThe simplest way is to use Docker Compose. Download the [docker-compose.yml](https://github.com/gizmo-ds/misstodon/raw/main/docker-compose.yml) file to your local machine. Customize it to your needs, particularly by changing the \"MISSTODON_FALLBACK_SERVER\" in the \"environment\" to your preferred Misskey instance domain. Afterward, run the following command:\n\n```bash\ndocker-compose up -d\n```\n\n\u003e [!IMPORTANT]  \n\u003e For security and privacy, we strongly discourage using HTTP directly. Instead, consider configuring a TLS certificate or utilizing Misstodon's AutoTLS feature for enhanced security.\n\n## Roadmap\n\n\u003cdetails\u003e\n\n- [x] .well-known\n  - [x] `GET` /.well-known/host-meta\n  - [x] `GET` /.well-known/webfinger\n  - [x] `GET` /.well-known/nodeinfo\n  - [x] `GET` /.well-known/change-password\n- [x] Nodeinfo\n  - [x] `GET` /nodeinfo/2.0\n- [ ] Auth\n  - [x] `GET` /oauth/authorize\n  - [x] `POST` /oauth/token\n  - [x] `POST` /api/v1/apps\n  - [ ] `GET` /api/v1/apps/verify_credentials\n- [x] Instance\n  - [x] `GET` /api/v1/instance\n  - [x] `GET` /api/v1/custom_emojis\n- [ ] Accounts\n  - [x] `GET` /api/v1/accounts/lookup\n  - [x] `GET` /api/v1/accounts/:user_id\n  - [x] `GET` /api/v1/accounts/verify_credentials\n  - [ ] `PATCH` /api/v1/accounts/update_credentials\n  - [x] `GET` /api/v1/accounts/relationships\n  - [ ] `GET` /api/v1/accounts/:user_id/statuses\n  - [x] `GET` /api/v1/accounts/:user_id/following\n  - [x] `GET` /api/v1/accounts/:user_id/followers\n  - [x] `POST` /api/v1/accounts/:user_id/follow\n  - [x] `POST` /api/v1/accounts/:user_id/unfollow\n  - [x] `GET` /api/v1/follow_requests\n  - [x] `POST` /api/v1/accounts/:user_id/mute\n  - [x] `POST` /api/v1/accounts/:user_id/unmute\n  - [x] `GET` /api/v1/bookmarks\n  - [x] `GET` /api/v1/favourites\n  - [ ] `GET` /api/v1/preferences\n- [ ] Statuses\n  - [x] `POST` /api/v1/statuses\n  - [x] `GET` /api/v1/statuses/:status_id\n  - [x] `DELETE` /api/v1/statuses/:status_id\n  - [x] `GET` /api/v1/statuses/:status_id/context\n  - [x] `POST` /api/v1/statuses/:status_id/reblog\n  - [x] `POST` /api/v1/statuses/:status_id/favourite\n  - [x] `POST` /api/v1/statuses/:status_id/unfavourite\n  - [x] `POST` /api/v1/statuses/:status_id/bookmark\n  - [x] `POST` /api/v1/statuses/:status_id/unbookmark\n  - [ ] `GET` /api/v1/statuses/:status_id/favourited_by\n  - [ ] `GET` /api/v1/statuses/:status_id/reblogged_by\n- [x] Timelines\n  - [x] `GET` /api/v1/timelines/home\n  - [x] `GET` /api/v1/timelines/public\n  - [x] `GET` /api/v1/timelines/tag/:hashtag\n  - [ ] `WS` /api/v1/streaming\n- [ ] Notifications\n  - [x] `GET` /api/v1/notifications\n  - [ ] `POST` /api/v1/push/subscription\n  - [ ] `GET` /api/v1/push/subscription\n  - [ ] `PUT` /api/v1/push/subscription\n  - [ ] `DELETE` /api/v1/push/subscription\n- [ ] Search\n  - [ ] `GET` /api/v2/search\n- [ ] Conversations\n  - [ ] `GET` /api/v1/conversations\n  - [ ] `DELETE` /api/v1/conversations/:id\n  - [ ] `POST` /api/v1/conversations/:id/read\n- [x] Trends\n  - [x] `GET` /api/v1/trends/statuses\n  - [x] `GET` /api/v1/trends/tags\n- [x] Media\n  - [x] `POST` /api/v1/media\n  - [x] `POST` /api/v2/media\n\n\u003c/details\u003e\n\n## Information for Developers\n\n[Contributing](./CONTRIBUTING.md) Information about contributing to this project.\n\n## Sponsors\n\n[![Sponsors](https://afdian-connect.deno.dev/sponsor.svg)](https://afdian.com/a/gizmo)\n\n## Contributors\n\n![Contributors](https://contributors.aika.dev/gizmo-ds/misstodon/contributors.svg?align=left)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgizmo-ds%2Fmisstodon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgizmo-ds%2Fmisstodon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgizmo-ds%2Fmisstodon/lists"}