🎉 Sync 2026-04-23 10:19:04

This commit is contained in:
github-actions[bot] committed 2026-04-23 10:19:04 +08:00
1 parent 68ee9304c4
commit 5d76369f2e
18 files changed
+35 -163

No files matched your search

+2 -2
View File
@@ -5,8 +5,8 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=dae PKG_NAME:=dae
PKG_VERSION:=1.0.0 PKG_VERSION:=1.1.0
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
PKG_SOURCE_URL:=https://github.com/daeuniverse/dae/releases/download/v$(PKG_VERSION)/dae-full-src.zip? PKG_SOURCE_URL:=https://github.com/daeuniverse/dae/releases/download/v$(PKG_VERSION)/dae-full-src.zip?
+1 -1
View File
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall PKG_NAME:=luci-app-passwall
PKG_VERSION:=26.4.15 PKG_VERSION:=26.4.15
PKG_RELEASE:=91 PKG_RELEASE:=92
PKG_PO_VERSION:=$(PKG_VERSION) PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \ PKG_CONFIG_DEPENDS:= \
@@ -440,7 +440,7 @@ local function fetch_rule(rule_name, rule_type, url, exclude_domain, max_retries
line = line:gsub("full:", "") line = line:gsub("full:", "")
if not (is_comment_line(line) or is_ipv4(line) or has_colon(line) or (exclude_domain and check_excluded_domain(line))) then if not (is_comment_line(line) or is_ipv4(line) or has_colon(line) or (exclude_domain and check_excluded_domain(line))) then
local match = extract_domain(line) local match = extract_domain(line)
if match then if match and not is_ipv4(match) then
rule_dataset[match] = true rule_dataset[match] = true
end end
end end
@@ -451,7 +451,7 @@ local function fetch_rule(rule_name, rule_type, url, exclude_domain, max_retries
line = line:gsub("full:", "") line = line:gsub("full:", "")
if not (is_comment_line(line) or is_ipv4(line) or has_colon(line) or (exclude_domain and check_excluded_domain(line))) then if not (is_comment_line(line) or is_ipv4(line) or has_colon(line) or (exclude_domain and check_excluded_domain(line))) then
local match = extract_domain(line) local match = extract_domain(line)
if match then if match and not is_ipv4(match) then
rule_dataset[match] = true rule_dataset[match] = true
end end
end end
+3 -1
View File
@@ -2,8 +2,10 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-pingcontrol PKG_NAME:=luci-app-pingcontrol
LUCI_DEPENDS:=+pingcontrol LUCI_DEPENDS:=+pingcontrol
PKG_VERSION:=1 PKG_VERSION:=1
PKG_RELEASE:=3
PKG_RELEASE:=4
LUCI_TITLE:=LuCI network interface control LUCI_TITLE:=LuCI network interface control
@@ -43,9 +43,6 @@ return view.extend({
o = s.taboption('general',form.DynamicList, 'testip', _('IP address or hostname of test servers')); o = s.taboption('general',form.DynamicList, 'testip', _('IP address or hostname of test servers'));
o.datatype = 'or(hostname,ipaddr("nomask"))'; o.datatype = 'or(hostname,ipaddr("nomask"))';
o = s.taboption('general',form.Flag, 'ping_silent', _('Silent mode'), _('Do not log success ping'));
o = s.taboption('general',form.Value, 'check_period', _('Period of check, sec')); o = s.taboption('general',form.Value, 'check_period', _('Period of check, sec'));
o.rmempty = false; o.rmempty = false;
o.datatype = 'and(uinteger,min(20))'; o.datatype = 'and(uinteger,min(20))';
@@ -10,12 +10,6 @@ msgstr "Интерфейс для ping-запросов"
msgid "IP address or hostname of test servers" msgid "IP address or hostname of test servers"
msgstr "IP-адрес или имя хоста тестовых серверов" msgstr "IP-адрес или имя хоста тестовых серверов"
msgid "Silent mode"
msgstr "Тихий режим"
msgid "Do not log success ping"
msgstr "Не журналировать успешные попытки"
msgid "Failed attempts before iface up/down" msgid "Failed attempts before iface up/down"
msgstr "Количество неудачных попыток до переподключения интерфейса" msgstr "Количество неудачных попыток до переподключения интерфейса"
@@ -1,6 +1,7 @@
{ {
"admin/services/pingcontrol": { "admin/services/pingcontrol": {
"title": "Pingcontrol", "title": "Pingcontrol",
"order": 30,
"action": { "action": {
"type": "view", "type": "view",
"path": "pingcontrol/pingcontrol" "path": "pingcontrol/pingcontrol"
+1 -1
View File
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
LUCI_TITLE:=Bootstrap Teleofis Theme LUCI_TITLE:=Bootstrap Teleofis Theme
LUCI_DEPENDS:= +luci-lua-runtime LUCI_DEPENDS:=
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
@@ -14,109 +14,6 @@
* Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc). * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */ * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
:root {
--background-color-delta-l-sign: -1;
--background-color-h: 0;
--background-color-s: 0%;
--background-color-l: 100%;
--background-color-high-hsl:
var(--background-color-h),
var(--background-color-s),
var(--background-color-l);
--background-color-high: hsl(var(--background-color-high-hsl));
--background-color-medium-hsl:
var(--background-color-h),
var(--background-color-s),
calc(var(--background-color-l) + var(--background-color-delta-l-sign) * calc(6 / 255 * 100%));
--background-color-medium: hsl(var(--background-color-medium-hsl));
--background-color-low-hsl:
var(--background-color-h),
var(--background-color-s),
calc(var(--background-color-l) + var(--background-color-delta-l-sign) * calc(10 / 255 * 100%));
--background-color-low: hsl(var(--background-color-low-hsl));
--text-color-delta-l-sign: 1;
--text-color-h: 0;
--text-color-s: 0%;
--text-color-l: 0%;
--text-color-highest-hsl:
var(--text-color-h),
var(--text-color-s),
var(--text-color-l);
--text-color-highest: hsl(var(--text-color-highest-hsl));
--text-color-high-hsl:
var(--text-color-h),
var(--text-color-s),
calc(var(--text-color-l) + var(--text-color-delta-l-sign) * calc(64 / 255 * 100%));
--text-color-high: hsl(var(--text-color-high-hsl));
--text-color-medium-hsl:
var(--text-color-h),
var(--text-color-s),
calc(var(--text-color-l) + var(--text-color-delta-l-sign) * calc(128 / 255 * 100%));
--text-color-medium: hsl(var(--text-color-medium-hsl));
--text-color-low-hsl:
var(--text-color-h),
var(--text-color-s),
calc(var(--text-color-l) + var(--text-color-delta-l-sign) * calc(191 / 255 * 100%));
--text-color-low: hsl(var(--text-color-low-hsl));
--border-color-delta-l-sign: -1;
--border-color-h: var(--background-color-h);
--border-color-s: var(--background-color-s);
--border-color-l: var(--background-color-l);
--border-color-high-hsl:
var(--border-color-h),
var(--border-color-s),
calc(var(--border-color-l) + var(--border-color-delta-l-sign) * calc(51 / 255 * 100%));
--border-color-high: hsl(var(--border-color-high-hsl));
--border-color-medium-hsl:
var(--border-color-h),
var(--border-color-s),
calc(var(--border-color-l) + var(--border-color-delta-l-sign) * calc(34 / 255 * 100%));
--border-color-medium: hsl(var(--border-color-medium-hsl));
--border-color-low-hsl:
var(--border-color-h),
var(--border-color-s),
calc(var(--border-color-l) + var(--border-color-delta-l-sign) * calc(17 / 255 * 100%));
--border-color-low: hsl(var(--border-color-low-hsl));
--primary-color-high: #1976d2;
--primary-color-medium: #1564c0;
--primary-color-low: #b00000;
--on-primary-color: var(--background-color-high);
--error-color-high-rgb: 246, 43, 18;
--error-color-high: rgb(var(--error-color-high-rgb));
--error-color-medium: #e8210d;
--error-color-low: #d00000;
--on-error-color: var(--background-color-high);
--success-color-high-rgb: 0, 172, 89;
--success-color-high: rgb(var(--success-color-high-rgb));
--success-color-medium: #009a4c;
--success-color-low: #007936;
--on-success-color: var(--background-color-high);
--warn-color-high: #efbd0b;
--warn-color-medium: #f0c629;
--warn-color-low: #f2d24f;
--on-warn-color: var(--text-color-highest);
--disabled-opacity: .7;
color-scheme: light;
}
* { * {
margin: 0; margin: 0;
padding: 0; padding: 0;
@@ -1760,15 +1657,14 @@ input[type="text"] + .cbi-button-remove {
transition: opacity .25s ease-in; transition: opacity .25s ease-in;
} }
.cbi-progressbar { .cbi-progressbar {
border: 1px solid var(--border-color-high); border: 1px solid #ccc;
border-radius: 3px; border-radius: 3px;
position: relative; position: relative;
min-width: 170px; min-width: 170px;
height: 8px; height: 20px;
margin: 1.4em 0 4px 0; margin: 4px 0;
background: #fcfcfc; background: #f9f9f9;
} }
.cbi-progressbar > div { .cbi-progressbar > div {
@@ -1776,13 +1672,16 @@ input[type="text"] + .cbi-button-remove {
height: 100%; height: 100%;
transition: width .25s ease-in; transition: width .25s ease-in;
width: 0%; width: 0%;
border-radius: 2px;
} }
.cbi-progressbar::before { .cbi-progressbar::after {
position: absolute; position: absolute;
top: -1.4em; bottom: 0;
top: 0;
right: 0;
left: 0; left: 0;
text-align: center;
text-shadow: 0 0 2px #fff;
content: attr(title); content: attr(title);
white-space: pre; white-space: pre;
overflow: hidden; overflow: hidden;
@@ -2417,7 +2316,7 @@ html body.apply-overlay-active {
bottom: 0; bottom: 0;
width: 32px; width: 32px;
content: " "; content: " ";
background: url(../resources/icons/loading.svg) no-repeat center; background: url(../resources/icons/loading.gif) no-repeat center;
background-size: 16px; background-size: 16px;
} }
@@ -8,7 +8,7 @@
<% local ver = require "luci.version" %> <% local ver = require "luci.version" %>
<footer> <footer>
<div style="height:40px;font-size:95%;color:#999;font-family: Arial,sans-serif;">&#169;&nbsp;TELEOFIS&nbsp;2004-2022&nbsp;</div> <div style="height:40px;font-size:95%;color:#999;font-family: Arial,sans-serif;">&#169;&nbsp;TELEOFIS&nbsp;2004-2025&nbsp;</div>
<ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul> <ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul>
</footer> </footer>
</div> </div>
+1 -1
View File
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=my-default-settings PKG_NAME:=my-default-settings
PKG_VERSION:=2 PKG_VERSION:=2
PKG_RELEASE:=3 PKG_RELEASE:=4
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
@@ -47,9 +47,6 @@ if [[ ! "$version" || "$version" -lt 1 ]]; then
uci -q set luci.main.mediaurlbase=/luci-static/argon uci -q set luci.main.mediaurlbase=/luci-static/argon
uci commit luci uci commit luci
uci -q set dropbear.@dropbear[0].Interface='lan'
uci commit dropbear
if uci -q get system.@system[0] >/dev/null; then if uci -q get system.@system[0] >/dev/null; then
uci -q set system.@system[0].zonename='Asia/Shanghai' uci -q set system.@system[0].zonename='Asia/Shanghai'
uci -q set system.@system[0].timezone='CST-8' uci -q set system.@system[0].timezone='CST-8'
+2 -2
View File
@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=nexttrace PKG_NAME:=nexttrace
PKG_VERSION:=1.6.2 PKG_VERSION:=1.6.4
PKG_RELEASE:=3 PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/nxtrace/NTrace-core/tar.gz/v$(PKG_VERSION)? PKG_SOURCE_URL:=https://codeload.github.com/nxtrace/NTrace-core/tar.gz/v$(PKG_VERSION)?
+2 -2
View File
@@ -1,9 +1,9 @@
:
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=pingcontrol PKG_NAME:=pingcontrol
PKG_VERSION:=1 PKG_VERSION:=1
PKG_RELEASE:=3 PKG_RELEASE:=4
PKG_BUILD_DIR:=$(BUILD_DIR)/pingcontrol PKG_BUILD_DIR:=$(BUILD_DIR)/pingcontrol
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
+6 -18
View File
@@ -10,7 +10,6 @@ SW_BEFORE_MODRES=$(uci -q get pingcontrol.$1.sw_before_modres)
SW_BEFORE_SYSRES=$(uci -q get pingcontrol.$1.sw_before_sysres) SW_BEFORE_SYSRES=$(uci -q get pingcontrol.$1.sw_before_sysres)
PING_OK=$(uci -q get pingcontrol.$1.ping_ok) PING_OK=$(uci -q get pingcontrol.$1.ping_ok)
SILENT=$(uci -q get pingcontrol.$1.ping_silent)
PING_LOST=$(uci -q get pingcontrol.$1.ping_lost) PING_LOST=$(uci -q get pingcontrol.$1.ping_lost)
PING_RESTORED=$(uci -q get pingcontrol.$1.ping_restored) PING_RESTORED=$(uci -q get pingcontrol.$1.ping_restored)
BEFORE_IFACE_DOWN=$(uci -q get pingcontrol.$1.before_iface_down) BEFORE_IFACE_DOWN=$(uci -q get pingcontrol.$1.before_iface_down)
@@ -35,15 +34,8 @@ done
while true; do while true; do
for IP in $TESTIP for IP in $TESTIP
do do
[ -n $IFNAME ] && { /bin/ping -w5 -c1 -s8 -I $IFNAME $IP &> /dev/null
/bin/ping -w5 -c1 -s8 -I $IFNAME $IP &> /dev/null if [[ "$?" -eq "0" ]]; then
STATUS=$?
} || {
/bin/ping -w5 -c1 -s8 $IP &> /dev/null
STATUS=$?
}
if [[ "${STATUS}" -eq "0" ]]; then
let host_up_count++ let host_up_count++
else else
logger -t pingcontrol "$INSTANCE: Ping to host $IP lost" logger -t pingcontrol "$INSTANCE: Ping to host $IP lost"
@@ -58,9 +50,7 @@ while true; do
done done
if [[ "$host_up_count" -gt "0" ]]; then if [[ "$host_up_count" -gt "0" ]]; then
[ "${SILENT}" != "1" ] && { logger -t pingcontrol "$INSTANCE: Ping OK, reset counters"
logger -t pingcontrol "$INSTANCE: Ping OK, reset counters"
}
if [[ "$lost_flag" -eq "1" ]]; then if [[ "$lost_flag" -eq "1" ]]; then
if [[ -n "$PING_RESTORED" ]]; then if [[ -n "$PING_RESTORED" ]]; then
logger -t pingcontrol "$INSTANCE: Execute $PING_RESTORED" logger -t pingcontrol "$INSTANCE: Execute $PING_RESTORED"
@@ -68,10 +58,8 @@ while true; do
fi fi
else else
if [[ -n "$PING_OK" ]]; then if [[ -n "$PING_OK" ]]; then
[ "${SILENT}" != "1" ] && { logger -t pingcontrol "$INSTANCE: Execute $PING_OK"
logger -t pingcontrol "$INSTANCE: Execute $PING_OK" eval $PING_OK
}
eval $PING_OK
fi fi
fi fi
host_up_count=0 host_up_count=0
@@ -111,4 +99,4 @@ while true; do
fi fi
sleep $CHECK_PERIOD sleep $CHECK_PERIOD
done done
-1
View File
@@ -3,6 +3,5 @@ config pingcontrol 'pingcontrol'
option check_period '30' option check_period '30'
option iface 'internet' option iface 'internet'
option testip '8.8.8.8' option testip '8.8.8.8'
option ping_silent '1'
option sw_before_modres '3' option sw_before_modres '3'
option sw_before_sysres '0' option sw_before_sysres '0'
-5
View File
@@ -42,8 +42,3 @@ service_triggers() {
procd_add_reload_trigger 'pingcontrol' procd_add_reload_trigger 'pingcontrol'
procd_add_validation validate_pingcontrol_section procd_add_validation validate_pingcontrol_section
} }
reload_service() {
stop
start
}
+2 -2
View File
@@ -5,8 +5,8 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=sing-box PKG_NAME:=sing-box
PKG_VERSION:=1.13.10 PKG_VERSION:=1.13.11
PKG_RELEASE:=14 PKG_RELEASE:=15
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/SagerNet/sing-box/tar.gz/v$(PKG_VERSION)? PKG_SOURCE_URL:=https://codeload.github.com/SagerNet/sing-box/tar.gz/v$(PKG_VERSION)?