Preparing report...

Report for github.com/ClashDotNetFramework/experimental-clash

A+    Excellent!    Found 128 issues across 218 files

Tweet

gofmt97%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo96%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.


golint42%

Golint is a linter for Go source code.

    • experimental-clash/component/nat/table.go
    • Line 9: warning: exported type Table should have comment or be unexported (golint)
    • Line 13: warning: exported method Table.Set should have comment or be unexported (golint)
    • Line 17: warning: exported method Table.Get should have comment or be unexported (golint)
    • Line 25: warning: exported method Table.GetOrCreateLock should have comment or be unexported (golint)
    • Line 30: warning: exported method Table.Delete should have comment or be unexported (golint)
    • experimental-clash/component/dialer/dialer.go
    • Line 11: warning: exported function Dialer should have comment or be unexported (golint)
    • Line 22: warning: exported function Dial should have comment or be unexported (golint)
    • Line 26: warning: exported function DialContext should have comment or be unexported (golint)
    • Line 64: warning: exported function ListenPacket should have comment or be unexported (golint)
    • experimental-clash/context/dns.go
    • Line 9: warning: exported const DNSTypeHost should have comment (or a comment on this block) or be unexported (golint)
    • Line 14: warning: exported type DNSContext should have comment or be unexported (golint)
    • Line 20: warning: exported function NewDNSContext should have comment or be unexported (golint)
    • experimental-clash/rule/ipcidr.go
    • Line 9: warning: exported type IPCIDROption should have comment or be unexported (golint)
    • Line 11: warning: exported function WithIPCIDRSourceIP should have comment or be unexported (golint)
    • Line 17: warning: exported function WithIPCIDRNoResolve should have comment or be unexported (golint)
    • Line 23: warning: exported type IPCIDR should have comment or be unexported (golint)
    • Line 30: warning: exported method IPCIDR.RuleType should have comment or be unexported (golint)
    • Line 37: warning: exported method IPCIDR.Match should have comment or be unexported (golint)
    • Line 45: warning: exported method IPCIDR.Adapter should have comment or be unexported (golint)
    • Line 49: warning: exported method IPCIDR.Payload should have comment or be unexported (golint)
    • Line 53: warning: exported method IPCIDR.ShouldResolveIP should have comment or be unexported (golint)
    • Line 57: warning: exported function NewIPCIDR should have comment or be unexported (golint)
    • experimental-clash/component/trie/ipcidr_trie.go
    • Line 8: warning: exported type IPV6 should have comment or be unexported (golint)
    • Line 15: warning: exported type IpCidrTrie should have comment or be unexported (golint)
    • Line 20: warning: exported function NewIpCidrTrie should have comment or be unexported (golint)
    • Line 27: warning: exported method IpCidrTrie.AddIpCidr should have comment or be unexported (golint)
    • Line 40: warning: exported method IpCidrTrie.AddIpCidrForString should have comment or be unexported (golint)
    • Line 49: warning: exported method IpCidrTrie.IsContain should have comment or be unexported (golint)
    • Line 73: warning: exported method IpCidrTrie.IsContainForString should have comment or be unexported (golint)
    • experimental-clash/listener/listener.go
    • Line 41: warning: exported type Ports should have comment or be unexported (golint)
    • Line 49: warning: exported function AllowLan should have comment or be unexported (golint)
    • Line 53: warning: exported function BindAddress should have comment or be unexported (golint)
    • Line 57: warning: exported function SetAllowLan should have comment or be unexported (golint)
    • Line 61: warning: exported function SetBindAddress should have comment or be unexported (golint)
    • Line 65: warning: exported function ReCreateHTTP should have comment or be unexported (golint)
    • Line 93: warning: exported function ReCreateSocks should have comment or be unexported (golint)
    • Line 146: warning: exported function ReCreateRedir should have comment or be unexported (golint)
    • Line 187: warning: exported function ReCreateTProxy should have comment or be unexported (golint)
    • Line 228: warning: exported function ReCreateMixed should have comment or be unexported (golint)
    • experimental-clash/constant/context.go
    • Line 9: warning: exported type PlainContext should have comment or be unexported (golint)
    • Line 13: warning: exported type ConnContext should have comment or be unexported (golint)
    • Line 19: warning: exported type PacketConnContext should have comment or be unexported (golint)
    • experimental-clash/log/log.go
    • Line 23: warning: exported type Event should have comment or be unexported (golint)
    • Line 28: warning: exported method Event.Type should have comment or be unexported (golint)
    • Line 32: warning: exported function Infoln should have comment or be unexported (golint)
    • Line 38: warning: exported function Warnln should have comment or be unexported (golint)
    • Line 44: warning: exported function Errorln should have comment or be unexported (golint)
    • Line 50: warning: exported function Debugln should have comment or be unexported (golint)
    • Line 56: warning: exported function Fatalln should have comment or be unexported (golint)
    • Line 60: warning: exported function Subscribe should have comment or be unexported (golint)
    • Line 65: warning: exported function UnSubscribe should have comment or be unexported (golint)
    • Line 69: warning: exported function Level should have comment or be unexported (golint)
    • Line 73: warning: exported function SetLevel should have comment or be unexported (golint)
    • experimental-clash/rule/provider/provider.go
    • Line 15: warning: exported type Behavior should have comment or be unexported (golint)
    • Line 25: warning: exported function SetClassicalRuleParser should have comment or be unexported (golint)
    • Line 29: warning: exported function RuleProviders should have comment or be unexported (golint)
    • Line 33: warning: exported function SetRuleProvider should have comment or be unexported (golint)
    • Line 40: warning: exported const Domain should have comment (or a comment on this block) or be unexported (golint)
    • Line 58: warning: exported type RuleProvider should have comment or be unexported (golint)
    • Line 74: warning: exported type RuleSetProvider should have comment or be unexported (golint)
    • Line 78: warning: exported type RulePayload should have comment or be unexported (golint)
    • Line 86: warning: exported function NewRuleSetProvider should have comment or be unexported (golint)
    • experimental-clash/common/observable/subscriber.go
    • Line 7: warning: exported type Subscription should have comment or be unexported (golint)
    • Line 9: warning: exported type Subscriber should have comment or be unexported (golint)
    • Line 14: warning: exported method Subscriber.Emit should have comment or be unexported (golint)
    • Line 18: warning: exported method Subscriber.Out should have comment or be unexported (golint)
    • Line 22: warning: exported method Subscriber.Close should have comment or be unexported (golint)
    • experimental-clash/transport/ssr/tools/crypto.go
    • Line 9: warning: exported const HmacSHA1Len should have comment or be unexported (golint)
    • Line 11: warning: exported function HmacMD5 should have comment or be unexported (golint)
    • Line 17: warning: exported function HmacSHA1 should have comment or be unexported (golint)
    • Line 23: warning: exported function MD5Sum should have comment or be unexported (golint)
    • Line 29: warning: exported function SHA1Sum should have comment or be unexported (golint)
    • experimental-clash/tunnel/statistic/manager.go
    • Line 10: warning: exported var DefaultManager should have comment or be unexported (golint)
    • Line 25: warning: exported type Manager should have comment or be unexported (golint)
    • Line 35: warning: exported method Manager.Join should have comment or be unexported (golint)
    • Line 39: warning: exported method Manager.Leave should have comment or be unexported (golint)
    • Line 43: warning: exported method Manager.PushUploaded should have comment or be unexported (golint)
    • Line 48: warning: exported method Manager.PushDownloaded should have comment or be unexported (golint)
    • Line 53: warning: exported method Manager.Now should have comment or be unexported (golint)
    • Line 57: warning: exported method Manager.Snapshot should have comment or be unexported (golint)
    • Line 71: warning: exported method Manager.ResetStatistic should have comment or be unexported (golint)
    • Line 91: warning: exported type Snapshot should have comment or be unexported (golint)
    • experimental-clash/common/net/bufconn.go
    • Line 8: warning: exported type BufferedConn should have comment or be unexported (golint)
    • Line 13: warning: exported function NewBufferedConn should have comment or be unexported (golint)
    • Line 31: warning: exported method BufferedConn.ReadByte should have comment or be unexported (golint)
    • Line 35: warning: exported method BufferedConn.UnreadByte should have comment or be unexported (golint)
    • Line 39: warning: exported method BufferedConn.Buffered should have comment or be unexported (golint)
    • experimental-clash/listener/tproxy/tproxy.go
    • Line 11: warning: exported type Listener should have comment or be unexported (golint)
    • Line 17: warning: exported function New should have comment or be unexported (golint)
    • Line 55: warning: exported method Listener.Close should have comment or be unexported (golint)
    • Line 60: warning: exported method Listener.Address should have comment or be unexported (golint)
    • experimental-clash/transport/v2ray-plugin/mux.go
    • Line 11: warning: exported type SessionStatus should have comment or be unexported (golint)
    • Line 14: warning: exported const SessionStatusNew should have comment (or a comment on this block) or be unexported (golint)
    • Line 21: warning: exported const OptionNone should have comment (or a comment on this block) or be unexported (golint)
    • Line 26: warning: exported type MuxOption should have comment or be unexported (golint)
    • Line 125: warning: exported method Mux.Close should have comment or be unexported (golint)
    • Line 133: warning: exported function NewMux should have comment or be unexported (golint)
    • experimental-clash/common/observable/observable.go
    • Line 8: warning: exported type Observable should have comment or be unexported (golint)
    • Line 36: warning: exported method Observable.Subscribe should have comment or be unexported (golint)
    • Line 47: warning: exported method Observable.UnSubscribe should have comment or be unexported (golint)
    • Line 58: warning: exported function NewObservable should have comment or be unexported (golint)
    • experimental-clash/listener/mixed/mixed.go
    • Line 16: warning: exported type Listener should have comment or be unexported (golint)
    • Line 23: warning: exported function New should have comment or be unexported (golint)
    • Line 46: warning: exported method Listener.Close should have comment or be unexported (golint)
    • Line 51: warning: exported method Listener.Address should have comment or be unexported (golint)
    • experimental-clash/common/singledo/singledo.go
    • Line 14: warning: exported type Single should have comment or be unexported (golint)
    • Line 22: warning: exported type Result should have comment or be unexported (golint)
    • Line 29: warning: error should be the last type when returning multiple items (golint)
    • Line 58: warning: exported method Single.Reset should have comment or be unexported (golint)
    • Line 62: warning: exported function NewSingle should have comment or be unexported (golint)
    • experimental-clash/listener/socks/udp.go
    • Line 14: warning: exported type UDPListener should have comment or be unexported (golint)
    • Line 19: warning: exported function NewUDP should have comment or be unexported (golint)
    • Line 50: warning: exported method UDPListener.Close should have comment or be unexported (golint)
    • Line 55: warning: exported method UDPListener.Address should have comment or be unexported (golint)
    • experimental-clash/rule/final.go
    • Line 7: warning: exported type Match should have comment or be unexported (golint)
    • Line 11: warning: exported method Match.RuleType should have comment or be unexported (golint)
    • Line 15: warning: exported method Match.Match should have comment or be unexported (golint)
    • Line 19: warning: exported method Match.Adapter should have comment or be unexported (golint)
    • Line 23: warning: exported method Match.Payload should have comment or be unexported (golint)
    • Line 27: warning: exported method Match.ShouldResolveIP should have comment or be unexported (golint)
    • Line 31: warning: exported function NewMatch should have comment or be unexported (golint)
    • experimental-clash/transport/vmess/websocket.go
    • Line 41: warning: exported type WebsocketConfig should have comment or be unexported (golint)
    • Line 131: warning: exported function StreamWebsocketEDConn should have comment or be unexported (golint)
    • Line 223: warning: exported function StreamWebsocketConn should have comment or be unexported (golint)
    • experimental-clash/adapter/provider/provider.go
    • Line 17: warning: exported const ReservedName should have comment (or a comment on this block) or be unexported (golint)
    • Line 59: warning: exported type ProxySchema should have comment or be unexported (golint)
    • Line 63: warning: comment on exported type ProxySetProvider should be of the form "ProxySetProvider ..." (with optional leading article) (golint)
    • Line 163: warning: exported function NewProxySetProvider should have comment or be unexported (golint)
    • Line 186: warning: comment on exported type CompatibleProvider should be of the form "CompatibleProvider ..." (with optional leading article) (golint)
    • Line 243: warning: exported function NewCompatibleProvider should have comment or be unexported (golint)
    • experimental-clash/transport/ssr/tools/random.go
    • Line 14: warning: exported method XorShift128Plus.Next should have comment or be unexported (golint)
    • Line 24: warning: exported method XorShift128Plus.InitFromBin should have comment or be unexported (golint)
    • Line 40: warning: exported method XorShift128Plus.InitFromBinAndLength should have comment or be unexported (golint)
    • experimental-clash/common/pool/pool.go
    • Line 4: warning: comment on exported const RelayBufferSize should be of the form "RelayBufferSize ..." (golint)
    • Line 10: warning: exported function Get should have comment or be unexported (golint)
    • Line 14: warning: exported function Put should have comment or be unexported (golint)
    • experimental-clash/transport/trojan/trojan.go
    • Line 22: warning: exported const XRO should have comment (or a comment on this block) or be unexported (golint)
    • Line 35: warning: exported type Command should have comment or be unexported (golint)
    • Line 38: warning: exported var CommandTCP should have comment or be unexported (golint)
    • Line 45: warning: exported type Option should have comment or be unexported (golint)
    • Line 53: warning: exported type Trojan should have comment or be unexported (golint)
    • Line 58: warning: exported method Trojan.GetFlow should have comment or be unexported (golint)
    • Line 62: warning: exported method Trojan.StreamConn should have comment or be unexported (golint)
    • Line 98: warning: exported method Trojan.WriteHeader should have comment or be unexported (golint)
    • Line 114: warning: exported method Trojan.PacketConn should have comment or be unexported (golint)
    • Line 133: warning: exported function WritePacket should have comment or be unexported (golint)
    • Line 160: warning: exported function ReadPacket should have comment or be unexported (golint)
    • Line 193: warning: exported function New should have comment or be unexported (golint)
    • Line 197: warning: exported type PacketConn should have comment or be unexported (golint)
    • Line 204: warning: exported method PacketConn.WriteTo should have comment or be unexported (golint)
    • Line 208: warning: exported method PacketConn.ReadFrom should have comment or be unexported (golint)
    • experimental-clash/adapter/outbound/vmess.go
    • Line 23: warning: exported type Vmess should have comment or be unexported (golint)
    • Line 34: warning: exported type VmessOption should have comment or be unexported (golint)
    • Line 53: warning: exported type HTTPOptions should have comment or be unexported (golint)
    • Line 59: warning: exported type HTTP2Options should have comment or be unexported (golint)
    • Line 64: warning: exported type GrpcOptions should have comment or be unexported (golint)
    • Line 257: warning: exported function NewVmess should have comment or be unexported (golint)
    • experimental-clash/listener/tproxy/udp.go
    • Line 12: warning: exported type UDPListener should have comment or be unexported (golint)
    • Line 18: warning: exported function NewUDP should have comment or be unexported (golint)
    • Line 62: warning: exported method UDPListener.Close should have comment or be unexported (golint)
    • Line 67: warning: exported method UDPListener.Address should have comment or be unexported (golint)
    • experimental-clash/component/dialer/hook.go
    • Line 8: warning: exported type DialerHookFunc should have comment or be unexported (golint)
    • Line 9: warning: exported type DialHookFunc should have comment or be unexported (golint)
    • Line 10: warning: exported type ListenPacketHookFunc should have comment or be unexported (golint)
    • Line 13: warning: exported var DialerHook should have comment or be unexported (golint)
    • Line 19: warning: exported var ErrAddrNotFound should have comment or be unexported (golint)
    • Line 23: warning: exported function ListenPacketWithInterface should have comment or be unexported (golint)
    • Line 34: warning: exported function DialerWithInterface should have comment or be unexported (golint)
    • experimental-clash/listener/socks/tcp.go
    • Line 16: warning: exported type Listener should have comment or be unexported (golint)
    • Line 21: warning: exported function New should have comment or be unexported (golint)
    • Line 46: warning: exported method Listener.Close should have comment or be unexported (golint)
    • Line 51: warning: exported method Listener.Address should have comment or be unexported (golint)
    • Line 73: warning: exported function HandleSocks4 should have comment or be unexported (golint)
    • Line 89: warning: exported function HandleSocks5 should have comment or be unexported (golint)
    • experimental-clash/adapter/outbound/vless.go
    • Line 31: warning: exported type Vless should have comment or be unexported (golint)
    • Line 37: warning: exported type VlessOption should have comment or be unexported (golint)
    • Line 52: warning: exported method Vless.StreamConn should have comment or be unexported (golint)
    • Line 139: warning: exported method Vless.DialContext should have comment or be unexported (golint)
    • Line 150: warning: exported method Vless.DialUDP should have comment or be unexported (golint)
    • Line 178: warning: exported function NewVless should have comment or be unexported (golint)
    • experimental-clash/adapter/outboundgroup/selector.go
    • Line 14: warning: exported type Selector should have comment or be unexported (golint)
    • Line 63: warning: exported method Selector.Now should have comment or be unexported (golint)
    • Line 67: warning: exported method Selector.Set should have comment or be unexported (golint)
    • Line 99: warning: exported function NewSelector should have comment or be unexported (golint)
    • experimental-clash/tunnel/mode.go
    • Line 9: warning: exported type TunnelMode should have comment or be unexported (golint)
    • Line 21: warning: exported const Global should have comment (or a comment on this block) or be unexported (golint)
    • experimental-clash/hub/route/server.go
    • Line 33: warning: exported type Traffic should have comment or be unexported (golint)
    • Line 38: warning: exported function SetUIPath should have comment or be unexported (golint)
    • Line 42: warning: exported function Start should have comment or be unexported (golint)
    • Line 173: warning: exported type Log should have comment or be unexported (golint)
    • experimental-clash/rule/port.go
    • Line 9: warning: exported type Port should have comment or be unexported (golint)
    • Line 15: warning: exported method Port.RuleType should have comment or be unexported (golint)
    • Line 22: warning: exported method Port.Match should have comment or be unexported (golint)
    • Line 29: warning: exported method Port.Adapter should have comment or be unexported (golint)
    • Line 33: warning: exported method Port.Payload should have comment or be unexported (golint)
    • Line 37: warning: exported method Port.ShouldResolveIP should have comment or be unexported (golint)
    • Line 41: warning: exported function NewPort should have comment or be unexported (golint)
    • experimental-clash/transport/socks5/socks5.go
    • Line 24: warning: exported const Version should have comment or be unexported (golint)
    • Line 99: warning: comment on exported var ErrAuth should be of the form "ErrAuth ..." (golint)
    • Line 102: warning: exported type User should have comment or be unexported (golint)
    • Line 272: warning: exported function ReadAddr should have comment or be unexported (golint)
    • Line 428: warning: exported function EncodeUDPPacket should have comment or be unexported (golint)
    • experimental-clash/transport/snell/snell.go
    • Line 16: warning: exported const Version1 should have comment (or a comment on this block) or be unexported (golint)
    • Line 22: warning: exported const CommandPing should have comment (or a comment on this block) or be unexported (golint)
    • Line 38: warning: exported type Snell should have comment or be unexported (golint)
    • Line 81: warning: exported function WriteHeader should have comment or be unexported (golint)
    • Line 119: warning: exported function StreamConn should have comment or be unexported (golint)
    • experimental-clash/adapter/provider/vehicle.go
    • Line 36: warning: exported type Vehicle should have comment or be unexported (golint)
    • Line 42: warning: exported type FileVehicle should have comment or be unexported (golint)
    • Line 46: warning: exported method FileVehicle.Type should have comment or be unexported (golint)
    • Line 50: warning: exported method FileVehicle.Path should have comment or be unexported (golint)
    • Line 58: warning: exported function NewFileVehicle should have comment or be unexported (golint)
    • Line 62: warning: exported type HTTPVehicle should have comment or be unexported (golint)
    • Line 67: warning: exported method HTTPVehicle.Type should have comment or be unexported (golint)
    • Line 71: warning: exported method HTTPVehicle.Path should have comment or be unexported (golint)
    • Line 120: warning: exported function NewHTTPVehicle should have comment or be unexported (golint)
    • experimental-clash/hub/hub.go
    • Line 9: warning: exported type Option should have comment or be unexported (golint)
    • Line 11: warning: exported function WithExternalUI should have comment or be unexported (golint)
    • Line 17: warning: exported function WithExternalController should have comment or be unexported (golint)
    • Line 23: warning: exported function WithSecret should have comment or be unexported (golint)
    • experimental-clash/component/process/process.go
    • Line 9: warning: exported var ErrInvalidNetwork should have comment or be unexported (golint)
    • Line 15: warning: exported const TCP should have comment (or a comment on this block) or be unexported (golint)
    • Line 19: warning: exported function FindProcessName should have comment or be unexported (golint)
    • experimental-clash/component/auth/auth.go
    • Line 7: warning: exported type Authenticator should have comment or be unexported (golint)
    • Line 12: warning: exported type AuthUser should have comment or be unexported (golint)
    • Line 29: warning: exported function NewAuthenticator should have comment or be unexported (golint)
    • experimental-clash/constant/metadata.go
    • Line 27: warning: exported type NetWork should have comment or be unexported (golint)
    • Line 36: warning: exported method NetWork.MarshalJSON should have comment or be unexported (golint)
    • Line 40: warning: exported type Type should have comment or be unexported (golint)
    • Line 63: warning: exported method Type.MarshalJSON should have comment or be unexported (golint)
    • Line 79: warning: exported method Metadata.RemoteAddress should have comment or be unexported (golint)
    • Line 83: warning: exported method Metadata.SourceAddress should have comment or be unexported (golint)
    • Line 87: warning: exported method Metadata.Resolved should have comment or be unexported (golint)
    • Line 91: warning: exported method Metadata.UDPAddr should have comment or be unexported (golint)
    • Line 112: warning: exported method Metadata.Valid should have comment or be unexported (golint)
    • experimental-clash/transport/socks4/socks4.go
    • Line 14: warning: exported const Version should have comment or be unexported (golint)
    • Line 16: warning: exported type Command should have comment or be unexported (golint)
    • Line 19: warning: exported const CmdConnect should have comment (or a comment on this block) or be unexported (golint)
    • Line 23: warning: exported type Code should have comment or be unexported (golint)
    • Line 26: warning: exported const RequestGranted should have comment (or a comment on this block) or be unexported (golint)
    • Line 37: warning: exported var ErrRequestRejected should have comment or be unexported (golint)
    • Line 52: warning: exported method Addr.IsSocks4A should have comment or be unexported (golint)
    • Line 56: warning: exported method Addr.Network should have comment or be unexported (golint)
    • Line 67: warning: exported function ServerHandshake should have comment or be unexported (golint)
    • Line 130: warning: exported function ClientHandshake should have comment or be unexported (golint)
    • experimental-clash/component/mmdb/mmdb.go
    • Line 15: warning: exported function LoadFromBytes should have comment or be unexported (golint)
    • Line 25: warning: exported function Verify should have comment or be unexported (golint)
    • Line 33: warning: exported function Instance should have comment or be unexported (golint)
    • experimental-clash/config/config.go
    • Line 38: warning: comment on exported type Inbound should be of the form "Inbound ..." (with optional leading article) (golint)
    • Line 50: warning: comment on exported type Controller should be of the form "Controller ..." (with optional leading article) (golint)
    • Line 101: warning: exported type RawDNS should have comment or be unexported (golint)
    • Line 116: warning: exported type RawFallbackFilter should have comment or be unexported (golint)
    • Line 122: warning: exported type RawConfig should have comment or be unexported (golint)
    • Line 160: warning: exported function UnmarshalRawConfig should have comment or be unexported (golint)
    • Line 197: warning: exported function ParseRawConfig should have comment or be unexported (golint)
    • experimental-clash/rule/domain_suffix.go
    • Line 9: warning: exported type DomainSuffix should have comment or be unexported (golint)
    • Line 14: warning: exported method DomainSuffix.RuleType should have comment or be unexported (golint)
    • Line 18: warning: exported method DomainSuffix.Match should have comment or be unexported (golint)
    • Line 26: warning: exported method DomainSuffix.Adapter should have comment or be unexported (golint)
    • Line 30: warning: exported method DomainSuffix.Payload should have comment or be unexported (golint)
    • Line 34: warning: exported method DomainSuffix.ShouldResolveIP should have comment or be unexported (golint)
    • Line 38: warning: exported function NewDomainSuffix should have comment or be unexported (golint)
    • experimental-clash/listener/http/hack.go
    • Line 6: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 9: warning: comment on exported function ReadRequest should be of the form "ReadRequest ..." (golint)
    • experimental-clash/constant/adapters.go
    • Line 33: warning: exported const DefaultTCPTimeout should have comment (or a comment on this block) or be unexported (golint)
    • Line 36: warning: exported type Connection should have comment or be unexported (golint)
    • Line 41: warning: exported type Chain should have comment or be unexported (golint)
    • Line 54: warning: exported method Chain.Last should have comment or be unexported (golint)
    • Line 63: warning: exported type Conn should have comment or be unexported (golint)
    • Line 68: warning: exported type PacketConn should have comment or be unexported (golint)
    • Line 75: warning: exported type ProxyAdapter should have comment or be unexported (golint)
    • Line 101: warning: exported type DelayHistory should have comment or be unexported (golint)
    • Line 106: warning: exported type Proxy should have comment or be unexported (golint)
    • experimental-clash/rule/rule_set.go
    • Line 9: warning: exported type RuleSet should have comment or be unexported (golint)
    • Line 15: warning: exported method RuleSet.RuleType should have comment or be unexported (golint)
    • Line 19: warning: exported method RuleSet.Match should have comment or be unexported (golint)
    • Line 23: warning: exported method RuleSet.Adapter should have comment or be unexported (golint)
    • Line 27: warning: exported method RuleSet.Payload should have comment or be unexported (golint)
    • Line 31: warning: exported method RuleSet.ShouldResolveIP should have comment or be unexported (golint)
    • Line 43: warning: exported function NewRuleSet should have comment or be unexported (golint)
    • experimental-clash/rule/process.go
    • Line 17: warning: exported type Process should have comment or be unexported (golint)
    • Line 23: warning: exported method Process.RuleType should have comment or be unexported (golint)
    • Line 27: warning: exported method Process.Match should have comment or be unexported (golint)
    • Line 55: warning: exported method Process.Adapter should have comment or be unexported (golint)
    • Line 59: warning: exported method Process.Payload should have comment or be unexported (golint)
    • Line 63: warning: exported method Process.ShouldResolveIP should have comment or be unexported (golint)
    • Line 67: warning: exported function NewProcess should have comment or be unexported (golint)
    • experimental-clash/rule/domain_keyword.go
    • Line 9: warning: exported type DomainKeyword should have comment or be unexported (golint)
    • Line 14: warning: exported method DomainKeyword.RuleType should have comment or be unexported (golint)
    • Line 18: warning: exported method DomainKeyword.Match should have comment or be unexported (golint)
    • Line 26: warning: exported method DomainKeyword.Adapter should have comment or be unexported (golint)
    • Line 30: warning: exported method DomainKeyword.Payload should have comment or be unexported (golint)
    • Line 34: warning: exported method DomainKeyword.ShouldResolveIP should have comment or be unexported (golint)
    • Line 38: warning: exported function NewDomainKeyword should have comment or be unexported (golint)
    • experimental-clash/rule/geoip.go
    • Line 8: warning: exported type GEOIP should have comment or be unexported (golint)
    • Line 14: warning: exported method GEOIP.RuleType should have comment or be unexported (golint)
    • Line 18: warning: exported method GEOIP.Match should have comment or be unexported (golint)
    • Line 27: warning: exported method GEOIP.Adapter should have comment or be unexported (golint)
    • Line 31: warning: exported method GEOIP.Payload should have comment or be unexported (golint)
    • Line 35: warning: exported method GEOIP.ShouldResolveIP should have comment or be unexported (golint)
    • Line 39: warning: exported function NewGEOIP should have comment or be unexported (golint)
    • experimental-clash/component/resolver/enhancer.go
    • Line 7: warning: exported var DefaultHostMapper should have comment or be unexported (golint)
    • Line 9: warning: exported type Enhancer should have comment or be unexported (golint)
    • Line 17: warning: exported function FakeIPEnabled should have comment or be unexported (golint)
    • Line 25: warning: exported function MappingEnabled should have comment or be unexported (golint)
    • Line 33: warning: exported function IsFakeIP should have comment or be unexported (golint)
    • Line 41: warning: exported function IsExistFakeIP should have comment or be unexported (golint)
    • Line 49: warning: exported function FindHostByIP should have comment or be unexported (golint)
    • experimental-clash/listener/redir/tcp.go
    • Line 10: warning: exported type Listener should have comment or be unexported (golint)
    • Line 16: warning: exported function New should have comment or be unexported (golint)
    • Line 39: warning: exported method Listener.Close should have comment or be unexported (golint)
    • Line 44: warning: exported method Listener.Address should have comment or be unexported (golint)
    • experimental-clash/rule/domain.go
    • Line 9: warning: exported type Domain should have comment or be unexported (golint)
    • Line 14: warning: exported method Domain.RuleType should have comment or be unexported (golint)
    • Line 18: warning: exported method Domain.Match should have comment or be unexported (golint)
    • Line 25: warning: exported method Domain.Adapter should have comment or be unexported (golint)
    • Line 29: warning: exported method Domain.Payload should have comment or be unexported (golint)
    • Line 33: warning: exported method Domain.ShouldResolveIP should have comment or be unexported (golint)
    • Line 37: warning: exported function NewDomain should have comment or be unexported (golint)
    • experimental-clash/dns/resolver.go
    • Line 32: warning: exported type Resolver should have comment or be unexported (golint)
    • Line 299: warning: exported type NameServer should have comment or be unexported (golint)
    • Line 304: warning: exported type FallbackFilter should have comment or be unexported (golint)
    • Line 310: warning: exported type Config should have comment or be unexported (golint)
    • Line 321: warning: exported function NewResolver should have comment or be unexported (golint)
    • experimental-clash/listener/http/server.go
    • Line 11: warning: exported type Listener should have comment or be unexported (golint)
    • Line 17: warning: exported function New should have comment or be unexported (golint)
    • Line 21: warning: exported function NewWithAuthenticate should have comment or be unexported (golint)
    • Line 52: warning: exported method Listener.Close should have comment or be unexported (golint)
    • Line 57: warning: exported method Listener.Address should have comment or be unexported (golint)
    • experimental-clash/transport/snell/pool.go
    • Line 13: warning: exported type Pool should have comment or be unexported (golint)
    • Line 17: warning: exported method Pool.Get should have comment or be unexported (golint)
    • Line 21: warning: exported method Pool.GetContext should have comment or be unexported (golint)
    • Line 30: warning: exported method Pool.Put should have comment or be unexported (golint)
    • Line 39: warning: exported type PoolConn should have comment or be unexported (golint)
    • Line 64: warning: exported method PoolConn.Close should have comment or be unexported (golint)
    • Line 72: warning: exported function NewPool should have comment or be unexported (golint)
    • experimental-clash/log/level.go
    • Line 20: warning: exported const DEBUG should have comment (or a comment on this block) or be unexported (golint)
    • Line 27: warning: exported type LogLevel should have comment or be unexported (golint)
    • experimental-clash/dns/enhancer.go
    • Line 10: warning: exported type ResolverEnhancer should have comment or be unexported (golint)
    • Line 16: warning: exported method ResolverEnhancer.FakeIPEnabled should have comment or be unexported (golint)
    • Line 20: warning: exported method ResolverEnhancer.MappingEnabled should have comment or be unexported (golint)
    • Line 24: warning: exported method ResolverEnhancer.IsExistFakeIP should have comment or be unexported (golint)
    • Line 36: warning: exported method ResolverEnhancer.IsFakeIP should have comment or be unexported (golint)
    • Line 48: warning: exported method ResolverEnhancer.FindHostByIP should have comment or be unexported (golint)
    • Line 64: warning: exported method ResolverEnhancer.PatchFrom should have comment or be unexported (golint)
    • Line 74: warning: exported function NewEnhancer should have comment or be unexported (golint)
    • experimental-clash/dns/util.go
    • Line 26: warning: exported const NORMAL should have comment (or a comment on this block) or be unexported (golint)
    • Line 31: warning: exported type EnhancedMode should have comment or be unexported (golint)
    • experimental-clash/transport/gun/gun.go
    • Line 25: warning: exported var ErrInvalidLength should have comment or be unexported (golint)
    • Line 37: warning: exported type DialFn should have comment or be unexported (golint)
    • Line 39: warning: exported type Conn should have comment or be unexported (golint)
    • Line 54: warning: exported type Config should have comment or be unexported (golint)
    • Line 145: warning: exported method Conn.Close should have comment or be unexported (golint)
    • Line 154: warning: exported method Conn.LocalAddr should have comment or be unexported (golint)
    • Line 155: warning: exported method Conn.RemoteAddr should have comment or be unexported (golint)
    • Line 156: warning: exported method Conn.SetReadDeadline should have comment or be unexported (golint)
    • Line 157: warning: exported method Conn.SetWriteDeadline should have comment or be unexported (golint)
    • Line 159: warning: exported method Conn.SetDeadline should have comment or be unexported (golint)
    • Line 171: warning: exported function NewHTTP2Client should have comment or be unexported (golint)
    • Line 200: warning: exported function StreamGunWithTransport should have comment or be unexported (golint)
    • Line 232: warning: exported function StreamGunWithConn should have comment or be unexported (golint)

ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!