Skip to content

Commit

Permalink
Release v0.32.0
Browse files Browse the repository at this point in the history
  • Loading branch information
vernesong committed Jul 3, 2019
1 parent 02f6d16 commit d70228d
Show file tree
Hide file tree
Showing 17 changed files with 547 additions and 348 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
<a target="_blank" href="https://github.com/Dreamacro/clash/releases/tag/v0.15.0">
<img src="https://img.shields.io/badge/Clash-v0.15.0-orange.svg">
</a>
<a target="_blank" href="https://github.com/vernesong/OpenClash/releases/tag/v0.31.1">
<img src="https://img.shields.io/badge/OpenClash-v0.31.1-blue.svg">
<a target="_blank" href="https://github.com/vernesong/OpenClash/releases/tag/v0.32.0">
<img src="https://img.shields.io/badge/OpenClash-v0.32.0-blue.svg">
</a>
</p>

Expand Down
2 changes: 1 addition & 1 deletion luci-app-openclash/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=luci-app-openclash
PKG_VERSION:=0.31.1
PKG_VERSION:=0.32.0
PKG_RELEASE:=0
PKG_MAINTAINER:=frainzy1477&vernesong <https://github.com/vernesong/OpenClash>

Expand Down
48 changes: 45 additions & 3 deletions luci-app-openclash/files/etc/init.d/openclash
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ add_cron()
[ -z "`grep "openclash_rule.sh" "$CRON_FILE"`" ] && {
[ "$(uci get openclash.config.other_rule_auto_update 2>/dev/null)" -eq 1 ] && echo "0 $(uci get openclash.config.other_rule_update_day_time 2>/dev/null) * * $(uci get openclash.config.other_rule_update_week_time 2>/dev/null) /usr/share/openclash/openclash_rule.sh" >> $CRON_FILE
}
[ -z "`grep "openclash_ipdb.sh" "$CRON_FILE"`" ] && {
[ "$(uci get openclash.config.geo_auto_update 2>/dev/null)" -eq 1 ] && echo "0 $(uci get openclash.config.geo_update_day_time 2>/dev/null) * * $(uci get openclash.config.geo_update_week_time 2>/dev/null) /usr/share/openclash/openclash_ipdb.sh" >> $CRON_FILE
}
crontab $CRON_FILE
nohup /usr/share/openclash/openclash_watchdog.sh &
}
Expand All @@ -36,6 +39,7 @@ del_cron()
{
sed -i '/openclash.sh/d' $CRON_FILE 2>/dev/null
sed -i '/openclash_rule.sh/d' $CRON_FILE 2>/dev/null
sed -i '/openclash_ipdb.sh/d' $CRON_FILE 2>/dev/null
/etc/init.d/cron restart
}

Expand Down Expand Up @@ -113,11 +117,15 @@ yml_dns_get()
local section="$1"
local dns_type=""
local dns_address=""
config_get_bool "enabled" "$section" "enabled" "1"
config_get "port" "$section" "port" ""
config_get "type" "$section" "type" ""
config_get "ip" "$section" "ip" ""
config_get "group" "$section" "group" ""

if [ "$enabled" = "0" ]; then
return
fi

if [ -z "$ip" ]; then
return
Expand Down Expand Up @@ -172,6 +180,37 @@ yml_dns_custom()
rm -rf /etc/openclash/config.falldns 2>/dev/null
}
}

yml_auth_get()
{
local section="$1"
config_get_bool "enabled" "$section" "enabled" "1"
config_get "username" "$section" "username" ""
config_get "password" "$section" "password" ""

if [ "$enabled" = "0" ]; then
return
fi

if [ -z "$username" ] || [ -z "$password" ]; then
return
else
echo " - $username:$password" >>/etc/openclash/config.auth
fi
}

yml_auth_custom()
{
if [ ! -z "`grep "^authentication:" "$1"`" ]; then
sed -i '/^dns:/i\#authentication' "$1" 2>/dev/null
sed -i '/^authentication:/,/^#authentication/d' "$1" 2>/dev/null
fi
[ -f /etc/openclash/config.auth ] && {
sed -i '/^dns:/i\authentication:' "$1" 2>/dev/null
sed -i '/^authentication:/r/etc/openclash/config.auth' "$1" 2>/dev/null
rm -rf /etc/openclash/config.auth 2>/dev/null
}
}

