diff --git a/README.md b/README.md index f0bf4dd9bbb069a1bef2ece46ac8103ca4b7e712..be35cd2f5a4c43bcedb1745a200567ebf84a8078 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ location /_matrix { } # Redirect all media endpoints to the media-repo -location /_matrix/client/r0/media { +location /_matrix/media { proxy_read_timeout 60s; proxy_set_header Host $host; # Make sure this matches your homeserver in media-repo.yaml proxy_set_header X-Real-IP $remote_addr; diff --git a/src/github.com/turt2live/matrix-media-repo/media_repo.go b/src/github.com/turt2live/matrix-media-repo/media_repo.go index c8f905a750832f892a280f362a4b2c97d5558ea3..d5d369cc1cd8545bcd36bce33bcf495b1798cad4 100644 --- a/src/github.com/turt2live/matrix-media-repo/media_repo.go +++ b/src/github.com/turt2live/matrix-media-repo/media_repo.go @@ -47,10 +47,17 @@ func main() { downloadHandler := Handler{r0.DownloadMedia, hOpts} thumbnailHandler := Handler{r0.ThumbnailMedia, hOpts} - rtr.Handle("/_matrix/client/r0/media/upload", uploadHandler).Methods("POST") - rtr.Handle("/_matrix/client/r0/media/download/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}", downloadHandler).Methods("GET") - rtr.Handle("/_matrix/client/r0/media/download/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}/{filename:[a-zA-Z0-9._-]+}", downloadHandler).Methods("GET") - rtr.Handle("/_matrix/client/r0/media/thumbnail/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}", thumbnailHandler).Methods("GET") + // r0 endpoints + rtr.Handle("/_matrix/media/r0/upload", uploadHandler).Methods("POST") + rtr.Handle("/_matrix/media/r0/download/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}", downloadHandler).Methods("GET") + rtr.Handle("/_matrix/media/r0/download/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}/{filename:[a-zA-Z0-9._-]+}", downloadHandler).Methods("GET") + rtr.Handle("/_matrix/media/r0/thumbnail/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}", thumbnailHandler).Methods("GET") + + // v1 endpoints (legacy) + rtr.Handle("/_matrix/media/v1/upload", uploadHandler).Methods("POST") + rtr.Handle("/_matrix/media/v1/download/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}", downloadHandler).Methods("GET") + rtr.Handle("/_matrix/media/v1/download/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}/{filename:[a-zA-Z0-9._-]+}", downloadHandler).Methods("GET") + rtr.Handle("/_matrix/media/v1/thumbnail/{server:[a-zA-Z0-9.:-_]+}/{mediaId:[a-zA-Z0-9]+}", thumbnailHandler).Methods("GET") http.Handle("/", rtr) http.ListenAndServe(":8000", nil)