common

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2024 License: GPL-3.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CONN_DATA_SEQ     = "*#*" //Separator
	VERIFY_EER        = "vkey"
	VERIFY_SUCCESS    = "sucs"
	WORK_MAIN         = "main"
	WORK_CHAN         = "chan"
	WORK_CONFIG       = "conf"
	WORK_REGISTER     = "rgst"
	WORK_SECRET       = "sert"
	WORK_FILE         = "file"
	WORK_P2P          = "p2pm"
	WORK_P2P_VISITOR  = "p2pv"
	WORK_P2P_PROVIDER = "p2pp"
	WORK_P2P_CONNECT  = "p2pc"
	WORK_P2P_SUCCESS  = "p2ps"
	WORK_P2P_END      = "p2pe"
	WORK_P2P_LAST     = "p2pl"
	WORK_STATUS       = "stus"
	RES_MSG           = "msg0"
	RES_CLOSE         = "clse"
	NEW_UDP_CONN      = "udpc" //p2p udp conn
	NEW_TASK          = "task"
	NEW_CONF          = "conf"
	NEW_HOST          = "host"
	CONN_TCP          = "tcp"
	CONN_UDP          = "udp"
	CONN_TEST         = "TST"
	UnauthorizedBytes = `HTTP/1.1 401 Unauthorized
Content-Type: text/plain; charset=utf-8
WWW-Authenticate: Basic realm="easyProxy"

401 Unauthorized`
	ConnectionFailBytes = `HTTP/1.1 404 Not Found

`
)
View Source
const MaxMsgLen = 5000
View Source
const PoolSize = 64 * 1024
View Source
const PoolSizeCopy = 32 << 10
View Source
const PoolSizeSmall = 100
View Source
const PoolSizeUdp = 1472 + 200

Variables

View Source
var BufPool = sync.Pool{
	New: func() interface{} {
		return make([]byte, PoolSize)
	},
}
View Source
var BufPoolCopy = sync.Pool{
	New: func() interface{} {
		return make([]byte, PoolSizeCopy)
	},
}
View Source
var BufPoolMax = sync.Pool{
	New: func() interface{} {
		return make([]byte, PoolSize)
	},
}
View Source
var BufPoolSmall = sync.Pool{
	New: func() interface{} {
		return make([]byte, PoolSizeSmall)
	},
}
View Source
var BufPoolUdp = sync.Pool{
	New: func() interface{} {
		return make([]byte, PoolSizeUdp)
	},
}
View Source
var ConfPath string
View Source
var CopyBuff = copyBufferPool{}

Functions

func BinaryWrite

func BinaryWrite(raw *bytes.Buffer, v ...string)

Write length and individual byte data Length prevents sticking # Characters are used to separate data

func BytesToNum

func BytesToNum(b []byte) int

convert bytes to num

func ChangeHostAndHeader

func ChangeHostAndHeader(r *http.Request, host string, header string, addr string)

Change headers and host of request

func CheckAuth

func CheckAuth(r *http.Request, user, passwd string) bool

Check if the Request request is validated

func CopyBuffer

func CopyBuffer(dst io.Writer, src io.Reader, label ...string) (written int64, err error)

func DomainCheck

func DomainCheck(domain string) bool

Check the legality of domain

func FileExists

func FileExists(name string) bool

FileExists reports whether the named file or directory exists.

func FormatAddress

func FormatAddress(s string) string

if the s is just a port,return 127.0.0.1:s

func GeSynctMapLen

func GeSynctMapLen(m sync.Map) int

get the length of the sync map

func GetAppPath

func GetAppPath() string

Get the absolute path to the running directory

func GetBoolByStr

func GetBoolByStr(s string) bool

get bool by str

func GetBufPoolCopy

func GetBufPoolCopy() []byte

func GetConfigPath

func GetConfigPath() string

config file path

func GetEnvMap

func GetEnvMap() map[string]string

get env

func GetExtFromPath

func GetExtFromPath(path string) string

func GetExternalIp

func GetExternalIp() string

func GetHostByName

func GetHostByName(hostname string) string

Get the corresponding IP address through domain name

func GetInstallPath

func GetInstallPath() string

Different systems get different installation paths

func GetIntNoErrByStr

func GetIntNoErrByStr(str string) int

int

func GetIntranetIp

func GetIntranetIp() (error, string)

func GetIpByAddr

func GetIpByAddr(addr string) string

