zzcabc / Docker_Buildx_PixivBiu

txperl/PixivBiu的Docker版
GNU General Public License v3.0
13 stars 3 forks source link

无法下一步 #2

Open reov opened 2 years ago

reov commented 2 years ago

日志显示 [PixivBiu] 由于 Pixiv 禁止了账号密码登陆方式,暂时只能使用 Token 进行登录 Traceback (most recent call last): File "/tmp/_MEIEKIgbE/app/lib/core/biu.py", line 136, in __login args = {"token": tokenFile["token"], } TypeError: 'bool' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "main.py", line 37, in File "altfe/bridge.py", line 32, in run File "altfe/interface/root.py", line 56, in instantiate File "/tmp/_MEIEKIgbE/app/lib/core/biu.py", line 35, in init self.auto() File "/tmp/_MEIEKIgbE/app/lib/core/biu.py", line 48, in auto self.__login() # 登录 File "/tmp/_MEIEKIgbE/app/lib/core/biu.py", line 147, in __login if input(self.lang("loginHelper.is_need_to_get_token")) != "y": EOFError: EOF when reading a line [7] Failed to execute script 'main' due to unhandled exception!

是否继续? (y / n):

但是控制台显示 Error response from daemon: Container d584c4febae22db6641e015f63bc9a77247ff8bf6cecb84e3586df6fc44eda30 is not running

系统:unraid

zzcabc commented 2 years ago

尝试使用电脑端获取cookie,然后复制usr下的.token.json,上传unraid,映射到容器内部 https://github.com/txperl/PixivBiu/releases/tag/v2.2.0b

reov commented 2 years ago

Command: root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='pixivbiu' --net='bridge' -e TZ="Asia/Shanghai" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="pixivbiu" -l net.unraid.docker.managed=dockerman -l net.unraid.docker.icon='/plugins/dynamix.docker.manager/images/question.png' -p '4002:4001/tcp' -v '/mnt/user/appdata/Pixiv/config.yml':'/Pixiv/config.yml':'rw' -v '/mnt/user/Download/Pixiv':'/Pixiv/downloads':'rw' -v '/mnt/user/appdata/Pixiv/usr/.token.json':'/Pixiv/usr/.token.json':'rw' 'zzcabc/pixivbiu' 8821afdd42c790f97441cf5d280f7866f7a3b707fe88bb0f6754a971bd08d570

已映射

zzcabc commented 2 years ago

这里token应该有误,我测试的时候都是使用客户端进行获取token然后将token.json映射的

reov commented 2 years ago

什么客户端,我是按照readme里面做的啊

zzcabc commented 2 years ago

可以去下载txperl 原始的可执行版本 https://github.com/txperl/PixivBiu/releases/tag/v2.2.0b
因为我也发现了,使用我写的获取token无法使用

zzcabc commented 2 years ago

写的获取token无法使用

然后正常登录之后在将usr目录下的.token.json映射进去

reov commented 2 years ago

我试验了很多次,情况是一样的,txperl的也不行

kuusei commented 2 years ago

pixiv使用Oauth2验证, 这个code的有效期很短, 建议直接在token处填refresh_token

关于refresh_token获取可以看这个https://gist.github.com/ZipFile/c9ebedb224406f4f11845ab700124362

zzcabc commented 2 years ago

抱歉拖了这么久

在获取.token.json的时候,我使用了本机可执行程序,获取code,然后将.token.json上传至服务器,并且映射到docker内,可能存在code错误,然后继续本地获取code,直到成功

reov commented 2 years ago

那应该怎么操作

zzcabc commented 2 years ago

那应该怎么操作

在https://github.com/txperl/PixivBiu/releases 下载可执行程序,然后启动,在程序中输入code,直到可以成功登录,然后将user文件夹下的.token.json文件上传到unraid,然后映射到docker中,启动镜像

zzcabc commented 2 years ago

可以了吗,我测试了多次,从最新版客户端导入token.json文件,都可以使用

SA8620 commented 5 months ago

