Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

外部メディアプロキシを設定すると、リモートの動画をプロキシしようとして失敗する #12924

Open
1 task
kanarikanaru opened this issue Jan 6, 2024 · 9 comments
Labels
⚠️bug? This might be a bug

Comments

@kanarikanaru
Copy link
Contributor

kanarikanaru commented Jan 6, 2024

💡 Summary

  • 連合先からのノートについた動画がタイムラインから再生できない
  • 公式外部メディアプロキシを使用、defalut.ymlに記載
  • 動画を外部プロキシにimage.webpとして取得しに行き、403が返る

🥰 Expected Behavior

タイムラインでリモートの動画が再生できる

🤬 Actual Behavior

備考:

  • 動画以外の画像は問題なくプロキシできている
  • 外部メディアプロキシをオフにした場合は問題なし
  • 連合先でない場合は同じ動画でも問題なし

📝 Steps to Reproduce

  1. リモートで動画付きのノートをする
  2. 連合して送られてくる
  3. 動画を再生しようとする

💻 Frontend Environment

* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Sonoma 14.2.1(23C71)
* Browser: Chrome 120.0.6099.199(Official Build) (arm64)
* Server URL: misskey.backspace.fm
* Misskey: 2023.12.2

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:systemd
* Misskey:2023.12.2
* Node:20.10
* PostgreSQL:15.x
* Redis:7.x
* OS and Architecture:Ubuntu 22.04 LTS (AMD64)
* Media Proxy: 0.0.23

Do you want to address this bug yourself?

  • Yes, I will patch the bug myself and send a pull request
@kanarikanaru kanarikanaru added the ⚠️bug? This might be a bug label Jan 6, 2024
@tetsuya-ki
Copy link

前報告したら仕様的な感じで回答されたものだと思います。
個人的には画像以外もプロキシしてほしいと思っていますが。。。

misskey-dev/media-proxy#7

@kanarikanaru
Copy link
Contributor Author

現状、動画を変換することはリソース的にも賛否が分かれるところと思います。

今回はその点には触れず、内部のプロキシと外部の公式プロキシを利用した際にユーザー体験を同一にしたいという点においてのissueです。

実装に関してはどのようなものが適切かは断言できないですが、
動画に関しては外部プロキシに投げず、そのままリンクを配信するという形でMisskeyに変更を加える形であっても動作を揃えることができると思います。

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Jan 17, 2024

ファイル名どうこうは関係なくて、バイトレンジリクエストに対応していないのが問題な可能性 misskey-dev/media-proxy#11

@AyumuNekozuki
Copy link

AyumuNekozuki commented Jan 18, 2024

バイトレンジリクエストできないからといって403を返すだけなのはどうなのだろうか...

現状、動画を変換することはリソース的にも賛否が分かれるところと思います。
今回はその点には触れず、内部のプロキシと外部の公式プロキシを利用した際にユーザー体験を同一にしたいという点においてのissueです。

とのことなので、

  • 外部プロキシ側を、動画の場合はそのままオリジナルのURLを返す仕様に変える +バイトレンジ対応?
  • Misskey内で、そもそも外部プロキシに取りにいかず、そのままオリジナルURLを返すようにする

やるとしたらこの2つのどちらかですかね...?(動画を変換かけるかどうかは別の議論余地があると思いますが)


ちなみに、みすほわいとでも同現象が発生し、Misskey本体のコードを書き換えてプロキシ回避するようにしてます。(やるとしたらの2つ目の案)(LintError出てますが、参考になれば...)

@kakkokari-gtyih
Copy link
Contributor

動画を変換することはリソース的にも賛否が分かれるところと思います

動画には特が変換かかっていないはず(ただプロキシを通しているだけ)

内部のプロキシと外部の公式プロキシを利用した際にユーザー体験を同一にしたい

misskey-dev/media-proxy#11 でなおるはず

@kakkokari-gtyih
Copy link
Contributor

内部のプロキシと外部の公式プロキシを利用した際にユーザー体験を同一にしたい

Misskey内蔵のプロキシに関しては #12925 で動画が正しく再生されるように(=バイトレンジリクエストに対応するように)修正が入っており、misskey-dev/media-proxy にその変更が反映されていないだけに見える

@AyumuNekozuki
Copy link

あーなるほど、
misskey-dev/media-proxy#11 のバイトレンジ対応で、そもそも返すのが403ではなくなるから、
"バイトレンジ有無関係ないがこの現象が発生していた環境" でも問題なく再生できるようになるということか、了解です🙇🏻

@yuriha-chan
Copy link
Contributor

どちらかというとmisskey-dev/media-proxyの問題ですが

バイトレンジというより、ここで403を返しているのが原因になっています。 (||&&の取違い?)
https://github.com/misskey-dev/media-proxy/blob/d87bc5f1d56b2df2c031d5385d41d694f72429d3/src/index.ts#L207

@tamaina
Copy link
Member

tamaina commented Jan 20, 2024

大変申し訳ありませんでした

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚠️bug? This might be a bug
Projects
None yet
Development

No branches or pull requests

6 participants