背景:为了长期可持续发展,大佬做了重大更新。由此带来的副作用也非常明显,cookie管理变得麻烦了,互助功能也变得复杂了。本人只能特暂时别怂的啃老,暂时不更新了。后面有时间再折腾。但是还是简单写一下新功能吧。给需要的朋友。
一、如果你幸运的停留在2.2版本,且想?️止自动更新,请进行下面的操作
第一步:青龙面板-搜索?定时任务“ql update”,禁用它;
第二步:ssh连接群晖,把重启更新任务也禁用;
Ps:能不重启就不要重启吧,万一尼万一尼???
1、因为docker文件夹没有映射,需要先把docker-entrypoint.sh文件cp出来,编辑好再cp进去。
sudo docker cp QL:/ql/docker/docker-entrypoint.sh /volume1/docker/QL
#复制容器内docker-entrypoint.sh到本地路径/volume1/docker/QL(根据自己路径改)
2、去刚刚的路径,找到复制出来的文件进行编辑,将第2条全部注释。
文末附一个我已经 cp出来改好的文件,当然一切后果俺负不了责任?♀️,勇士们冲?

3、把改好的docker-entrypoint.sh文件丢进到容器文件夹内。
sudo docker cp /volume1/docker/docker-entrypoint.sh QL:/ql/docker/
#复制自己路径下的文件丢进容器,QL是容器名称(根据自己的改)
二、如果你被迫升级想回退到2.2版本,可暂使用以下方法
版本一:青龙2.2.0-066(禁用自动更新版本)作者:limoe
1、删除原青龙DOCKER ?删除 ql/scripts/node_modules 这个目录(不删除的话 npm不兼容,会报错)?重新拉取limoe/qinglong:latest镜像(这是某大佬自己打包的“青龙2.2.0-066禁用自动更新版本”)

2、然后做下面的文件夹映射:?左边是自己的本地文件夹(根据自己的文件夹对应改路径),?右边是容器文件夹。
相信部署过的同学????应该都懂。
QL/config:/ql/config
QL/scripts:/ql/scripts
QL/repo:/ql/repo
QL/log:/ql/log
QL/db:/ql/db
3、然后启动容器,不出意外的话应该是没有问题的,已有站友成功回退。
版本二:2.2-jdc(-bot)集成青龙+bot+JDC2.0.3 作者:drewnb
此作者提供了多个版本,请大家拉取镜像时注意按需选择。作者的版本介绍:
- 2.2-jdc 为锁定版,以更改为本人源码(源码更改自limoe大佬),无bot,jdc随容器启动
- 2.2-jdc-bot 为锁定版,以更改为本人源码(源码更改自limoe大佬),有bot,jdc随容器启动
- jdc为2.8尝鲜版(2.8的源码和2.2的页面构建),jdc镜像源自whyour大佬 ,无bot,有BUG
部署命令:
群晖用户根据命令注释,按照之前的部署教程部署,举一反三。
docker run -dit
-v $PWD/ql/config:/ql/config
##这是文件夹映射?
##?是自己建立的本地文件夹?(可自定义),?是容器的文件夹。(下⬇️同)
-v $PWD/ql/log:/ql/log
-v $PWD/ql/scripts:/ql/scripts
-p 5700:5700
-p 5701:5701
##这是端口
-e ENABLE_HANGUP=false
-e ENABLE_WEB_PANEL=true
--name qinglong
##这是容器名称(可自定义)
--hostname qinglong
--restart always
drewnb/qinglong:2.2-jdc
##拉取的版本,想用bot,记得改成2.2-jdc-bot
特别交代?:
- 青龙bot:重启后请进入青龙面板-配置文件-设置AutoStartBot=”true”,这样每次容器重启,bot也会自动重启。
- 青龙IP: 容器IP:5700
- JDCIP: 容器IP:5701
- 多容器部署:
-p 5700:5700 \ XXXX:5700
-p 5701:5701 \XXXX:5701
##XXXX是多容器的登录端口