你好,我也是Unraid docker。我是用這個方式建立 docker run -d \ --name pixivbiu \ --user $(id -u):$(id -g) \ -p 4001:80 \ -e sys.debug=false \ -e sys.apiRoute="direct" \ -e sys.proxy="no" \ -e sys.language="zh" \ -e sys.theme="multiverse" \ -e sys.autoOpen=true \ -e sys.ignoreOutdated=false \ -e biu.search.maxThreads=8 \ -e biu.search.loadCacheFirst=true \ -e biu.search.maxCacheSizeMiB=512 \ -e biu.download.mode="dl-single" \ -e biu.download.aria2Host="localhost:6800" \ -e biu.download.aria2Secret="*****" \ -e biu.download.deterPaths=true \ -e biu.download.maxDownloading=8 \ -e biu.download.saveURI="{ROOTPATH}/downloads/{datetoday}/" \ -e biu.download.saveFileName="{title}{work_id}" \ -e biu.download.autoArchive=true \ -e biu.download.whatsUgoira=webp \ -e biu.download.imageHost="https://i.pximg.net" \ -e secret.key.apiSauceNAO="**" \ -v /mnt/user/Unraid/Download/Pixiv/downloads:/Pixiv/downloads \ -v /mnt/user/appdata/Pixiv/usr/.token:/Pixiv/usr/.token \ registry.cn-hangzhou.aliyuncs.com/zzcabc/pixivbiu:latest

token是從win11電腦客戶端usr獲取的,電腦客戶端能夠正常執行,但是docker無法運行。

錯誤如下: 317774127-eea9200f-6dd6-4355-9df4-7918df0f223e 出現了網絡問題和token錯誤

想問問怎樣解決?

zzcabc commented 5 months ago

你好,我也是Unraid docker。我是用這個方式建立 docker run -d --name pixivbiu --user (id−u):(id -g) -p 4001:80 -e sys.debug=false -e sys.apiRoute="direct" -e sys.proxy="no" -e sys.language="zh" -e sys.theme="multiverse" -e sys.autoOpen=true -e sys.ignoreOutdated=false -e biu.search.maxThreads=8 -e biu.search.loadCacheFirst=true -e biu.search.maxCacheSizeMiB=512 -e biu.download.mode="dl-single" -e biu.download.aria2Host="localhost:6800" -e biu.download.aria2Secret="*****" -e biu.download.deterPaths=true -e biu.download.maxDownloading=8 -e biu.download.saveURI="{ROOTPATH}/downloads/{datetoday}/" -e biu.download.saveFileName="{title}{work_id}" -e biu.download.autoArchive=true -e biu.download.whatsUgoira=webp -e biu.download.imageHost="https://i.pximg.net" -e secret.key.apiSauceNAO="**" -v /mnt/user/Unraid/Download/Pixiv/downloads:/Pixiv/downloads -v /mnt/user/appdata/Pixiv/usr/.token:/Pixiv/usr/.token registry.cn-hangzhou.aliyuncs.com/zzcabc/pixivbiu:latest

token是從win11電腦客戶端usr獲取的,電腦客戶端能夠正常執行,但是docker無法運行。

錯誤如下: 317774127-eea9200f-6dd6-4355-9df4-7918df0f223e 出現了網絡問題和token錯誤

想問問怎樣解決?

先修正问题 -p 4001:80 代码使用的端口是4001,这里是-p 可用端口:4001

取消映射 /mnt/user/appdata/Pixiv/usr/.token:/Pixiv/usr/.token 尝试使用docker attach pixivbiu(容器名称或容器id) 然后手动从容器内设置token 使用attach命令需要容器启动,先使用docker start pixivbiu然后马上输入docker attach pixivbiu

SA8620 commented 5 months ago

圖片 圖片 我直接改用應用商店提供的模板,是這樣設置嗎 圖片

zzcabc commented 5 months ago

这个模板没搞懂,不过过程是没问题的,我联系一下开发者,看看能不能检测到docker环境暂停一下登录检测

SA8620 commented 5 months ago

因為我發現打指令和模板提供的都差不多 取消映射 /mnt/user/appdata/Pixiv/usr/.token:/Pixiv/usr/.token 反而沒有出現token錯誤信息,是直接沒有做檢查token這個動作.要依賴容器啟動成功後透過命令介面輸入,像主機客戶端一樣.但就是會自動終止無法進行輸入.也就是無法進入第1步. 這個問題我也有問原作者txperl,他叫我可以嘗試執行 PixivBiu Ubuntu 的编译包,但我不想開虛擬機.

zzcabc commented 5 months ago

因為我發現打指令和模板提供的都差不多 取消映射 /mnt/user/appdata/Pixiv/usr/.token:/Pixiv/usr/.token 反而沒有出現token錯誤信息,是直接沒有做檢查token這個動作.要依賴容器啟動成功後透過命令介面輸入,像主機客戶端一樣.但就是會自動終止無法進行輸入.也就是無法進入第1步. 這個問題我也有問原作者txperl,他叫我可以嘗試執行 PixivBiu Ubuntu 的编译包,但我不想開虛擬機.

