diff --git a/package/lean/amule/Makefile b/package/lean/amule/Makefile index 50ccca8a30..4fcdfd6045 100644 --- a/package/lean/amule/Makefile +++ b/package/lean/amule/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=aMule PKG_VERSION:=2.3.2 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_REV=4b87b20 @@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/nls.mk define Package/amule/config config AMULE_CRYPTOPP_STATIC_LINKING bool "Link libcryptopp statically" - default y + default n endef define Package/amule diff --git a/package/lean/default-settings/Makefile b/package/lean/default-settings/Makefile index f3556f6c02..d37b1398de 100644 --- a/package/lean/default-settings/Makefile +++ b/package/lean/default-settings/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=default-settings PKG_VERSION:=1.1 -PKG_RELEASE:=56 +PKG_RELEASE:=57 PKG_LICENSE:=GPLv3 PKG_LICENSE_FILES:=LICENSE diff --git a/package/lean/luci-app-cifs-mount/Makefile b/package/lean/luci-app-cifs-mount/Makefile index 448ec65027..bb63c91dc5 100644 --- a/package/lean/luci-app-cifs-mount/Makefile +++ b/package/lean/luci-app-cifs-mount/Makefile @@ -11,7 +11,7 @@ LUCI_DEPENDS:=+kmod-fs-cifs +kmod-nls-utf8 LUCI_PKGARCH:=all PKG_NAME:=luci-app-cifs-mount PKG_VERSION:=1 -PKG_RELEASE:=6 +PKG_RELEASE:=7 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/package/lean/luci-app-cifs-mount/root/etc/init.d/cifs b/package/lean/luci-app-cifs-mount/root/etc/init.d/cifs index 59ffc71d46..0089a767eb 100755 --- a/package/lean/luci-app-cifs-mount/root/etc/init.d/cifs +++ b/package/lean/luci-app-cifs-mount/root/etc/init.d/cifs @@ -1,6 +1,6 @@ #!/bin/sh /etc/rc.common -START=45 +START=97 ENABLED=0 WORKGROUPD=0 diff --git a/package/lean/luci-app-music-remote-center/Makefile b/package/lean/luci-app-music-remote-center/Makefile index e99a3161de..c409099259 100644 --- a/package/lean/luci-app-music-remote-center/Makefile +++ b/package/lean/luci-app-music-remote-center/Makefile @@ -10,7 +10,7 @@ LUCI_TITLE:=Luci for Music Remote Center LUCI_DEPENDS:=+alsa-utils +forked-daapd LUCI_PKGARCH:=all PKG_VERSION:=1 -PKG_RELEASE:=3 +PKG_RELEASE:=6 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index aaef6b01a4..8e64aa7d03 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus -PKG_VERSION:=175 -PKG_RELEASE:=5 +PKG_VERSION:=176 +PKG_RELEASE:=6 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -94,6 +94,9 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/usr/share/shadowsocksr $(INSTALL_BIN) ./root/usr/share/shadowsocksr/*.sh $(1)/usr/share/shadowsocksr/ $(INSTALL_DATA) ./root/usr/share/shadowsocksr/*.lua $(1)/usr/share/shadowsocksr/ + + $(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d + $(INSTALL_DATA) ./root/usr/share/rpcd/acl.d/* $(1)/usr/share/rpcd/acl.d $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller $(INSTALL_DATA) ./luasrc/controller/*.lua $(1)/usr/lib/lua/luci/controller/ diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua index c7d9021563..8fa5024d74 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua @@ -1,5 +1,8 @@ -- Copyright (C) 2017 yushi studio -- Licensed to the public under the GNU General Public License v3. +require "luci.http" +require "luci.dispatcher" +require "nixio.fs" local m, s, o local shadowsocksr = "shadowsocksr" @@ -61,8 +64,10 @@ o.default = 1 o.rmempty = false o = s:option(ListValue, "type", translate("Server Type")) -o:value("ssr", translate("ShadowsocksR")) o:value("socks5", translate("Socks5")) +if nixio.fs.access("/usr/bin/ss-server") then +o:value("ssr", translate("ShadowsocksR")) +end o.default = "socks5" o = s:option(Value, "server_port", translate("Server Port")) diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm index 778de53bf2..e734af05a8 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm @@ -47,15 +47,15 @@ var s = document.getElementById(urlname + '-status'); if (!s) return false; - var v_server = document.getElementById('cbid.shadowsocksr.' + sid + '.server'); - var v_port = document.getElementById('cbid.shadowsocksr.' + sid + '.server_port'); - var v_protocol = document.getElementById('cbid.shadowsocksr.' + sid + '.protocol'); - var v_method = document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method'); - var v_obfs = document.getElementById('cbid.shadowsocksr.' + sid + '.obfs'); - var v_password = document.getElementById('cbid.shadowsocksr.' + sid + '.password'); - var v_obfs_param = document.getElementById('cbid.shadowsocksr.' + sid + '.obfs_param'); - var v_protocol_param = document.getElementById('cbid.shadowsocksr.' + sid + '.protocol_param'); - var v_alias = document.getElementById('cbid.shadowsocksr.' + sid + '.alias'); + var v_server = document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0]; + var v_port = document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0]; + var v_protocol = document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol')[0]; + var v_method = document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method')[0]; + var v_obfs = document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs')[0]; + var v_password = document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0]; + var v_obfs_param = document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs_param')[0]; + var v_protocol_param = document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol_param')[0]; + var v_alias = document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0]; var ssr_str = v_server.value + ":" + v_port.value + ":" + v_protocol.value + ":" + @@ -104,8 +104,8 @@ if (ssu[0] == "ssr") { var sstr = b64decsafe(ssu[1]); var ploc = sstr.indexOf("/?"); - document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ssr"; - document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ssr"; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event); var url0, param = ""; if (ploc > 0) { url0 = sstr.substr(0, ploc); @@ -123,17 +123,17 @@ pdict[decodeURIComponent(b[0])] = decodeURIComponent(b[1] || ''); } } - document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = ssm[1]; - document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = ssm[2]; - document.getElementById('cbid.shadowsocksr.' + sid + '.protocol').value = ssm[3]; - document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method').value = ssm[4]; - document.getElementById('cbid.shadowsocksr.' + sid + '.obfs').value = ssm[5]; - document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = b64decsafe(ssm[6]); - document.getElementById('cbid.shadowsocksr.' + sid + '.obfs_param').value = dictvalue(pdict, 'obfsparam'); - document.getElementById('cbid.shadowsocksr.' + sid + '.protocol_param').value = dictvalue(pdict, 'protoparam'); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = ssm[1]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = ssm[2]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol')[0].value = ssm[3]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method')[0].value = ssm[4]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs')[0].value = ssm[5]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = b64decsafe(ssm[6]); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs_param')[0].value = dictvalue(pdict, 'obfsparam'); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol_param')[0].value = dictvalue(pdict, 'protoparam'); var rem = pdict['remarks']; if (typeof (rem) != 'undefined' && rem != '' && rem.length > 0) - document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = b64decutf8safe(rem); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = b64decutf8safe(rem); s.innerHTML = "导入ShadowsocksR配置信息成功"; return false; } else if (ssu[0] == "ss") { @@ -169,35 +169,35 @@ method = userInfo.substr(0, userInfoSplitIndex); password = userInfo.substr(userInfoSplitIndex + 1); } - document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ss"; - document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); - document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = server; - document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = port; - document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = password || ""; - document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method_ss').value = method || ""; - document.getElementById('cbid.shadowsocksr.' + sid + '.plugin').value = plugin || ""; - document.getElementById('cbid.shadowsocksr.' + sid + '.plugin_opts').value = pluginOpts || ""; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ss"; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = server; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = port; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = password || ""; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method_ss')[0].value = method || ""; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin')[0].value = plugin || ""; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin_opts')[0].value = pluginOpts || ""; if (param != undefined) { - document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param); } s.innerHTML = "导入Shadowsocks配置信息成功"; } else { var sstr = b64decsafe(url0); - document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ss"; - document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ss"; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event); var team = sstr.split('@'); console.log(param); var part1 = team[0].split(':'); var part2 = team[1].split(':'); - document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = part2[0]; - document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = part2[1]; - document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = part1[1]; - document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method_ss').value = part1[0]; - document.getElementById('cbid.shadowsocksr.' + sid + '.plugin').value = ""; - document.getElementById('cbid.shadowsocksr.' + sid + '.plugin_opts').value = ""; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = part2[0]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = part2[1]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = part1[1]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method_ss')[0].value = part1[0]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin')[0].value = ""; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin_opts')[0].value = ""; if (param != undefined) { - document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param); } s.innerHTML = "导入Shadowsocks配置信息成功"; } @@ -213,8 +213,8 @@ } var sstr = url0; - document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "trojan"; - document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "trojan"; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event); var team = sstr.split('@'); var password = team[0] var serverPart = team[1].split(':'); @@ -230,63 +230,63 @@ } } - document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = serverPart[0]; - document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = port; - document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = password; - document.getElementById('cbid.shadowsocksr.' + sid + '.tls').checked = true; - document.getElementById('cbid.shadowsocksr.' + sid + '.tls').dispatchEvent(event); - document.getElementById('cbid.shadowsocksr.' + sid + '.tls_host').value = queryParam.peer || ''; - document.getElementById('cbid.shadowsocksr.' + sid + '.insecure').checked = queryParam.allowInsecure === '1'; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = serverPart[0]; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = port; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = password; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].checked = true; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls_host')[0].value = queryParam.peer || ''; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.insecure')[0].checked = queryParam.allowInsecure === '1'; if (param != undefined) { - document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param); } s.innerHTML = "导入Trojan配置信息成功"; return false; } else if (ssu[0] == "vmess") { var sstr = b64DecodeUnicode(ssu[1]); var ploc = sstr.indexOf("/?"); - document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "v2ray"; - document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "v2ray"; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event); var url0, param = ""; if (ploc > 0) { url0 = sstr.substr(0, ploc); param = sstr.substr(ploc + 2); } var ssm = JSON.parse(sstr); - document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = ssm.ps; - document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = ssm.add; - document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = ssm.port; - document.getElementById('cbid.shadowsocksr.' + sid + '.alter_id').value = ssm.aid; - document.getElementById('cbid.shadowsocksr.' + sid + '.vmess_id').value = ssm.id; - document.getElementById('cbid.shadowsocksr.' + sid + '.transport').value = ssm.net; - document.getElementById('cbid.shadowsocksr.' + sid + '.transport').dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = ssm.ps; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = ssm.add; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = ssm.port; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.alter_id')[0].value = ssm.aid; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.vmess_id')[0].value = ssm.id; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].value = ssm.net; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].dispatchEvent(event); if (ssm.net == "tcp") { - document.getElementById('cbid.shadowsocksr.' + sid + '.http_host').value = ssm.host; - document.getElementById('cbid.shadowsocksr.' + sid + '.http_path').value = ssm.path; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.http_host')[0].value = ssm.host; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.http_path')[0].value = ssm.path; } if (ssm.net == "ws") { - document.getElementById('cbid.shadowsocksr.' + sid + '.ws_host').value = ssm.host; - document.getElementById('cbid.shadowsocksr.' + sid + '.ws_path').value = ssm.path; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.ws_host')[0].value = ssm.host; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.ws_path')[0].value = ssm.path; } if (ssm.net == "h2") { - document.getElementById('cbid.shadowsocksr.' + sid + '.h2_host').value = ssm.host; - document.getElementById('cbid.shadowsocksr.' + sid + '.h2_path').value = ssm.path; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.h2_host')[0].value = ssm.host; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.h2_path')[0].value = ssm.path; } if (ssm.net == "quic") { - document.getElementById('cbid.shadowsocksr.' + sid + '.quic_security').value = ssm.securty; - document.getElementById('cbid.shadowsocksr.' + sid + '.quic_key').value = ssm.key; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_security')[0].value = ssm.securty; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_key')[0].value = ssm.key; } if (ssm.net == "kcp") { - document.getElementById('cbid.shadowsocksr.' + sid + '.kcp_guise').value = ssm.type; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.kcp_guise')[0].value = ssm.type; } if (ssm.tls == "tls") { - document.getElementById('cbid.shadowsocksr.' + sid + '.tls').checked = true; - document.getElementById('cbid.shadowsocksr.' + sid + '.tls').dispatchEvent(event); - document.getElementById('cbid.shadowsocksr.' + sid + '.tls_host').value = ssm.host; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].checked = true; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls_host')[0].value = ssm.host; } - document.getElementById('cbid.shadowsocksr.' + sid + '.mux').checked = true; - document.getElementById('cbid.shadowsocksr.' + sid + '.mux').dispatchEvent(event); + document.getElementsByName('cbid.shadowsocksr.' + sid + '.mux')[0].checked = true; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.mux')[0].dispatchEvent(event); s.innerHTML = "导入V2ray配置信息成功"; return false; } diff --git a/package/lean/luci-app-ssr-plus/root/etc/config/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/config/shadowsocksr index f723ee4c1e..7e2789232a 100644 --- a/package/lean/luci-app-ssr-plus/root/etc/config/shadowsocksr +++ b/package/lean/luci-app-ssr-plus/root/etc/config/shadowsocksr @@ -11,7 +11,7 @@ config global option switch_timeout '5' option switch_time '667' option switch_try_count '3' - option gfwlist_url 'https://raw.githubusercontent.com/Loukky/gfwlist-by-loukky/master/gfwlist.txt' + option gfwlist_url 'https://cdn.jsdelivr.net/gh/gfwlist/gfwlist/gfwlist.txt' option chnroute_url 'https://ispip.clang.cn/all_cn.txt' option nfip_url 'https://raw.githubusercontent.com/QiuSimons/Netflix_IP/master/NF_only.txt' option adblock_url 'https://gitee.com/privacy-protection-tools/anti-ad/raw/master/anti-ad-for-dnsmasq.conf' diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/rpcd/acl.d/luci-app-ssr-plus.json b/package/lean/luci-app-ssr-plus/root/usr/share/rpcd/acl.d/luci-app-ssr-plus.json new file mode 100644 index 0000000000..4efc8fc531 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/share/rpcd/acl.d/luci-app-ssr-plus.json @@ -0,0 +1,11 @@ +{ + "luci-app-ssr-plus": { + "description": "Grant UCI access for luci-app-ssr-plus", + "read": { + "uci": [ "shadowsocksr" ] + }, + "write": { + "uci": [ "shadowsocksr" ] + } + } +} diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua index 0ae7bbe688..7b05ce5cfc 100644 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua @@ -19,7 +19,7 @@ local cache = {} local nodeResult = setmetatable({}, { __index = cache }) -- update result local name = 'shadowsocksr' local uciType = 'servers' -local ucic = uci.cursor() +local ucic = luci.model.uci.cursor() local proxy = ucic:get_first(name, 'server_subscribe', 'proxy', '0') local switch = ucic:get_first(name, 'server_subscribe', 'switch', '1') local subscribe_url = ucic:get_first(name, 'server_subscribe', 'subscribe_url', {}) diff --git a/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua b/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua index ca3a9fe7f5..68bfa674db 100644 --- a/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua +++ b/package/lean/luci-app-unblockmusic/luasrc/model/cbi/unblockmusic.lua @@ -30,7 +30,7 @@ speedtype:value("qq", translate("QQ音乐")) speedtype:value("xiami", translate("虾米音乐")) speedtype:value("baidu", translate("百度音乐")) speedtype:value("kugou", translate("酷狗音乐")) -speedtype:value("kuwo", translate("酷我音乐(高音质/FLACの解锁可能性)")) +speedtype:value("kuwo", translate("酷我音乐")) speedtype:value("migu", translate("咕咪音乐")) speedtype:value("joox", translate("JOOX音乐")) speedtype.default = "kuwo" @@ -47,8 +47,11 @@ cloudserver.default = "cdn-shanghai.service.project-openwrt.eu.org:30000:30001" cloudserver.rmempty = true cloudserver:depends("apptype", "cloud") -download_certificate=s:option(DummyValue,"opennewwindow",translate("HTTPS 证书")) -download_certificate.description = translate("
Mac/iOS客户端需要安装 CA根证书并信任
iOS系统需要在“设置 -> 通用 -> 关于本机 -> 证书信任设置”中,信任 UnblockNeteaseMusic Root CA
Linux 设备请在启用时加入 --ignore-certificate-errors 参数") +flac = s:option(Flag, "flac_enabled", translate("启用无损音质")) +flac.default = 1 +flac.rmempty = false +flac.description = translate("目前仅支持酷我、QQ、咪咕") +flac:depends("apptype", "nodejs") o = s:option(Flag, "autoupdate") o.title = translate("自动检查更新主程序") @@ -57,6 +60,9 @@ o.rmempty = false o.description = translate("每天自动检测并更新到最新版本") o:depends("apptype", "nodejs") +download_certificate=s:option(DummyValue,"opennewwindow",translate("HTTPS 证书")) +download_certificate.description = translate("
Mac/iOS客户端需要安装 CA根证书并信任
iOS系统需要在“设置 -> 通用 -> 关于本机 -> 证书信任设置”中,信任 UnblockNeteaseMusic Root CA
Linux 设备请在启用时加入 --ignore-certificate-errors 参数") + local ver = fs.readfile("/usr/share/UnblockNeteaseMusic/core_ver") or "0.00" o = s:option(Button, "restart",translate("手动更新")) diff --git a/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic b/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic index 585291277b..3fdc4f9a72 100755 --- a/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic +++ b/package/lean/luci-app-unblockmusic/root/etc/init.d/unblockmusic @@ -65,6 +65,7 @@ ENABLE=$(uci_get_by_type unblockmusic enabled 0) TYPE=$(uci_get_by_type unblockmusic musicapptype default) AUTOUPDATE=$(uci_get_by_type unblockmusic autoupdate 0) APPTYPE=$(uci_get_by_type unblockmusic apptype go) +FLAC=$(uci_get_by_type unblockmusic flac_enabled 0) CLOUD=$(uci_get_by_type unblockmusic cloudserver "127.0.0.1:5200:5201") cloudadd=$(echo "$CLOUD" | awk -F ':' '{print $1}') @@ -168,7 +169,9 @@ start() fi if [ "$APPTYPE" == "nodejs" ]; then + if [ $FLAC -eq 1 ]; then export ENABLE_FLAC=true + fi node /usr/share/UnblockNeteaseMusic/app.js -e http://music.163.com -p 5200:5201 $musictype >>/tmp/unblockmusic.log 2>&1 & add_cron echo "$(date -R) # UnblockNeteaseMusic Nodejs Version (http:5200, https:5201)" >>/tmp/unblockmusic.log diff --git a/package/network/services/wireguard/Makefile b/package/network/services/wireguard/Makefile index 7e98f0b3ca..2d8a766023 100644 --- a/package/network/services/wireguard/Makefile +++ b/package/network/services/wireguard/Makefile @@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=wireguard -PKG_VERSION:=1.0.20200330 +PKG_VERSION:=1.0.20200401 PKG_RELEASE:=1 PKG_SOURCE:=wireguard-linux-compat-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-linux-compat/snapshot/ -PKG_HASH:=2d57b239605be2ee0e4c2da935ff1a23e9ed8bb3ee692e10ae032ae50f280bef +PKG_HASH:=7dfb4a8315e1d6ae406ff32d01c496175df558dd65968a19e5222d02c7cfb77a PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING diff --git a/target/linux/bcm27xx/bcm2710/config-4.19 b/target/linux/bcm27xx/bcm2710/config-4.19 index 99c9859652..80cd167283 100644 --- a/target/linux/bcm27xx/bcm2710/config-4.19 +++ b/target/linux/bcm27xx/bcm2710/config-4.19 @@ -542,6 +542,7 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y diff --git a/target/linux/bcm27xx/bcm2711/config-4.19 b/target/linux/bcm27xx/bcm2711/config-4.19 index d8a5681f04..6aa897a2e1 100644 --- a/target/linux/bcm27xx/bcm2711/config-4.19 +++ b/target/linux/bcm27xx/bcm2711/config-4.19 @@ -510,6 +510,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_GPIO=y CONFIG_RESET_CONTROLLER=y CONFIG_RFS_ACCEL=y +# CONFIG_RPI_AXIPERF is not set # CONFIG_RPIVID_MEM is not set CONFIG_RPS=y CONFIG_RWSEM_SPIN_ON_OWNER=y @@ -551,6 +552,7 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y diff --git a/target/linux/ipq40xx/Makefile b/target/linux/ipq40xx/Makefile index 7e9176c3c0..6803e92073 100644 --- a/target/linux/ipq40xx/Makefile +++ b/target/linux/ipq40xx/Makefile @@ -9,7 +9,7 @@ CPU_SUBTYPE:=neon-vfpv4 MAINTAINER:=John Crispin # TODO: drop kmod-usb-dwc3-of-simple when migrating to 4.19 -KERNEL_PATCHVER:=4.14 +KERNEL_PATCHVER:=4.19 KERNELNAME:=zImage Image dtbs @@ -17,8 +17,8 @@ include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += \ kmod-usb-dwc3-of-simple kmod-usb-dwc3-qcom \ kmod-leds-gpio kmod-gpio-button-hotplug swconfig \ - kmod-ath10k wpad-openssl \ - kmod-usb3 kmod-usb-dwc3 ath10k-firmware-qca4019 \ + kmod-ath10k-ct wpad-openssl \ + kmod-usb3 kmod-usb-dwc3 ath10k-firmware-qca4019-ct \ automount autosamba luci-app-ipsec-vpnd v2ray shadowsocks-libev-ss-redir shadowsocksr-libev-server luci-app-music-remote-center \ luci-app-unblockmusic luci-app-cpufreq luci-app-zerotier ca-certificates lm-sensors kmod-fs-cifs kmod-nls-utf8 \ htop fdisk e2fsprogs diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds index 02d27ccb69..fcfa00cb11 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds @@ -14,7 +14,8 @@ case "$board" in alfa-network,ap120c-ac) ucidef_set_led_switch "wan" "WAN" "${boardname}:amber:wan" "switch0" "0x20" ;; -asus,rt-ac58u) +asus,rt-ac58u |\ +asus,rt-ac1300uhp) ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:blue:wlan2G" "phy0tpt" ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:blue:wlan5G" "phy1tpt" ucidef_set_led_switch "wan" "WAN" "${boardname}:blue:wan" "switch0" "0x20" diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index 28b5f82ebd..1307fd8dda 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -28,6 +28,7 @@ ipq40xx_setup_interfaces() aruba,ap-303h|\ asus,rt-acrh17|\ asus,rt-ac58u|\ + asus,rt-ac1300uhp|\ avm,fritzbox-4040|\ ezviz,cs-w3-wd1200g-eup|\ linksys,ea6350v3|\ diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 61c9e626bc..d37b3c8e7e 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -157,8 +157,9 @@ case "$FIRMWARE" in asus,map-ac2200) ath10kcal_ubi_extract "Factory" 4096 12064 ;; - asus,rt-acrh17|\ - asus,rt-ac58u) + asus,rt-acrh17 |\ + asus,rt-ac58u |\ + asus,rt-ac1300uhp) CI_UBIPART=UBI_DEV ath10kcal_ubi_extract "Factory" 4096 12064 ;; @@ -241,7 +242,8 @@ case "$FIRMWARE" in asus,map-ac2200) ath10kcal_ubi_extract "Factory" 20480 12064 ;; - asus,rt-ac58u) + asus,rt-ac58u |\ + asus,rt-ac1300uhp) CI_UBIPART=UBI_DEV ath10kcal_ubi_extract "Factory" 20480 12064 ;; diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index c1ddba290b..00b56a3e64 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -10,7 +10,8 @@ preinit_set_mac_address() { ip link set dev eth1 address $(macaddr_add "$base_mac" +3) ;; asus,rt-acrh17|\ - asus,rt-ac58u) + asus,rt-ac58u|\ + asus,rt-ac1300uhp) CI_UBIPART=UBI_DEV base_mac=$(mtd_get_mac_binary_ubi Factory 4102) ip link set dev eth0 address $(macaddr_add "$base_mac" +1) diff --git a/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh index 42667d2dfb..1d8ebf8a13 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh @@ -6,6 +6,7 @@ set_preinit_iface() { case $(board_name) in aruba,ap-303| \ asus,rt-ac58u| \ + asus,rt-ac1300uhp| \ avm,fritzbox-4040| \ ezviz,cs-w3-wd1200g-eup| \ glinet,gl-b1300| \ diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index c0bd84ffea..5fca4bdbde 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -186,7 +186,8 @@ platform_do_upgrade() { nand_do_upgrade "$1" ;; asus,rt-acrh17|\ - asus,rt-ac58u) + asus,rt-ac58u|\ + asus,rt-ac1300uhp) local magic=$(get_magic_long "$1") CI_UBIPART="UBI_DEV" CI_KERNPART="linux" diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile index 3b73959e20..ee8001788c 100644 --- a/target/linux/ipq40xx/image/Makefile +++ b/target/linux/ipq40xx/image/Makefile @@ -119,7 +119,7 @@ define Device/asus_map-ac2200 DEVICE_MODEL := Lyra (MAP-AC2200) DEVICE_DTS := qcom-ipq4019-map-ac2200 IMAGES := sysupgrade.bin - DEVICE_PACKAGES := ath10k-firmware-qca9888 kmod-ath3k + DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-ath3k endef TARGET_DEVICES += asus_map-ac2200 @@ -142,11 +142,29 @@ define Device/asus_rt-ac58u KERNEL_INITRAMFS := $$(KERNEL) | uImage none KERNEL_INITRAMFS_SUFFIX := -factory.trx IMAGES := sysupgrade.bin - DEVICE_PACKAGES := -kmod-ath10k -ath10k-firmware-qca4019 \ - kmod-ath10k-ct-smallbuffers ath10k-firmware-qca4019-ct kmod-usb-ledtrig-usbport + DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \ + kmod-usb-ledtrig-usbport endef TARGET_DEVICES += asus_rt-ac58u +define Device/asus_rt-ac1300uhp + $(call Device/FitImageLzma) + DEVICE_VENDOR := ASUS + DEVICE_MODEL := RT-AC1300UHP + DEVICE_DTS := qcom-ipq4018-rt-ac58u + BLOCKSIZE := 128k + PAGESIZE := 2048 + DTB_SIZE := 65536 + IMAGE_SIZE := 20439364 + FILESYSTEMS := squashfs + UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC58U') + KERNEL_INITRAMFS := $$(KERNEL) | uImage none + KERNEL_INITRAMFS_SUFFIX := -factory.trx + IMAGES := sysupgrade.bin + DEVICE_PACKAGES := kmod-usb-ledtrig-usbport +endef +TARGET_DEVICES += asus_rt-ac1300uhp + define Device/asus_rt-acrh17 $(call Device/FitImageLzma) DEVICE_VENDOR := ASUS @@ -357,7 +375,7 @@ define Device/meraki_mr33 BLOCKSIZE := 128k PAGESIZE := 2048 IMAGES = sysupgrade.bin - DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887 + DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct endef TARGET_DEVICES += meraki_mr33 @@ -426,7 +444,7 @@ define Device/openmesh_a62 IMAGES = factory.bin sysupgrade.bin IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata - DEVICE_PACKAGES := ath10k-firmware-qca9888 uboot-envtools + DEVICE_PACKAGES := ath10k-firmware-qca9888-ct uboot-envtools endef TARGET_DEVICES += openmesh_a62 @@ -545,8 +563,7 @@ define Device/zyxel_wre6606 DEVICE_DTS_CONFIG := config@4 IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata - DEVICE_PACKAGES := -kmod-ath10k -ath10k-firmware-qca4019 \ - kmod-ath10k-ct-smallbuffers ath10k-firmware-qca4019-ct + DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers endef TARGET_DEVICES += zyxel_wre6606 diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile index f2cb459e8e..5599d02f43 100644 --- a/target/linux/x86/Makefile +++ b/target/linux/x86/Makefile @@ -21,8 +21,9 @@ include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += partx-utils mkf2fs fdisk e2fsprogs wpad kmod-usb-hid \ kmod-ath5k kmod-ath9k kmod-ath9k-htc kmod-ath10k kmod-rt2800-usb kmod-e1000e kmod-igb kmod-igbvf kmod-ixgbe kmod-pcnet32 kmod-tulip kmod-vmxnet3 kmod-i40e kmod-i40evf kmod-r8125 kmod-8139cp kmod-8139too kmod-fs-f2fs \ -htop lm-sensors autocore automount autosamba luci-app-ipsec-vpnd luci-proto-bonding luci-app-unblockmusic luci-app-zerotier luci-app-xlnetacc ddns-scripts_aliyun ddns-scripts_dnspod ca-certificates luci-app-airplay2 luci-app-music-remote-center \ -ath10k-firmware-qca988x ath10k-firmware-qca9888 ath10k-firmware-qca9984 brcmfmac-firmware-43602a1-pcie kmod-fs-cifs kmod-nls-utf8 \ +htop lm-sensors autocore automount autosamba luci-app-ipsec-vpnd luci-proto-bonding luci-app-unblockmusic luci-app-zerotier luci-app-xlnetacc ddns-scripts_aliyun ddns-scripts_dnspod ca-certificates \ +luci-app-airplay2 luci-app-music-remote-center luci-app-qbittorrent luci-app-amule luci-app-openvpn-server \ +ath10k-firmware-qca988x ath10k-firmware-qca9888 ath10k-firmware-qca9984 brcmfmac-firmware-43602a1-pcie \ kmod-sound-hda-core kmod-sound-hda-codec-realtek kmod-sound-hda-codec-via kmod-sound-via82xx kmod-sound-hda-intel kmod-sound-hda-codec-hdmi kmod-sound-i8x0 kmod-usb-audio \ kmod-usb-net kmod-usb-net-asix kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8150 kmod-usb-net-rtl8152