不知道刚进来的小白白能不能懂?的命令,这周抽空补群晖图,方便理解。(半年度真的太忙了!?)
但是,人总要向前看,要适应新产物,现在你觉得他不好,只是你还没发现他的好。而且,我觉得从可持续发展的角度来看,升级也是必然的。革新嘛,总会有一个痛苦的过程,以后就是崭新的世界。所以,新面板的方法,暂时也给一下。最近?多,暂把大佬的说明搬过来,不展开写,后面再详细写。先给大家应急吧。
一、青龙面板2.8新版本使用
更新说明:
- session管理改为环境变量管理,新建需要指定对应的环境变量,理论上,本页面可添加任何你需要的环境变量
- 配置文件页可修改config目录下的文件,包含但不限于config.sh/extra.sh/task_before.sh/task_after.sh
- 自定义脚本改为查看脚本,可查看scripts目录下所有文件
- 添加task_before.sh和task_after.sh钩子,方便在执行任务前及任务后执行需要的操作
- 移除内置互助功能(简直暴击?)
- 移除tempBlockCookie功能
1、2.2升级到2.8版本,请执行以下命令(2次,一定要执行2次,1次执行完后等一会儿,再执行1次)
sudo docker exec -it QL ql update
##QL代表你的容器名称,请根据自己的容器名称进行修改
sudo docker exec -it QL ql update
2、京东Cookie填写:青龙面板?环境变量?点击添加env?变量名称“JD_COOKIE”(⚠️大写)?值填入你的cookie环境变量(如有多个ck,一行一个的格式一起粘贴进去即可,不用一个一个cookie的输入)

PS:2.2.0升级的能直接看到所有ck,但是没有环境变量名称,可以选中所有ck,批量修改环境变量名新建cookie去环境变量管理添加,名称写JD_COOKIE,值填你自己的cookie,可以写一个或者多个,备注随意

3、互助码的填写
方法一:移花接木法
- 添加文末的 code.sh 的定时任务(放入scripts),然后面板新建定时任务 task code.sh;
- 修改 task_before.sh 中的内容:把以前log目录下,子目录code里的最新的文件内容拷贝到task_before.sh(config文件夹)中,最下面添加部分代码,参考文末task_before.sh;
- code.sh 中的 name_js 如果不一样,自行修改作者前缀(参考原互助教程);
- ql update 执行后面板打不开的,执行 docker exec -it qinglong nginx -c /etc/nginx/nginx.conf 试试

方法二:在环境变量管理或者config.sh或者task_before.sh任意文件中export脚本需要的环境变量

方法三:这也是某大佬给的方法,大家先自行测试吧。本人这周没时间测试了?
2.2青龙升级2.8青龙后填互助码方法:(以前跑过的,不是重新部署的)
找到原来/log/code/下最新的日志全选复制?面板配置文件 - task_before.sh(右上角选择,此时刚打开只有一行#!/usr/bin/env bash),在下面粘贴,再换行,把下面的代码粘贴上去保存即可。
env_name=(
FRUITSHARECODES
PETSHARECODES
PLANT_BEAN_SHARECODES
DREAM_FACTORY_SHARE_CODES
DDFACTORY_SHARECODES
JDZZ_SHARECODES
JDJOY_SHARECODES
JXNC_SHARECODES
BOOKSHOP_SHARECODES
JD_CASH_SHARECODES
JDSGMH_SHARECODES
JDCFD_SHARECODES
JDHEALTH_SHARECODES
)
var_name=(
ForOtherFruit
ForOtherPet
ForOtherBean
ForOtherDreamFactory
ForOtherJdFactory
ForOtherJdzz
ForOtherJoy
ForOtherJxnc
ForOtherBookShop
ForOtherCash
ForOtherSgmh
ForOtherCfd
ForOtherHealth
)
combine_sub() {
local what_combine=$1
local combined_all=""
local tmp1 tmp2
local envs=$(eval echo "\$JD_COOKIE")
local array=($(echo $envs | sed 's/&/ /g'))
local user_sum=${#array[*]}
for ((i = 1; i <= $user_sum; i++)); do
local tmp1=$what_combine$i
local tmp2=${!tmp1}
combined_all="$combined_all&$tmp2"
done
echo $combined_all | perl -pe "{s|^&||; s|^@+||; s|&@|&|g; s|@+&|&|g; s|@+|@|g; s|@+$||}"
}
正常依次运行时,组合所有账号的Cookie与互助码
combine_all() {
for ((i = 0; i < ${#env_name[*]}; i++)); do
result=$(combine_sub ${var_name[i]})
if [[ $result ]]; then
export ${env_name[i]}="$result"
fi
done
}
combine_all
后话:目前自己没更新新版,没时间折腾,但是搜罗了一些方法,准备后面再去验证。大家如果着急的话自己先试试吧。?️最新动静,我会尽可能更新的。太晚了,我要洗洗睡了。明天还有好多?,太难了。
后话:更多高阶玩法,请戳下方?
这真是个好文章,谢谢
学习中
辛苦大佬分享了,我先学习一下
辛苦了,学习一下
感谢分享
谢谢分享,学习了
辛苦大佬分享了,我先学习一下
先看看,不明白的地方再问
真棒,感谢分享!