start()
{
Expand Down Expand Up @@ -201,6 +240,9 @@ if [ "$enable" -eq 1 ] && [ -f "$CONFIG_FILE" ]; then
dns_port=`grep "^ listen:" $CONFIG_FILE |awk -F ':' '{print $3}' |tr -cd "[0-9]"`
yml_dns_check "$dns_port" "$CONFIG_FILE"
echo "第三步: 修改配置文件..." >$START_LOG
config_load "openclash"
config_foreach yml_auth_get "authentication"
yml_auth_custom "$CONFIG_FILE"
yml_cut "$enable_custom_dns" "$CHANGE_FILE" "$RULE_FILE" "$DNS_FILE" "$CONFIG_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" "$current_mode" "$CHANGE_FILE" "$ipv6_enable" &
Expand All @@ -216,7 +258,7 @@ if [ "$enable" -eq 1 ] && [ -f "$CONFIG_FILE" ]; then
echo "${LOGTIME} OpenClash Config Error,Please Check And Try Again" >>$LOG_FILE
sleep 20
echo "" >$START_LOG
elif [ ! -z "`sed -n '/^ nameserver:/{n;p}' $CONFIG_FILE |grep '^ fallback:'`" ]; then
elif [ ! -z "`sed -n '/^ nameserver:/{n;p}' $CONFIG_FILE |grep '^ fallback:'`" ] || [ ! -z "`sed -n '/^ nameserver:/{n;p}' $CONFIG_FILE |grep 'OpenClash-General'`" ]; then
echo "错误: 配置文件DNS选项下的Nameserver必须设置服务器,已自动还原配置文件,请修改好后再重新启动!" >$START_LOG
echo "${LOGTIME} Nameserver Must Be Set, Please Change Your Configrations In Config.yaml" >>$LOG_FILE
cp $BACKPACK_FILE $CONFIG_FILE
Expand Down Expand Up @@ -264,7 +306,7 @@ if [ "$enable" -eq 1 ] && [ -f "$CONFIG_FILE" ]; then
echo "${LOGTIME} OpenClash Can Not Start, Please Check The Error Info And Try Again" >> $LOG_FILE
sleep 20
echo "" >$START_LOG
stop
stop && echo "" >$START_LOG
fi
fi
else
Expand Down Expand Up @@ -311,7 +353,7 @@ stop()
echo "第四步: 重启 Dnsmasq 程序..." >$START_LOG
/etc/init.d/dnsmasq restart >/dev/null 2>&1

echo "第五步: 删除 OpenClash 残留文件..." >$START_LOG
echo "第五步删除 OpenClash 残留文件..." >$START_LOG
rule_source=$(uci get openclash.config.rule_source 2>/dev/null)
if [ "$rule_source" != 0 ]; then
rm -rf /tmp/Proxy_Group >/dev/null 2>&1
Expand Down
67 changes: 46 additions & 21 deletions luci-app-openclash/files/etc/openclash/default.yaml
Original file line number Diff line number Diff line change
@@ -1,30 +1,55 @@
# Default Config Without Proxy-Servers Settings #
# Copyright (c) 2018 Dreamacro

# port of HTTP
port: 7890
secret: '123456'
redir-port: 7892

# port of SOCKS5
socks-port: 7891
allow-lan: true

# redir port for Linux and macOS
redir-port: 7892

allow-lan: false

# Rule / Global/ Direct (default is Rule)
mode: Rule
log-level: silent
external-ui: "/usr/share/openclash/dashboard"

# set log level to stdout (default is info)
# info / warning / error / debug / silent
log-level: info

# A RESTful API for clash
external-controller: 0.0.0.0:9090

# you can put the static web resource (such as clash-dashboard) to a directory, and clash would serve in `${API}/ui`
# input is a relative path to the configuration directory or an absolute path
external-ui: "/usr/share/openclash/dashboard"

# Secret for RESTful API (Optional)
secret: '123456'

# experimental feature
experimental:
ignore-resolve-fail: true # ignore dns resolve fail, default value is true

# authentication of local SOCKS5/HTTP(S) server
authentication:
- "user1:pass1"
- "user2:pass2"

dns:
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
enable: true
ipv6: false
listen: 0.0.0.0:7874
enable: true # set true to enable dns (default is false)
ipv6: false # default is false
listen: 0.0.0.0:53
enhanced-mode: redir-host # or fake-ip
fake-ip-range: 198.18.0.1/16 # if you don't know what it is, don't change it
nameserver:
- 117.50.10.10
- 119.29.29.29
- 223.5.5.5
- tls://dns.rubyfish.cn:853
fallback:
- tls://1.1.1.1:853
- tls://1.0.0.1:853
- tls://dns.google:853
#===================== OpenClash-General-Settings =====================#
- 114.114.114.114
- tls://dns.rubyfish.cn:853 # dns over tls
- https://1.1.1.1/dns-query # dns over https
fallback: # concurrent request with nameserver, fallback used when GEOIP country isn't CN
- tcp://1.1.1.1

Proxy:

# shadowsocks
Expand Down Expand Up @@ -118,4 +143,4 @@ Rule:
- SRC-PORT,7777,DIRECT
# FINAL would remove after prerelease
# you also can use `FINAL,Proxy` or `FINAL,,Proxy` now
- MATCH,auto
- MATCH,auto
4 changes: 2 additions & 2 deletions luci-app-openclash/files/etc/openclash/openclash_version
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
v0.31.1
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATAAAAAqCAMAAAADH/eIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNjE5NThGOTlDQkUxMUU5QkZFMkQyRDE2N0JCRjY3MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNjE5NThGQTlDQkUxMUU5QkZFMkQyRDE2N0JCRjY3MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE2MTk1OEY3OUNCRTExRTlCRkUyRDJEMTY3QkJGNjczIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE2MTk1OEY4OUNCRTExRTlCRkUyRDJEMTY3QkJGNjczIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+60hsfAAAAbNQTFRFa2trssrY0ebyPT09hb3dBmWagqrBu7u7Y2NjqqqqSEhIDX6/RZrLksXhNnOWioqKNZPJKmODwd3ustXoHYK8Y5e1RUVF9fX16urq4e/3KYzEdbTZQUFBM2uMnp6ednZ2tra2BFOAlpaWysrKCmuhOjo6ZqzUfn5+rq6u3t7e0dHRgrLNCHKugICASJ3OQoCkeXl5o83lwMDApaWlgoKCZKTKzs7OhYWFkJCQoaGhcnJyBFyN2tra5+fnCnWzxcXFGWaTBWmiBm6qHIbC7/b6RZPAwdXg4ODgVqTRCFuKV5S4c5+5BV+TosDSSYmuCViF0eDokrXI8PT3GGKNBnW0VVVVVFRUD4DBEIHCEYLDAnO0AXKzUlJSVlZWCnu8C3y9V1dXB3i5BXa3Bne4BHW2A3W1A3S1Dn/ADoDAA3S0BHa2EoPDEoPEEoTEE4TFAHKyDn+/CHm5CHm6CXu7CXq6CXq7DH29DH2+1dXV1NTUqamp8/PzS0tL8Pf7B1aE4OrwFF6JU1NTUVFRWVlZWlpaXl5eW1tbX19fXFxcTU1NWFhYT09PUFBQXV1dTk5O////////5Wa0ZwAAAJF0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ADL5YZsAAAlBSURBVHja7FcLVxrXFj5xgMBE5aHOWAVEHr4xCBYRJYkmMW2jMU2iSRtGjba3ve29beMjQUVTzM2lKGXzk+8+Zx7M8HDZlV7WoqvfWp6z93f245zPeUHKZXGE5FsYnT81Cw7TSblMyg+S+ZZG54//bhZ+crSViZj80Nro/Ffz8JXjhIx8aHXBfmwmTCT5e4uj86tmwkF+b3nBXjRVsdYXzPOiqSC/tTo6n/8t2B+C53lTQf7b6vC8+FuwPybY900F+U+rw/P9d81EPcGsiZGRkWnrn3em5PR0xYlMR66QYp2+6gY8vzTE80mTaaivhu0bMpn6HXpi8m697Lo0eV8NEgAZAfv7j4XflqRTBKDSpxdmr5A5DTB9tR6eG43g+ISdo+M7Azsps+ByaLwLJuvl16VrBPOL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
v0.32.0
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATAAAAAqCAMAAAADH/eIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4RTE3MTY2NTlEOUMxMUU5QjgwQ0Y4MzFENjRENzRCOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4RTE3MTY2NjlEOUMxMUU5QjgwQ0Y4MzFENjRENzRCOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhFMTcxNjYzOUQ5QzExRTlCODBDRjgzMUQ2NEQ3NEI5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjhFMTcxNjY0OUQ5QzExRTlCODBDRjgzMUQ2NEQ3NEI5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kp+9CgAAAX1QTFRF0ebygqvChb3daJq2EoTEBXa3c3Nz29vbCXq6SUlJ1dXVB2ujBmWawcHBgYGBo6Oja2trPT09NnSXNpTJwd3tu7u7Y2Njqqqqk8TgGYG9s9TnR5zMioqKBFOAKmODDX6/4OzyRUVFdrXZ9PT06urqQUFBM2uMnp6eB3Gttra2ocXao83lKo3FZq3VlpaWysrKOjo6fn5+rq6u0dHRQYCkCnWyeHh4zs7OhISEBFyNkJCQ8Pb65+fnwdXgRZK9ssrYV5W4V6XSFmWUHYXAJWqSCVqIBl+S8PX3SYqv4ODgF2GLCFiFkrXIZajO0N/oor/RFF6JBXS0VVVVVFRUEIHCD4DBEYLDAnO0AXKzUlJSVlZWCnu8C3y9V1dXB3i5Dn/AA3W1BHW2DoDAA3S0A3S1EoPDBne4EoPEAHKyDn+/CHm6CHm5DH29DH2+qampU1NTUVFRWVlZWlpaXl5eW1tbX19fXFxcTU1NWFhYT09PUFBQXV1dTk5O////////ibQXCwAAAH90Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP/hPAkAAAmISURBVHja7FiLVxpXGh8gIjPDYwYIqDziOMJAVcAXIGJMYkSNjaaw7QZ8dJPdsG2SAtmsRakff3u/e+fBDFZrT3Y5h57+zsnc+/2+19yfM3cuYfp9eUW4GGP4H4wKAftmv8/0D5wXYw3/uwejk4zpM7Lz83jD/+8RIrDJrHwed8HejRJ2xvnLmCP53SgRYMZdr1/870aq2PgLlvzbSMH8PO5IPvhLsD8m2LcjBfPfcUfyu78E+2OCvR0pmP+MO5Jvvx8lfkuwUGllZaUY+t+tyVksDox8MX+PlFDxvjeQ/PFWfBux25cWb7CLS3b7XECz3u48NVlDUZGbNZlPwxCyoCIb/fSlyISdZMgDCAY3D757ZBYBivfrkXx0GwKzdB1T31vYiMpCMED4xaBqMQFr1KMpSs8O049uCJaRAQqKEp7E8C8WjAMvGRrzkNapqFm8/6dgP+5swsyTfdse2C20HWDbZtsG2NxBKwKwZbMd71HLBDvs2fafzAzTKNil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
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,15 @@ function index()


entry({"admin", "services", "openclash"},alias("admin", "services", "openclash", "client"), _("OpenClash"), 50).dependent = true
entry({"admin", "services", "openclash", "client"},form("openclash/client"),_("Clash Global State"), 20).leaf = true
entry({"admin", "services", "openclash", "client"},form("openclash/client"),_("Overview"), 20).leaf = true
entry({"admin", "services", "openclash", "status"},call("action_status")).leaf=true
entry({"admin", "services", "openclash", "state"},call("action_state")).leaf=true
entry({"admin", "services", "openclash", "startlog"},call("action_start")).leaf=true
entry({"admin", "services", "openclash", "currentversion"},call("action_currentversion"))
entry({"admin", "services", "openclash", "lastversion"},call("action_lastversion"))
entry({"admin", "services", "openclash", "config"},form("openclash/config"),_("Server Config"), 30).leaf = true
entry({"admin", "services", "openclash", "settings"},cbi("openclash/settings"),_("Clash Settings"), 40).leaf = true
entry({"admin", "services", "openclash", "update"},cbi("openclash/update"),_("Update Setting"), 50).leaf = true
entry({"admin", "services", "openclash", "rule"},cbi("openclash/rule"),_("Rules Setting"), 60).leaf = true
entry({"admin", "services", "openclash", "log"},form("openclash/log"),_("Logs"), 70).leaf = true
entry({"admin", "services", "openclash", "settings"},cbi("openclash/settings"),_("Takeover Settings"), 30).leaf = true
entry({"admin", "services", "openclash", "config"},form("openclash/config"),_("Server Config"), 40).leaf = true
entry({"admin", "services", "openclash", "log"},form("openclash/log"),_("Logs"), 50).leaf = true


end
Expand Down
Loading

0 comments on commit d70228d

Please sign in to comment.