Open orumin opened 5 years ago
こちら以下確認いただけますでしょうか chinachuというホストネームを使用していますがこちらはkodiが動いているホストで正常に解決できていますでしょうか。 chinachuのデフォルトポートは10772ですがこちらは変更されているということでしょうか。
ホスト名とポート番号は適当に置換したものなので特に意味はないです。 実際に使用しログに出力されてた URL で正しくアクセスできることは確認しています。
初歩的なところで申し訳ありません確認ありがとうございます。 こちらでもkodi18で検証したところ同じログがでました当方ubuntuです。 kodi関係のissueを追って見るとどうやらプラグインの実装の問題の可能性が高そうです。 お力になれず申し訳ありません。
調査します 🌊
今日、Libreelec 9.0.1(Kodi 18.1)を9.0.2(Kodi 18.2)にアップデートしてから、同じ問題があります。
これをrevertすれば、プラグインはまた使えるようになります。 https://github.com/xbmc/xbmc/commit/8839957437f2c1557c5810aff2af820e50826370
多分必要じゃないけど、念の為にこれもrevertしました。 https://github.com/xbmc/xbmc/commit/6285fb4b074ba93e90a772a7fdfa3a3801625321
まだ、詳しく調査してないけど、HTTP/2が関係している問題に見えます。Chinachuのせいかな。
再現確認が難航しております。。
確認しました。やっぱりこれだけをrevertしたら、大丈夫です。
https://github.com/xbmc/xbmc/commit/8839957437f2c1557c5810aff2af820e50826370
次、プラグインからchinachuのURL以外にリクエストしたら、どうなるか調べるつもりです。
https://github.com/xbmc/xbmc/commit/8839957437f2c1557c5810aff2af820e50826370 が入っているkodiからchinachuのhttpサーバーへリクエストすると、エラーが発生します。他のhttpサーバー(LANのlighttpd)は大丈夫です。
ashimokawa@demo:~$ curl --http2 http://chinachu:20772
curl: (52) Empty reply from server
kodi.logの中に、全く同じエラーがあります。 ChinachuのHTTP/2サポートがおかしいのか、TLSなしのHTTP/2のサポートがありません。
ChinachuのHTTP/2サポートがおかしい
curlの結果をみるに可能性としてありそうですね ただ、Issue descriptionにある
同じコードベースを Windows 上でビルドし,Windows の Kodi v18.1 で使用した際には問題なく動作した。
が気になるところです。
Windows で使用していた Kodi がもしかしたら https://github.com/xbmc/xbmc/commit/8839957437f2c1557c5810aff2af820e50826370 の commit 以前でビルドされたものだったかもしれません。
私が Windows で使用していたものは https://github.com/xbmc/xbmc/commit/8cfdc895f3 のようです。
なるほど、、、なるほど、、、
ビルドしたくない方はtinyproxyをつかて、問題を解決できる。 chinachuのホストで
apt install tinyproxy
/etc/tinyproxy/tinyproxy.confの内容は
User tinyproxy
Group tinyproxy
Port 8888
Timeout 600
DefaultErrorFile "/usr/share/tinyproxy/default.html"
StatFile "/usr/share/tinyproxy/stats.html"
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile "/run/tinyproxy/tinyproxy.pid"
MaxClients 100
MinSpareServers 5
MaxSpareServers 20
StartServers 10
MaxRequestsPerChild 0
ViaProxyName "tinyproxy"
ReversePath "/" "http://localhost:20772"
ReverseOnly Yes
sudo /etc/init.d/tinyproxy restart
pvr.chinachuプラグイン設定でChinachuのポートを8888にしたら。。。。OKです。
kodi18.2のcurl<ー>nodejsのhttpはNGです。 kodi18.2のcurl<ー>tinyproxy<ー>nodejsのhttpはOKです。
diff --git a/app-wui.js b/app-wui.js
index 51bd2ca..3407f12 100644
--- a/app-wui.js
+++ b/app-wui.js
@@ -805,6 +805,7 @@ function iosAddEventListner(io, eventName) {
}
function ioAddListener(server, isOpen) {
+ return;
var io = socketio(server);
io.on('connection', isOpen ? ioOpenServer : ioServer);
socket.ioとhttpが同じポートを使えば、「HTTP/1.1 Upgrade header」を送ったらだめです。 socket.ioとhttpお別のポートにしたらいいと思います。 とりあえず、上のパッチでChinachu WUIのsocket.ioサポートを無効にしました。
古いissueにコメントして申し訳ないのですが..... tinyproxyを使う方法でkodiから接続はできるものの、kodiのガイドから録画予約しようとしたときに下記のエラーが発生します。
2020-04-18 22:22:13.940 T:140122925160576 ERROR: AddOnLog: Harekaze (Chinachu PVR client): Failed to reserve new program: 374wgcke9z
2020-04-18 22:22:13.941 T:140122925160576 ERROR: AddTimer: Add-on 'Chinachu:http://ip:port' returned an error: server error
これは自分に限ったことでしょうか?
Kodi v18.1 (Leia) にて,手元でビルドした pvr.chinachu (18.x-Leia branch) を用いたところ Chinachu の API からデータを取得できないエラーが発生。 環境は
同じコードベースを Windows 上でビルドし,Windows の Kodi v18.1 で使用した際には問題なく動作した。
以下,エラーログ