func (v *Vmess) Conn(host string) (conn net.Conn, err error) {
	return v.conn("tcp", host)
}
Conn create a connection for host
package vmess
import (
	"fmt"
	"net"
	"github.com/Asutorufa/yuhaiin/pkg/net/proxy/proxy"
	gcvmess "github.com/Asutorufa/yuhaiin/pkg/net/proxy/vmess/gitsrcvmess"
)
type Vmess struct {
	uuid     string
	security string
	alterID  uint32
	client  *gcvmess.Client
	getConn proxy.Proxy
}
func NewVmess(uuid, security string, alterID uint32) func(p proxy.Proxy) (proxy.Proxy, error) {
	return func(p proxy.Proxy) (proxy.Proxy, error) {
		client, err := gcvmess.NewClient(uuid, security, int(alterID))
		if err != nil {
			return nil, fmt.Errorf("new vmess client failed: %v", err)
		}
		v := &Vmess{
			uuid:     uuid,
			security: security,
			alterID:  alterID,
			client:   client,
			getConn:  p,
		}
		return v, nil
	}
}