| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- package http
 
- import (
 
- 	"crypto/tls"
 
- 	v2net "github.com/v2ray/v2ray-core/common/net"
 
- )
 
- type CertificateConfig struct {
 
- 	Domain      string
 
- 	Certificate tls.Certificate
 
- }
 
- type TlsConfig struct {
 
- 	Enabled bool
 
- 	Certs   []*CertificateConfig
 
- }
 
- func (this *TlsConfig) GetConfig() *tls.Config {
 
- 	if !this.Enabled {
 
- 		return nil
 
- 	}
 
- 	config := &tls.Config{
 
- 		InsecureSkipVerify: false,
 
- 	}
 
- 	config.Certificates = make([]tls.Certificate, len(this.Certs))
 
- 	for index, cert := range this.Certs {
 
- 		config.Certificates[index] = cert.Certificate
 
- 	}
 
- 	config.BuildNameToCertificate()
 
- 	return config
 
- }
 
- type Config struct {
 
- 	OwnHosts  []v2net.Address
 
- 	TlsConfig *TlsConfig
 
- }
 
- func (this *Config) IsOwnHost(host v2net.Address) bool {
 
- 	for _, ownHost := range this.OwnHosts {
 
- 		if ownHost.Equals(host) {
 
- 			return true
 
- 		}
 
- 	}
 
- 	return false
 
- }
 
- type ClientConfig struct {
 
- }
 
 
  |