Signed-off-by: arraykeys@gmail.com <arraykeys@gmail.com>
This commit is contained in:
@ -1,4 +1,7 @@
|
|||||||
proxy更新日志
|
proxy更新日志
|
||||||
|
v4.7
|
||||||
|
1.优化了bridge的日志,增加了client和server的掉线日志.
|
||||||
|
|
||||||
v4.6
|
v4.6
|
||||||
1.sps,http(s),socks5,内网穿透都做了大量的超时优化处理,更加稳定.
|
1.sps,http(s),socks5,内网穿透都做了大量的超时优化处理,更加稳定.
|
||||||
2.sps增加了强大的树形级联认证支持,可以轻松构建你的认证代理网络.
|
2.sps增加了强大的树形级联认证支持,可以轻松构建你的认证代理网络.
|
||||||
|
|||||||
@ -35,7 +35,8 @@ Proxy是golang实现的高性能http,https,websocket,tcp,udp,socks5代理服务
|
|||||||
- ...
|
- ...
|
||||||
|
|
||||||
|
|
||||||
本页是v4.6手册,其他版本手册请点击下面链接查看.
|
本页是v4.7手册,其他版本手册请点击下面链接查看.
|
||||||
|
- [v4.6手册](https://github.com/snail007/goproxy/tree/v4.6)
|
||||||
- [v4.5手册](https://github.com/snail007/goproxy/tree/v4.5)
|
- [v4.5手册](https://github.com/snail007/goproxy/tree/v4.5)
|
||||||
- [v4.4手册](https://github.com/snail007/goproxy/tree/v4.4)
|
- [v4.4手册](https://github.com/snail007/goproxy/tree/v4.4)
|
||||||
- [v4.3手册](https://github.com/snail007/goproxy/tree/v4.3)
|
- [v4.3手册](https://github.com/snail007/goproxy/tree/v4.3)
|
||||||
@ -149,7 +150,7 @@ curl -L https://raw.githubusercontent.com/snail007/goproxy/master/install_auto.s
|
|||||||
下载地址:https://github.com/snail007/goproxy/releases
|
下载地址:https://github.com/snail007/goproxy/releases
|
||||||
```shell
|
```shell
|
||||||
cd /root/proxy/
|
cd /root/proxy/
|
||||||
wget https://github.com/snail007/goproxy/releases/download/v4.6/proxy-linux-amd64.tar.gz
|
wget https://github.com/snail007/goproxy/releases/download/v4.7/proxy-linux-amd64.tar.gz
|
||||||
```
|
```
|
||||||
#### **2.下载自动安装脚本**
|
#### **2.下载自动安装脚本**
|
||||||
```shell
|
```shell
|
||||||
|
|||||||
@ -5,7 +5,7 @@ if [ -e /tmp/proxy ]; then
|
|||||||
fi
|
fi
|
||||||
mkdir /tmp/proxy
|
mkdir /tmp/proxy
|
||||||
cd /tmp/proxy
|
cd /tmp/proxy
|
||||||
wget https://github.com/snail007/goproxy/releases/download/v4.6/proxy-linux-amd64.tar.gz
|
wget https://github.com/snail007/goproxy/releases/download/v4.7/proxy-linux-amd64.tar.gz
|
||||||
|
|
||||||
# #install proxy
|
# #install proxy
|
||||||
tar zxvf proxy-linux-amd64.tar.gz
|
tar zxvf proxy-linux-amd64.tar.gz
|
||||||
|
|||||||
2
main.go
2
main.go
@ -8,7 +8,7 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
)
|
)
|
||||||
|
|
||||||
const APP_VERSION = "4.6"
|
const APP_VERSION = "4.7"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
err := initConfig()
|
err := initConfig()
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
VER="4.6"
|
VER="4.7"
|
||||||
RELEASE="release-${VER}"
|
RELEASE="release-${VER}"
|
||||||
rm -rf .cert
|
rm -rf .cert
|
||||||
mkdir .cert
|
mkdir .cert
|
||||||
|
|||||||
@ -104,6 +104,7 @@ func (s *MuxBridge) handler(inConn net.Conn) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
session.Close()
|
session.Close()
|
||||||
utils.CloseConn(&inConn)
|
utils.CloseConn(&inConn)
|
||||||
|
log.Printf("server connection %s %s released", serverID, key)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
go s.callback(stream, serverID, key)
|
go s.callback(stream, serverID, key)
|
||||||
@ -144,6 +145,7 @@ func (s *MuxBridge) handler(inConn net.Conn) {
|
|||||||
defer s.l.Unlock()
|
defer s.l.Unlock()
|
||||||
if sess, ok := group.Get(index); ok && sess.(*smux.Session).IsClosed() {
|
if sess, ok := group.Get(index); ok && sess.(*smux.Session).IsClosed() {
|
||||||
group.Remove(index)
|
group.Remove(index)
|
||||||
|
log.Printf("client connection %s released", key)
|
||||||
}
|
}
|
||||||
if group.IsEmpty() {
|
if group.IsEmpty() {
|
||||||
s.clientControlConns.Remove(groupKey)
|
s.clientControlConns.Remove(groupKey)
|
||||||
|
|||||||
@ -230,6 +230,7 @@ func (s *SPS) OutToTCP(inConn *net.Conn) (err error) {
|
|||||||
if u != "" {
|
if u != "" {
|
||||||
pb.Write([]byte(fmt.Sprintf("Proxy-Authorization:Basic %s\r\n", base64.StdEncoding.EncodeToString([]byte(u)))))
|
pb.Write([]byte(fmt.Sprintf("Proxy-Authorization:Basic %s\r\n", base64.StdEncoding.EncodeToString([]byte(u)))))
|
||||||
}
|
}
|
||||||
|
pb.Write([]byte("\r\n"))
|
||||||
outConn.SetDeadline(time.Now().Add(time.Millisecond * time.Duration(*s.cfg.Timeout)))
|
outConn.SetDeadline(time.Now().Add(time.Millisecond * time.Duration(*s.cfg.Timeout)))
|
||||||
_, err = outConn.Write(pb.Bytes())
|
_, err = outConn.Write(pb.Bytes())
|
||||||
outConn.SetDeadline(time.Time{})
|
outConn.SetDeadline(time.Time{})
|
||||||
|
|||||||
Reference in New Issue
Block a user