diff --git a/app/domain/Crontab.php b/app/domain/Crontab.php index 99c258d..2ea4a82 100644 --- a/app/domain/Crontab.php +++ b/app/domain/Crontab.php @@ -80,7 +80,7 @@ class Crontab !is_dir($dir) and mkdir($dir, 0777, true); }); - // 初始化计划任务文件 + // 初始化计划任务文件[不同平台的配置导入,会造成command错误,需要重新解析命令] $cron = Conf::get(domainConfig::filename['crontab'], Constant::config_format, []); array_walk($cron, function ($v, $k){ self::createHock($v); diff --git a/docker/AMD64/Dockerfile b/docker/AMD64/Dockerfile index 6c755e7..0646b3c 100644 --- a/docker/AMD64/Dockerfile +++ b/docker/AMD64/Dockerfile @@ -81,7 +81,8 @@ RUN set -ex \ php7-zip \ php7-zlib \ php7-xml \ - && git clone https://github.com/ledccn/IYUUPlus.git /IYUU \ + # && git clone https://github.com/ledccn/IYUUPlus.git /IYUU \ + && git clone https://gitee.com/ledc/iyuuplus.git /IYUU \ && cd /IYUU && php -r "file_exists('.env') || copy('.env.example', '.env');" \ && apk del --purge *-dev \ # install latest composer diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 61a6191..10f71d1 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -2,7 +2,8 @@ set -e envFile="/IYUU/.env" if [ ! -f "$envFile" ]; then -git clone https://github.com/ledccn/IYUUPlus.git /IYUU +#git clone https://github.com/ledccn/IYUUPlus.git /IYUU +git clone https://gitee.com/ledc/iyuuplus.git /IYUU cd /IYUU && php -r "file_exists('.env') || copy('.env.example', '.env');" fi cd /IYUU && git fetch --all && git reset --hard origin/master diff --git a/public/page/login.html b/public/page/login.html index 0473047..e937e88 100644 --- a/public/page/login.html +++ b/public/page/login.html @@ -38,11 +38,11 @@
- +
- +
@@ -157,6 +157,29 @@ }); }); + /** + * 表单验证 + */ + form.verify({ + token: function(value, item){ //value:表单的值、item:表单的DOM对象 + if(!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)){ + return '爱语飞飞Token不能有特殊字符'; + } + if(/(^\_)|(\__)|(\_+$)/.test(value)){ + return '爱语飞飞Token首尾不能出现下划线\'_\''; + } + if(/^\d+\d+\d$/.test(value)){ + return '爱语飞飞Token不能全为数字'; + } + } + //我们既支持上述函数式的方式,也支持下述数组的形式 + //数组的两个值分别代表:[正则匹配、匹配不符时的提示文字] + ,pass: [ + /^[\S]{6,30}$/ + ,'密码必须6到30位,且不能出现空格' + ] + }); + // 登录事件 form.on('submit('+ API.submitFilter +')', function (d) { console.log(d.field); @@ -193,6 +216,7 @@ /** * 用户验证弹窗 + * @param {object} recommend 推荐站点 */ user_verify_action = function(recommend) { getById('verify').classList.remove('layui-hide'); @@ -216,6 +240,8 @@ /** * 弹窗内:显示站点选择框 + * @param {object} recommend 推荐站点 + * @param {int} total 推荐站点总数 */ sites_show = function(recommend = null, total = 0) { let getTpl = sites_sel_tpl.innerHTML @@ -229,6 +255,7 @@ /** * 弹窗内:站点选择框动作 + * @param {string} site 站点名字 */ sites_sel_action = function(site = '') { let rule = JSON.parse(JSON.stringify(API.site_field_rule)) diff --git a/public/page/setting/sites.html b/public/page/setting/sites.html index a7bf605..668f1a9 100644 --- a/public/page/setting/sites.html +++ b/public/page/setting/sites.html @@ -229,11 +229,12 @@ }; } ,cols: [[ - {field: 'name', title: '站点名称', width:150, align: "center", sort: true, fixed: 'left'} + {type:'numbers', fixed: 'left'} + ,{field: 'name', title: '站点名称', width:130, align: "center", sort: true} ,{field: 'uuid', title: 'UUID', width:80, align: "center", hide: true} ,{field: 'cookie', title: 'Cookie', minWidth:380, align: "center", sort: true} ,{field: 'passkey', title: 'Passkey', width:300, align: "center", sort: true} - ,{field: 'id', title: '用户id', width: 110, align: "center", sort: true} + ,{field: 'id', title: '用户id', width: 90, align: "center", sort: true} ,{field: 'limitRule', title: '流控规则', width: 110, align: "center", sort: true ,templet: function(d){ if (d.limitRule) { diff --git a/public/page/welcome.html b/public/page/welcome.html index b5cceaa..d86bfb4 100644 --- a/public/page/welcome.html +++ b/public/page/welcome.html @@ -232,6 +232,7 @@ 下载地址 + Docker:IYUUPlus
gitee:IYUUPlus | IYUUAutoReseed
github:IYUUPlus | IYUUAutoReseed diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..4f16b88 --- /dev/null +++ b/todo.md @@ -0,0 +1,10 @@ +## TODO清单: + +- [ ] 辅种结束,写结束日志 +- [ ] 一键清理辅种缓存 +- [ ] 一键清理转移缓存 +- [ ] [站点设置]已添加的,屏蔽选择 +- [ ] 前端实时显示任务运行状态(Ajax) +- [ ] 一键更新到最新版 +- [ ] 跨平台的配置导入导出(任务热刷新) +- [ ] 分批次请求辅种,解决客户端做种多辅种失败的问题(有的客户端内做种6000个) \ No newline at end of file