Open reov opened 2 years ago
尝试使用电脑端获取cookie,然后复制usr下的.token.json,上传unraid,映射到容器内部 https://github.com/txperl/PixivBiu/releases/tag/v2.2.0b
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
已映射
这里token应该有误,我测试的时候都是使用客户端进行获取token然后将token.json映射的
什么客户端,我是按照readme里面做的啊
可以去下载txperl 原始的可执行版本 https://github.com/txperl/PixivBiu/releases/tag/v2.2.0b
因为我也发现了,使用我写的获取token无法使用
写的获取token无法使用
然后正常登录之后在将usr目录下的.token.json映射进去
我试验了很多次,情况是一样的,txperl的也不行
pixiv使用Oauth2验证, 这个code的有效期很短, 建议直接在token处填refresh_token
关于refresh_token获取可以看这个https://gist.github.com/ZipFile/c9ebedb224406f4f11845ab700124362
抱歉拖了这么久
在获取.token.json
的时候,我使用了本机可执行程序,获取code,然后将.token.json
上传至服务器,并且映射到docker内,可能存在code错误,然后继续本地获取code,直到成功
那应该怎么操作
那应该怎么操作
在https://github.com/txperl/PixivBiu/releases 下载可执行程序,然后启动,在程序中输入code,直到可以成功登录,然后将user文件夹下的.token.json文件上传到unraid,然后映射到docker中,启动镜像
可以了吗,我测试了多次,从最新版客户端导入token.json文件,都可以使用
你好,我也是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無法運行。
錯誤如下: 出現了網絡問題和token錯誤
想問問怎樣解決?
你好,我也是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無法運行。
錯誤如下: 出現了網絡問題和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
我直接改用應用商店提供的模板,是這樣設置嗎
这个模板没搞懂,不过过程是没问题的,我联系一下开发者,看看能不能检测到docker环境暂停一下登录检测
因為我發現打指令和模板提供的都差不多 取消映射 /mnt/user/appdata/Pixiv/usr/.token:/Pixiv/usr/.token 反而沒有出現token錯誤信息,是直接沒有做檢查token這個動作.要依賴容器啟動成功後透過命令介面輸入,像主機客戶端一樣.但就是會自動終止無法進行輸入.也就是無法進入第1步. 這個問題我也有問原作者txperl,他叫我可以嘗試執行 PixivBiu Ubuntu 的编译包,但我不想開虛擬機.
因為我發現打指令和模板提供的都差不多 取消映射 /mnt/user/appdata/Pixiv/usr/.token:/Pixiv/usr/.token 反而沒有出現token錯誤信息,是直接沒有做檢查token這個動作.要依賴容器啟動成功後透過命令介面輸入,像主機客戶端一樣.但就是會自動終止無法進行輸入.也就是無法進入第1步. 這個問題我也有問原作者txperl,他叫我可以嘗試執行 PixivBiu Ubuntu 的编译包,但我不想開虛擬機.
是的,可能token只能使用一次,无法进行替换,我已经在拷打他了,看看能不能在输入命令之前能不能等待几秒,以便用户可以进入到docker中
不急不急慢慢來
不急不急慢慢來
如果可以的话,帮我进行测试,只需要将docker image改成 zzcabc/pixivbiu-test:latest-src
这个版本会在启动过程等待10秒
@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回车即可
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
这里似乎是你的网络问题,在命令行输入 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
原本用Aria2 pro下載,Zh語言,下載10,更改檔案命名方式,就全部打掉了。
第一个异常表明脚本在尝试进行网络登录操作时出错了,具体是因为缺失了 refresh_token,这通常用于刷新过期的登录令牌。 第二个异常与 SSL 连接有关。错误信息 “Cannot create a client socket with a PROTOCOL_TLS_SERVER context” 指出程序试图以 TLS 服务器协议创建一个客户端套接字,这通常是不合适的,因为客户端和服务器使用的是不同的SSL/TLS配置。 第三个异常 “Max retries exceeded with url” 通常发生在 HTTP 请求尝试了多次后仍然失败时。
感觉是网络问题,尝试在代理中跳过证书验证,或者手动设置代理
這個我就不會弄了,想放棄了。謝謝你,打擾了
這個我就不會弄了,想放棄了。謝謝你,打擾了
就是网络的问题,环境变量里加上sock5代理就能用,直接挂载了上传的客户端提取的token直接打开就行,格式是socks5://192.168.0.1:1080,加前错误和你的一摸一样,但pc上直接打开程序就能用不知道为啥,我路由器直接开了passwall分流的,怀疑和docker的bridge网关没有ipv6有关
日志显示 [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