mirror of https://github.com/v2ray/v2ray-core
V2Ray
9 years ago
6 changed files with 66 additions and 69 deletions
@ -1,38 +1,37 @@
|
||||
package io |
||||
|
||||
import ( |
||||
"encoding/json" |
||||
_ "fmt" |
||||
"github.com/v2ray/v2ray-core" |
||||
"encoding/json" |
||||
_ "fmt" |
||||
"github.com/v2ray/v2ray-core" |
||||
) |
||||
|
||||
type JsonVUser struct { |
||||
id string `json:"id"` |
||||
email string `json:"email"` |
||||
id string `json:"id"` |
||||
email string `json:"email"` |
||||
} |
||||
|
||||
type JsonVConfig struct { |
||||
RunAs string `json:"runas"` |
||||
Port uint8 `json:"port"` |
||||
Clients []JsonVUser `json:"users"` |
||||
Protocol string `json:"protocol"` |
||||
RunAs string `json:"runas"` |
||||
Port uint8 `json:"port"` |
||||
Clients []JsonVUser `json:"users"` |
||||
Protocol string `json:"protocol"` |
||||
} |
||||
|
||||
type JsonVConfigUnmarshaller struct { |
||||
|
||||
} |
||||
|
||||
func StringToVUser(id string) (u core.VUser, err error) { |
||||
return |
||||
return |
||||
} |
||||
|
||||
func (*JsonVConfigUnmarshaller) Unmarshall(data []byte) (*core.VConfig, error) { |
||||
var jsonConfig JsonVConfig |
||||
err := json.Unmarshal(data, &jsonConfig) |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
var vconfig = new(core.VConfig) |
||||
vconfig.RunAs = core.VUser{} |
||||
return vconfig, nil |
||||
} |
||||
var jsonConfig JsonVConfig |
||||
err := json.Unmarshal(data, &jsonConfig) |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
var vconfig = new(core.VConfig) |
||||
vconfig.RunAs = core.VUser{} |
||||
return vconfig, nil |
||||
} |
||||
|
@ -1,32 +1,32 @@
|
||||
package io |
||||
|
||||
import ( |
||||
"net" |
||||
"net" |
||||
) |
||||
|
||||
type VMessInput struct { |
||||
version byte |
||||
userHash [16]byte |
||||
randHash [256]byte |
||||
respKey [32]byte |
||||
iv [16]byte |
||||
command byte |
||||
port uint16 |
||||
target [256]byte |
||||
data []byte |
||||
version byte |
||||
userHash [16]byte |
||||
randHash [256]byte |
||||
respKey [32]byte |
||||
iv [16]byte |
||||
command byte |
||||
port uint16 |
||||
target [256]byte |
||||
data []byte |
||||
} |
||||
|
||||
type VMessReader struct { |
||||
conn *net.Conn |
||||
conn *net.Conn |
||||
} |
||||
|
||||
func NewVMessReader(conn *net.Conn) (VMessReader, error) { |
||||
var reader VMessReader |
||||
reader.conn = conn |
||||
return reader, nil |
||||
var reader VMessReader |
||||
reader.conn = conn |
||||
return reader, nil |
||||
} |
||||
|
||||
func (*VMessReader) Read() (VMessInput, error) { |
||||
var input VMessInput |
||||
return input, nil |
||||
} |
||||
var input VMessInput |
||||
return input, nil |
||||
} |
||||
|
@ -1,19 +1,17 @@
|
||||
package net |
||||
|
||||
import ( |
||||
"net" |
||||
"net" |
||||
) |
||||
|
||||
type VMessHandler struct { |
||||
|
||||
} |
||||
|
||||
func (*VMessHandler) Listen(port uint8) error { |
||||
listener, err := net.Listen("tcp", ":" + string(port)) |
||||
if err != nil { |
||||
return err |
||||
} |
||||
|
||||
|
||||
return nil |
||||
listener, err := net.Listen("tcp", ":"+string(port)) |
||||
if err != nil { |
||||
return err |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
|
@ -1,20 +1,20 @@
|
||||
package core |
||||
|
||||
type VUser struct { |
||||
id VID |
||||
id VID |
||||
} |
||||
|
||||
type VConfig struct { |
||||
RunAs VUser |
||||
Port uint16 |
||||
AllowedClients []VUser |
||||
AllowedProtocol string |
||||
RunAs VUser |
||||
Port uint16 |
||||
AllowedClients []VUser |
||||
AllowedProtocol string |
||||
} |
||||
|
||||
type VConfigMarshaller interface { |
||||
Marshal(config VConfig) ([]byte, error) |
||||
Marshal(config VConfig) ([]byte, error) |
||||
} |
||||
|
||||
type VConfigUnmarshaller interface { |
||||
Unmarshal(data []byte) (VConfig, error) |
||||
Unmarshal(data []byte) (VConfig, error) |
||||
} |
||||
|
@ -1,27 +1,27 @@
|
||||
package core |
||||
|
||||
import ( |
||||
"fmt" |
||||
"fmt" |
||||
) |
||||
|
||||
type VPoint struct { |
||||
config VConfig |
||||
connHandler ConnectionHandler |
||||
config VConfig |
||||
connHandler ConnectionHandler |
||||
} |
||||
|
||||
func NewVPoint(config *VConfig) (*VPoint, error) { |
||||
var vpoint *VPoint |
||||
return vpoint, nil |
||||
var vpoint *VPoint |
||||
return vpoint, nil |
||||
} |
||||
|
||||
type ConnectionHandler interface { |
||||
Listen(port uint16) error |
||||
Listen(port uint16) error |
||||
} |
||||
|
||||
func (vp *VPoint) Start() error { |
||||
if vp.config.Port <= 0 { |
||||
return fmt.Errorf("Invalid port %d", vp.config.Port) |
||||
} |
||||
vp.connHandler.Listen(vp.config.Port) |
||||
return nil |
||||
} |
||||
if vp.config.Port <= 0 { |
||||
return fmt.Errorf("Invalid port %d", vp.config.Port) |
||||
} |
||||
vp.connHandler.Listen(vp.config.Port) |
||||
return nil |
||||
} |
||||
|
Loading…
Reference in new issue