| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package scenarios
- import (
- "github.com/golang/protobuf/proto"
- "sync/atomic"
- "time"
- "v2ray.com/core"
- v2net "v2ray.com/core/common/net"
- )
- var (
- port uint32 = 50000
- )
- func pickPort() v2net.Port {
- return v2net.Port(atomic.AddUint32(&port, 1))
- }
- func InitializeServerConfig(config *core.Config) error {
- err := BuildV2Ray()
- if err != nil {
- return err
- }
- configBytes, err := proto.Marshal(config)
- if err != nil {
- return err
- }
- proc := RunV2RayProtobuf(configBytes)
- err = proc.Start()
- if err != nil {
- return err
- }
- time.Sleep(time.Second)
- runningServers = append(runningServers, proc)
- return nil
- }
|