mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-11-01 16:44:45 +08:00
update 2026-07-31 18:33:12
This commit is contained in:
1 parent
8049de7024
commit
e9fd027902
13 files changed
+37
-158
No files matched your search
+2
-2
@@ -5,12 +5,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=dae
|
PKG_NAME:=dae
|
||||||
PKG_VERSION:=2026.07.30
|
PKG_VERSION:=2026.07.31
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=5c45076465c7903544f1857c689ceedf068a0fd2
|
PKG_SOURCE_VERSION:=41dcf6346d03e7fe8814cdc420b66c69ae828dde
|
||||||
PKG_SOURCE_URL:=https://github.com/olicesx/dae.git
|
PKG_SOURCE_URL:=https://github.com/olicesx/dae.git
|
||||||
PKG_MIRROR_HASH:=skip
|
PKG_MIRROR_HASH:=skip
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -5,10 +5,10 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=daed
|
PKG_NAME:=daed
|
||||||
PKG_VERSION:=2026.07.17
|
PKG_VERSION:=2026.07.31
|
||||||
DAED_VERSION:=daed-671e65d
|
DAED_VERSION:=daed-671e65d
|
||||||
WING_VERSION:=wing-dc50308
|
WING_VERSION:=wing-dc50308
|
||||||
CORE_VERSION:=core-09c6c8c
|
CORE_VERSION:=core-caa6f5e
|
||||||
WING_HASH_SHORT:=$(shell echo $(WING_VERSION) | cut -d- -f2)
|
WING_HASH_SHORT:=$(shell echo $(WING_VERSION) | cut -d- -f2)
|
||||||
CORE_HASH_SHORT:=$(shell echo $(CORE_VERSION) | cut -d- -f2)
|
CORE_HASH_SHORT:=$(shell echo $(CORE_VERSION) | cut -d- -f2)
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|||||||
@@ -626,17 +626,20 @@ EOF
|
|||||||
procd_set_param respawn
|
procd_set_param respawn
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
|
|
||||||
if [ ! -z "$socks_port" ] ; then
|
# 不再自动放行 SOCKS5 端口到 WAN —— 无认证 SOCKS5 代理暴露给公网有严重安全风险
|
||||||
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 添加防火墙规则 easytier_socks5 放行端口 ${socks_port} " >>/tmp/easytier.log
|
# 如需公网访问,请手动在 LuCI 防火墙页面添加规则
|
||||||
uci -q delete firewall.easytier_socks5
|
# 如需恢复自动放行,去掉下面各行行首的 # 即可
|
||||||
uci set firewall.easytier_socks5=rule
|
# if [ ! -z "$socks_port" ] ; then
|
||||||
uci set firewall.easytier_socks5.name="easytier_socks5"
|
# echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 添加防火墙规则 easytier_socks5 放行端口 ${socks_port} " >>/tmp/easytier.log
|
||||||
uci set firewall.easytier_socks5.target="ACCEPT"
|
# uci -q delete firewall.easytier_socks5
|
||||||
uci set firewall.easytier_socks5.src="wan"
|
# uci set firewall.easytier_socks5=rule
|
||||||
uci set firewall.easytier_socks5.proto="tcp"
|
# uci set firewall.easytier_socks5.name="easytier_socks5"
|
||||||
uci set firewall.easytier_socks5.dest_port="$socks_port"
|
# uci set firewall.easytier_socks5.target="ACCEPT"
|
||||||
uci set firewall.easytier_socks5.enabled="1"
|
# uci set firewall.easytier_socks5.src="wan"
|
||||||
fi
|
# uci set firewall.easytier_socks5.proto="tcp"
|
||||||
|
# uci set firewall.easytier_socks5.dest_port="$socks_port"
|
||||||
|
# uci set firewall.easytier_socks5.enabled="1"
|
||||||
|
# fi
|
||||||
if [ "$listenermode" = "ON" ] || [ "$etcmd" = "web" ] ; then
|
if [ "$listenermode" = "ON" ] || [ "$etcmd" = "web" ] ; then
|
||||||
if [ -z "$tcp_port" ] && [ -z "$ws_port" ] && [ -z "$wss_port" ] && [ -z "$wg_port" ] ; then
|
if [ -z "$tcp_port" ] && [ -z "$ws_port" ] && [ -z "$wss_port" ] && [ -z "$wg_port" ] ; then
|
||||||
tcp_port="11010"
|
tcp_port="11010"
|
||||||
|
|||||||
@@ -36,7 +36,9 @@ set_firewall_rules() {
|
|||||||
[ -n "$wss_port" ] && add_firewall_rule "easytier_wss" "tcp" "$wss_port" "EasyTier WSS"
|
[ -n "$wss_port" ] && add_firewall_rule "easytier_wss" "tcp" "$wss_port" "EasyTier WSS"
|
||||||
[ -n "$wg_port" ] && add_firewall_rule "easytier_wg" "udp" "$wg_port" "EasyTier WG"
|
[ -n "$wg_port" ] && add_firewall_rule "easytier_wg" "udp" "$wg_port" "EasyTier WG"
|
||||||
[ -n "$quic_port" ] && add_firewall_rule "easytier_quic" "tcp udp" "$quic_port" "EasyTier QUIC"
|
[ -n "$quic_port" ] && add_firewall_rule "easytier_quic" "tcp udp" "$quic_port" "EasyTier QUIC"
|
||||||
[ -n "$socks_port" ] && add_firewall_rule "easytier_socks5" "tcp" "$socks_port" "EasyTier SOCKS5"
|
# 不再自动放行 SOCKS5 端口到 WAN —— 无认证 SOCKS5 代理暴露给公网有严重安全风险
|
||||||
|
# 如需恢复自动放行,去掉下面一行行首的 # 即可
|
||||||
|
# [ -n "$socks_port" ] && add_firewall_rule "easytier_socks5" "tcp" "$socks_port" "EasyTier SOCKS5"
|
||||||
}
|
}
|
||||||
|
|
||||||
# 设置网络接口
|
# 设置网络接口
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ local urlencode = api.UrlEncode
|
|||||||
local base64 = api.base64Encode
|
local base64 = api.base64Encode
|
||||||
local json = api.jsonc
|
local json = api.jsonc
|
||||||
|
|
||||||
|
local domain_redir = {}
|
||||||
|
|
||||||
local function host_format(host)
|
local function host_format(host)
|
||||||
if not host then return "" end
|
if not host then return "" end
|
||||||
local str = host:match("%[(.-)%]") or host
|
local str = host:match("%[(.-)%]") or host
|
||||||
@@ -162,7 +164,7 @@ local function build_common(node)
|
|||||||
local d = opts["download-settings"]
|
local d = opts["download-settings"]
|
||||||
local ds = {}
|
local ds = {}
|
||||||
|
|
||||||
if d.server then ds.address = d.server end
|
if d.server then ds.address = domain_redir[d.server] or d.server end
|
||||||
if d.port then ds.port = d.port end
|
if d.port then ds.port = d.port end
|
||||||
|
|
||||||
ds.network = "xhttp"
|
ds.network = "xhttp"
|
||||||
@@ -507,6 +509,8 @@ local function encode_node(node)
|
|||||||
|
|
||||||
local t = node.type
|
local t = node.type
|
||||||
|
|
||||||
|
node.server = domain_redir[node.server] or node.server
|
||||||
|
|
||||||
if t == "vless" then return encode_vless(node)
|
if t == "vless" then return encode_vless(node)
|
||||||
elseif t == "trojan" then return encode_trojan(node)
|
elseif t == "trojan" then return encode_trojan(node)
|
||||||
elseif t == "vmess" then return encode_vmess(node)
|
elseif t == "vmess" then return encode_vmess(node)
|
||||||
@@ -531,6 +535,15 @@ function parseClashNode(raw, remark)
|
|||||||
|
|
||||||
api.log('检测到 Clash 订阅,正在进行转换 ...')
|
api.log('检测到 Clash 订阅,正在进行转换 ...')
|
||||||
|
|
||||||
|
-- Some airports use hosts domain redirect to disguise the real node domain name.
|
||||||
|
for k, v in pairs(data.hosts or {}) do
|
||||||
|
if type(k) == "string" and type(v) == "string" then
|
||||||
|
if api.datatypes.hostname(k) and api.datatypes.hostname(v) then
|
||||||
|
domain_redir[k] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local links = {}
|
local links = {}
|
||||||
for _, node in ipairs(data.proxies) do
|
for _, node in ipairs(data.proxies) do
|
||||||
local err, link = encode_node(node)
|
local err, link = encode_node(node)
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
# Copyright (C) 2020 Gyj1109
|
|
||||||
# 适配 OpenWrt 25.12 修改版
|
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
|
||||||
|
|
||||||
PKG_NAME:=luci-app-syncthing
|
|
||||||
PKG_VERSION:=1.0
|
|
||||||
PKG_RELEASE:=3
|
|
||||||
|
|
||||||
LUCI_TITLE:=LuCI support for Syncthing
|
|
||||||
LUCI_PKGARCH:=all
|
|
||||||
# 适配 25.12:确保安装了 syncthing 后,LuCI 界面能正确拉起
|
|
||||||
LUCI_DEPENDS:=+syncthing
|
|
||||||
|
|
||||||
include $(TOPDIR)/feeds/luci/luci.mk
|
|
||||||
|
|
||||||
# 明确定义配置文件的归属,这对 25.12 的 apk 管理器非常重要
|
|
||||||
define Package/$(PKG_NAME)/conffiles
|
|
||||||
/etc/config/syncthing
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,$(PKG_NAME)))
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
# luci-app-syncthing
|
|
||||||
在Potat0000源码基础上进行了汉化优化,官方openwrt23.05.3编译后可使用
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
module("luci.controller.syncthing", package.seeall)
|
|
||||||
|
|
||||||
function index()
|
|
||||||
if not nixio.fs.access("/etc/config/syncthing") then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
entry({"admin", "services", "syncthing"}, cbi("syncthing"), _("文件同步"), 10).dependent = true
|
|
||||||
entry({"admin", "services", "syncthing", "status"}, call("act_status")).leaf = true
|
|
||||||
end
|
|
||||||
|
|
||||||
function act_status()
|
|
||||||
local e = {}
|
|
||||||
e.running = luci.sys.call("pgrep syncthing >/dev/null") == 0
|
|
||||||
luci.http.prepare_content("application/json")
|
|
||||||
luci.http.write_json(e)
|
|
||||||
end
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
require("nixio.fs")
|
|
||||||
|
|
||||||
m = Map("syncthing", translate("Syncthing同步工具"))
|
|
||||||
|
|
||||||
m:section(SimpleSection).template = "syncthing/syncthing_status"
|
|
||||||
|
|
||||||
s = m:section(TypedSection, "syncthing")
|
|
||||||
|
|
||||||
s.anonymous = true
|
|
||||||
|
|
||||||
o = s:option(Flag, "enabled", translate("启用"))
|
|
||||||
o.default = 0
|
|
||||||
o.rmempty = false
|
|
||||||
|
|
||||||
gui_address = s:option(Value, "gui_address", translate("GUI访问地址"))
|
|
||||||
gui_address.description = translate("使用0.0.0.0以监控所有访问。")
|
|
||||||
gui_address.default = "http://0.0.0.0:8384"
|
|
||||||
gui_address.placeholder = "http://0.0.0.0:8384"
|
|
||||||
gui_address.rmempty = false
|
|
||||||
|
|
||||||
home = s:option(Value, "home", translate("配置文件目录"))
|
|
||||||
home.description = translate("只有保存在/etc/syncthing中的配置会自动备份!")
|
|
||||||
home.default = "/etc/syncthing"
|
|
||||||
home.placeholder = "/etc/syncthing"
|
|
||||||
home.rmempty = false
|
|
||||||
|
|
||||||
user = s:option(ListValue, "user", translate("用户"))
|
|
||||||
user.description = translate("默认是syncthing,但这可能会导致权限被拒绝。Syncthing官方不建议以root身份运行。")
|
|
||||||
user:value("", translate("syncthing"))
|
|
||||||
for u in luci.util.execi("cat /etc/passwd | cut -d ':' -f1") do
|
|
||||||
user:value(u)
|
|
||||||
end
|
|
||||||
|
|
||||||
macprocs = s:option(Value, "macprocs", translate("线程限制"))
|
|
||||||
macprocs.description = translate("0表示匹配CPU数量(默认),>0表示显式指定并发数。")
|
|
||||||
macprocs.default = "0"
|
|
||||||
macprocs.placeholder = "0"
|
|
||||||
macprocs.datatype = "range(0,32)"
|
|
||||||
macprocs.rmempty = false
|
|
||||||
|
|
||||||
nice = s:option(Value, "nice", translate("优先级"))
|
|
||||||
nice.description = translate("显式指定优先级值。0是最高,19是最低。(暂时不允许设置负值)")
|
|
||||||
nice.default = "19"
|
|
||||||
nice.placeholder = "19"
|
|
||||||
nice.datatype = "range(0,19)"
|
|
||||||
nice.rmempty = false
|
|
||||||
|
|
||||||
return m
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
<script type="text/javascript">//<![CDATA[
|
|
||||||
XHR.poll(1, '<%=url([[admin]], [[services]], [[syncthing]], [[status]])%>', null,
|
|
||||||
function (x, data) {
|
|
||||||
var tb = document.getElementById('syncthing_status');
|
|
||||||
if (data && tb) {
|
|
||||||
if (data.running) {
|
|
||||||
var links = '<em><b><font color="green">Syncthing <%:运行中%></font></b></em><input class="btn cbi-button mar-10" type="button" value="<%:打开Syncthing页面%>" onclick="openwebui();" />';
|
|
||||||
tb.innerHTML = links;
|
|
||||||
} else {
|
|
||||||
tb.innerHTML = '<em><b><font color="red">Syncthing <%:未运行%></font></b></em>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
function openwebui(){
|
|
||||||
var url = window.location.host+":<%=luci.sys.exec("uci -q get syncthing.syncthing.gui_address"):match(":[0-9]+"):gsub(":", "")%>";
|
|
||||||
window.open('http://'+url,'target','');
|
|
||||||
}
|
|
||||||
//]]>
|
|
||||||
</script>
|
|
||||||
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
|
|
||||||
<fieldset class="cbi-section">
|
|
||||||
<p id="syncthing_status">
|
|
||||||
<em><%:正在收集数据...%></em>
|
|
||||||
</p>
|
|
||||||
</fieldset>
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
touch /etc/config/syncthing
|
|
||||||
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
delete ucitrack.@syncthing[-1]
|
|
||||||
add ucitrack syncthing
|
|
||||||
set ucitrack.@syncthing[-1].exec='/etc/init.d/syncthing stop && /etc/init.d/syncthing start'
|
|
||||||
commit ucitrack
|
|
||||||
EOF
|
|
||||||
# remove LuCI cache
|
|
||||||
rm -f /tmp/luci*
|
|
||||||
exit 0
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"luci-app-syncthing": {
|
|
||||||
"description": "Grant UCI access for luci-app-syncthing",
|
|
||||||
"read": {
|
|
||||||
"uci": [ "syncthing" ]
|
|
||||||
},
|
|
||||||
"write": {
|
|
||||||
"uci": [ "syncthing" ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -21,13 +21,13 @@ define Download/geoip
|
|||||||
HASH:=b71d1999439dde2de2d2b6844a2befa50c50211ff739785c005ca7c230a17d6a
|
HASH:=b71d1999439dde2de2d2b6844a2befa50c50211ff739785c005ca7c230a17d6a
|
||||||
endef
|
endef
|
||||||
|
|
||||||
GEOSITE_VER:=20260730152417
|
GEOSITE_VER:=20260731062338
|
||||||
GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
|
GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
|
||||||
define Download/geosite
|
define Download/geosite
|
||||||
URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
|
URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
|
||||||
URL_FILE:=dlc.dat
|
URL_FILE:=dlc.dat
|
||||||
FILE:=$(GEOSITE_FILE)
|
FILE:=$(GEOSITE_FILE)
|
||||||
HASH:=e2045f0da8823eb6edac0e08e56ac3b02edc94810d4e767c02d209bbb94efaa0
|
HASH:=3912cba980259a6443cb76413a22cbd4a979641439625ed5db8a3bdf6c238311
|
||||||
endef
|
endef
|
||||||
|
|
||||||
GEOSITE_IRAN_VER:=202607270122
|
GEOSITE_IRAN_VER:=202607270122
|
||||||
|
|||||||
Reference in new issue
Block a user