From 39a7898a84b4686719f2cb80082ed2473a23291e Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Wed, 30 Oct 2019 23:36:56 +0800 Subject: [PATCH] OpenClash: bump to latest git HEAD --- package/ctcgfw/luci-app-openclash/Makefile | 2 +- .../files/etc/config/openclash | 1 + .../files/etc/init.d/openclash | 42 +- .../files/etc/openclash/openclash_version | 4 +- .../usr/lib/lua/luci/controller/openclash.lua | 2 +- .../lua/luci/model/cbi/openclash/settings.lua | 8 +- .../lib/lua/luci/view/openclash/status.htm | 6 +- .../usr/share/openclash/dashboard/index.html | 4 +- .../js/1.bundle.713d27062536ff3ce5dc.min.js | 57 - .../js/1.bundle.bb3fb413cdb4f6e6f970.min.js | 2 + ...bundle.bb3fb413cdb4f6e6f970.min.js.LICENSE | 54 + .../js/bundle.713d27062536ff3ce5dc.min.js | 1 - .../js/bundle.bb3fb413cdb4f6e6f970.min.js | 1 + .../dashboard/main.713d27062536ff3ce5dc.css | 5111 ----------------- .../dashboard/main.bb3fb413cdb4f6e6f970.css | 23 + .../usr/share/openclash/openclash_watchdog.sh | 7 +- .../files/usr/share/openclash/yml_change.sh | 16 +- .../i18n/zh-cn/openclash.zh-cn.po | 6 + 18 files changed, 148 insertions(+), 5199 deletions(-) delete mode 100644 package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.713d27062536ff3ce5dc.min.js create mode 100644 package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.bb3fb413cdb4f6e6f970.min.js create mode 100644 package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.bb3fb413cdb4f6e6f970.min.js.LICENSE delete mode 100644 package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/bundle.713d27062536ff3ce5dc.min.js create mode 100644 package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/bundle.bb3fb413cdb4f6e6f970.min.js delete mode 100644 package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/main.713d27062536ff3ce5dc.css create mode 100644 package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/main.bb3fb413cdb4f6e6f970.css diff --git a/package/ctcgfw/luci-app-openclash/Makefile b/package/ctcgfw/luci-app-openclash/Makefile index 7ae9b27f2a..e46fc89e46 100644 --- a/package/ctcgfw/luci-app-openclash/Makefile +++ b/package/ctcgfw/luci-app-openclash/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-openclash -PKG_VERSION:=0.35.3 +PKG_VERSION:=0.35.4 PKG_RELEASE:=beta PKG_MAINTAINER:=vernesong diff --git a/package/ctcgfw/luci-app-openclash/files/etc/config/openclash b/package/ctcgfw/luci-app-openclash/files/etc/config/openclash index 0ab6836b10..200d01265a 100644 --- a/package/ctcgfw/luci-app-openclash/files/etc/config/openclash +++ b/package/ctcgfw/luci-app-openclash/files/etc/config/openclash @@ -22,6 +22,7 @@ config openclash 'config' option servers_update '0' option log_level 'silent' option proxy_mode 'Rule' + option intranet_allowed '0' config dns_servers option group 'nameserver' diff --git a/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash b/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash index 7c9d9c6e22..96bc80abde 100755 --- a/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash +++ b/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash @@ -48,19 +48,29 @@ change_dns() { uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#"$dns_port" uci delete dhcp.@dnsmasq[0].resolvfile uci set dhcp.@dnsmasq[0].noresolv=1 - [ "$2" -eq "1" ] && { - uci set dhcp.@dnsmasq[0].cachesize=0 - } - uci commit dhcp + uci set openclash.config.redirect_dns=1 + else + uci delete openclash.config.redirect_dns fi + if [ "$2" -eq "1" ]; then + uci set dhcp.@dnsmasq[0].cachesize=0 + uci set openclash.config.masq_cache=1 + else + uci delete openclash.config.masq_cache + fi + uci commit dhcp + uci commit openclash } revert_dns() { - dns_port=$(uci get openclash.config.dns_port 2>/dev/null) - uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#"$dns_port" >/dev/null 2>&1 - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto - uci set dhcp.@dnsmasq[0].noresolv=0 - uci delete dhcp.@dnsmasq[0].cachesize + uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#"$3" >/dev/null 2>&1 + [ "$1" = "1" ] && { + uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto + uci set dhcp.@dnsmasq[0].noresolv=0 + } + [ "$2" = "1" ] && { + uci delete dhcp.@dnsmasq[0].cachesize + } uci commit dhcp rm -rf /tmp/dnsmasq.d/dnsmasq_openclash.conf >/dev/null 2>&1 } @@ -176,9 +186,9 @@ yml_dns_check() fi if [ ! -z "$(grep "^ \{0,\}listen:" "$CONFIG_FILE")" ]; then - sed -i "/^ \{0,\}listen:/c\ listen: 127.0.0.1:${dns_port}" "$CONFIG_FILE" 2>/dev/null + sed -i "/^ \{0,\}listen:/c\ listen: 0.0.0.0:${dns_port}" "$CONFIG_FILE" 2>/dev/null else - sed -i "/^dns:/a\ listen: 127.0.0.1:${dns_port}" "$CONFIG_FILE" 2>/dev/null + sed -i "/^dns:/a\ listen: 0.0.0.0:${dns_port}" "$CONFIG_FILE" 2>/dev/null fi uci set openclash.config.dns_port="$dns_port" && uci commit openclash @@ -381,11 +391,12 @@ if [ "$enable" -eq 1 ] && [ -f "$CONFIG_FILE" ]; then http_port=$(uci get openclash.config.http_port 2>/dev/null) socks_port=$(uci get openclash.config.socks_port 2>/dev/null) enable_redirect_dns=$(uci get openclash.config.enable_redirect_dns 2>/dev/null) - lan_ip=$(uci get network.lan.ipaddr 2>/dev/null) + lan_ip=$(uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null) direct_dns=$(uci get openclash.config.direct_dns 2>/dev/null) disable_masq_cache=$(uci get openclash.config.disable_masq_cache 2>/dev/null) log_level=$(uci get openclash.config.log_level 2>/dev/null) proxy_mode=$(uci get openclash.config.proxy_mode 2>/dev/null) + intranet_allowed=$(uci get openclash.config.intranet_allowed 2>/dev/null) echo "第二步: 配置文件检查..." >$START_LOG yml_check "$en_mode" "$enable_custom_dns" "$CONFIG_FILE" "$BACKUP_FILE" "$START_BACKUP" grep "^ \{0,\}Proxy:" $CONFIG_FILE >/dev/null 2>&1 && grep "^ \{0,\}Proxy Group:" $CONFIG_FILE >/dev/null 2>&1 && grep "^ \{0,\}Rule:" $CONFIG_FILE >/dev/null 2>&1 @@ -403,7 +414,7 @@ if [ "$enable" -eq 1 ] && [ -f "$CONFIG_FILE" ]; then yml_auth_custom "$CONFIG_FILE" yml_cut "$CHANGE_FILE" "$RULE_FILE" "$DNS_FILE" "$CONFIG_FILE" "$PROXY_FILE" yml_dns_custom "$enable_custom_dns" "$DNS_FILE" - sh /usr/share/openclash/yml_change.sh "$LOGTIME" "$en_mode" "$enable_custom_dns" "$da_password" "$cn_port" "$proxy_port" "$CHANGE_FILE" "$ipv6_enable" "$http_port" "$socks_port" "$lan_ip" "$log_level" "$proxy_mode" & + sh /usr/share/openclash/yml_change.sh "$LOGTIME" "$en_mode" "$enable_custom_dns" "$da_password" "$cn_port" "$proxy_port" "$CHANGE_FILE" "$ipv6_enable" "$http_port" "$socks_port" "$lan_ip" "$log_level" "$proxy_mode" "$intranet_allowed" & sh /usr/share/openclash/yml_rules_change.sh "$LOGTIME" "$rule_source" "$enable_custom_clash_rules" "$RULE_FILE" & wait cat "$CHANGE_FILE" "$DNS_FILE" "$PROXY_FILE" "$RULE_FILE" >$CONFIG_FILE 2>/dev/null @@ -585,7 +596,10 @@ stop() kill -9 "$(pidof clash|sed 's/$//g')" 2>/dev/null echo "第四步: 重启 Dnsmasq 程序..." >$START_LOG - revert_dns + dns_port=$(uci get openclash.config.dns_port 2>/dev/null) + redirect_dns=$(uci get openclash.config.redirect_dns 2>/dev/null) + masq_cache=$(uci get openclash.config.masq_cache 2>/dev/null) + revert_dns "$redirect_dns" "$masq_cache" "$dns_port" /etc/init.d/dnsmasq restart >/dev/null 2>&1 echo "第五步:删除 OpenClash 残留文件..." >$START_LOG diff --git a/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version b/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version index e30ddccf48..a7699fd396 100644 --- a/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version +++ b/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version @@ -1,2 +1,2 @@ -v0.35.3-beta -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXMAAAAqCAMAAAB2kksrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc1RjI4REVDRjNDQjExRTk4QkUxOUM3MDA4QjlDQThEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc1RjI4REVERjNDQjExRTk4QkUxOUM3MDA4QjlDQThEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzVGMjhERUFGM0NCMTFFOThCRTE5QzcwMDhCOUNBOEQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzVGMjhERUJGM0NCMTFFOThCRTE5QzcwMDhCOUNBOEQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7zdri4AAADAFBMVEVWl7zB1eDR0dF1tNkFZZxJns5sbGw9PT0ahMEHXpFXpdKFhYW6urokhbwkapKiwNIGcKwJeLjR5vI5lcmCgoKStcmenp7a2tqlpaV4eHjf398JdbRilLHn5+c/Pz8Ka6HGxsahoaHOzs4EXI5paWmizOUJca1lnr3R4uyTvNORkZFwcHC/v79FRUWsrKy1tbUIXIwGbqkwk8uTxeEEYJUmfrCy1urKyspFmspmrdUXgb5iYmI0dZsEWIg3kscEU4Bkq9NLS0tDQ0NFgKHg4OCLi4sXYYwGVYJGirEGdLJ2dnYYdKjAwMCcnJzDw8NBQUGx0eMIZJlCQkImcZwFaaK2trajxdiEss2Xl5cmicEHbKUIZ54FcrBlZWWNjY2yytgJWIVHnM1yn7gqjcZzobvC2uexzdwKb6lGkr2DrcWvr6+hv9BhYWGiyN41hrSUlJQFZZvw9fekzuYEYphzc3NVi6oIYZRGgqSJweJTiah0sdV0p8QGdbQRgsMCc7QBcrNRUVFUVFRVVVVSUlILfL1WVlYFdrcHeLkKe7wEdrYDdLQDdbUOf8AEdbYOgMADdLUSg8MSg8RXV1cShMQThMUAcrIGd7gOf78Nfr8Nfr4Mfb4Mfb0IebkJeroJe7sJers6OjqqqqrU1NTV1dWrq6tISEipqak7Ozvw9/uAgIB+fn5JSUnC3u6EvN2BgYHq6urz8/P19fWHv99MTEzh7/f09PSDvNyEvd2ErMJ/f3+Gvt+Fvt7A1N/v9PeCqcDg6vDg6u+Gv9/B3e3B3e6JiYkEVYPo6OiFvd4HVoRGm8sUXokFZ5+Dq8LB3u7W1tYLermEtNBHm8zD3+9Vos8KdK8Fa6bC3++DqsHg7vYVaJfR3+gGV4eDr8gKeLfv9vqDu9w1j8IJcKxEmcrg7/eFvd1jpsxGhqqAudnP5PFUnMVkmbdEgKNUja6RuM+yz+BTU1MPgMEQgcJZWVlaWlpfX19bW1tcXFxNTU1eXl5PT09QUFBYWFhdXV1OTk7////////ymuXNAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAADDpJREFUeNrsVwtYVGUaHlQYBhQRYWAURgU1A4eLmqKo4xColAuZWBq6ommZWpK3bnsRYZTdbW/sZm2RchucAAUE1JSripFaWWn3m1u77XbZaV03EONlv/8/5wznDGA8W4/PM/P4Pg/n/67v95/3nzlnUHV1Va0be9kV8GcnwKRHrV1dqq6ELZddA39yCkzy61JVbWl3EfzROTDJqlrnKpK3/8FJ8Kgq4jtXwc+dBJNU393Q/HrDhTT/t7NA9a3L4Ibm1x/fOAtU/3UZ3ND8+uN3zgLVf1wGTzoLetXcPzIy8qcRP74qy/39l9udCH///vTo/HX9ZH+6L3wzfODBgcN7RD29Dh486C567gcluCvLWMLL07G5Gc1P/99QXXJE3OIqcCQsibv0A+Ef6a/wq7DEbi/AtP5QvIpX+znsmT7g+Qa/nTc8n5RH7xWiqPHibjMkNMurNgkxa7MDZzOa+xr3jHuz+zPXRA/NdRVAYLFWG0qj/H+o5pGIlLvmiUiwHy0Q/uNq/pc+8BYm3DT/pgl4SxF1B947cmTow4A7c4+i8YiAtfIqoDHgSEAjcFTJedQx0M8ch+qqEnEJqPTQqwkmbaX/1R8I0lzhRwAeorkElVn9oTCoDf0c9mzvmI7Guenp6XMfxnR52H2oTzoLN2ITc4/CLV3AKHmV2yM8tgI1SlLS9dm+cK0ch6qHSpVx6vgyk8mgVpvH9ldbnb/iePz9PXrX3BKCMaJZhMWdYrGud8Y4B809lEPipAoJz/WOqVituf/8/ZojmCoPn09P14walZZ+BG8x9xjWjBJwXl6Vnh6dNiot+hFASXoMx5577l734bKQu+TxnD2oqBHgqHkVtPrt3DKbmFGEA9w7gCLxuiQBKL5ajOK4YnoMsWwxewFUFfM6II67RXHcEWBn365FhSggEGEm4RawfEXiVQX51TEVPMwoiyEQJ/LQgjix0oM3LpZvPVuEF2pEqwZe2dlW/P01sl97BNZsGc4v/JAtr32NB9l6DOXZ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 \ No newline at end of file +v0.35.4-beta +data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXMAAAAqCAMAAAB2kksrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0QTJFMDVDRkIxODExRTlBNzM3ODMzOEY1NjNGMEYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0QTJFMDVERkIxODExRTlBNzM3ODMzOEY1NjNGMEYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODRBMkUwNUFGQjE4MTFFOUE3Mzc4MzM4RjU2M0YwRjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODRBMkUwNUJGQjE4MTFFOUE3Mzc4MzM4RjU2M0YwRjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6BAMtWAAADAFBMVEWiwNE6lcpJns5tbW09PT11tdlFmsqEhIQGZp26urokhbxXpdJTiqpjlbEHXpFFgKIkapKTu9MahMGCgoKenp7a2tqlpaUGcKxknLt4eHjR5vLf39/n5+c/Pz/GxsahoaHOzs5paWmizOXR4uyRkZFxcXG/v79GRkasrKy1tbUwk8uTxeE0dZsne6sGbakJdbTKysoJca1mrdUXgb5iYmJkq9NLS0tDQ0Pg4OAKa6GLi4sFYJUGWooEU4B2dnYJX4+y1uoYdKjAwMCcnJyStMgIZJkqjcYXYo0GdLLCwsJBQUGx0OIGVYJGibBCQkImcJu2trajxdmEss3w9feXl5cGXI6DrsYnicHB1ODS0tLQ0NBlZWVFkbyNjY2yytgFcrAFZZtHnM0FaaJzobvC2ucEXI6xzdwHbKU2ksevr69yn7hgYGCiyd+UlJQJWIWDqsEEYph0dHQJbaakzuaJweJ0sdU1h7UGdbQRgsMCc7QBcrNRUVFUVFRVVVVSUlILfL0FdrdWVlYHeLkKe7wEdrYOgMAEdbYDdbUOf8ADdLQDdLUSg8NXV1cSg8QShMQThMUAcrIGd7gOf78Nfr8Nfr4Mfb4Mfb0IebkIeboJeroJe7sJers6OjqqqqrU1NTV1dVISEirq6upqak7Ozvw9/uAgIB+fn7C3u4HVoRJSUmEvN2BgYHq6upMTEzz8/P19fWEvd309PSFvt7B3u7h7/eHv9+DvNyGvt+ErMJ/f3+CqcDv9PcGVYHA1N/B3e2Gv9/g6u/B3e6JiYno6Ojg6vAHVoMEVYOFvd4JeLgFZ6Chv9AUXokIaJ/W1taDq8Lg7vbC3+8LdK9Gm8vD3++EtNDR3+iFvd2Du9wFa6YLerkEVYQKebgIWIcIV4QHYpUVaJfv9voLb6g1jsJVoMzC3u/B1+ODr8gJcKzg7/cEWIjB1eB/uNhIlcCAudkmbZVTU1MPgMEQgcJZWVlaWlpfX19bW1tcXFxNTU1eXl5PT09QUFBYWFhdXV1OTk7///////+qLYenAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAADDpJREFUeNrsVwlUVNcZfsDIqAgqDuAgo6jogBrccECUxFgXRI0mkVirRxElLolbzdJWhI40bdrSNiRtNcjuhEVZBZeAu9a4xUSjiUnMvhhp66TWFoLho/+9772Z92bAcJocz5k5fuf47r9+/33ffbw3Cm1tVasG3nIH/MkFMOwpS1ub0Baz4ZZ74I8ugWHBbULVkGY3wR9cA8Mswip3kbz59y6Cp4Qh37oLfuYiGCZ8e0/zuw030vxfrgLhv26De5rffXztKhD+4za4p/ndx3OuAuHfboPnXQXtaq4NDw8P8/rhVVmo1S60OV5abWd69Fp9J9lf7Ahfe3TZ08XDKervs2fPHk/J89wjw9Op/zkPz2kOocM4/OL/DeGmI6LmVoEjZl7Uze8JbbhW5Vdhns2ejFGdoXgdr3dy2EsdwP8tfjtv+T+vjE4To6jz4e5hyDjsRODjHDzcTpkMz8OeL90RTprry4GAQp0ulMZrv6/m4QhXuuahiLEdLRD2w2r+5w7wJgb3nd13MN5URT2By/v3C48CnszdhxP7RfzDsd/DAuxziO1zinQuxyHcViMqBpVeGgaTrrLP7e8J0lzlDwG8JHMeKtM6Q2HUGDs57C/tYwxOTF+7du30RzFGGfYUbqxl4RPYyNx9aFwrYrxD/zQLHsU+h+A+p0jnchyCk0qVUZroMpPJqNGYB3ZWW30f1fH06ePVvuYFIRggmfmY2yoV69tnjHLQ3Es9JEqukPHX9jEJyx745MInD+zHJGX4wtq1D4wfP/XqfrzJ3N1YPl7EBXW7fzB8G7HbgXQ3i0zz9FCEPGVvt6La01NVI8JR8yroDJu4ZTYxIx+7uLcL+dJ1XgxQeLsQhVGF9Bpi2UL2Aagq5HVAFHfzo7gjwsa+SYdySUB64jNJuMksXx57W0V+e0A5DzPKQojEsTw0OUqq9OKNc5VbT5fggzrJqoNPeroFs98n+92esKQrcGHqKba82xtPsnU3Pk9vF59D+OAL7HaIkq4+dfxr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 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/controller/openclash.lua b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/controller/openclash.lua index ac5fced6b0..8639e16168 100644 --- a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/controller/openclash.lua +++ b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/controller/openclash.lua @@ -122,7 +122,7 @@ local function ConnersHua_return() end local function daip() - return luci.sys.exec("uci get network.lan.ipaddr 2>/dev/null |tr -d '\n'") + return luci.sys.exec("uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null |tr -d '\n'") end local function dase() diff --git a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua index 73da3e2f9d..a7635d26ae 100644 --- a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua +++ b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua @@ -67,6 +67,12 @@ o:value("debug", translate("Debug Mode")) o:value("silent", translate("Silent Mode")) o.default = "silent" +o = s:taboption("settings", ListValue, "intranet_allowed", translate("Only intranet allowed")) +o.description = translate("When enabled, the control panel and the connection broker port will not be accessible from the public network") +o:value("0", translate("Disable")) +o:value("1", translate("Enable")) +o.default = 0 + o = s:taboption("settings", Value, "proxy_port") o.title = translate("Redir Port") o.default = 7892 @@ -348,7 +354,7 @@ o.write = function() end ---- Dashboard Settings -local lan_ip=SYS.exec("uci get network.lan.ipaddr 2>/dev/null |tr -d '\n'") +local lan_ip=SYS.exec("uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null |tr -d '\n'") o = s:taboption("dashboard", Value, "cn_port") o.title = translate("Dashboard Port") o.default = 9090 diff --git a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/status.htm b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/status.htm index 8249a5b23b..bfc728da9b 100644 --- a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/status.htm +++ b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/status.htm @@ -11,12 +11,14 @@

- star -     Wiki     + star +     +

diff --git a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html b/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html index d44005490d..6b63a30ca9 100644 --- a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html +++ b/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html @@ -5,8 +5,8 @@ Clash - +
- + diff --git a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.713d27062536ff3ce5dc.min.js b/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.713d27062536ff3ce5dc.min.js deleted file mode 100644 index 63e7fb4713..0000000000 --- a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.713d27062536ff3ce5dc.min.js +++ /dev/null @@ -1,57 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[function(e,t,n){"use strict";e.exports=n(47)},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}n.d(t,"a",function(){return r})},,,function(e,t,n){e.exports=n(51)()},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(48)},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(40)(Object,"create");e.exports=r},function(e,t,n){var r=n(107);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(113);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},,function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l,s=[],c=!1,f=-1;function p(){c&&l&&(c=!1,l.length?s=l.concat(s):f=-1,s.length&&d())}function d(){if(!c){var e=u(p);c=!0;for(var t=s.length;t;){for(l=s,s=[];++f1)for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:"",n=e&&e.split("/")||[],r=t&&t.split("/")||[],o=e&&m(e),i=t&&m(t),a=o||i;if(e&&m(e)?r=n:n.length&&(r.pop(),r=r.concat(n)),!r.length)return"/";var u=void 0;if(r.length){var l=r[r.length-1];u="."===l||".."===l||""===l}else u=!1;for(var s=0,c=r.length;c>=0;c--){var f=r[c];"."===f?v(r,c):".."===f?(v(r,c),s++):s&&(v(r,c),s--)}if(!a)for(;s--;s)r.unshift("..");!a||""===r[0]||r[0]&&m(r[0])||r.unshift("");var p=r.join("/");return u&&"/"!==p.substr(-1)&&(p+="/"),p},g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var b=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every(function(t,r){return e(t,n[r])});var r=void 0===t?"undefined":g(t);if(r!==(void 0===n?"undefined":g(n)))return!1;if("object"===r){var o=t.valueOf(),i=n.valueOf();if(o!==t||i!==n)return e(o,i);var a=Object.keys(t),u=Object.keys(n);return a.length===u.length&&a.every(function(r){return e(t[r],n[r])})}return!1},w=!0,x="Invariant failed";var _=function(e,t){if(!e)throw w?new Error(x):new Error(x+": "+(t||""))};function S(e){return"/"===e.charAt(0)?e:"/"+e}function T(e){return"/"===e.charAt(0)?e.substr(1):e}function k(e,t){return function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)}(e,t)?e.substr(t.length):e}function C(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function E(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function P(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(h.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=y(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function O(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&b(e.state,t.state)}function R(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r=0?t:0)+"#"+e)}function $(e){void 0===e&&(e={}),M||_(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),r=n.getUserConfirmation,o=void 0===r?I:r,i=n.hashType,a=void 0===i?"slash":i,u=e.basename?C(S(e.basename)):"",l=L[a],s=l.encodePath,c=l.decodePath;function f(){var e=c(U());return u&&(e=k(e,u)),P(e)}var p=R();function d(e){Object(h.a)(A,e),A.length=t.length,p.notifyListeners(A.location,A.action)}var m=!1,v=null;function y(){var e=U(),t=s(e);if(e!==t)F(t);else{var n=f(),r=A.location;if(!m&&O(r,n))return;if(v===E(n))return;v=null,function(e){if(m)m=!1,d();else{p.confirmTransitionTo(e,"POP",o,function(t){t?d({action:"POP",location:e}):function(e){var t=A.location,n=x.lastIndexOf(E(t));-1===n&&(n=0);var r=x.lastIndexOf(E(e));-1===r&&(r=0);var o=n-r;o&&(m=!0,T(o))}(e)})}}(n)}}var g=U(),b=s(g);g!==b&&F(b);var w=f(),x=[E(w)];function T(e){t.go(e)}var z=0;function N(e){1===(z+=e)&&1===e?window.addEventListener(D,y):0===z&&window.removeEventListener(D,y)}var j=!1;var A={length:t.length,action:"POP",location:w,createHref:function(e){return"#"+s(u+E(e))},push:function(e,t){var n=P(e,void 0,void 0,A.location);p.confirmTransitionTo(n,"PUSH",o,function(e){if(e){var t=E(n),r=s(u+t);if(U()!==r){v=t,function(e){window.location.hash=e}(r);var o=x.lastIndexOf(E(A.location)),i=x.slice(0,-1===o?0:o+1);i.push(t),x=i,d({action:"PUSH",location:n})}else d()}})},replace:function(e,t){var n=P(e,void 0,void 0,A.location);p.confirmTransitionTo(n,"REPLACE",o,function(e){if(e){var t=E(n),r=s(u+t);U()!==r&&(v=t,F(r));var o=x.indexOf(E(A.location));-1!==o&&(x[o]=t),d({action:"REPLACE",location:n})}})},go:T,goBack:function(){T(-1)},goForward:function(){T(1)},block:function(e){void 0===e&&(e=!1);var t=p.setPrompt(e);return j||(N(1),j=!0),function(){return j&&(j=!1,N(-1)),t()}},listen:function(e){var t=p.appendListener(e);return N(1),function(){N(-1),t()}}};return A}function W(e,t,n){return Math.min(Math.max(e,t),n)}var H=n(26),B=n.n(H),V=(n(29),n(8)),q=n(44),Q=n.n(q),K=function(e){var t=d();return t.displayName=e,t}("Router"),Y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen(function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e})),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(K.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(i.a.Component);var X=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;ot?n.splice(t,n.length-t,r):n.push(r),c({action:"PUSH",location:r,index:t,entries:n})}})},replace:function(e,t){var r=P(e,t,f(),y.location);s.confirmTransitionTo(r,"REPLACE",n,function(e){e&&(y.entries[y.index]=r,c({action:"REPLACE",location:r}))})},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=y.index+e;return t>=0&&t=0;t--){var n=e[t][i];n.modified||(Array.isArray(n.base)?P(n)&&_(n):E(n)&&_(n))}}function E(e){for(var t=e.base,n=e.draft,r=Object.keys(n),o=r.length-1;o>=0;o--){var a=r[o],u=t[a];if(void 0===u&&!d(t,a))return!0;var l=n[a],s=l&&l[i];if(s?s.base!==u:!h(l,u))return!0}return r.length!==Object.keys(t).length}function P(e){var t=e.draft;if(t.length!==e.base.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!n||n.get)}var O=Object.freeze({willFinalize:function(e,t,n){e.drafts.forEach(function(e){e[i].finalizing=!0}),n?a(t)&&t[i].scope===e&&C(e.drafts):(e.patches&&function e(t){if(!t||"object"!=typeof t)return;var n=t[i];if(!n)return;var r=n.base;var o=n.draft;var a=n.assigned;if(Array.isArray(t)){if(P(n)){if(_(n),a.length=!0,o.lengthc&&a[f-1]===u[f+s-1];)--f;for(var p=c;p=f;--v){var y=t.concat([v]);n[m+v-f]={op:"add",path:y,value:u[v]},h&&r.push({op:"remove",path:y})}h||r.push({op:"replace",path:t.concat(["length"]),value:a.length})}(e,t,n,r):function(e,t,n,r){var o=e.base,i=e.copy;f(e.assigned,function(e,a){var u=o[e],l=i[e],s=a?e in o?"replace":"add":"remove";if(u!==l||"replace"!==s){var c=t.concat(e);n.push("remove"===s?{op:s,path:c}:{op:s,path:c,value:l}),r.push("add"===s?{op:"remove",path:c}:"remove"===s?{op:"add",path:c,value:u}:{op:"replace",path:c,value:u})}})}(e,t,n,r)}function L(e,t){for(var n=0;n0;)r[o]=arguments[o+1];return l.produce(e,function(e){return t.call.apply(t,[n,e].concat(r))})}}if("function"!=typeof t)throw new Error("The first or second argument to `produce` must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("The third argument to `produce` must be a function or undefined");if(u(e)){var s=m.enter(),c=this.createProxy(e),f=!0;try{o=t(c),f=!1}finally{f?s.revoke():s.leave()}return o instanceof Promise?o.then(function(e){return s.usePatches(n),i.processResult(e,s)},function(e){throw s.revoke(),e}):(s.usePatches(n),this.processResult(o,s))}return void 0===(o=t(e))?e:o!==r?o:void 0},F.prototype.produceWithPatches=function(e,t,n){var r,o,i=this;if("function"==typeof e)return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return i.produceWithPatches(t,function(t){return e.apply(void 0,[t].concat(n))})};if(n)throw new Error("A patch listener cannot be passed to produceWithPatches");return[this.produce(e,t,function(e,t){r=e,o=t}),r,o]},F.prototype.createDraft=function(e){if(!u(e))throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object");var t=m.enter(),n=this.createProxy(e);return n[i].isManual=!0,t.leave(),n},F.prototype.finishDraft=function(e,t){var n=e&&e[i];if(!n||!n.isManual)throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`");if(n.finalized)throw new Error("The given draft is already finalized");var r=n.scope;return r.usePatches(t),this.processResult(void 0,r)},F.prototype.setAutoFreeze=function(e){this.autoFreeze=e},F.prototype.setUseProxies=function(e){this.useProxies=e,l(this,e?A:O)},F.prototype.applyPatches=function(e,t){var n;for(n=t.length-1;n>=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}return a(e)?L(e,t):this.produce(e,function(e){return L(e,t.slice(n+1))})},F.prototype.processResult=function(e,t){var n=t.drafts[0],o=void 0!==e&&e!==n;if(this.willFinalize(t,e,o),o){if(n[i].modified)throw t.revoke(),new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.");u(e)&&(e=this.finalize(e,null,t)),t.patches&&(t.patches.push({op:"replace",path:[],value:e}),t.inversePatches.push({op:"replace",path:[],value:n[i].base}))}else e=this.finalize(n,[],t);return t.revoke(),t.patches&&t.patchListener(t.patches,t.inversePatches),e!==r?e:void 0},F.prototype.finalize=function(e,t,n){var r=this,o=e[i];if(!o)return Object.isFrozen(e)?e:this.finalizeTree(e,null,n);if(o.scope!==n)return e;if(!o.modified)return o.base;if(!o.finalized){if(o.finalized=!0,this.finalizeTree(o.draft,t,n),this.onDelete)if(this.useProxies){var a=o.assigned;for(var u in a)a[u]||this.onDelete(o,u)}else{var l=o.base,s=o.copy;f(l,function(e){d(s,e)||r.onDelete(o,e)})}this.onCopy&&this.onCopy(o),this.autoFreeze&&n.canAutoFreeze&&Object.freeze(o.copy),t&&n.patches&&D(o,t,n.patches,n.inversePatches)}return o.copy},F.prototype.finalizeTree=function(e,t,n){var r=this,o=e[i];o&&(this.useProxies||(o.copy=c(o.draft,!0)),e=o.copy);var l=!!t&&!!n.patches,s=function(i,c,d){if(c===d)throw Error("Immer forbids circular references");var m=!!o&&d===e;if(a(c)){var v=m&&l&&!o.assigned[i]?t.concat(i):null;if(a(c=r.finalize(c,v,n))&&(n.canAutoFreeze=!1),Array.isArray(d)||p(d,i)?d[i]=c:Object.defineProperty(d,i,{value:c}),m&&c===o.base[i])return}else{if(m&&h(c,o.base[i]))return;u(c)&&!Object.isFrozen(c)&&f(c,s)}m&&r.onAssign&&r.onAssign(o,i,c)};return f(e,s),e};var $=new F,W=$.produce;$.produceWithPatches.bind($),$.setAutoFreeze.bind($),$.setUseProxies.bind($),$.applyPatches.bind($),$.createDraft.bind($),$.finishDraft.bind($);t.a=W}).call(this,n(18))},function(e,t,n){"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,t){for(var n,u,l=a(e),s=1;s=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],function(e){l.headers[e]={}}),r.forEach(["post","put","patch"],function(e){l.headers[e]=r.merge(i)}),e.exports=l}).call(this,n(18))},function(e,t,n){"use strict";var r=n(4),o=n(64),i=n(31),a=n(66),u=n(67),l=n(35);e.exports=function(e){return new Promise(function(t,s){var c=e.data,f=e.headers;r.isFormData(c)&&delete f["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var d=e.auth.username||"",h=e.auth.password||"";f.Authorization="Basic "+btoa(d+":"+h)}if(p.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?a(p.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:n,config:e,request:p};o(t,s,r),p=null}},p.onabort=function(){p&&(s(l("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){s(l("Network Error",e,null,p)),p=null},p.ontimeout=function(){s(l("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var m=n(68),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?m.read(e.xsrfCookieName):void 0;v&&(f[e.xsrfHeaderName]=v)}if("setRequestHeader"in p&&r.forEach(f,function(e,t){void 0===c&&"content-type"===t.toLowerCase()?delete f[t]:p.setRequestHeader(t,e)}),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(y){if("json"!==e.responseType)throw y}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){p&&(p.abort(),s(e),p=null)}),void 0===c&&(c=null),p.send(c)})}},function(e,t,n){"use strict";var r=n(65);e.exports=function(e,t,n,o,i){var a=new Error(e);return r(a,t,n,o,i)}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t){t=t||{};var n={};return r.forEach(["url","method","params","data"],function(e){void 0!==t[e]&&(n[e]=t[e])}),r.forEach(["headers","auth","proxy"],function(o){r.isObject(t[o])?n[o]=r.deepMerge(e[o],t[o]):void 0!==t[o]?n[o]=t[o]:r.isObject(e[o])?n[o]=r.deepMerge(e[o]):void 0!==e[o]&&(n[o]=e[o])}),r.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])}),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,o="~";function i(){}function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function u(e,t,n,r,i){if("function"!=typeof n)throw new TypeError("The listener must be a function");var u=new a(n,r||e,i),l=o?o+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],u]:e._events[l].push(u):(e._events[l]=u,e._eventsCount++),e}function l(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function s(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(o=!1)),s.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)r.call(e,t)&&n.push(o?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},s.prototype.listeners=function(e){var t=o?o+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,a=new Array(i);rI.length&&I.push(e)}function j(e,t,n){return null==e?0:function e(t,n,r,o){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var l=!1;if(null===t)l=!0;else switch(u){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case i:case a:l=!0}}if(l)return r(o,t,""===n?"."+A(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;sthis.eventPool.length&&this.eventPool.push(e)}function fe(e){e.eventPool=[],e.getPooled=se,e.release=ce}o(le.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ae)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ae)},persist:function(){this.isPersistent=ae},isPersistent:ue,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=ue,this._dispatchInstances=this._dispatchListeners=null}}),le.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},le.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,fe(n),n},fe(le);var pe=le.extend({data:null}),de=le.extend({data:null}),he=[9,13,27,32],me=V&&"CompositionEvent"in window,ve=null;V&&"documentMode"in document&&(ve=document.documentMode);var ye=V&&"TextEvent"in window&&!ve,ge=V&&(!me||ve&&8=ve),be=String.fromCharCode(32),we={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},xe=!1;function _e(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Se(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Te=!1;var ke={eventTypes:we,extractEvents:function(e,t,n,r){var o=void 0,i=void 0;if(me)e:{switch(e){case"compositionstart":o=we.compositionStart;break e;case"compositionend":o=we.compositionEnd;break e;case"compositionupdate":o=we.compositionUpdate;break e}o=void 0}else Te?_e(e,n)&&(o=we.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=we.compositionStart);return o?(ge&&"ko"!==n.locale&&(Te||o!==we.compositionStart?o===we.compositionEnd&&Te&&(i=ie()):(re="value"in(ne=r)?ne.value:ne.textContent,Te=!0)),o=pe.getPooled(o,t,n,r),i?o.data=i:null!==(i=Se(n))&&(o.data=i),B(o),i=o):i=null,(e=ye?function(e,t){switch(e){case"compositionend":return Se(t);case"keypress":return 32!==t.which?null:(xe=!0,be);case"textInput":return(e=t.data)===be&&xe?null:e;default:return null}}(e,n):function(e,t){if(Te)return"compositionend"===e||!me&&_e(e,t)?(e=ie(),oe=re=ne=null,Te=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1