diff --git a/CHANGELOG b/CHANGELOG index 2b514f0..ed392d3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,10 @@ proxy更新日志 +v6.3 +1.fixed #156 +2.修复DNS代理,没有定时保存缓存结果到文件.重启会降低查询速度. + + v6.2 1.修复encrypt.Conn释放内存,导致的潜在panic问题. 2.修复了basic认证,处理认证文件没有正确处理注释的bug. diff --git a/README_ZH.md b/README_ZH.md index c2b00e7..69ea45d 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -171,21 +171,27 @@ Proxy是golang实现的高性能http,https,websocket,tcp,udp,socks5,ss代理服 提示:所有操作需要root权限. #### 自动安装 #### **0.如果你的VPS是linux64位的系统,那么只需要执行下面一句,就可以完成自动安装和配置.** + ```shell curl -L https://raw.githubusercontent.com/snail007/goproxy/master/install_auto.sh | bash ``` + 安装完成,配置目录是/etc/proxy,更详细的使用方法请参考上面的手册目录,进一步了解你想要使用的功能. 如果安装失败或者你的vps不是linux64位系统,请按照下面的半自动步骤安装: #### 手动安装 #### **1.下载proxy** -下载地址:https://github.com/snail007/goproxy/releases +下载地址:https://github.com/snail007/goproxy/releases/latest +下面以v6.2为例,如果有最新版,请使用最新版链接. + ```shell cd /root/proxy/ wget https://github.com/snail007/goproxy/releases/download/v6.2/proxy-linux-amd64.tar.gz ``` + #### **2.下载自动安装脚本** + ```shell cd /root/proxy/ wget https://raw.githubusercontent.com/snail007/goproxy/master/install.sh diff --git a/VERSION b/VERSION index 913671c..1f2be2a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.2 \ No newline at end of file +6.3 \ No newline at end of file diff --git a/install_auto.sh b/install_auto.sh index 2823213..a9a6901 100755 --- a/install_auto.sh +++ b/install_auto.sh @@ -5,7 +5,10 @@ if [ -e /tmp/proxy ]; then fi mkdir /tmp/proxy cd /tmp/proxy -wget https://github.com/snail007/goproxy/releases/download/v6.2/proxy-linux-amd64.tar.gz + +LAST_VERSION=$(curl --silent "https://api.github.com/repos/snail007/goproxy/releases/latest" | grep -Po '"tag_name": "\K.*?(?=")') + +wget "https://github.com/snail007/goproxy/releases/download/${LAST_VERSION}/proxy-linux-amd64.tar.gz" # #install proxy tar zxvf proxy-linux-amd64.tar.gz diff --git a/release.sh b/release.sh index b6c2217..c8a6ebc 100755 --- a/release.sh +++ b/release.sh @@ -82,6 +82,3 @@ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build $OPTS -ldflags "$X" -o proxy.e rm -rf proxy proxy.exe proxy-noconsole.exe .cert -#todo -#1.install_auto.sh goproxy/releases/download/vxxx -#2.README goproxy/releases/download/vxxx diff --git a/sdk/android-ios/dns.go b/sdk/android-ios/dns.go index 228f750..abd843f 100644 --- a/sdk/android-ios/dns.go +++ b/sdk/android-ios/dns.go @@ -57,6 +57,17 @@ func (s *DNS) CheckArgs() (err error) { func (s *DNS) InitService() (err error) { s.cache = gocache.New(time.Second*time.Duration(*s.cfg.DNSTTL), time.Second*60) s.cache.LoadFile(*s.cfg.CacheFile) + go func() { + for { + select { + case <-s.exitSig: + return + case <-time.After(time.Second * 300): + s.cache.DeleteExpired() + s.cache.SaveFile(*s.cfg.CacheFile) + } + } + }() go func() { defer func() { if e := recover(); e != nil {