Merge branch '2.4' into certificates

This commit is contained in:
ginuerzh 2017-03-24 11:33:58 +02:00 committed by GitHub
commit be14152e80
3 changed files with 20 additions and 20 deletions

1
cmd/gost/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
gost

View File

@ -68,17 +68,6 @@ func main() {
wg.Add(1)
go func(node gost.ProxyNode) {
defer wg.Done()
certFile, keyFile := node.Get("cert"), node.Get("key")
if certFile == "" {
certFile = gost.DefaultCertFile
}
if keyFile == "" {
keyFile = gost.DefaultKeyFile
}
cert, err := gost.LoadCertificate(certFile, keyFile)
if err != nil {
glog.Fatal(err)
}
server := gost.NewProxyServer(node, chain)
glog.Fatal(server.Serve())
}(serverNode)

View File

@ -3,17 +3,18 @@ package gost
import (
"bufio"
"crypto/tls"
"github.com/ginuerzh/gosocks4"
"github.com/ginuerzh/gosocks5"
"github.com/golang/glog"
ss "github.com/shadowsocks/shadowsocks-go/shadowsocks"
"golang.org/x/crypto/ssh"
"io"
"io/ioutil"
"net"
"net/http"
"strconv"
"strings"
"github.com/ginuerzh/gosocks4"
"github.com/ginuerzh/gosocks5"
"github.com/golang/glog"
ss "github.com/shadowsocks/shadowsocks-go/shadowsocks"
"golang.org/x/crypto/ssh"
)
type ProxyServer struct {
@ -25,13 +26,22 @@ type ProxyServer struct {
ota bool
}
func NewProxyServer(node ProxyNode, chain *ProxyChain, config *tls.Config) *ProxyServer {
func NewProxyServer(node ProxyNode, chain *ProxyChain) *ProxyServer {
certFile, keyFile := node.certFile(), node.keyFile()
cert, err := LoadCertificate(certFile, keyFile)
if err != nil {
glog.Fatal(err)
}
config := &tls.Config{
Certificates: []tls.Certificate{cert},
}
if chain == nil {
chain = NewProxyChain()
}
if config == nil {
config = &tls.Config{}
}
var cipher *ss.Cipher
var ota bool