Giter VIP home page Giter VIP logo

misstodon's Introduction

misstodon

爱发电 GitHub go.mod Go version Build images License

Misskey Mastodon-compatible APIs, Getting my Misskey instance to work in Elk

Warning
This project is still in the early stage of development, and is not ready for production use.

Demo

Elk: https://elk.zone/misstodon.liuli.lol/public
Elk: https://elk.zone/mt_misskey_moe.liuli.lol/explore
Phanpy: https://phanpy.social/#/mt_misskey_io.liuli.lol/p

How to Use

Warning
liuli.lol is a demonstration site and may not guarantee high availability. We recommend self-hosting for greater control.

Domain Name Prefixing Scheme (Recommended)

The simplest usage method is to specify the instance address using a domain name prefix.

  1. Replace underscores ("_") in the domain name with double underscores ("__").
  2. Replace dots (".") in the domain name with underscores ("_").
  3. Prepend "mt_" to the modified string.
  4. Append ".liuli.lol" to the modified string.

When processing misskey.io according to the described steps, it will be transformed into the result: mt_misskey_io.liuli.lol.

curl --request GET --url 'https://mt_misskey_io.liuli.lol/nodeinfo/2.0' | jq .

Self-Hosting with Default Instance Configuration

Edit the 'config.toml' file, and within the "[proxy]" section, modify the "fallback_server" field. For example:

[proxy]
fallback_server = "misskey.io"

If you are deploying using Docker Compose, 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.

Instance Specification via Query Parameter

curl --request GET --url 'https://misstodon.liuli.lol/nodeinfo/2.0?server=misskey.io' | jq .

Instance Specification via Header

curl --request GET --url https://misstodon.liuli.lol/nodeinfo/2.0 --header 'x-proxy-server: misskey.io' | jq .

Running your own instance

The simplest way is to use Docker Compose. Download the 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:

docker-compose up -d

Important
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.

Roadmap

  • .well-known
    • GET /.well-known/host-meta
    • GET /.well-known/webfinger
    • GET /.well-known/nodeinfo
    • GET /.well-known/change-password
  • Nodeinfo
    • GET /nodeinfo/2.0
  • Auth
    • GET /oauth/authorize
    • POST /oauth/token
    • POST /api/v1/apps
    • GET /api/v1/apps/verify_credentials
  • Instance
    • GET /api/v1/instance
    • GET /api/v1/custom_emojis
  • Accounts
    • GET /api/v1/accounts/lookup
    • GET /api/v1/accounts/:user_id
    • GET /api/v1/accounts/verify_credentials
    • PATCH /api/v1/accounts/update_credentials
    • GET /api/v1/accounts/relationships
    • GET /api/v1/accounts/:user_id/statuses
    • GET /api/v1/accounts/:user_id/following
    • GET /api/v1/accounts/:user_id/followers
    • POST /api/v1/accounts/:user_id/follow
    • POST /api/v1/accounts/:user_id/unfollow
    • GET /api/v1/follow_requests
    • POST /api/v1/accounts/:user_id/mute
    • POST /api/v1/accounts/:user_id/unmute
    • GET /api/v1/bookmarks
    • GET /api/v1/favourites
    • GET /api/v1/preferences
  • Statuses
    • POST /api/v1/statuses
    • GET /api/v1/statuses/:status_id
    • DELETE /api/v1/statuses/:status_id
    • GET /api/v1/statuses/:status_id/context
    • POST /api/v1/statuses/:status_id/reblog
    • POST /api/v1/statuses/:status_id/favourite
    • POST /api/v1/statuses/:status_id/unfavourite
    • POST /api/v1/statuses/:status_id/bookmark
    • POST /api/v1/statuses/:status_id/unbookmark
    • GET /api/v1/statuses/:status_id/favourited_by
    • GET /api/v1/statuses/:status_id/reblogged_by
  • Timelines
    • GET /api/v1/timelines/home
    • GET /api/v1/timelines/public
    • GET /api/v1/timelines/tag/:hashtag
    • WS /api/v1/streaming
  • Notifications
    • GET /api/v1/notifications
    • POST /api/v1/push/subscription
    • GET /api/v1/push/subscription
    • PUT /api/v1/push/subscription
    • DELETE /api/v1/push/subscription
  • Search
    • GET /api/v2/search
  • Conversations
    • GET /api/v1/conversations
    • DELETE /api/v1/conversations/:id
    • POST /api/v1/conversations/:id/read
  • Trends
    • GET /api/v1/trends/statuses
    • GET /api/v1/trends/tags
  • Media
    • POST /api/v1/media
    • POST /api/v2/media

Information for Developers

Contributing Information about contributing to this project.

Sponsors

Sponsors

Contributors

Contributors

misstodon's People

Contributors

dependabot[bot] avatar geopjr avatar gizmo-ds avatar sxzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

misstodon's Issues

toot login

2023-12-10 03:54:43 INF Request latency="38.114µs" method=GET proxy-server=*** status=404 uri=/api/v2/instance?
2023-12-10 03:54:43 INF Request latency=40.640819ms method=GET proxy-server=*** status=200 uri=/api/v1/instance?
2023-12-10 03:54:43 INF Request latency="29.563µs" method=GET proxy-server=**** status=404 uri=/.well-known/host-meta?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.