From 7b3df0efbe7ccdbe76bb86f253c339f76e3821ae Mon Sep 17 00:00:00 2001 From: "Issues Docs [BOT]" Date: Wed, 22 Apr 2026 23:42:53 +0000 Subject: [PATCH] =?UTF-8?q?Auto-Generate=20docs=20=F0=9F=A4=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/issues/811.md | 690 +-------------------------------------------- 1 file changed, 9 insertions(+), 681 deletions(-) diff --git a/docs/issues/811.md b/docs/issues/811.md index 2267e89..b7125e1 100644 --- a/docs/issues/811.md +++ b/docs/issues/811.md @@ -26,10 +26,7 @@ http://主机ip:9527/api 检测不到,无法用,也不知为啥?,只能 ## 评论 ### 评论 1 - wudingjian -[2026-04-01 00:05:47] [0.5.0] [INFO] 192.168.20.10:38757 - "GET /api/search/online?keyword=%E9%9D%92%E8%8A%B1%E7%93%B7&plugin=all&page=1&limit=20 HTTP/1.1" 200 -[2026-04-01 00:05:49] [0.5.0] [INFO] online_music.py:522: 推送歌单播放, 歌单名称: _online_webPush, 歌曲数量: 1, 设备ID: 266086334 -[2026-04-01 00:05:49] [0.5.0] [INFO] online_music.py:401: 已重置追加歌曲页码 -[2026-04-01 00:05:49] [0.5.0] [INFO] online_music.py:626: plugin_source_url : self:///api/proxy/plugin-url?data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgInR5cGVzIjogW3sidHlwZSI6ICIxMjhrIiwgInNpemUiOiAiMy42NSBNQiJ9LCB7InR5cGUiOiAiMzIwayIsICJzaXplIjogIjkuMTMgTUIifSwgeyJ0eXBlIjogImZsYWMiLCAic2l6ZSI6ICIyNC45NiBNQiJ9XSwgIl90eXBlcyI6IHsiMTI4ayI6IHsic2l6ZSI6ICIzLjY1IE1CIn0sICIzMjBrIjogeyJzaXplIjogIjkuMTMgTUIifSwgImZsYWMiOiB7InNpemUiOiAiMjQuOTYgTUIifX0sICJ0eXBlVXJsIjoge319LCAiaWQiOiAiMDAycVU1YVkzUXUyNHkiLCAidGl0bGUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImR1cmF0aW9uIjogIjAzOjU5IiwgImFydGlzdCI6ICJcdTU0NjhcdTY3NzBcdTRmMjYiLCAiYWxidW0iOiAiXHU2MjExXHU1Zjg4XHU1ZmQ5IiwgInBsYXRmb3JtIjogInR4IiwgImFydHdvcmsiOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgImxyYyI6ICIiLCAibHJjVXJsIjogIiJ9 + [2026-04-01 00:05:50] [0.5.0] [INFO] music_library.py:961: 启动后台构建 tag cache [2026-04-01 00:05:50] [0.5.0] [INFO] config_manager.py:62: Configuration saved to conf/setting.json [2026-04-01 00:05:50] [0.5.0] [INFO] config_manager.py:82: save_cur_config ok @@ -64,683 +61,7 @@ http://主机ip:9527/api 检测不到,无法用,也不知为啥?,只能 [2026-04-01 00:05:50] [0.5.0] [INFO] file.py:597: [proxy:e66c871b] initial GET url=http://192.168.20.3:58090/api/proxy/plugin-url?data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1 headers={'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8', 'cache-control': 'no-cache', 'pragma': 'no-cache', 'priority': 'u=0, i', 'sec-ch-ua': '"Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"', 'sec-fetch-dest': 'document', 'sec-fetch-mode': 'navigate', 'sec-fetch-site': 'none', 'sec-fetch-user': '?1', 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', 'Authorization': '***'} [2026-04-01 00:05:50] [0.5.0] [INFO] device_player.py:724: play_one_url play_by_music_url device_id:*** ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} url:http://192.168.20.3:58090/proxy/music?token=cv46FHp76xY audio_id:***** [2026-04-01 00:05:50] [0.5.0] [INFO] device_player.py:703: group_player_play http://192.168.20.3:58090/proxy/music?token=cv46FHp76xY ['****'] [{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}}] -[2026-04-01 00:05:50] [0.5.0] [INFO] device_player.py:368: 【青花瓷-周杰伦】已经开始播放了 -[2026-04-01 00:05:50] [0.5.0] [INFO] music_library.py:1086: in _get_web_music_url -[2026-04-01 00:05:50] [0.5.0] [INFO] music_library.py:1088: get_music_url web music. name:青花瓷-周杰伦, url:self:///api/proxy/plugin-url?data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgInR5cGVzIjogW3sidHlwZSI6ICIxMjhrIiwgInNpemUiOiAiMy42NSBNQiJ9LCB7InR5cGUiOiAiMzIwayIsICJzaXplIjogIjkuMTMgTUIifSwgeyJ0eXBlIjogImZsYWMiLCAic2l6ZSI6ICIyNC45NiBNQiJ9XSwgIl90eXBlcyI6IHsiMTI4ayI6IHsic2l6ZSI6ICIzLjY1IE1CIn0sICIzMjBrIjogeyJzaXplIjogIjkuMTMgTUIifSwgImZsYWMiOiB7InNpemUiOiAiMjQuOTYgTUIifX0sICJ0eXBlVXJsIjoge319LCAiaWQiOiAiMDAycVU1YVkzUXUyNHkiLCAidGl0bGUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImR1cmF0aW9uIjogIjAzOjU5IiwgImFydGlzdCI6ICJcdTU0NjhcdTY3NzBcdTRmMjYiLCAiYWxidW0iOiAiXHU2MjExXHU1Zjg4XHU1ZmQ5IiwgInBsYXRmb3JtIjogInR4IiwgImFydHdvcmsiOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgImxyYyI6ICIiLCAibHJjVXJsIjogIiJ9 -[2026-04-01 00:05:50] [0.5.0] [INFO] music_library.py:1194: Using token proxy url: http://192.168.20.3:58090/proxy/music?token=soSq40J8toU -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38766 - "GET /getsetting HTTP/1.1" 200 -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38768 - "GET /getversion HTTP/1.1" 200 -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38766 - "GET /musiclist HTTP/1.1" 200 -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38766 - "GET /curplaylist?did=266086334 HTTP/1.1" 200 -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38772 - "GET /generate_ws_token?did=266086334 HTTP/1.1" 200 -[2026-04-01 00:05:53] [0.5.0] [INFO] device_player.py:827: get_volume. playing_info:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0, 'info': '{ "status": 1, "volume": 50, "loop_type": 1 }'}} -[2026-04-01 00:05:53] [0.5.0] [INFO] device_player.py:834: get_volume. volume:50 -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38768 - "GET /getvolume?did=266086334 HTTP/1.1" 200 -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38773 - "WebSocket /ws/playingmusic?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkaWQiOiIyNjYwODYzMzQiLCJleHAiOjE3NzQ5NzM0NTMuMTUyODE1NiwiaWF0IjoxNzc0OTczMTUzLjE1MjgxNjV9.5KmTUFp7HVvh8te3c3Ex9PUnxud7Q93n2XpH7nVH1zU" [accepted] -[2026-04-01 00:05:53] [0.5.0] [INFO] connection open -[2026-04-01 00:05:53] [0.5.0] [INFO] 192.168.20.10:38770 - "GET /latestversion HTTP/1.1" 200 -[2026-04-01 00:05:58] [0.5.0] [INFO] connection closed -[2026-04-01 00:05:58] [0.5.0] [INFO] 192.168.20.10:38776 - "GET /getversion HTTP/1.1" 200 -……… -[2026-04-01 00:05:58] [0.5.0] [INFO] 192.168.20.10:38777 - "GET /getsetting?need_device_list=true HTTP/1.1" 200 -[2026-04-01 00:06:16] [0.5.0] [INFO] 192.168.20.10:38782 - "GET /downloadlog HTTP/1.1" 200 -[2026-04-01 00:06:20] [0.5.0] [ERROR] music_utils.py:156: Error get_web_music_duration: Connection timeout to host http://192.168.20.3:58090/proxy/music?token=soSq40J8toU -[2026-04-01 00:06:20] [0.5.0] [INFO] music_library.py:838: 网络音乐 青花瓷-周杰伦 时长: 0 秒 -[2026-04-01 00:06:20] [0.5.0] [INFO] analytics.py:78: analytics run_with_cancel success -[2026-04-01 00:06:20] [0.5.0] [INFO] device_player.py:381: 【青花瓷-周杰伦】不会设置下一首歌的定时器 -[2026-04-01 00:06:20] [0.5.0] [INFO] 192.168.20.10:38757 - "POST /api/device/pushList HTTP/1.1" 200 -[2026-04-01 00:06:50] [0.5.0] [INFO] file.py:519: [proxy:c052bc95] start is_radio=False url=self:///api/proxy/plugin-url?data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm -[2026-04-01 00:06:50] [0.5.0] [INFO] music_library.py:1264: 链接处理前 $ParseResult(scheme='self', netloc='', path='/api/proxy/plugin-url', params='', query='data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgInR5cGVzIjogW3sidHlwZSI6ICIxMjhrIiwgInNpemUiOiAiMy42NSBNQiJ9LCB7InR5cGUiOiAiMzIwayIsICJzaXplIjogIjkuMTMgTUIifSwgeyJ0eXBlIjogImZsYWMiLCAic2l6ZSI6ICIyNC45NiBNQiJ9XSwgIl90eXBlcyI6IHsiMTI4ayI6IHsic2l6ZSI6ICIzLjY1IE1CIn0sICIzMjBrIjogeyJzaXplIjogIjkuMTMgTUIifSwgImZsYWMiOiB7InNpemUiOiAiMjQuOTYgTUIifX0sICJ0eXBlVXJsIjoge319LCAiaWQiOiAiMDAycVU1YVkzUXUyNHkiLCAidGl0bGUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImR1cmF0aW9uIjogIjAzOjU5IiwgImFydGlzdCI6ICJcdTU0NjhcdTY3NzBcdTRmMjYiLCAiYWxidW0iOiAiXHU2MjExXHU1Zjg4XHU1ZmQ5IiwgInBsYXRmb3JtIjogInR4IiwgImFydHdvcmsiOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgImxyYyI6ICIiLCAibHJjVXJsIjogIiJ9', fragment='') -[2026-04-01 00:06:50] [0.5.0] [INFO] file.py:524: [proxy:c052bc95] expand_self_url parsed=ParseResult(scheme='http', netloc='192.168.20.3:58090', path='/api/proxy/plugin-url', params='', query='data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgInR5cGVzIjogW3sidHlwZSI6ICIxMjhrIiwgInNpemUiOiAiMy42NSBNQiJ9LCB7InR5cGUiOiAiMzIwayIsICJzaXplIjogIjkuMTMgTUIifSwgeyJ0eXBlIjogImZsYWMiLCAic2l6ZSI6ICIyNC45NiBNQiJ9XSwgIl90eXBlcyI6IHsiMTI4ayI6IHsic2l6ZSI6ICIzLjY1IE1CIn0sICIzMjBrIjogeyJzaXplIjogIjkuMTMgTUIifSwgImZsYWMiOiB7InNpemUiOiAiMjQuOTYgTUIifX0sICJ0eXBlVXJsIjoge319LCAiaWQiOiAiMDAycVU1YVkzUXUyNHkiLCAidGl0bGUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImR1cmF0aW9uIjogIjAzOjU5IiwgImFydGlzdCI6ICJcdTU0NjhcdTY3NzBcdTRmMjYiLCAiYWxidW0iOiAiXHU2MjExXHU1Zjg4XHU1ZmQ5IiwgInBsYXRmb3JtIjogInR4IiwgImFydHdvcmsiOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1MDBNMDAwMDAyZUZVRm0yWFlaN3ouanBnIiwgImxyYyI6ICIiLCAibHJjVXJsIjogIiJ9', fragment='') final_url=http://192.168.20.3:58090/api/proxy/plugin-url?data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1 -[2026-04-01 00:06:50] [0.5.0] [INFO] file.py:552: [proxy:c052bc95] mode=music timeout=600s netloc=192.168.20.3:58090 -[2026-04-01 00:06:50] [0.5.0] [INFO] file.py:597: [proxy:c052bc95] initial GET url=http://192.168.20.3:58090/api/proxy/plugin-url?data=eyJfcmF3IjogeyJzaW5nZXIiOiAiXHU1NDY4XHU2NzcwXHU0ZjI2IiwgIm5hbWUiOiAiXHU5NzUyXHU4MmIxXHU3NGY3IiwgImFsYnVtTmFtZSI6ICJcdTYyMTFcdTVmODhcdTVmZDkiLCAiYWxidW1JZCI6ICIwMDJlRlVGbTJYWVo3eiIsICJzb3VyY2UiOiAidHgiLCAiaW50ZXJ2YWwiOiAiMDM6NTkiLCAic29uZ0lkIjogNDEwMzE2LCAiYWxidW1NaWQiOiAiMDAyZUZVRm0yWFlaN3oiLCAic3RyTWVkaWFNaWQiOiAiMDAxNXpSOEIzZ2pKTGwiLCAic29uZ21pZCI6ICIwMDJxVTVhWTNRdTI0eSIsICJpbWciOiAiaHR0cHM6Ly95Lmd0aW1nLmNuL211c2ljL3Bob3RvX25ldy9UMDAyUjUwMHg1 headers={'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8', 'cache-control': 'no-cache', 'pragma': 'no-cache', 'priority': 'u=0, i', 'sec-ch-ua': '"Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"', 'sec-fetch-dest': 'document', 'sec-fetch-mode': 'navigate', 'sec-fetch-site': 'none', 'sec-fetch-user': '?1', 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', 'Authorization': '***'} -[2026-04-01 00:08:00] [0.5.0] [ERROR] file.py:751: [proxy:e66c871b] ClientConnectionError: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1298, in _wrap_create_connection - sock = await aiohappyeyeballs.start_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 122, in start_connection - raise first_exception - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 73, in start_connection - sock = await _connect_sock( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 208, in _connect_sock - await loop.sock_connect(sock, address) - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 645, in sock_connect - return await fut - ^^^^^^^^^ - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 685, in _sock_connect_cb - raise OSError(err, f'Connect call failed {address}') -TimeoutError: [Errno 110] Connect call failed ('192.168.20.3', 58090) -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/xiaomusic/api/routers/file.py", line 601, in _proxy_handler - resp = await session.get(url, headers=headers, allow_redirects=False) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 779, in _request - resp = await handler(req) - ^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 734, in _connect_and_send_request - conn = await self._connector.connect( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - req, traces=traces, timeout=real_timeout - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 672, in connect - proto = await self._create_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1239, in _create_connection - _, proto = await self._create_direct_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1611, in _create_direct_connection - raise last_exc - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1580, in _create_direct_connection - transp, proto = await self._wrap_create_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1321, in _wrap_create_connection - raise client_error(req.connection_key, exc) from exc -aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] -[2026-04-01 00:08:00] [0.5.0] [ERROR] Exception in ASGI application -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1298, in _wrap_create_connection - sock = await aiohappyeyeballs.start_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 122, in start_connection - raise first_exception - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 73, in start_connection - sock = await _connect_sock( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 208, in _connect_sock - await loop.sock_connect(sock, address) - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 645, in sock_connect - return await fut - ^^^^^^^^^ - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 685, in _sock_connect_cb - raise OSError(err, f'Connect call failed {address}') -TimeoutError: [Errno 110] Connect call failed ('192.168.20.3', 58090) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/xiaomusic/api/routers/file.py", line 601, in _proxy_handler - resp = await session.get(url, headers=headers, allow_redirects=False) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 779, in _request - resp = await handler(req) - ^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 734, in _connect_and_send_request - conn = await self._connector.connect( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - req, traces=traces, timeout=real_timeout - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 672, in connect - proto = await self._create_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1239, in _create_connection - _, proto = await self._create_direct_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1611, in _create_direct_connection - raise last_exc - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1580, in _create_direct_connection - transp, proto = await self._wrap_create_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1321, in _wrap_create_connection - raise client_error(req.connection_key, exc) from exc -aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app - await app(scope, receive, sender) - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 120, in app - response = await f(request) - ^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/fastapi.py", line 137, in _sentry_app - return await old_app(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 674, in app - raw_response = await run_endpoint_function( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 328, in run_endpoint_function - return await dependant.call(**values) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/xiaomusic/api/routers/file.py", line 788, in proxy_with_type - return await _proxy_handler(urlb64, is_radio=is_radio) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/xiaomusic/api/routers/file.py", line 753, in _proxy_handler - raise HTTPException(status_code=502, detail=f"连接错误: {str(e)}") from e -fastapi.exceptions.HTTPException: 502: 连接错误: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 234, in _run_app - return await self.app( - ^^^^^^^^^^^^^^^ - scope, receive, _sentry_wrapped_send - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/starlette/applications.py", line 90, in __call__ - await self.middleware_stack(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/errors.py", line 186, in __call__ - raise exc - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/errors.py", line 164, in __call__ - await self.app(scope, receive, _send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/gzip.py", line 29, in __call__ - await responder(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/gzip.py", line 46, in __call__ - await self.app(scope, receive, self.send_with_compression) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/cors.py", line 88, in __call__ - await self.app(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 257, in _sentry_exceptionmiddleware_call - await old_call(self, scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ - await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app - raise exc - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app - await app(scope, receive, sender) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ - await self.app(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/routing.py", line 660, in __call__ - await self.middleware_stack(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/routing.py", line 680, in app - await route.handle(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/routing.py", line 276, in handle - await self.app(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 134, in app - await wrap_app_handling_exceptions(app, request)(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 59, in wrapped_app - response = await handler(conn, exc) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 219, in _sentry_patched_exception_handler - _capture_exception(exp, handled=True) - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 181, in _capture_exception - event, hint = event_from_exception( - ~~~~~~~~~~~~~~~~~~~~^ - exception, - ^^^^^^^^^^ - client_options=hub.client.options if hub.client else None, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - mechanism={"type": StarletteIntegration.identifier, "handled": handled}, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 1091, in event_from_exception - "values": exceptions_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_info, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 966, in exceptions_from_error_tuple - single_exception_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_type, exc_value, tb, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 786, in single_exception_from_error_tuple - serialize_frame( - ~~~~~~~~~~~~~~~^ - tb.tb_frame, - ^^^^^^^^^^^^ - ...<3 lines>... - max_value_length=max_value_length, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 675, in serialize_frame - rv["vars"] = copy(frame.f_locals) - ~~~~^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.14/copy.py", line 90, in copy - rv = reductor(4) -TypeError: cannot pickle 'FrameLocalsProxy' object - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/uvicorn/protocols/http/h11_impl.py", line 410, in run_asgi - result = await app( # type: ignore[func-returns-value] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - self.scope, self.receive, self.send - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ - return await self.app(scope, receive, send) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/applications.py", line 1159, in __call__ - await super().__call__(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 365, in _sentry_patched_asgi_app - return await middleware(scope, receive, send) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 146, in _run_asgi3 - return await self._run_app(scope, receive, send, asgi_version=3) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 238, in _run_app - _capture_exception( - ~~~~~~~~~~~~~~~~~~^ - hub, exc, mechanism_type=self.mechanism_type - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 62, in _capture_exception - event, hint = event_from_exception( - ~~~~~~~~~~~~~~~~~~~~^ - exc, - ^^^^ - client_options=hub.client.options, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - mechanism={"type": mechanism_type, "handled": False}, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 1091, in event_from_exception - "values": exceptions_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_info, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 966, in exceptions_from_error_tuple - single_exception_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_type, exc_value, tb, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 786, in single_exception_from_error_tuple - serialize_frame( - ~~~~~~~~~~~~~~~^ - tb.tb_frame, - ^^^^^^^^^^^^ - ...<3 lines>... - max_value_length=max_value_length, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 675, in serialize_frame - rv["vars"] = copy(frame.f_locals) - ~~~~^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.14/copy.py", line 90, in copy - rv = reductor(4) -TypeError: cannot pickle 'FrameLocalsProxy' object -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38801 - "GET /getsetting HTTP/1.1" 200 -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38802 - "GET /getversion HTTP/1.1" 200 -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38801 - "GET /musiclist HTTP/1.1" 200 -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38801 - "GET /curplaylist?did=266086334 HTTP/1.1" 200 -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38805 - "GET /generate_ws_token?did=266086334 HTTP/1.1" 200 -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38806 - "WebSocket /ws/playingmusic?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkaWQiOiIyNjYwODYzMzQiLCJleHAiOjE3NzQ5NzM1OTAuMTU0NTMxNSwiaWF0IjoxNzc0OTczMjkwLjE1NDUzMzZ9.OCW_aIdhpr35K8uMkMwi7H381VExlxRkx50g1JXDupA" [accepted] -[2026-04-01 00:08:10] [0.5.0] [INFO] connection open -[2026-04-01 00:08:10] [0.5.0] [INFO] device_player.py:827: get_volume. playing_info:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0, 'info': '{ "status": 0, "volume": 50, "loop_type": 1 }'}} -[2026-04-01 00:08:10] [0.5.0] [INFO] device_player.py:834: get_volume. volume:50 -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38802 - "GET /getvolume?did=266086334 HTTP/1.1" 200 -[2026-04-01 00:08:10] [0.5.0] [INFO] 192.168.20.10:38804 - "GET /latestversion HTTP/1.1" 200 -[2026-04-01 00:09:00] [0.5.0] [ERROR] file.py:751: [proxy:c052bc95] ClientConnectionError: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1298, in _wrap_create_connection - sock = await aiohappyeyeballs.start_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 122, in start_connection - raise first_exception - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 73, in start_connection - sock = await _connect_sock( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 208, in _connect_sock - await loop.sock_connect(sock, address) - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 645, in sock_connect - return await fut - ^^^^^^^^^ - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 685, in _sock_connect_cb - raise OSError(err, f'Connect call failed {address}') -TimeoutError: [Errno 110] Connect call failed ('192.168.20.3', 58090) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/xiaomusic/api/routers/file.py", line 601, in _proxy_handler - resp = await session.get(url, headers=headers, allow_redirects=False) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 779, in _request - resp = await handler(req) - ^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 734, in _connect_and_send_request - conn = await self._connector.connect( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - req, traces=traces, timeout=real_timeout - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 672, in connect - proto = await self._create_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1239, in _create_connection - _, proto = await self._create_direct_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1611, in _create_direct_connection - raise last_exc - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1580, in _create_direct_connection - transp, proto = await self._wrap_create_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1321, in _wrap_create_connection - raise client_error(req.connection_key, exc) from exc -aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] -[2026-04-01 00:09:00] [0.5.0] [ERROR] Exception in ASGI application -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1298, in _wrap_create_connection - sock = await aiohappyeyeballs.start_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 122, in start_connection - raise first_exception - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 73, in start_connection - sock = await _connect_sock( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohappyeyeballs/impl.py", line 208, in _connect_sock - await loop.sock_connect(sock, address) - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 645, in sock_connect - return await fut - ^^^^^^^^^ - File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 685, in _sock_connect_cb - raise OSError(err, f'Connect call failed {address}') -TimeoutError: [Errno 110] Connect call failed ('192.168.20.3', 58090) - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/xiaomusic/api/routers/file.py", line 601, in _proxy_handler - resp = await session.get(url, headers=headers, allow_redirects=False) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 779, in _request - resp = await handler(req) - ^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/client.py", line 734, in _connect_and_send_request - conn = await self._connector.connect( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - req, traces=traces, timeout=real_timeout - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 672, in connect - proto = await self._create_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1239, in _create_connection - _, proto = await self._create_direct_connection(req, traces, timeout) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1611, in _create_direct_connection - raise last_exc - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1580, in _create_direct_connection - transp, proto = await self._wrap_create_connection( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/aiohttp/connector.py", line 1321, in _wrap_create_connection - raise client_error(req.connection_key, exc) from exc -aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app - await app(scope, receive, sender) - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 120, in app - response = await f(request) - ^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/fastapi.py", line 137, in _sentry_app - return await old_app(*args, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 674, in app - raw_response = await run_endpoint_function( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 328, in run_endpoint_function - return await dependant.call(**values) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/xiaomusic/api/routers/file.py", line 788, in proxy_with_type - return await _proxy_handler(urlb64, is_radio=is_radio) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/xiaomusic/api/routers/file.py", line 753, in _proxy_handler - raise HTTPException(status_code=502, detail=f"连接错误: {str(e)}") from e -fastapi.exceptions.HTTPException: 502: 连接错误: Cannot connect to host 192.168.20.3:58090 ssl:default [Connect call failed ('192.168.20.3', 58090)] - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 234, in _run_app - return await self.app( - ^^^^^^^^^^^^^^^ - scope, receive, _sentry_wrapped_send - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/starlette/applications.py", line 90, in __call__ - await self.middleware_stack(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/errors.py", line 186, in __call__ - raise exc - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/errors.py", line 164, in __call__ - await self.app(scope, receive, _send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/gzip.py", line 29, in __call__ - await responder(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/gzip.py", line 46, in __call__ - await self.app(scope, receive, self.send_with_compression) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/cors.py", line 88, in __call__ - await self.app(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 257, in _sentry_exceptionmiddleware_call - await old_call(self, scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ - await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app - raise exc - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app - await app(scope, receive, sender) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call - return await old_call(app, scope, new_receive, new_send, **kwargs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ - await self.app(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/routing.py", line 660, in __call__ - await self.middleware_stack(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/routing.py", line 680, in app - await route.handle(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/routing.py", line 276, in handle - await self.app(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/fastapi/routing.py", line 134, in app - await wrap_app_handling_exceptions(app, request)(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/starlette/_exception_handler.py", line 59, in wrapped_app - response = await handler(conn, exc) - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 219, in _sentry_patched_exception_handler - _capture_exception(exp, handled=True) - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 181, in _capture_exception - event, hint = event_from_exception( - ~~~~~~~~~~~~~~~~~~~~^ - exception, - ^^^^^^^^^^ - client_options=hub.client.options if hub.client else None, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - mechanism={"type": StarletteIntegration.identifier, "handled": handled}, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 1091, in event_from_exception - "values": exceptions_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_info, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 966, in exceptions_from_error_tuple - single_exception_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_type, exc_value, tb, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 786, in single_exception_from_error_tuple - serialize_frame( - ~~~~~~~~~~~~~~~^ - tb.tb_frame, - ^^^^^^^^^^^^ - ...<3 lines>... - max_value_length=max_value_length, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 675, in serialize_frame - rv["vars"] = copy(frame.f_locals) - ~~~~^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.14/copy.py", line 90, in copy - rv = reductor(4) -TypeError: cannot pickle 'FrameLocalsProxy' object - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "/app/.venv/lib/python3.14/site-packages/uvicorn/protocols/http/h11_impl.py", line 410, in run_asgi - result = await app( # type: ignore[func-returns-value] - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - self.scope, self.receive, self.send - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ - return await self.app(scope, receive, send) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/fastapi/applications.py", line 1159, in __call__ - await super().__call__(scope, receive, send) - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/starlette.py", line 365, in _sentry_patched_asgi_app - return await middleware(scope, receive, send) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 146, in _run_asgi3 - return await self._run_app(scope, receive, send, asgi_version=3) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 238, in _run_app - _capture_exception( - ~~~~~~~~~~~~~~~~~~^ - hub, exc, mechanism_type=self.mechanism_type - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/integrations/asgi.py", line 62, in _capture_exception - event, hint = event_from_exception( - ~~~~~~~~~~~~~~~~~~~~^ - exc, - ^^^^ - client_options=hub.client.options, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - mechanism={"type": mechanism_type, "handled": False}, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 1091, in event_from_exception - "values": exceptions_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_info, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 966, in exceptions_from_error_tuple - single_exception_from_error_tuple( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - exc_type, exc_value, tb, client_options, mechanism - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 786, in single_exception_from_error_tuple - serialize_frame( - ~~~~~~~~~~~~~~~^ - tb.tb_frame, - ^^^^^^^^^^^^ - ...<3 lines>... - max_value_length=max_value_length, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "/app/.venv/lib/python3.14/site-packages/sentry_sdk/utils.py", line 675, in serialize_frame - rv["vars"] = copy(frame.f_locals) - ~~~~^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.14/copy.py", line 90, in copy - rv = reductor(4) -TypeError: cannot pickle 'FrameLocalsProxy' object -[2026-04-01 00:12:34] [0.5.0] [INFO] connection closed -[2026-04-01 00:12:34] [0.5.0] [INFO] 192.168.20.10:38881 - "GET /getversion HTTP/1.1" 200 -……****…… -[2026-04-01 00:12:34] [0.5.0] [INFO] 192.168.20.10:38882 - "GET /getsetting?need_device_list=true HTTP/1.1" 200 --- ### 评论 2 - boluofan @@ -906,8 +227,15 @@ LXServer(1.8.1)端是正常的 --- ### 评论 13 - NoNameUseable -配置用户名和API没有问题,同步拉取歌单也很快响应没有问题,但是实际使用的时候只有在线搜索页面有几率搜索成功,手动推送到小爱音箱绝大部分都是一个00:01时长反复播,大部分时间报错,小几率能正常播放 +配置用户名和API没有问题,同步拉取歌单也很快响应没有问题,但是实际使用的时候只有在线搜索页面有几率搜索成功,手动推送到小爱音箱绝大部分都是一个00:01时长反复播,大部分时间报错http error 500,小几率能正常播放 ,lx_sync_music的网页端自己播放倒是一点问题没有。版本是0.52+v1.9.0 +很奇怪,问题主要是tx的源报错,时好时坏的,有时候直接报错HTTP 500: Internal Server Error,有时候又能正常出结果推送到音箱播放 +--- + +### 评论 14 - boluofan +> 配置用户名和API没有问题,同步拉取歌单也很快响应没有问题,但是实际使用的时候只有在线搜索页面有几率搜索成功,手动推送到小爱音箱绝大部分都是一个00:01时长反复播,大部分时间报错http error 500,小几率能正常播放 ,lx_sync_music的网页端自己播放倒是一点问题没有。版本是0.52+v1.9.0 很奇怪,问题主要是tx的源报错,时好时坏的,有时候直接报错HTTP 500: Internal Server Error,有时候又能正常出结果推送到音箱播放 + +因为LX Music Sync Server 针对自己网页端播放做了:读取缓存、播放失败降低音质、自动换源(换平台)等优化播放操作。当前Online_Search暂未实现相关功能,只能依赖音源本身质量,后续将进行优化。 --- [Issue 链接](https://github.com/hanxi/xiaomusic/issues/811)