是的,可能token只能使用一次,无法进行替换,我已经在拷打他了,看看能不能在输入命令之前能不能等待几秒,以便用户可以进入到docker中

SA8620 commented 5 months ago

不急不急慢慢來

zzcabc commented 5 months ago

不急不急慢慢來

如果可以的话,帮我进行测试,只需要将docker image改成 zzcabc/pixivbiu-test:latest-src 这个版本会在启动过程等待10秒

SA8620 commented 5 months ago

圖片 圖片

SA8620 commented 5 months ago

圖片

zzcabc commented 5 months ago

@SA8620 我傻逼了,使用创建镜像的时候要使用 将 docker run -d 改成 docker run -itd
也不需要使用测试docker了,使用之前的镜像,

docker run -dit \
    --name pixivbiu \
    -p 4001:4001 \

    ......
    zzcabc/pixivbiu

使用 -i(保持 STDIN 打开,即使没有附加)或 -it(同时保持 STDIN 打开并分配一个终端)参数,这样可以让你的程序能够接收输入

然后在attach到容器内 如果使用正式版镜像,attach无内容,输入y回车即可

SA8620 commented 5 months ago

註解 2024-04-01 134201 圖片 註解 2024-04-01 134355 docker run -dit \ --name pixivbiu \ -p 4001:4001 \ -e sys.debug=false \ -e sys.apiRoute="direct" \ -e sys.proxy="no" \ -e sys.language="zh" \ -e sys.theme="multiverse" \ -e sys.autoOpen=true \ -e sys.ignoreOutdated=false \ -e biu.search.maxThreads=8 \ -e biu.search.loadCacheFirst=true \ -e biu.search.maxCacheSizeMiB=512 \ -e biu.download.mode="dl-single" \ -e biu.download.aria2Host="localhost:6800" \ -e biu.download.aria2Secret="xiaodi" \ -e biu.download.deterPaths=true \ -e biu.download.maxDownloading=8 \ -e biu.download.saveURI="{ROOTPATH}/downloads/{datetoday}/" \ -e biu.download.saveFileName="{title}{work_id}" \ -e biu.download.autoArchive=true \ -e biu.download.whatsUgoira=webp \ -e biu.download.imageHost="https://i.pximg.net" \ -e secret.key.apiSauceNAO="4ddda08c86e31d0c76681de67994a1eb48ea0ff1" \ -v /mnt/user/Unraid/Download/Pixiv:/Pixiv/downloads \ zzcabc/pixivbiu

zzcabc commented 5 months ago

这里似乎是你的网络问题,在命令行输入 curl public-api.secure.pixiv.net 是否返回403 另外我有点不解,有很多环境变量都是默认的,为什么还要设置 直接使用不行吗

docker run -dit \
--name pixivbiu \
-p 4001:4001 \
-e secret.key.apiSauceNAO="4ddda08c86e31d0c76681de67994a1eb48ea0ff1" \
-v /mnt/user/Unraid/Download/Pixiv:/Pixiv/downloads \
zzcabc/pixivbiu
SA8620 commented 5 months ago

圖片 原本用Aria2 pro下載,Zh語言,下載10,更改檔案命名方式,就全部打掉了。

zzcabc commented 5 months ago

第一个异常表明脚本在尝试进行网络登录操作时出错了,具体是因为缺失了 refresh_token,这通常用于刷新过期的登录令牌。 第二个异常与 SSL 连接有关。错误信息 “Cannot create a client socket with a PROTOCOL_TLS_SERVER context” 指出程序试图以 TLS 服务器协议创建一个客户端套接字,这通常是不合适的,因为客户端和服务器使用的是不同的SSL/TLS配置。 第三个异常 “Max retries exceeded with url” 通常发生在 HTTP 请求尝试了多次后仍然失败时。

感觉是网络问题,尝试在代理中跳过证书验证,或者手动设置代理

SA8620 commented 5 months ago

這個我就不會弄了,想放棄了。謝謝你,打擾了

yushizui commented 2 months ago

這個我就不會弄了,想放棄了。謝謝你,打擾了

就是网络的问题,环境变量里加上sock5代理就能用,直接挂载了上传的客户端提取的token直接打开就行,格式是socks5://192.168.0.1:1080,加前错误和你的一摸一样,但pc上直接打开程序就能用不知道为啥,我路由器直接开了passwall分流的,怀疑和docker的bridge网关没有ipv6有关