diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua index b2cb81bddee..d1850cca712 100644 --- a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua @@ -19,12 +19,34 @@ o = s:option(Flag, "auto_update", translate("Auto Update")) o.rmempty = false o.description = translate("Auto Update Server subscription, GFW list and CHN route") -o = s:option(ListValue, "auto_update_time", translate("Update time (every day)")) +o = s:option(ListValue, "auto_update_week_time", translate("Update Time (Every Week)")) +o:value('*', translate("Every Day")) +o:value("1", translate("Every Monday")) +o:value("2", translate("Every Tuesday")) +o:value("3", translate("Every Wednesday")) +o:value("4", translate("Every Thursday")) +o:value("5", translate("Every Friday")) +o:value("6", translate("Every Saturday")) +o:value("0", translate("Every Sunday")) +o.default = "*" +o.rmempty = false +o:depends("auto_update", "1") + +o = s:option(ListValue, "auto_update_day_time", translate("Update time (every day)")) for t = 0, 23 do o:value(t, t .. ":00") end o.default = 2 o.rmempty = false +o:depends("auto_update", "1") + +o = s:option(ListValue, "auto_update_min_time", translate("Update Interval (min)")) +for i = 0, 59 do + o:value(i, i .. ":00") +end +o.default = 30 +o.rmempty = false +o:depends("auto_update", "1") o = s:option(DynamicList, "subscribe_url", translate("Subscribe URL")) o.rmempty = true diff --git a/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po b/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po index 6bc594437f2..69dae195853 100644 --- a/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po +++ b/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po @@ -608,6 +608,36 @@ msgstr "格式为 IP:PORT(默认:禁用)" msgid "Update time (every day)" msgstr "更新时间(每天)" +msgid "Update Time (Every Week)" +msgstr "更新时间(每周)" + +msgid "Update Interval (min)" +msgstr "更新间隔 (分钟)" + +msgid "Every Day" +msgstr "每天" + +msgid "Every Monday" +msgstr "每周一" + +msgid "Every Tuesday" +msgstr "每周二" + +msgid "Every Wednesday" +msgstr "每周三" + +msgid "Every Thursday" +msgstr "每周四" + +msgid "Every Friday" +msgstr "每周五" + +msgid "Every Saturday" +msgstr "每周六" + +msgid "Every Sunday" +msgstr "每周日" + msgid "Auto Update Server subscription, GFW list and CHN route" msgstr "自动更新服务器订阅、GFW 列表和中国大陆 IP 段" diff --git a/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index 8edf65b4f1d..13266dc8ea8 100755 --- a/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -69,7 +69,7 @@ uci_get_by_name() { uci_get_by_type() { local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) - echo ${ret:=$3} + echo "${ret:=$3}" } uci_set_by_name() { @@ -123,7 +123,7 @@ echolog() { add_cron() { touch $CRON_FILE sed -i '/ssrplus.log/d' $CRON_FILE - [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/share/shadowsocksr/ssrplusupdate.sh >$LOG_FILE" >>$CRON_FILE + [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "$(uci_get_by_type server_subscribe auto_update_min_time) $(uci_get_by_type server_subscribe auto_update_day_time) * * $(uci_get_by_type server_subscribe auto_update_week_time) /usr/share/shadowsocksr/ssrplusupdate.sh >$LOG_FILE" >>$CRON_FILE crontab $CRON_FILE } diff --git a/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus b/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus index d4efcd04a17..6cc6fce6ff2 100755 --- a/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus +++ b/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus @@ -30,12 +30,23 @@ touch /etc/ssrplus/ad.conf touch /etc/config/shadowsocksr if [ -s "/etc/config/shadowsocksr" ]; then + if uci -q get shadowsocksr.@server_subscribe[0].auto_update_time > /dev/null; then + uci -q delete shadowsocksr.@server_subscribe[0].auto_update_time + fi + + if ! uci -q get shadowsocksr.@server_subscribe[0].auto_update_week_time > /dev/null; then + uci -q set shadowsocksr.@server_subscribe[0].auto_update_week_time='*' + uci -q set shadowsocksr.@server_subscribe[0].auto_update_day_time='2' + uci -q set shadowsocksr.@server_subscribe[0].auto_update_min_time='0' + fi + if ! uci -q get shadowsocksr.@global_xray_fragment[0] > /dev/null; then uci -q add shadowsocksr global_xray_fragment uci -q set shadowsocksr.@global_xray_fragment[0].fragment='0' uci -q set shadowsocksr.@global_xray_fragment[0].noise='0' - uci -q commit shadowsocksr fi + + uci -q commit shadowsocksr fi [ -s "/etc/config/shadowsocksr" ] || /etc/init.d/shadowsocksr reset diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/shadowsocksr.config b/luci-app-ssr-plus/root/usr/share/shadowsocksr/shadowsocksr.config index 6d9f2874986..9a9276098da 100644 --- a/luci-app-ssr-plus/root/usr/share/shadowsocksr/shadowsocksr.config +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/shadowsocksr.config @@ -22,8 +22,10 @@ config global config server_subscribe option proxy '0' - option auto_update_time '2' option auto_update '1' + option auto_update_week_time '*' + option auto_update_day_time '2' + option auto_update_min_time '0' option filter_words '过期时间/剩余流量/QQ群/官网/防失联地址/回国' config access_control