get address from the complete address

func GetLocalUdpAddr

func GetLocalUdpAddr() (net.Conn, error)

send this ip forget to get a local udp port

func GetLogMsg

func GetLogMsg() string

func GetLogPath

func GetLogPath() string

interface log file path

func GetNpcLogPath

func GetNpcLogPath() string

interface npc log file path

func GetPortByAddr

func GetPortByAddr(addr string) int

get port from the complete address

func GetPorts

func GetPorts(p string) []int

format ports str to a int array

func GetRunPath

func GetRunPath() string

Get the currently selected configuration file directory For non-Windows systems, select the /etc/nps as config directory if exist, or select ./ windows system, select the C:\Program Files\nps as config directory if exist, or select ./

func GetServerIpByClientIp

func GetServerIpByClientIp(clientIp net.IP) string

func GetStrByBool

func GetStrByBool(b bool) string

get str by bool

func GetTmpPath

func GetTmpPath() string

interface pid file path

func GetWriteStr

func GetWriteStr(v ...string) []byte

get seq str

func Getverifyval

func Getverifyval(vkey string) string

Get verify value

func InIntArr

func InIntArr(arr []int, val int) bool

inArray int interface

func InStrArr

func InStrArr(arr []string, val string) bool

inArray str interface

func InitPProfFromArg

func InitPProfFromArg(arg string)

func InitPProfFromFile

func InitPProfFromFile()

func IsArrContains

func IsArrContains(arr []string, val string) bool

func IsBlackIp

func IsBlackIp(ipPort, vkey string, blackIpList []string) bool

判断访问地址是否在黑名单内

func IsPort

func IsPort(p string) bool

is the string a port

func IsPublicIP

func IsPublicIP(IP net.IP) bool

func IsWindows

func IsWindows() bool

Determine whether the current system is a Windows system?

func ParseStr

func ParseStr(str string) (string, error)

parse template

func PrintVersion

func PrintVersion()

func PutBufPoolCopy

func PutBufPoolCopy(buf []byte)

func PutBufPoolMax

func PutBufPoolMax(buf []byte)

func PutBufPoolUdp

func PutBufPoolUdp(buf []byte)

func ReadAllFromFile

func ReadAllFromFile(filePath string) ([]byte, error)

Read file content by file path

func RemoveArrVal

func RemoveArrVal(arr []string, val string) []string

remove value from string array

func TestTcpPort

func TestTcpPort(port int) bool

Judge whether the TCP port can open normally

func TestUdpPort

func TestUdpPort(port int) bool

Judge whether the UDP port can open normally

func TrimArr

func TrimArr(arr []string) []string

throw the empty element of the string array

Types

type Addr

type Addr struct {
	Type uint8
	Host string
	Port uint16
}

func ToSocksAddr

func ToSocksAddr(addr net.Addr) *Addr

func (*Addr) Decode

func (addr *Addr) Decode(b []byte) error

func (*Addr) Encode

func (addr *Addr) Encode(b []byte) (int, error)

func (*Addr) String

func (addr *Addr) String() string

type NetPackager

type NetPackager interface {
	Pack(writer io.Writer) (err error)
	UnPack(reader io.Reader) (err error)
}

type StoreMsg

type StoreMsg struct {
}

func (*StoreMsg) Destroy

func (lg *StoreMsg) Destroy()

func (*StoreMsg) Flush

func (lg *StoreMsg) Flush()

func (*StoreMsg) Init

func (lg *StoreMsg) Init(config string) error

func (*StoreMsg) WriteMsg

func (lg *StoreMsg) WriteMsg(when time.Time, msg string, level int) error

type UDPDatagram

type UDPDatagram struct {
	Header *UDPHeader
	Data   []byte
}

func NewUDPDatagram

func NewUDPDatagram(header *UDPHeader, data []byte) *UDPDatagram

func ReadUDPDatagram

func ReadUDPDatagram(r io.Reader) (*UDPDatagram, error)

func (*UDPDatagram) Write

func (d *UDPDatagram) Write(w io.Writer) error

type UDPHeader

type UDPHeader struct {
	Rsv  uint16
	Frag uint8
	Addr *Addr
}

func NewUDPHeader

func NewUDPHeader(rsv uint16, frag uint8, addr *Addr) *UDPHeader

func (*UDPHeader) Write

func (h *UDPHeader) Write(w io.Writer) error

Jump to

Keyboard shortcuts

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