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

无法下一步 #2

Open
reov opened this issue Dec 18, 2021 · 29 comments
Open

无法下一步 #2

reov opened this issue Dec 18, 2021 · 29 comments

Comments

@reov
Copy link

reov commented Dec 18, 2021

日志显示
[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
Copy link
Owner

zzcabc commented Dec 18, 2021

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

@reov
Copy link
Author

reov commented Dec 19, 2021

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
Copy link
Owner

zzcabc commented Dec 20, 2021

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

@reov
Copy link
Author

reov commented Dec 21, 2021

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

@zzcabc
Copy link
Owner

zzcabc commented Dec 21, 2021

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

@zzcabc
Copy link
Owner

zzcabc commented Dec 21, 2021

写的获取token无法使用

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

@reov
Copy link
Author

reov commented Dec 28, 2021

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

@kuusei
Copy link

kuusei commented Jan 9, 2022

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

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

@zzcabc
Copy link
Owner

zzcabc commented Feb 21, 2022

抱歉拖了这么久

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

@reov
Copy link
Author

reov commented Feb 22, 2022

那应该怎么操作

@zzcabc
Copy link
Owner

zzcabc commented Feb 23, 2022

那应该怎么操作

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

@zzcabc
Copy link
Owner

zzcabc commented May 2, 2022

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

@SA8620
Copy link

SA8620 commented Mar 29, 2024

你好,我也是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/{date_today}/"
-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
Copy link
Owner

zzcabc commented Mar 29, 2024

你好,我也是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/{date_today}/" -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
Copy link

SA8620 commented Mar 29, 2024

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

@zzcabc
Copy link
Owner

zzcabc commented Mar 29, 2024

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

@SA8620
Copy link

SA8620 commented Mar 29, 2024

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

@zzcabc
Copy link
Owner

zzcabc commented Mar 29, 2024

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

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

@SA8620
Copy link

SA8620 commented Mar 29, 2024

不急不急慢慢來

@zzcabc
Copy link
Owner

zzcabc commented Mar 29, 2024

不急不急慢慢來

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

@SA8620
Copy link

SA8620 commented Mar 29, 2024

圖片
圖片

@SA8620
Copy link

SA8620 commented Mar 29, 2024

圖片

@zzcabc
Copy link
Owner

zzcabc commented Apr 1, 2024

@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
Copy link

SA8620 commented Apr 1, 2024

註解 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/{date_today}/"
-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
Copy link
Owner

zzcabc commented Apr 1, 2024

这里似乎是你的网络问题,在命令行输入 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
Copy link

SA8620 commented Apr 1, 2024

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

@zzcabc
Copy link
Owner

zzcabc commented Apr 1, 2024

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

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

@SA8620
Copy link

SA8620 commented Apr 1, 2024

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

@yushizui
Copy link

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants