core

package
v0.0.0-...-312c5a9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2020 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DelValue

func DelValue(key string) error

DelValue 删除值

func GetValue

func GetValue(key string) (string, error)

GetValue 获取leveldb值

func Save

func Save(config *ServerConfig, path string) bool

Save 保存服务端配置文件

func SetValue

func SetValue(key string, value string) error

SetValue 设置leveldb值

func WriteClient

func WriteClient(port int, password, domain, writePath string) bool

WriteClient 生成客户端json

func WriteDomain

func WriteDomain(domain string) bool

WriteDomain 写域名

func WriteLogLevel

func WriteLogLevel(level int) bool

WriteLogLevel 写日志等级

func WriteMysql

func WriteMysql(mysql *Mysql) bool

WriteMysql 写mysql配置

func WritePassword

func WritePassword(pass []string) bool

WritePassword 写密码

func WriteTls

func WriteTls(cert, key, domain string) bool

WriteTls 写tls配置

Types

type ClientConfig

type ClientConfig struct {
	Config
	SSl ClientSSL `json:"ssl"`
	Tcp ClientTCP `json:"tcp"`
}

ClientConfig 结构体

type ClientSSL

type ClientSSL struct {
	SSL
	Verify         bool `json:"verify"`
	VerifyHostname bool `json:"verify_hostname"`
}

ClientSSL 结构体

type ClientTCP

type ClientTCP struct {
	TCP
}

ClientTCP 结构体

type Config

type Config struct {
	RunType    string   `json:"run_type"`
	LocalAddr  string   `json:"local_addr"`
	LocalPort  int      `json:"local_port"`
	RemoteAddr string   `json:"remote_addr"`
	RemotePort int      `json:"remote_port"`
	Password   []string `json:"password"`
	LogLevel   int      `json:"log_level"`
}

Config 结构体

type Mysql

type Mysql struct {
	Enabled    bool   `json:"enabled"`
	ServerAddr string `json:"server_addr"`
	ServerPort int    `json:"server_port"`
	Database   string `json:"database"`
	Username   string `json:"username"`
	Password   string `json:"password"`
	Cafile     string `json:"cafile"`
}

Mysql 结构体

func GetMysql

func GetMysql() *Mysql

GetMysql 获取mysql连接

func (*Mysql) CleanData

func (mysql *Mysql) CleanData(id uint) error

CleanData 清空流量统计

func (*Mysql) CreateTable

func (mysql *Mysql) CreateTable()

CreateTable 不存在trojan user表则自动创建

func (*Mysql) CreateUser

func (mysql *Mysql) CreateUser(username string, base64Pass string, originPass string) error

CreateUser 创建Trojan用户

func (*Mysql) DeleteUser

func (mysql *Mysql) DeleteUser(id uint) error

DeleteUser 删除用户

func (*Mysql) GetDB

func (mysql *Mysql) GetDB() *sql.DB

GetDB 获取mysql数据库连接

func (*Mysql) GetData

func (mysql *Mysql) GetData(ids ...string) ([]*User, error)

GetData 获取用户记录

func (*Mysql) GetUserByName

func (mysql *Mysql) GetUserByName(name string) *User

GetUserByName 通过用户名来获取用户

func (*Mysql) GetUserByPass

func (mysql *Mysql) GetUserByPass(pass string) *User

GetUserByPass 通过密码来获取用户

func (*Mysql) PageList

func (mysql *Mysql) PageList(curPage int, pageSize int) (*PageQuery, error)

PageList 通过分页获取用户记录

func (*Mysql) SetQuota

func (mysql *Mysql) SetQuota(id uint, quota int) error

SetQuota 限制流量

func (*Mysql) UpdateUser

func (mysql *Mysql) UpdateUser(id uint, username string, base64Pass string, originPass string) error

UpdateUser 更新Trojan用户名和密码

func (*Mysql) UpgradeDB

func (mysql *Mysql) UpgradeDB() error

UpgradeDB 升级数据库表结构以及迁移数据

type PageQuery

type PageQuery struct {
	PageNum  int
	CurPage  int
	Total    int
	PageSize int
	DataList []*User
}

PageQuery 分页查询的结构体

type SSL

type SSL struct {
	Cert          string   `json:"cert"`
	Cipher        string   `json:"cipher"`
	CipherTls13   string   `json:"cipher_tls13"`
	Alpn          []string `json:"alpn"`
	ReuseSession  bool     `json:"reuse_session"`
	SessionTicket bool     `json:"session_ticket"`
	Curves        string   `json:"curves"`
	Sni           string   `json:"sni"`
}

SSL 结构体

type ServerConfig

type ServerConfig struct {
	Config
	SSl   ServerSSL `json:"ssl"`
	Tcp   ServerTCP `json:"tcp"`
	Mysql Mysql     `json:"mysql"`
}

ServerConfig 结构体

func Load

func Load(path string) *ServerConfig

Load 加载服务端配置文件

type ServerSSL

type ServerSSL struct {
	SSL
	Key                string `json:"key"`
	KeyPassword        string `json:"key_password"`
	PreferServerCipher bool   `json:"prefer_server_cipher"`
	SessionTimeout     int    `json:"session_timeout"`
	PlainHttpResponse  string `json:"plain_http_response"`
	Dhparam            string `json:"dhparam"`
}

ServerSSL 结构体

type ServerTCP

type ServerTCP struct {
	TCP
	PreferIPv4 bool `json:"prefer_ipv4"`
}

ServerTCP 结构体

type TCP

type TCP struct {
	NoDelay      bool `json:"no_delay"`
	KeepAlive    bool `json:"keep_alive"`
	ReusePort    bool `json:"reuse_port"`
	FastOpen     bool `json:"fast_open"`
	FastOpenQlen int  `json:"fast_open_qlen"`
}

TCP 结构体

type User

type User struct {
	ID       uint
	Username string
	Password string
	Quota    int64
	Download uint64
	Upload   uint64
}

User 用户表记录结构体

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL