Documentation ¶
Index ¶
- Variables
- func GrepSSLinkFromString(text string) []string
- func GrepSSRLinkFromString(text string) []string
- func GrepTrojanLinkFromString(text string) []string
- func GrepVmessLinkFromString(text string) []string
- func InitGeoIpDB()
- type Base
- type CountryEmoji
- type GeoIP
- type HTTPOptions
- type Proxy
- type ProxyList
- func (ps ProxyList) Clone() ProxyList
- func (ps ProxyList) Deduplication() ProxyList
- func (ps ProxyList) Len() int
- func (ps ProxyList) Less(i, j int) bool
- func (ps ProxyList) NameAddCounrty() ProxyList
- func (ps ProxyList) NameAddIndex() ProxyList
- func (ps ProxyList) NameAddTG() ProxyList
- func (ps ProxyList) NameReIndex() ProxyList
- func (ps ProxyList) Sort() ProxyList
- func (ps ProxyList) Swap(i, j int)
- func (ps ProxyList) TypeLen(t string) int
- type Shadowsocks
- type ShadowsocksR
- type Trojan
- type Vmess
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrorNotSSRLink = errors.New("not a correct ssr link") ErrorPasswordParseFail = errors.New("password parse failed") ErrorPathNotComplete = errors.New("path not complete") ErrorMissingQuery = errors.New("link missing query") ErrorProtocolParamParseFail = errors.New("protocol param parse failed") ErrorObfsParamParseFail = errors.New("obfs param parse failed") )
View Source
var ( ErrorNotVmessLink = errors.New("not a correct vmess link") ErrorVmessPayloadParseFail = errors.New("vmess link payload parse failed") )
View Source
var (
ErrorNotSSLink = errors.New("not a correct ss link")
)
View Source
var (
ErrorNotTrojanink = errors.New("not a correct trojan link")
)
View Source
var SSCipherList = []string{
"aes-128-gcm",
"aes-192-gcm",
"aes-256-gcm",
"aes-128-cfb",
"aes-192-cfb",
"aes-256-cfb",
"aes-128-ctr",
"aes-192-ctr",
"aes-256-ctr",
"rc4-md5",
"chacha20-ietf",
"xchacha20",
"chacha20-ietf-poly1305",
"xchacha20-ietf-poly1305",
}
View Source
var SSRCipherList = []string{
"aes-128-cfb",
"aes-192-cfb",
"aes-256-cfb",
"aes-128-ctr",
"aes-192-ctr",
"aes-256-ctr",
"aes-128-ofb",
"aes-192-ofb",
"aes-256-ofb",
"des-cfb",
"bf-cfb",
"cast5-cfb",
"rc4-md5",
"chacha20-ietf",
"salsa20",
"camellia-128-cfb",
"camellia-192-cfb",
"camellia-256-cfb",
"idea-cfb",
"rc2-cfb",
"seed-cfb",
}
Functions ¶
func GrepSSLinkFromString ¶
func GrepSSRLinkFromString ¶
func GrepVmessLinkFromString ¶
func InitGeoIpDB ¶
func InitGeoIpDB()
Types ¶
type Base ¶
type Base struct { Name string `yaml:"name" json:"name" gorm:"index"` Server string `yaml:"server" json:"server" gorm:"index"` Port int `yaml:"port" json:"port" gorm:"index"` Type string `yaml:"type" json:"type" gorm:"index"` UDP bool `yaml:"udp,omitempty" json:"udp,omitempty"` Country string `yaml:"country,omitempty" json:"country,omitempty" gorm:"index"` Useable bool `yaml:"useable,omitempty" json:"useable,omitempty" gorm:"index"` }
func (*Base) SetCountry ¶
func (*Base) SetUseable ¶
type CountryEmoji ¶
type HTTPOptions ¶
type Proxy ¶
type Proxy interface { String() string ToClash() string ToSurge() string Link() string Identifier() string SetName(name string) SetIP(ip string) TypeName() string BaseInfo() *Base Clone() Proxy SetUseable(useable bool) SetCountry(country string) }
func CleanBadProxies ¶
type ProxyList ¶
type ProxyList []Proxy
func Deduplication ¶
func (ProxyList) Deduplication ¶
func (ProxyList) NameAddCounrty ¶
func (ProxyList) NameAddIndex ¶
func (ProxyList) NameReIndex ¶
type Shadowsocks ¶
type Shadowsocks struct { Base Password string `yaml:"password" json:"password"` Cipher string `yaml:"cipher" json:"cipher"` Plugin string `yaml:"plugin,omitempty" json:"plugin,omitempty"` PluginOpts map[string]interface{} `yaml:"plugin-opts,omitempty" json:"plugin-opts,omitempty"` }
func ParseSSLink ¶
func ParseSSLink(link string) (*Shadowsocks, error)
func SSR2SS ¶
func SSR2SS(ssr *ShadowsocksR) (ss *Shadowsocks, err error)
func (Shadowsocks) Clone ¶
func (ss Shadowsocks) Clone() Proxy
func (Shadowsocks) Identifier ¶
func (ss Shadowsocks) Identifier() string
func (Shadowsocks) Link ¶
func (ss Shadowsocks) Link() (link string)
func (Shadowsocks) String ¶
func (ss Shadowsocks) String() string
func (Shadowsocks) ToClash ¶
func (ss Shadowsocks) ToClash() string
func (Shadowsocks) ToSurge ¶
func (ss Shadowsocks) ToSurge() string
type ShadowsocksR ¶
type ShadowsocksR struct { Base Password string `yaml:"password" json:"password"` Cipher string `yaml:"cipher" json:"cipher"` Protocol string `yaml:"protocol" json:"protocol"` ProtocolParam string `yaml:"protocol-param,omitempty" json:"protocol_param,omitempty"` Obfs string `yaml:"obfs" json:"obfs"` ObfsParam string `yaml:"obfs-param,omitempty" json:"obfs_param,omitempty"` Group string `yaml:"group,omitempty" json:"group,omitempty"` }
func ParseSSRLink ¶
func ParseSSRLink(link string) (*ShadowsocksR, error)
func SS2SSR ¶
func SS2SSR(ss *Shadowsocks) (ssr *ShadowsocksR, err error)
func (ShadowsocksR) Clone ¶
func (ssr ShadowsocksR) Clone() Proxy
func (ShadowsocksR) Identifier ¶
func (ssr ShadowsocksR) Identifier() string
func (ShadowsocksR) Link ¶
func (ssr ShadowsocksR) Link() (link string)
https://github.com/HMBSbige/ShadowsocksR-Windows/wiki/SSR-QRcode-scheme
func (ShadowsocksR) String ¶
func (ssr ShadowsocksR) String() string
func (ShadowsocksR) ToClash ¶
func (ssr ShadowsocksR) ToClash() string
func (ShadowsocksR) ToSurge ¶
func (ssr ShadowsocksR) ToSurge() string
type Trojan ¶
type Trojan struct { Base Password string `yaml:"password" json:"password"` ALPN []string `yaml:"alpn,omitempty" json:"alpn,omitempty"` SNI string `yaml:"sni,omitempty" json:"sni,omitempty"` SkipCertVerify bool `yaml:"skip-cert-verify,omitempty" json:"skip-cert-verify,omitempty"` UDP bool `yaml:"udp,omitempty" json:"udp,omitempty"` }
func ParseTrojanLink ¶
func (Trojan) Identifier ¶
type Vmess ¶
type Vmess struct { Base UUID string `yaml:"uuid" json:"uuid"` AlterID int `yaml:"alterId" json:"alterId"` Cipher string `yaml:"cipher" json:"cipher"` TLS bool `yaml:"tls,omitempty" json:"tls,omitempty"` Network string `yaml:"network,omitempty" json:"network,omitempty"` HTTPOpts HTTPOptions `yaml:"http-opts,omitempty" json:"http-opts,omitempty"` WSPath string `yaml:"ws-path,omitempty" json:"ws-path,omitempty"` WSHeaders map[string]string `yaml:"ws-headers,omitempty" json:"ws-headers,omitempty"` SkipCertVerify bool `yaml:"skip-cert-verify,omitempty" json:"skip-cert-verify,omitempty"` ServerName string `yaml:"servername,omitempty" json:"servername,omitempty"` }
func ParseVmessLink ¶
func (Vmess) Identifier ¶
Click to show internal directories.
Click to hide internal directories.