v2.3.0 新增魔法DNS,您可以使用域名访问其他节点,例如:<hostname>.et.net。魔法DNS将修改您的系统DNS设置,请谨慎启用。

This commit is contained in:
KKRainbow
2025-05-18 20:15:10 +08:00
parent ce8b829c63
commit 0dbfd7ffbe
4 changed files with 40 additions and 36 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=easytier
PKG_VERSION:=2.2.4
PKG_VERSION:=2.3.0
ifeq ($(ARCH),mipsel)
APP_ARCH:=mipsel
@@ -59,7 +59,7 @@ define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/easytier-core $(1)/usr/bin/easytier-core
$(INSTALL_BIN) $(PKG_BUILD_DIR)/easytier-cli $(1)/usr/bin/easytier-cli
[ "$(APP_ARCH)" != "mips" ] && [ "$(APP_ARCH)" != "mipsel" ] && $(INSTALL_BIN) $(PKG_BUILD_DIR)/easytier-web $(1)/usr/bin/easytier-web || true
[ "$(APP_ARCH)" != "mips" ] && [ "$(APP_ARCH)" != "mipsel" ] && $(INSTALL_BIN) $(PKG_BUILD_DIR)/easytier-web-embed $(1)/usr/bin/easytier-web || true
endef
$(eval $(call BuildPackage,$(PKG_NAME)))
+7 -7
View File
@@ -6,11 +6,11 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=2.2.4
PKG_RELEASE:=4
PKG_VERSION:=2.3.0
PKG_RELEASE:=1
LUCI_TITLE:=LuCI support for EasyTier
LUCI_DEPENDS:=+kmod-tun
LUCI_DEPENDS:=+kmod-tun +luci-compat
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-easytier
@@ -24,19 +24,19 @@ define Package/$(PKG_NAME)/prerm
if [ -f /etc/config/easytier ] ; then
echo "备份easytier配置文件/etc/config/easytier到/tmp/easytier_backup"
echo "不重启设备之前再次安装luci-app-easytier 配置不丢失,不用重新配置"
mv -f /etc/config/easytier /tmp/easytier_backup
cp -rf /etc/config/easytier /tmp/easytier_backup
fi
if [ -f /etc/easytier/config.toml ] ; then
echo "备份easytier配置文件/etc/easytier/config.toml到/tmp/et_config_backup.toml"
echo "不重启设备之前再次安装luci-app-easytier 配置不丢失,不用重新配置"
mv -f /etc/easytier/config.toml /tmp/et_config_backup.toml
cp -rf /etc/easytier/config.toml /tmp/et_config_backup.toml
fi
DB_PATH=$(uci -q get easytier.@easytierweb[0].db_path)
if [ -n "$DB_PATH" ] && [ -f "$DB_PATH" ]; then
echo "数据库 $DB_PATH 已备份到 /tmp/et_backup.db"
mv -f "$DB_PATH" /tmp/et_backup.db
cp -rf "$DB_PATH" /tmp/et_backup.db
else
echo "未找到数据库文件,跳过备份!"
fi
@@ -44,7 +44,7 @@ fi
if [ -f /etc/easytier/et_machine_id ] ; then
echo "备份easytier UUID /etc/easytier/et_machine_id到/tmp/et_machine_id_backup"
echo "不重启设备之前再次安装luci-app-easytier UUID不丢失,不用重新配置"
mv -f /etc/easytier/et_machine_id /tmp/et_machine_id_backup
cp -rf /etc/easytier/et_machine_id /tmp/et_machine_id_backup
fi
endef
@@ -30,7 +30,7 @@ end
etcmd = s:taboption("general",ListValue, "etcmd", translate("启动方式"),
translate("官方Web控制台:<a href='https://easytier.cn/web'>easytier.cn/web</a><br>官方配置文件生成器:<a href='https://easytier.cn/web/index.html#/config_generator'>easytier.cn/web/index.html#/config_generator</a><br>注意配置RPC端口为15888"))
etcmd.default = "etcmd"
etcmd:value("etcmd",translate("命令行"))
etcmd:value("etcmd",translate("默认"))
etcmd:value("config",translate("配置文件"))
etcmd:value("web",translate("Web配置"))
@@ -88,32 +88,14 @@ ipaddr:depends("etcmd", "etcmd")
peeradd = s:taboption("general",DynamicList, "peeradd", translate("对等节点"),
translate("初始连接的对等节点,和下方参数作用一样 (-p 参数)<br>公共服务器可用状态查询:<a href='https://easytier.gd.nkbpal.cn/status/easytier' target='_blank'>点此查询</a>"))
peeradd.placeholder = "tcp://public.easytier.top:11010"
peeradd:value("tcp://public.easytier.top:11010", translate("官方服务器-广东河源-tcp://public.easytier.top:11010"))
peeradd:value("tcp://turn.hb.629957.xyz:11010", translate("湖北十堰电信V4-tcp://turn.hb.629957.xyz:11010"))
peeradd:value("tcp://et.ie12vps.xyz:11010", translate("南京V4/V6-tcp://et.ie12vps.xyz:11010"))
peeradd:value("tcp://ah.nkbpal.cn:11010", translate("安徽电信V4-tcp://ah.nkbpal.cn:11010"))
peeradd:value("udp://ah.nkbpal.cn:11010", translate("安徽电信V4-udp://ah.nkbpal.cn:11010"))
peeradd:value("wss://ah.nkbpal.cn:11012", translate("安徽电信V4-wss://ah.nkbpal.cn:11012"))
peeradd:value("tcp://222.186.59.80:11113", translate("江苏镇江V4-tcp://222.186.59.80:11113"))
peeradd:value("wss://222.186.59.80:11115", translate("江苏镇江V4-wss://222.186.59.80:11115"))
peeradd:value("tcp://hw.gz.9z1.me:58443", translate("广州V4-tcp://hw.gz.9z1.me:58443"))
peeradd:value("tcp://c.oee.icu:60006", translate("香港V4/V6-tcp://c.oee.icu:60006"))
peeradd:value("udp://c.oee.icu:60006", translate("香港V4/V6-udp://c.oee.icu:60006"))
peeradd:value("wss://c.oee.icu:60007", translate("香港V4/V6-wss://c.oee.icu:60007"))
peeradd:value("tcp://etvm.oee.icu:31572", translate("日本V4-tcp://etvm.oee.icu:31572"))
peeradd:value("wss://etvm.oee.icu:30845", translate("日本V4-wss://etvm.oee.icu:30845"))
peeradd:value("tcp://et.pub.moe.gift:11010", translate("美国科罗拉多V4-tcp://et.pub.moe.gift:11010"))
peeradd:value("wss://et.pub.moe.gift:11012", translate("美国科罗拉多V4-tcp://et.pub.moe.gift:11012"))
peeradd:value("tcp://et.323888.xyz:11010", translate("湖北十堰V4-tcp://et.323888.xyz:11010"))
peeradd:value("udp://et.323888.xyz:11010", translate("湖北十堰V4-udp://et.323888.xyz:11010"))
peeradd:value("wss://et.323888.xyz:11012", translate("湖北十堰V4-wss://et.323888.xyz:11012"))
peeradd:value("tcp://public.easytier.top:11010", translate("官方服务器-tcp://public.easytier.top:11010"))
peeradd:depends("etcmd", "etcmd")
external_node = s:taboption("general", Value, "external_node", translate("共享节点地址"),
translate("使用公共共享节点来发现对等节点,和上方参数作用一样 (-e 参数)"))
external_node.default = ""
external_node.placeholder = "tcp://public.easytier.top:11010"
external_node:value("tcp://public.easytier.top:11010", translate("官方服务器-广东河源-tcp://public.easytier.top:11010"))
external_node:value("tcp://public.easytier.top:11010", translate("官方服务器-tcp://public.easytier.top:11010"))
external_node:depends("etcmd", "etcmd")
proxy_network = s:taboption("general",DynamicList, "proxy_network", translate("子网代理"),
@@ -302,6 +284,10 @@ kcp_input = s:taboption("privacy",Flag, "kcp_input", translate("禁用KCP输入"
translate("不允许其他节点使用 KCP 代理 TCP 流到此节点。<br>开启 KCP 代理的节点访问此节点时,依然使用原始。( --disable-kcp-input 参数)"))
kcp_input:depends("etcmd", "etcmd")
accept_dns = s:taboption("privacy",Flag, "accept_dns", translate("启用魔法DNS"),
translate("使用魔法DNS,您可以使用域名访问其他节点,例如:<hostname>.et.net。魔法DNS将修改您的系统DNS设置,请谨慎启用。(--accept-dns 参数)"))
accept_dns:depends("etcmd", "etcmd")
log = s:taboption("general",ListValue, "log", translate("程序日志"),
translate("运行日志在/tmp/easytier.log,可在上方日志查看<br>若启动失败,请前往 状态- 系统日志 查看具体启动失败日志<br>详细程度:警告<信息<调试<跟踪"))
log.default = "off"
+23 -5
View File
@@ -89,7 +89,7 @@ check_bin() {
sed -i "/easytierbin/c option easytierbin '/tmp/easytier-core' " /etc/config/easytier
easytierbin=/tmp/easytier-core
fi
if [ "$($easytierbin -h 2>&1 | wc -l)" -lt 3 ] || [ ! -f "$easytierbin" ] ; then
if [ "$($easytierbin -h 2>&1 | wc -l)" -lt 3 ] || [ ! -f "$easytierbin" ] || [ ! -f "$webbin" ] ; then
curltest=`which curl`
user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'
#github加速地址,一行一个 你可以自建改为你自己的
@@ -153,10 +153,23 @@ check_config() {
v6wg_port=$(cat $config_file |grep 'wg://\[::\]:' | sed -n 's/.*:\([0-9]*\).*/\1/p')
procd_open_instance
get_tz
[ -z "$SET_TZ" ] || procd_set_param env TZ="$SET_TZ"
procd_set_param command "$easytierbin"
procd_append_param command -c "$config_file"
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 运行 ${easytierbin} -c ${config_file}" >>/tmp/easytier.log
if [ ! -z "$tcp_port" ] ; then
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 添加防火墙规则 easytier_tcp 放行TCP端口 ${tcp_port} " >>/tmp/easytier.log
uci -q delete firewall.easytier_tcp
uci set firewall.easytier_tcp=rule
uci set firewall.easytier_tcp.name="easytier_tcp"
uci set firewall.easytier_tcp.target="ACCEPT"
uci set firewall.easytier_tcp.src="wan"
uci set firewall.easytier_tcp.proto="tcp"
uci set firewall.easytier_tcp.dest_port="$tcp_port"
uci set firewall.easytier_tcp.enabled="1"
fi
if [ ! -z "$udp_port" ] ; then
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 添加防火墙规则 easytier_udp 放行UDP端口 ${udp_port} " >>/tmp/easytier.log
uci -q delete firewall.easytier_udp
@@ -244,7 +257,7 @@ get_etconfig() {
ipaddr="$(uci -q get easytier.@easytier[0].ipaddr)"
external_node="$(uci -q get easytier.@easytier[0].external_node)"
proxy_network="$(uci -q get easytier.@easytier[0].proxy_network)"
rpc_portal="$(uci -q get easytier.@easytier[0].rpc_portal)"
rpc_portal="$(uci -q get easytier.@easytier[0].rpc_portal || echo 15888)"
listenermode="$(uci -q get easytier.@easytier[0].listenermode)"
tunname="$(uci -q get easytier.@easytier[0].tunname)"
relay_network="$(uci -q get easytier.@easytier[0].relay_network || echo 0)"
@@ -282,6 +295,7 @@ get_etconfig() {
kcp_proxy="$(uci -q get easytier.@easytier[0].kcp_proxy || echo 0)"
kcp_input="$(uci -q get easytier.@easytier[0].kcp_input || echo 0)"
proxy_forward="$(uci -q get easytier.@easytier[0].proxy_forward || echo 0)"
accept_dns="$(uci -q get easytier.@easytier[0].accept_dns || echo 0)"
}
set_firewall() {
@@ -397,7 +411,7 @@ start_et() {
[ -z "$easytierbin" ] && easytierbin="/usr/bin/easytier-core" && uci -q set easytier.@easytier[0].easytierbin=/usr/bin/easytier-core
etcmd="$(uci -q get easytier.@easytier[0].etcmd)"
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : easytier-core_${cpucore}开始启动" >>/tmp/easytier.log
[ ! -s /usr/lib/opkg/info/kmod-tun.list ] && echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 缺少kmod-tun插件" >>/tmp/easytier.log
#[ ! -s /usr/lib/opkg/info/kmod-tun.list ] && echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 缺少kmod-tun插件" >>/tmp/easytier.log
check_bin
chmod +x "$easytierbin"
chmod +x ${path}/easytier-cli
@@ -521,6 +535,7 @@ start_et() {
[ "$kcp_proxy" = "0" ] || procd_append_param command --enable-kcp-proxy
[ "$kcp_input" = "0" ] || procd_append_param command --disable-kcp-input
[ "$proxy_forward" = "0" ] || procd_append_param command --proxy-forward-by-system
[ "$accept_dns" = "0" ] || procd_append_param command --accept-dns
fi
if [ "$etcmd" = "web" ] ; then
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 运行 ${easytierbin} -w ${web_config}" >>/tmp/easytier.log
@@ -562,12 +577,12 @@ start_et() {
wss_port="11012"
wg_port="11011"
fi
set_firewall
fi
set_firewall
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 重载防火墙和网络配置...会出现短暂断网现象... " >>/tmp/easytier.log
[ -n "$(uci changes network)" ] && uci commit network && /etc/init.d/network reload >/dev/null 2>&1
[ -n "$(uci changes firewall)" ] && uci commit firewall && /etc/init.d/firewall reload >/dev/null 2>&1
[ -z "$proxy_network" ] || sysctl -w net.ipv4.ip_forward=1 >/dev/null 2>&1
sysctl -w net.ipv4.ip_forward=1 >/dev/null 2>&1
[ ! -z "$checkip" ] && check
echo `date +%s` > /tmp/easytier_time
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 启动完成,若启动失败,请前往 状态 - 系统日志 找到easytier相关的字眼查看启动失败的原因 " >>/tmp/easytier.log
@@ -605,6 +620,7 @@ fi
start_web() {
webbin="$(uci -q get easytier.@easytier[0].webbin)"
check_bin
if [ -f /tmp/easytier-web-embed ] ; then
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 找到上传的easytier-web程序,替换${webbin} " >>/tmp/easytierweb.log
mv -f /tmp/easytier-web-embed "$webbin"
@@ -735,6 +751,7 @@ stop_service() {
uci -q delete firewall.easytierfwwan >/dev/null 2>&1
uci -q delete firewall.lanfweasytier >/dev/null 2>&1
uci -q delete firewall.wanfweasytier >/dev/null 2>&1
uci -q delete firewall.easytier_tcp >/dev/null 2>&1
uci -q delete firewall.easytier_udp >/dev/null 2>&1
uci -q delete firewall.easytier_tcp_udp >/dev/null 2>&1
uci -q delete firewall.easytier_wss >/dev/null 2>&1
@@ -774,5 +791,6 @@ reload_service() {
service_triggers() {
procd_add_reload_trigger "easytier"
#如果任意网络接口上线则触发重新启动easytier
procd_add_interface_trigger "interface.*.up" wan /etc/init.d/easytier reload
}