Preparing report...

Report for v2ray.com/core

A+    Excellent!    Found 196 issues across 510 files

Tweet

gofmt99%

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!


gocyclo94%

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.

    • /v2ray.com/core/infra/conf/v2ray.go
    • Line 454: warning: cyclomatic complexity 31 of function (*Config).Build() is high (> 15) (gocyclo)
    • Line 156: warning: cyclomatic complexity 22 of function (*InboundDetourConfig).Build() is high (> 15) (gocyclo)
    • Line 355: warning: cyclomatic complexity 22 of function (*Config).Override() is high (> 15) (gocyclo)
    • Line 245: warning: cyclomatic complexity 17 of function (*OutboundDetourConfig).Build() is high (> 15) (gocyclo)
    • /v2ray.com/core/app/stats/channel_test.go
    • Line 14: warning: cyclomatic complexity 24 of function TestStatsChannel() is high (> 15) (gocyclo)
    • Line 98: warning: cyclomatic complexity 23 of function TestStatsChannelUnsubcribe() is high (> 15) (gocyclo)
    • Line 338: warning: cyclomatic complexity 16 of function TestStatsChannelConcurrency() is high (> 15) (gocyclo)

golint63%

Golint is a linter for Go source code.

    • /v2ray.com/core/proxy/vless/encoding/addons.go
    • Line 15: warning: exported function EncodeHeaderAddons should have comment or be unexported (golint)
    • Line 43: warning: exported function DecodeHeaderAddons should have comment or be unexported (golint)
    • Line 107: warning: exported function NewMultiLengthPacketWriter should have comment or be unexported (golint)
    • Line 113: warning: exported type MultiLengthPacketWriter should have comment or be unexported (golint)
    • Line 117: warning: exported method MultiLengthPacketWriter.WriteMultiBuffer should have comment or be unexported (golint)
    • Line 146: warning: exported function NewLengthPacketWriter should have comment or be unexported (golint)
    • Line 153: warning: exported type LengthPacketWriter should have comment or be unexported (golint)
    • Line 158: warning: exported method LengthPacketWriter.WriteMultiBuffer should have comment or be unexported (golint)
    • Line 179: warning: exported function NewLengthPacketReader should have comment or be unexported (golint)
    • Line 186: warning: exported type LengthPacketReader should have comment or be unexported (golint)
    • Line 191: warning: exported method LengthPacketReader.ReadMultiBuffer should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/socks/protocol.go
    • Line 43: warning: exported type ServerSession should have comment or be unexported (golint)
    • Line 321: warning: exported function DecodeUDPPacket should have comment or be unexported (golint)
    • Line 346: warning: exported function EncodeUDPPacket should have comment or be unexported (golint)
    • Line 357: warning: exported type UDPReader should have comment or be unexported (golint)
    • Line 361: warning: exported function NewUDPReader should have comment or be unexported (golint)
    • Line 365: warning: exported method UDPReader.ReadMultiBuffer should have comment or be unexported (golint)
    • Line 376: warning: exported type UDPWriter should have comment or be unexported (golint)
    • Line 381: warning: exported function NewUDPWriter should have comment or be unexported (golint)
    • Line 401: warning: exported function ClientHandshake should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/aead/encrypt.go
    • Line 15: warning: exported function SealVMessAEADHeader should have comment or be unexported (golint)
    • Line 85: warning: error should be the last type when returning multiple items (golint)
    • Line 85: warning: exported function OpenVMessAEADHeader should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/policy.go
    • Line 7: warning: exported type Policy should have comment or be unexported (golint)
    • Line 17: warning: exported method Policy.Build should have comment or be unexported (golint)
    • Line 53: warning: exported type SystemPolicy should have comment or be unexported (golint)
    • Line 60: warning: exported method SystemPolicy.Build should have comment or be unexported (golint)
    • Line 71: warning: exported type PolicyConfig should have comment or be unexported (golint)
    • Line 76: warning: exported method PolicyConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/common/bitmask/byte.go
    • Line 11: warning: exported method Byte.Set should have comment or be unexported (golint)
    • Line 15: warning: exported method Byte.Clear should have comment or be unexported (golint)
    • Line 19: warning: exported method Byte.Toggle should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/transport_authenticators.go
    • Line 17: warning: exported type NoOpAuthenticator should have comment or be unexported (golint)
    • Line 19: warning: exported method NoOpAuthenticator.Build should have comment or be unexported (golint)
    • Line 23: warning: exported type NoOpConnectionAuthenticator should have comment or be unexported (golint)
    • Line 25: warning: exported method NoOpConnectionAuthenticator.Build should have comment or be unexported (golint)
    • Line 29: warning: exported type SRTPAuthenticator should have comment or be unexported (golint)
    • Line 31: warning: exported method SRTPAuthenticator.Build should have comment or be unexported (golint)
    • Line 35: warning: exported type UTPAuthenticator should have comment or be unexported (golint)
    • Line 37: warning: exported method UTPAuthenticator.Build should have comment or be unexported (golint)
    • Line 41: warning: exported type WechatVideoAuthenticator should have comment or be unexported (golint)
    • Line 43: warning: exported method WechatVideoAuthenticator.Build should have comment or be unexported (golint)
    • Line 47: warning: exported type WireguardAuthenticator should have comment or be unexported (golint)
    • Line 49: warning: exported method WireguardAuthenticator.Build should have comment or be unexported (golint)
    • Line 53: warning: exported type DTLSAuthenticator should have comment or be unexported (golint)
    • Line 55: warning: exported method DTLSAuthenticator.Build should have comment or be unexported (golint)
    • Line 59: warning: exported type HTTPAuthenticatorRequest should have comment or be unexported (golint)
    • Line 75: warning: exported method HTTPAuthenticatorRequest.Build should have comment or be unexported (golint)
    • Line 135: warning: exported type HTTPAuthenticatorResponse should have comment or be unexported (golint)
    • Line 142: warning: exported method HTTPAuthenticatorResponse.Build should have comment or be unexported (golint)
    • Line 203: warning: exported type HTTPAuthenticator should have comment or be unexported (golint)
    • Line 208: warning: exported method HTTPAuthenticator.Build should have comment or be unexported (golint)
    • /v2ray.com/core/common/antireplay/antireplay.go
    • Line 9: warning: exported function NewAntiReplayWindow should have comment or be unexported (golint)
    • Line 15: warning: exported type AntiReplayWindow should have comment or be unexported (golint)
    • Line 24: warning: exported method AntiReplayWindow.Check should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/reverse.go
    • Line 8: warning: exported type BridgeConfig should have comment or be unexported (golint)
    • Line 13: warning: exported method BridgeConfig.Build should have comment or be unexported (golint)
    • Line 20: warning: exported type PortalConfig should have comment or be unexported (golint)
    • Line 25: warning: exported method PortalConfig.Build should have comment or be unexported (golint)
    • Line 32: warning: exported type ReverseConfig should have comment or be unexported (golint)
    • Line 37: warning: exported method ReverseConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/common/signal/pubsub/pubsub.go
    • Line 13: warning: exported type Subscriber should have comment or be unexported (golint)
    • Line 25: warning: exported method Subscriber.Wait should have comment or be unexported (golint)
    • Line 29: warning: exported method Subscriber.Close should have comment or be unexported (golint)
    • Line 33: warning: exported method Subscriber.IsClosed should have comment or be unexported (golint)
    • Line 37: warning: exported type Service should have comment or be unexported (golint)
    • Line 43: warning: exported function NewService should have comment or be unexported (golint)
    • Line 84: warning: exported method Service.Subscribe should have comment or be unexported (golint)
    • Line 97: warning: exported method Service.Publish should have comment or be unexported (golint)
    • /v2ray.com/core/common/net/system.go
    • Line 7: warning: exported var DialUDP should have comment or be unexported (golint)
    • Line 8: warning: exported var DialUnix should have comment or be unexported (golint)
    • Line 9: warning: exported var Dial should have comment or be unexported (golint)
    • Line 11: warning: exported type ListenConfig should have comment or be unexported (golint)
    • Line 13: warning: exported var Listen should have comment or be unexported (golint)
    • Line 14: warning: exported var ListenTCP should have comment or be unexported (golint)
    • Line 15: warning: exported var ListenUDP should have comment or be unexported (golint)
    • Line 16: warning: exported var ListenUnix should have comment or be unexported (golint)
    • Line 18: warning: exported var LookupIP should have comment or be unexported (golint)
    • Line 20: warning: exported var FileConn should have comment or be unexported (golint)
    • Line 25: warning: exported var SplitHostPort should have comment or be unexported (golint)
    • Line 27: warning: exported var CIDRMask should have comment or be unexported (golint)
    • Line 29: warning: exported type Addr should have comment or be unexported (golint)
    • Line 30: warning: exported type Conn should have comment or be unexported (golint)
    • Line 31: warning: exported type PacketConn should have comment or be unexported (golint)
    • Line 33: warning: exported type TCPAddr should have comment or be unexported (golint)
    • Line 34: warning: exported type TCPConn should have comment or be unexported (golint)
    • Line 36: warning: exported type UDPAddr should have comment or be unexported (golint)
    • Line 37: warning: exported type UDPConn should have comment or be unexported (golint)
    • Line 39: warning: exported type UnixAddr should have comment or be unexported (golint)
    • Line 40: warning: exported type UnixConn should have comment or be unexported (golint)
    • Line 44: warning: exported type IPMask should have comment or be unexported (golint)
    • Line 45: warning: exported type IPNet should have comment or be unexported (golint)
    • Line 47: warning: exported const IPv4len should have comment or be unexported (golint)
    • Line 48: warning: exported const IPv6len should have comment or be unexported (golint)
    • Line 50: warning: exported type Error should have comment or be unexported (golint)
    • Line 51: warning: exported type AddrError should have comment or be unexported (golint)
    • Line 53: warning: exported type Dialer should have comment or be unexported (golint)
    • Line 54: warning: exported type Listener should have comment or be unexported (golint)
    • Line 55: warning: exported type TCPListener should have comment or be unexported (golint)
    • Line 56: warning: exported type UnixListener should have comment or be unexported (golint)
    • Line 58: warning: exported var ResolveUnixAddr should have comment or be unexported (golint)
    • Line 59: warning: exported var ResolveUDPAddr should have comment or be unexported (golint)
    • Line 61: warning: exported type Resolver should have comment or be unexported (golint)
    • /v2ray.com/core/common/strmatcher/full_matcher.go
    • Line 3: warning: exported type FullMatcherGroup should have comment or be unexported (golint)
    • Line 7: warning: exported method FullMatcherGroup.Add should have comment or be unexported (golint)
    • Line 19: warning: exported method FullMatcherGroup.Match should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/tls/cert/cert.go
    • Line 20: warning: exported type Certificate should have comment or be unexported (golint)
    • Line 27: warning: exported function ParseCertificate should have comment or be unexported (golint)
    • Line 42: warning: exported method Certificate.ToPEM should have comment or be unexported (golint)
    • Line 47: warning: exported type Option should have comment or be unexported (golint)
    • Line 49: warning: exported function Authority should have comment or be unexported (golint)
    • Line 55: warning: exported function NotBefore should have comment or be unexported (golint)
    • Line 61: warning: exported function NotAfter should have comment or be unexported (golint)
    • Line 67: warning: exported function DNSNames should have comment or be unexported (golint)
    • Line 73: warning: exported function CommonName should have comment or be unexported (golint)
    • Line 79: warning: exported function KeyUsage should have comment or be unexported (golint)
    • Line 85: warning: exported function Organization should have comment or be unexported (golint)
    • Line 91: warning: exported function MustGenerate should have comment or be unexported (golint)
    • Line 110: warning: exported function Generate should have comment or be unexported (golint)
    • /v2ray.com/core/app/proxyman/inbound/always.go
    • Line 44: warning: exported type AlwaysOnInboundHandler should have comment or be unexported (golint)
    • Line 51: warning: exported function NewAlwaysOnInboundHandler should have comment or be unexported (golint)
    • Line 152: warning: exported method AlwaysOnInboundHandler.GetRandomInboundProxy should have comment or be unexported (golint)
    • Line 160: warning: exported method AlwaysOnInboundHandler.Tag should have comment or be unexported (golint)
    • Line 164: warning: exported method AlwaysOnInboundHandler.GetInbound should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/shadowsocks.go
    • Line 36: warning: exported type ShadowsocksServerConfig should have comment or be unexported (golint)
    • Line 45: warning: exported method ShadowsocksServerConfig.Build should have comment or be unexported (golint)
    • Line 70: warning: exported type ShadowsocksServerTarget should have comment or be unexported (golint)
    • Line 80: warning: exported type ShadowsocksClientConfig should have comment or be unexported (golint)
    • Line 84: warning: exported method ShadowsocksClientConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/vmess.go
    • Line 16: warning: exported type VMessAccount should have comment or be unexported (golint)
    • Line 46: warning: exported type VMessDetourConfig should have comment or be unexported (golint)
    • Line 57: warning: exported type FeaturesConfig should have comment or be unexported (golint)
    • Line 61: warning: exported type VMessDefaultConfig should have comment or be unexported (golint)
    • Line 77: warning: exported type VMessInboundConfig should have comment or be unexported (golint)
    • Line 118: warning: exported type VMessOutboundTarget should have comment or be unexported (golint)
    • Line 123: warning: exported type VMessOutboundConfig should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/tls/sniff.go
    • Line 11: warning: exported type SniffHeader should have comment or be unexported (golint)
    • Line 15: warning: exported method SniffHeader.Protocol should have comment or be unexported (golint)
    • Line 19: warning: exported method SniffHeader.Domain should have comment or be unexported (golint)
    • Line 26: warning: exported function IsValidTLSVersion should have comment or be unexported (golint)
    • Line 124: warning: exported function SniffTLS should have comment or be unexported (golint)
    • /v2ray.com/core/app/reverse/portal.go
    • Line 22: warning: exported type Portal should have comment or be unexported (golint)
    • Line 30: warning: exported function NewPortal should have comment or be unexported (golint)
    • Line 55: warning: exported method Portal.Start should have comment or be unexported (golint)
    • Line 62: warning: exported method Portal.Close should have comment or be unexported (golint)
    • Line 66: warning: exported method Portal.HandleConnection should have comment or be unexported (golint)
    • Line 90: warning: exported type Outbound should have comment or be unexported (golint)
    • Line 95: warning: exported method Outbound.Tag should have comment or be unexported (golint)
    • Line 99: warning: exported method Outbound.Dispatch should have comment or be unexported (golint)
    • Line 106: warning: exported method Outbound.Start should have comment or be unexported (golint)
    • Line 110: warning: exported method Outbound.Close should have comment or be unexported (golint)
    • Line 114: warning: exported type StaticMuxPicker should have comment or be unexported (golint)
    • Line 120: warning: exported function NewStaticMuxPicker should have comment or be unexported (golint)
    • Line 148: warning: exported method StaticMuxPicker.PickAvailable should have comment or be unexported (golint)
    • Line 187: warning: exported method StaticMuxPicker.AddWorker should have comment or be unexported (golint)
    • Line 194: warning: exported type PortalWorker should have comment or be unexported (golint)
    • Line 202: warning: exported function NewPortalWorker should have comment or be unexported (golint)
    • Line 260: warning: exported method PortalWorker.IsFull should have comment or be unexported (golint)
    • Line 264: warning: exported method PortalWorker.Closed should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/tls/tls.go
    • Line 18: warning: exported type Conn should have comment or be unexported (golint)
    • Line 22: warning: exported method Conn.WriteMultiBuffer should have comment or be unexported (golint)
    • Line 29: warning: exported method Conn.HandshakeAddress should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/dns.go
    • Line 13: warning: exported type NameServerConfig should have comment or be unexported (golint)
    • Line 20: warning: exported method NameServerConfig.UnmarshalJSON should have comment or be unexported (golint)
    • Line 59: warning: exported method NameServerConfig.Build should have comment or be unexported (golint)
    • Line 122: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • /v2ray.com/core/common/protocol/address.go
    • Line 12: warning: exported type AddressOption should have comment or be unexported (golint)
    • Line 14: warning: exported function PortThenAddress should have comment or be unexported (golint)
    • Line 20: warning: exported function AddressFamilyByte should have comment or be unexported (golint)
    • Line 30: warning: exported type AddressTypeParser should have comment or be unexported (golint)
    • Line 32: warning: exported function WithAddressTypeParser should have comment or be unexported (golint)
    • Line 38: warning: exported type AddressSerializer should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/tlsping.go
    • Line 13: warning: exported type TlsPingCommand should have comment or be unexported (golint)
    • Line 15: warning: exported method TlsPingCommand.Name should have comment or be unexported (golint)
    • Line 19: warning: exported method TlsPingCommand.Description should have comment or be unexported (golint)
    • Line 35: warning: exported method TlsPingCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/tcp_hub.go
    • Line 13: warning: exported function RegisterTransportListener should have comment or be unexported (golint)
    • Line 21: warning: exported type ConnHandler should have comment or be unexported (golint)
    • Line 23: warning: exported type ListenFunc should have comment or be unexported (golint)
    • Line 25: warning: exported type Listener should have comment or be unexported (golint)
    • Line 30: warning: exported function ListenTCP should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/dns/io.go
    • Line 13: warning: exported function PackMessage should have comment or be unexported (golint)
    • Line 25: warning: exported type MessageReader should have comment or be unexported (golint)
    • Line 29: warning: exported type UDPReader should have comment or be unexported (golint)
    • Line 81: warning: exported type TCPReader should have comment or be unexported (golint)
    • Line 85: warning: exported function NewTCPReader should have comment or be unexported (golint)
    • Line 93: warning: exported method TCPReader.ReadMessage should have comment or be unexported (golint)
    • Line 108: warning: exported method TCPReader.Interrupt should have comment or be unexported (golint)
    • Line 112: warning: exported method TCPReader.Close should have comment or be unexported (golint)
    • Line 116: warning: exported type MessageWriter should have comment or be unexported (golint)
    • Line 120: warning: exported type UDPWriter should have comment or be unexported (golint)
    • Line 124: warning: exported method UDPWriter.WriteMessage should have comment or be unexported (golint)
    • Line 128: warning: exported type TCPWriter should have comment or be unexported (golint)
    • Line 132: warning: exported method TCPWriter.WriteMessage should have comment or be unexported (golint)
    • /v2ray.com/core/common/crypto/internal/chacha.go
    • Line 15: warning: exported type ChaCha20Stream should have comment or be unexported (golint)
    • Line 22: warning: exported function NewChaCha20Stream should have comment or be unexported (golint)
    • Line 51: warning: exported method ChaCha20Stream.XORKeyStream should have comment or be unexported (golint)
    • /v2ray.com/core/common/mux/writer.go
    • Line 11: warning: exported type Writer should have comment or be unexported (golint)
    • Line 20: warning: exported function NewWriter should have comment or be unexported (golint)
    • Line 30: warning: exported function NewResponseWriter should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/http/sniff.go
    • Line 15: warning: exported const HTTP1 should have comment (or a comment on this block) or be unexported (golint)
    • Line 19: warning: exported type SniffHeader should have comment or be unexported (golint)
    • Line 24: warning: exported method SniffHeader.Protocol should have comment or be unexported (golint)
    • Line 35: warning: exported method SniffHeader.Domain should have comment or be unexported (golint)
    • Line 59: warning: exported function SniffHTTP should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/command/command.go
    • Line 14: warning: exported type ConfigCommand should have comment or be unexported (golint)
    • Line 16: warning: exported method ConfigCommand.Name should have comment or be unexported (golint)
    • Line 20: warning: exported method ConfigCommand.Description should have comment or be unexported (golint)
    • Line 29: warning: exported method ConfigCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/aead/authid.go
    • Line 18: warning: exported function CreateAuthID should have comment or be unexported (golint)
    • Line 34: warning: exported function NewCipherFromKey should have comment or be unexported (golint)
    • Line 42: warning: exported type AuthIDDecoder should have comment or be unexported (golint)
    • Line 46: warning: exported function NewAuthIDDecoder should have comment or be unexported (golint)
    • Line 50: warning: exported method AuthIDDecoder.Decode should have comment or be unexported (golint)
    • Line 62: warning: exported function NewAuthIDDecoderHolder should have comment or be unexported (golint)
    • Line 66: warning: exported type AuthIDDecoderHolder should have comment or be unexported (golint)
    • Line 71: warning: exported type AuthIDDecoderItem should have comment or be unexported (golint)
    • Line 76: warning: exported function NewAuthIDDecoderItem should have comment or be unexported (golint)
    • Line 83: warning: exported method AuthIDDecoderHolder.AddUser should have comment or be unexported (golint)
    • Line 87: warning: exported method AuthIDDecoderHolder.RemoveUser should have comment or be unexported (golint)
    • Line 91: warning: exported method AuthIDDecoderHolder.Match should have comment or be unexported (golint)
    • Line 119: warning: exported var ErrNotFound should have comment or be unexported (golint)
    • Line 121: warning: exported var ErrReplay should have comment or be unexported (golint)
    • /v2ray.com/core/app/log/log_creator.go
    • Line 10: warning: exported type HandlerCreatorOptions should have comment or be unexported (golint)
    • Line 14: warning: exported type HandlerCreator should have comment or be unexported (golint)
    • Line 20: warning: exported function RegisterHandlerCreator should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/http/hub.go
    • Line 25: warning: exported type Listener should have comment or be unexported (golint)
    • Line 32: warning: exported method Listener.Addr should have comment or be unexported (golint)
    • Line 36: warning: exported method Listener.Close should have comment or be unexported (golint)
    • Line 103: warning: exported function Listen should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/output.go
    • Line 14: warning: exported type SegmentWriter should have comment or be unexported (golint)
    • Line 18: warning: exported type SimpleSegmentWriter should have comment or be unexported (golint)
    • Line 24: warning: exported function NewSegmentWriter should have comment or be unexported (golint)
    • Line 42: warning: exported type RetryableWriter should have comment or be unexported (golint)
    • Line 46: warning: exported function NewRetryableWriter should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/system_dialer.go
    • Line 16: warning: exported type SystemDialer should have comment or be unexported (golint)
    • Line 20: warning: exported type DefaultSystemDialer should have comment or be unexported (golint)
    • Line 46: warning: exported method DefaultSystemDialer.Dial should have comment or be unexported (golint)
    • Line 139: warning: exported type SystemDialerAdapter should have comment or be unexported (golint)
    • Line 143: warning: exported type SimpleSystemDialer should have comment or be unexported (golint)
    • Line 147: warning: exported function WithAdapter should have comment or be unexported (golint)
    • Line 153: warning: exported method SimpleSystemDialer.Dial should have comment or be unexported (golint)
    • /v2ray.com/core/common/dice/dice.go
    • Line 18: warning: comment on exported function RollDeterministic should be of the form "RollDeterministic ..." (golint)
    • Line 31: warning: exported function RollUint64 should have comment or be unexported (golint)
    • Line 35: warning: exported function NewDeterministicDice should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/encoding/server.go
    • Line 181: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 226: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 288: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 486: warning: exported method ServerSession.DrainConnN should have comment or be unexported (golint)
    • /v2ray.com/core/app/reverse/reverse.go
    • Line 42: warning: exported type Reverse should have comment or be unexported (golint)
    • Line 47: warning: exported method Reverse.Init should have comment or be unexported (golint)
    • Line 67: warning: exported method Reverse.Type should have comment or be unexported (golint)
    • Line 71: warning: exported method Reverse.Start should have comment or be unexported (golint)
    • Line 87: warning: exported method Reverse.Close should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/header.go
    • Line 10: warning: exported type PacketHeader should have comment or be unexported (golint)
    • Line 15: warning: exported function CreatePacketHeader should have comment or be unexported (golint)
    • Line 26: warning: exported type ConnectionAuthenticator should have comment or be unexported (golint)
    • Line 31: warning: exported function CreateConnectionAuthenticator should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/udp/hub.go
    • Line 12: warning: exported type HubOption should have comment or be unexported (golint)
    • Line 14: warning: exported function HubCapacity should have comment or be unexported (golint)
    • Line 20: warning: exported function HubReceiveOriginalDestination should have comment or be unexported (golint)
    • Line 26: warning: exported type Hub should have comment or be unexported (golint)
    • Line 33: warning: exported function ListenUDP should have comment or be unexported (golint)
    • Line 71: warning: exported method Hub.WriteTo should have comment or be unexported (golint)
    • Line 131: warning: exported method Hub.Receive should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/server_picker.go
    • Line 7: warning: exported type ServerList should have comment or be unexported (golint)
    • Line 12: warning: exported function NewServerList should have comment or be unexported (golint)
    • Line 16: warning: exported method ServerList.AddServer should have comment or be unexported (golint)
    • Line 23: warning: exported method ServerList.Size should have comment or be unexported (golint)
    • Line 30: warning: exported method ServerList.GetServer should have comment or be unexported (golint)
    • Line 55: warning: exported type ServerPicker should have comment or be unexported (golint)
    • Line 59: warning: exported type RoundRobinServerPicker should have comment or be unexported (golint)
    • Line 65: warning: exported function NewRoundRobinServerPicker should have comment or be unexported (golint)
    • Line 72: warning: exported method RoundRobinServerPicker.PickServer should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/encoding/auth.go
    • Line 20: warning: exported type NoOpAuthenticator should have comment or be unexported (golint)
    • Line 22: warning: exported method NoOpAuthenticator.NonceSize should have comment or be unexported (golint)
    • Line 26: warning: exported method NoOpAuthenticator.Overhead should have comment or be unexported (golint)
    • Line 79: warning: exported type ShakeSizeParser should have comment or be unexported (golint)
    • Line 84: warning: exported function NewShakeSizeParser should have comment or be unexported (golint)
    • Line 92: warning: exported method ShakeSizeParser.SizeBytes should have comment or be unexported (golint)
    • Line 101: warning: exported method ShakeSizeParser.Decode should have comment or be unexported (golint)
    • Line 107: warning: exported method ShakeSizeParser.Encode should have comment or be unexported (golint)
    • Line 113: warning: exported method ShakeSizeParser.NextPaddingLen should have comment or be unexported (golint)
    • Line 117: warning: exported method ShakeSizeParser.MaxPaddingLen should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/udp/dispatcher.go
    • Line 21: warning: exported type ResponseCallback should have comment or be unexported (golint)
    • Line 29: warning: exported type Dispatcher should have comment or be unexported (golint)
    • Line 36: warning: exported function NewDispatcher should have comment or be unexported (golint)
    • Line 44: warning: exported method Dispatcher.RemoveRay should have comment or be unexported (golint)
    • Line 81: warning: exported method Dispatcher.Dispatch should have comment or be unexported (golint)
    • Line 130: warning: exported function DialDispatcher should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/cert.go
    • Line 36: warning: exported type CertificateCommand should have comment or be unexported (golint)
    • Line 39: warning: exported method CertificateCommand.Name should have comment or be unexported (golint)
    • Line 43: warning: exported method CertificateCommand.Description should have comment or be unexported (golint)
    • Line 87: warning: exported method CertificateCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/http.go
    • Line 12: warning: exported type HttpAccount should have comment or be unexported (golint)
    • Line 17: warning: exported method HttpAccount.Build should have comment or be unexported (golint)
    • Line 24: warning: exported type HttpServerConfig should have comment or be unexported (golint)
    • Line 31: warning: exported method HttpServerConfig.Build should have comment or be unexported (golint)
    • Line 48: warning: exported type HttpRemoteConfig should have comment or be unexported (golint)
    • Line 53: warning: exported type HttpClientConfig should have comment or be unexported (golint)
    • Line 57: warning: exported method HttpClientConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/common/crypto/io.go
    • Line 10: warning: exported type CryptionReader should have comment or be unexported (golint)
    • Line 15: warning: exported function NewCryptionReader should have comment or be unexported (golint)
    • Line 34: warning: exported type CryptionWriter should have comment or be unexported (golint)
    • /v2ray.com/core/app/proxyman/inbound/dynamic.go
    • Line 18: warning: exported type DynamicInboundHandler should have comment or be unexported (golint)
    • Line 35: warning: exported function NewDynamicInboundHandler should have comment or be unexported (golint)
    • Line 179: warning: exported method DynamicInboundHandler.Start should have comment or be unexported (golint)
    • Line 183: warning: exported method DynamicInboundHandler.Close should have comment or be unexported (golint)
    • Line 187: warning: exported method DynamicInboundHandler.GetRandomInboundProxy should have comment or be unexported (golint)
    • Line 199: warning: exported method DynamicInboundHandler.Tag should have comment or be unexported (golint)
    • /v2ray.com/core/common/crypto/chunk.go
    • Line 23: warning: exported type PaddingLengthGenerator should have comment or be unexported (golint)
    • Line 28: warning: exported type PlainChunkSizeParser should have comment or be unexported (golint)
    • Line 30: warning: exported method PlainChunkSizeParser.SizeBytes should have comment or be unexported (golint)
    • Line 34: warning: exported method PlainChunkSizeParser.Encode should have comment or be unexported (golint)
    • Line 39: warning: exported method PlainChunkSizeParser.Decode should have comment or be unexported (golint)
    • Line 43: warning: exported type AEADChunkSizeParser should have comment or be unexported (golint)
    • Line 47: warning: exported method AEADChunkSizeParser.SizeBytes should have comment or be unexported (golint)
    • Line 51: warning: exported method AEADChunkSizeParser.Encode should have comment or be unexported (golint)
    • Line 58: warning: exported method AEADChunkSizeParser.Decode should have comment or be unexported (golint)
    • Line 66: warning: exported type ChunkStreamReader should have comment or be unexported (golint)
    • Line 76: warning: exported function NewChunkStreamReader should have comment or be unexported (golint)
    • Line 80: warning: exported function NewChunkStreamReaderWithChunkCount should have comment or be unexported (golint)
    • Line 102: warning: exported method ChunkStreamReader.ReadMultiBuffer should have comment or be unexported (golint)
    • Line 128: warning: exported type ChunkStreamWriter should have comment or be unexported (golint)
    • Line 133: warning: exported function NewChunkStreamWriter should have comment or be unexported (golint)
    • Line 140: warning: exported method ChunkStreamWriter.WriteMultiBuffer should have comment or be unexported (golint)
    • /v2ray.com/core/common/platform/filesystem/file.go
    • Line 11: warning: exported type FileReaderFunc should have comment or be unexported (golint)
    • Line 13: warning: exported var NewFileReader should have comment or be unexported (golint)
    • Line 17: warning: exported function ReadFile should have comment or be unexported (golint)
    • Line 27: warning: exported function ReadAsset should have comment or be unexported (golint)
    • Line 31: warning: exported function CopyFile should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/shadowsocks/server.go
    • Line 25: warning: exported type Server should have comment or be unexported (golint)
    • Line 52: warning: exported method Server.Network should have comment or be unexported (golint)
    • Line 63: warning: exported method Server.Process should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/uuid.go
    • Line 10: warning: exported type UUIDCommand should have comment or be unexported (golint)
    • Line 12: warning: exported method UUIDCommand.Name should have comment or be unexported (golint)
    • Line 16: warning: exported method UUIDCommand.Description should have comment or be unexported (golint)
    • Line 23: warning: exported method UUIDCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/verify.go
    • Line 10: warning: exported type VerifyCommand should have comment or be unexported (golint)
    • Line 12: warning: exported method VerifyCommand.Name should have comment or be unexported (golint)
    • Line 16: warning: exported method VerifyCommand.Description should have comment or be unexported (golint)
    • Line 26: warning: exported method VerifyCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/log.go
    • Line 10: warning: exported function DefaultLogConfig should have comment or be unexported (golint)
    • Line 18: warning: exported type LogConfig should have comment or be unexported (golint)
    • Line 24: warning: exported method LogConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/app/router/condition.go
    • Line 16: warning: exported type Condition should have comment or be unexported (golint)
    • Line 20: warning: exported type ConditionChan should have comment or be unexported (golint)
    • Line 22: warning: exported function NewConditionChan should have comment or be unexported (golint)
    • Line 27: warning: exported method ConditionChan.Add should have comment or be unexported (golint)
    • Line 42: warning: exported method ConditionChan.Len should have comment or be unexported (golint)
    • Line 67: warning: exported type DomainMatcher should have comment or be unexported (golint)
    • Line 71: warning: exported function NewDomainMatcher should have comment or be unexported (golint)
    • Line 86: warning: exported method DomainMatcher.ApplyDomain should have comment or be unexported (golint)
    • Line 99: warning: exported type MultiGeoIPMatcher should have comment or be unexported (golint)
    • Line 104: warning: exported function NewMultiGeoIPMatcher should have comment or be unexported (golint)
    • Line 140: warning: exported type PortMatcher should have comment or be unexported (golint)
    • Line 157: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 162: warning: exported type NetworkMatcher should have comment or be unexported (golint)
    • Line 166: warning: exported function NewNetworkMatcher should have comment or be unexported (golint)
    • Line 179: warning: exported type UserMatcher should have comment or be unexported (golint)
    • Line 183: warning: exported function NewUserMatcher should have comment or be unexported (golint)
    • Line 209: warning: exported type InboundTagMatcher should have comment or be unexported (golint)
    • Line 213: warning: exported function NewInboundTagMatcher should have comment or be unexported (golint)
    • Line 239: warning: exported type ProtocolMatcher should have comment or be unexported (golint)
    • Line 243: warning: exported function NewProtocolMatcher should have comment or be unexported (golint)
    • Line 271: warning: exported type AttributeMatcher should have comment or be unexported (golint)
    • Line 275: warning: exported function NewAttributeMatcher should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/socks/config.go
    • Line 7: warning: exported method Account.Equals should have comment or be unexported (golint)
    • Line 14: warning: exported method Account.AsAccount should have comment or be unexported (golint)
    • Line 18: warning: exported method ServerConfig.HasAccount should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/love.go
    • Line 16: warning: exported type LoveCommand should have comment or be unexported (golint)
    • Line 18: warning: exported method LoveCommand.Name should have comment or be unexported (golint)
    • Line 22: warning: exported method LoveCommand.Hidden should have comment or be unexported (golint)
    • Line 26: warning: exported method LoveCommand.Description should have comment or be unexported (golint)
    • Line 33: warning: exported method LoveCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/io.go
    • Line 15: warning: exported type PacketReader should have comment or be unexported (golint)
    • Line 19: warning: exported type PacketWriter should have comment or be unexported (golint)
    • Line 24: warning: exported type KCPPacketReader should have comment or be unexported (golint)
    • Line 60: warning: exported type KCPPacketWriter should have comment or be unexported (golint)
    • Line 66: warning: exported method KCPPacketWriter.Overhead should have comment or be unexported (golint)
    • /v2ray.com/core/common/mux/session.go
    • Line 11: warning: exported type SessionManager should have comment or be unexported (golint)
    • Line 18: warning: exported function NewSessionManager should have comment or be unexported (golint)
    • Line 25: warning: exported method SessionManager.Closed should have comment or be unexported (golint)
    • Line 32: warning: exported method SessionManager.Size should have comment or be unexported (golint)
    • Line 39: warning: exported method SessionManager.Count should have comment or be unexported (golint)
    • Line 46: warning: exported method SessionManager.Allocate should have comment or be unexported (golint)
    • Line 63: warning: exported method SessionManager.Add should have comment or be unexported (golint)
    • Line 75: warning: exported method SessionManager.Remove should have comment or be unexported (golint)
    • Line 90: warning: exported method SessionManager.Get should have comment or be unexported (golint)
    • Line 102: warning: exported method SessionManager.CloseIfNoSession should have comment or be unexported (golint)
    • Line 118: warning: exported method SessionManager.Close should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/headers/noop/noop.go
    • Line 10: warning: exported type NoOpHeader should have comment or be unexported (golint)
    • Line 12: warning: exported method NoOpHeader.Size should have comment or be unexported (golint)
    • Line 19: warning: exported function NewNoOpHeader should have comment or be unexported (golint)
    • Line 23: warning: exported type NoOpConnectionHeader should have comment or be unexported (golint)
    • Line 25: warning: exported method NoOpConnectionHeader.Client should have comment or be unexported (golint)
    • Line 29: warning: exported method NoOpConnectionHeader.Server should have comment or be unexported (golint)
    • Line 33: warning: exported function NewNoOpConnectionHeader should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/listener.go
    • Line 22: warning: exported type ConnectionID should have comment or be unexported (golint)
    • Line 42: warning: exported function NewListener should have comment or be unexported (golint)
    • Line 92: warning: exported method Listener.OnReceive should have comment or be unexported (golint)
    • Line 152: warning: exported method Listener.Remove should have comment or be unexported (golint)
    • Line 172: warning: exported method Listener.ActiveConnections should have comment or be unexported (golint)
    • Line 184: warning: exported type Writer should have comment or be unexported (golint)
    • Line 195: warning: exported method Writer.Close should have comment or be unexported (golint)
    • Line 200: warning: exported function ListenKCP should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/server_spec.go
    • Line 11: warning: exported type ValidationStrategy should have comment or be unexported (golint)
    • Line 18: warning: exported function AlwaysValid should have comment or be unexported (golint)
    • Line 32: warning: exported function BeforeTime should have comment or be unexported (golint)
    • Line 46: warning: exported type ServerSpec should have comment or be unexported (golint)
    • Line 53: warning: exported function NewServerSpec should have comment or be unexported (golint)
    • Line 61: warning: exported function NewServerSpecFromPB should have comment or be unexported (golint)
    • Line 74: warning: exported method ServerSpec.Destination should have comment or be unexported (golint)
    • Line 78: warning: exported method ServerSpec.HasUser should have comment or be unexported (golint)
    • Line 90: warning: exported method ServerSpec.AddUser should have comment or be unexported (golint)
    • Line 101: warning: exported method ServerSpec.PickUser should have comment or be unexported (golint)
    • Line 116: warning: exported method ServerSpec.IsValid should have comment or be unexported (golint)
    • Line 120: warning: exported method ServerSpec.Invalidate should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/router.go
    • Line 15: warning: exported type RouterRulesConfig should have comment or be unexported (golint)
    • Line 20: warning: exported type BalancingRule should have comment or be unexported (golint)
    • Line 25: warning: exported method BalancingRule.Build should have comment or be unexported (golint)
    • Line 39: warning: exported type RouterConfig should have comment or be unexported (golint)
    • Line 66: warning: exported method RouterConfig.Build should have comment or be unexported (golint)
    • Line 91: warning: exported type RouterRule should have comment or be unexported (golint)
    • Line 97: warning: exported function ParseIP should have comment or be unexported (golint)
    • Line 187: warning: exported type AttributeMatcher should have comment or be unexported (golint)
    • Line 191: warning: exported type BooleanMatcher should have comment or be unexported (golint)
    • Line 193: warning: exported method BooleanMatcher.Match should have comment or be unexported (golint)
    • Line 202: warning: exported type AttributeList should have comment or be unexported (golint)
    • Line 206: warning: exported method AttributeList.Match should have comment or be unexported (golint)
    • Line 215: warning: exported method AttributeList.IsEmpty should have comment or be unexported (golint)
    • Line 481: warning: exported function ParseRule should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/connection.go
    • Line 20: warning: exported var ErrIOTimeout should have comment or be unexported (golint)
    • Line 39: warning: exported const StateActive should have comment (or a comment on this block) or be unexported (golint)
    • Line 52: warning: exported type RoundTripInfo should have comment or be unexported (golint)
    • Line 61: warning: exported method RoundTripInfo.UpdatePeerRTO should have comment or be unexported (golint)
    • Line 73: warning: exported method RoundTripInfo.Update should have comment or be unexported (golint)
    • Line 109: warning: exported method RoundTripInfo.Timeout should have comment or be unexported (golint)
    • Line 116: warning: exported method RoundTripInfo.SmoothedTime should have comment or be unexported (golint)
    • Line 123: warning: exported type Updater should have comment or be unexported (golint)
    • Line 131: warning: exported function NewUpdater should have comment or be unexported (golint)
    • Line 142: warning: exported method Updater.WakeUp should have comment or be unexported (golint)
    • Line 164: warning: exported method Updater.Interval should have comment or be unexported (golint)
    • Line 168: warning: exported method Updater.SetInterval should have comment or be unexported (golint)
    • Line 172: warning: exported type ConnMetadata should have comment or be unexported (golint)
    • Line 251: warning: exported method Connection.Elapsed should have comment or be unexported (golint)
    • Line 429: warning: exported method Connection.SetState should have comment or be unexported (golint)
    • Line 529: warning: exported method Connection.Terminate should have comment or be unexported (golint)
    • Line 544: warning: exported method Connection.HandleOption should have comment or be unexported (golint)
    • Line 550: warning: exported method Connection.OnPeerClosed should have comment or be unexported (golint)
    • Line 646: warning: exported method Connection.State should have comment or be unexported (golint)
    • Line 650: warning: exported method Connection.Ping should have comment or be unexported (golint)
    • /v2ray.com/core/common/errors/errors.go
    • Line 31: warning: exported method Error.WithPathObj should have comment or be unexported (golint)
    • Line 77: warning: exported method Error.Base should have comment or be unexported (golint)
    • Line 87: warning: exported method Error.Severity should have comment or be unexported (golint)
    • Line 145: warning: exported type ExportOptionHolder should have comment or be unexported (golint)
    • Line 149: warning: exported type ExportOption should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/mtproto/server.go
    • Line 34: warning: exported type Server should have comment or be unexported (golint)
    • Line 40: warning: exported function NewServer should have comment or be unexported (golint)
    • Line 64: warning: exported method Server.Network should have comment or be unexported (golint)
    • Line 81: warning: exported method Server.Process should have comment or be unexported (golint)
    • /v2ray.com/core/testing/servers/udp/udp.go
    • Line 9: warning: exported type Server should have comment or be unexported (golint)
    • Line 16: warning: exported method Server.Start should have comment or be unexported (golint)
    • Line 51: warning: exported method Server.Close should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/aead/consts.go
    • Line 3: warning: don't use underscores in Go names; const KDFSaltConst_AuthIDEncryptionKey should be KDFSaltConstAuthIDEncryptionKey (golint)
    • Line 3: warning: exported const KDFSaltConst_AuthIDEncryptionKey should have comment or be unexported (golint)
    • Line 5: warning: don't use underscores in Go names; const KDFSaltConst_AEADRespHeaderLenKey should be KDFSaltConstAEADRespHeaderLenKey (golint)
    • Line 5: warning: exported const KDFSaltConst_AEADRespHeaderLenKey should have comment or be unexported (golint)
    • Line 7: warning: don't use underscores in Go names; const KDFSaltConst_AEADRespHeaderLenIV should be KDFSaltConstAEADRespHeaderLenIV (golint)
    • Line 7: warning: exported const KDFSaltConst_AEADRespHeaderLenIV should have comment or be unexported (golint)
    • Line 9: warning: don't use underscores in Go names; const KDFSaltConst_AEADRespHeaderPayloadKey should be KDFSaltConstAEADRespHeaderPayloadKey (golint)
    • Line 9: warning: exported const KDFSaltConst_AEADRespHeaderPayloadKey should have comment or be unexported (golint)
    • Line 11: warning: don't use underscores in Go names; const KDFSaltConst_AEADRespHeaderPayloadIV should be KDFSaltConstAEADRespHeaderPayloadIV (golint)
    • Line 11: warning: exported const KDFSaltConst_AEADRespHeaderPayloadIV should have comment or be unexported (golint)
    • Line 13: warning: don't use underscores in Go names; const KDFSaltConst_VMessAEADKDF should be KDFSaltConstVMessAEADKDF (golint)
    • Line 13: warning: exported const KDFSaltConst_VMessAEADKDF should have comment or be unexported (golint)
    • Line 15: warning: don't use underscores in Go names; const KDFSaltConst_VMessHeaderPayloadAEADKey should be KDFSaltConstVMessHeaderPayloadAEADKey (golint)
    • Line 15: warning: exported const KDFSaltConst_VMessHeaderPayloadAEADKey should have comment or be unexported (golint)
    • Line 17: warning: don't use underscores in Go names; const KDFSaltConst_VMessHeaderPayloadAEADIV should be KDFSaltConstVMessHeaderPayloadAEADIV (golint)
    • Line 17: warning: exported const KDFSaltConst_VMessHeaderPayloadAEADIV should have comment or be unexported (golint)
    • Line 19: warning: don't use underscores in Go names; const KDFSaltConst_VMessHeaderPayloadLengthAEADKey should be KDFSaltConstVMessHeaderPayloadLengthAEADKey (golint)
    • Line 19: warning: exported const KDFSaltConst_VMessHeaderPayloadLengthAEADKey should have comment or be unexported (golint)
    • Line 21: warning: don't use underscores in Go names; const KDFSaltConst_VMessHeaderPayloadLengthAEADIV should be KDFSaltConstVMessHeaderPayloadLengthAEADIV (golint)
    • Line 21: warning: exported const KDFSaltConst_VMessHeaderPayloadLengthAEADIV should have comment or be unexported (golint)
    • /v2ray.com/core/app/dispatcher/sniffer.go
    • Line 12: warning: exported type SniffResult should have comment or be unexported (golint)
    • Line 19: warning: exported type Sniffer should have comment or be unexported (golint)
    • Line 23: warning: exported function NewSniffer should have comment or be unexported (golint)
    • Line 35: warning: exported method Sniffer.Sniff should have comment or be unexported (golint)
    • /v2ray.com/core/app/router/balancing.go
    • Line 10: warning: exported type BalancingStrategy should have comment or be unexported (golint)
    • Line 14: warning: exported type RandomStrategy should have comment or be unexported (golint)
    • Line 17: warning: exported method RandomStrategy.PickOutbound should have comment or be unexported (golint)
    • Line 26: warning: exported type Balancer should have comment or be unexported (golint)
    • Line 32: warning: exported method Balancer.PickOutbound should have comment or be unexported (golint)
    • /v2ray.com/core/app/dns/udpns.go
    • Line 25: warning: exported type ClassicNameServer should have comment or be unexported (golint)
    • Line 38: warning: exported function NewClassicNameServer should have comment or be unexported (golint)
    • Line 62: warning: exported method ClassicNameServer.Name should have comment or be unexported (golint)
    • Line 66: warning: exported method ClassicNameServer.Cleanup should have comment or be unexported (golint)
    • Line 107: warning: exported method ClassicNameServer.HandleResponse should have comment or be unexported (golint)
    • Line 242: warning: exported method ClassicNameServer.QueryIP should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vless/validator.go
    • Line 13: warning: exported type Validator should have comment or be unexported (golint)
    • Line 19: warning: exported method Validator.Add should have comment or be unexported (golint)
    • Line 30: warning: exported method Validator.Del should have comment or be unexported (golint)
    • Line 44: warning: exported method Validator.Get should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/command.go
    • Line 10: warning: exported type Description should have comment or be unexported (golint)
    • Line 15: warning: exported type Command should have comment or be unexported (golint)
    • Line 26: warning: exported function RegisterCommand should have comment or be unexported (golint)
    • Line 35: warning: exported function GetCommand should have comment or be unexported (golint)
    • Line 47: warning: exported function PrintUsage should have comment or be unexported (golint)
    • /v2ray.com/core/app/proxyman/config.go
    • Line 3: warning: exported method AllocationStrategy.GetConcurrencyValue should have comment or be unexported (golint)
    • Line 10: warning: exported method AllocationStrategy.GetRefreshValue should have comment or be unexported (golint)
    • Line 17: warning: exported method ReceiverConfig.GetEffectiveSniffingSettings should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/headers/http/http.go
    • Line 31: warning: exported var ErrHeaderToLong should have comment or be unexported (golint)
    • Line 36: warning: exported type Reader should have comment or be unexported (golint)
    • Line 40: warning: exported type Writer should have comment or be unexported (golint)
    • Line 44: warning: exported type NoOpReader should have comment or be unexported (golint)
    • Line 50: warning: exported type NoOpWriter should have comment or be unexported (golint)
    • Line 56: warning: exported type HeaderReader should have comment or be unexported (golint)
    • Line 61: warning: exported method HeaderReader.ExpectThisRequest should have comment or be unexported (golint)
    • Line 116: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 141: warning: exported type HeaderWriter should have comment or be unexported (golint)
    • Line 145: warning: exported function NewHeaderWriter should have comment or be unexported (golint)
    • Line 161: warning: exported type HttpConn should have comment or be unexported (golint)
    • Line 174: warning: exported function NewHttpConn should have comment or be unexported (golint)
    • Line 262: warning: exported type HttpAuthenticator should have comment or be unexported (golint)
    • Line 266: warning: exported method HttpAuthenticator.GetClientWriter should have comment or be unexported (golint)
    • Line 283: warning: exported method HttpAuthenticator.GetServerWriter should have comment or be unexported (golint)
    • Line 287: warning: exported method HttpAuthenticator.Client should have comment or be unexported (golint)
    • Line 303: warning: exported method HttpAuthenticator.Server should have comment or be unexported (golint)
    • Line 313: warning: exported function NewHttpAuthenticator should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/blackhole.go
    • Line 12: warning: exported type NoneResponse should have comment or be unexported (golint)
    • Line 14: warning: exported method NoneResponse.Build should have comment or be unexported (golint)
    • Line 18: warning: exported type HttpResponse should have comment or be unexported (golint)
    • Line 20: warning: exported method HttpResponse.Build should have comment or be unexported (golint)
    • Line 24: warning: exported type BlackholeConfig should have comment or be unexported (golint)
    • Line 28: warning: exported method BlackholeConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/socks.go
    • Line 12: warning: exported type SocksAccount should have comment or be unexported (golint)
    • Line 17: warning: exported method SocksAccount.Build should have comment or be unexported (golint)
    • Line 25: warning: exported const AuthMethodNoAuth should have comment (or a comment on this block) or be unexported (golint)
    • Line 29: warning: exported type SocksServerConfig should have comment or be unexported (golint)
    • Line 38: warning: exported method SocksServerConfig.Build should have comment or be unexported (golint)
    • Line 67: warning: exported type SocksRemoteConfig should have comment or be unexported (golint)
    • Line 72: warning: exported type SocksClientConfig should have comment or be unexported (golint)
    • Line 76: warning: exported method SocksClientConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/encoding/commands.go
    • Line 16: warning: exported var ErrCommandTypeMismatch should have comment or be unexported (golint)
    • Line 21: warning: exported function MarshalCommand should have comment or be unexported (golint)
    • Line 55: warning: exported function UnmarshalCommand should have comment or be unexported (golint)
    • Line 75: warning: exported type CommandFactory should have comment or be unexported (golint)
    • Line 80: warning: exported type CommandSwitchAccountFactory should have comment or be unexported (golint)
    • Line 83: warning: exported method CommandSwitchAccountFactory.Marshal should have comment or be unexported (golint)
    • Line 110: warning: exported method CommandSwitchAccountFactory.Unmarshal should have comment or be unexported (golint)
    • /v2ray.com/core/common/mux/frame.go
    • Line 15: warning: exported type SessionStatus should have comment or be unexported (golint)
    • Line 18: warning: exported const SessionStatusNew should have comment (or a comment on this block) or be unexported (golint)
    • Line 25: warning: exported const OptionData should have comment (or a comment on this block) or be unexported (golint)
    • Line 29: warning: exported type TargetNetwork should have comment or be unexported (golint)
    • Line 32: warning: exported const TargetNetworkTCP should have comment (or a comment on this block) or be unexported (golint)
    • Line 56: warning: exported type FrameMetadata should have comment or be unexported (golint)
    • Line 63: warning: exported method FrameMetadata.WriteTo should have comment or be unexported (golint)
    • /v2ray.com/core/common/signal/timer.go
    • Line 12: warning: exported type ActivityUpdater should have comment or be unexported (golint)
    • Line 16: warning: exported type ActivityTimer should have comment or be unexported (golint)
    • Line 23: warning: exported method ActivityTimer.Update should have comment or be unexported (golint)
    • Line 53: warning: exported method ActivityTimer.SetTimeout should have comment or be unexported (golint)
    • Line 75: warning: exported function CancelAfterInactivity should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/payload.go
    • Line 3: warning: exported type TransferType should have comment or be unexported (golint)
    • Line 6: warning: exported const TransferTypeStream should have comment (or a comment on this block) or be unexported (golint)
    • Line 10: warning: exported type AddressType should have comment or be unexported (golint)
    • Line 13: warning: exported const AddressTypeIPv4 should have comment (or a comment on this block) or be unexported (golint)
    • /v2ray.com/core/proxy/shadowsocks/protocol.go
    • Line 22: warning: exported const Version should have comment (or a comment on this block) or be unexported (golint)
    • Line 101: warning: exported function DrainConnN should have comment or be unexported (golint)
    • Line 138: warning: exported function ReadTCPResponse should have comment or be unexported (golint)
    • Line 152: warning: exported function WriteTCPResponse should have comment or be unexported (golint)
    • Line 168: warning: exported function EncodeUDPPacket should have comment or be unexported (golint)
    • Line 191: warning: exported function DecodeUDPPacket should have comment or be unexported (golint)
    • Line 224: warning: exported type UDPReader should have comment or be unexported (golint)
    • Line 229: warning: exported method UDPReader.ReadMultiBuffer should have comment or be unexported (golint)
    • Line 244: warning: exported type UDPWriter should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/fetch.go
    • Line 14: warning: exported type FetchCommand should have comment or be unexported (golint)
    • Line 16: warning: exported method FetchCommand.Name should have comment or be unexported (golint)
    • Line 20: warning: exported method FetchCommand.Description should have comment or be unexported (golint)
    • Line 27: warning: exported method FetchCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/mtproto.go
    • Line 14: warning: exported type MTProtoAccount should have comment or be unexported (golint)
    • Line 32: warning: exported type MTProtoServerConfig should have comment or be unexported (golint)
    • Line 36: warning: exported method MTProtoServerConfig.Build should have comment or be unexported (golint)
    • Line 63: warning: exported type MTProtoClientConfig should have comment or be unexported (golint)
    • Line 66: warning: exported method MTProtoClientConfig.Build should have comment or be unexported (golint)
    • /v2ray.com/core/app/reverse/bridge.go
    • Line 88: warning: exported method Bridge.Start should have comment or be unexported (golint)
    • Line 92: warning: exported method Bridge.Close should have comment or be unexported (golint)
    • Line 96: warning: exported type BridgeWorker should have comment or be unexported (golint)
    • Line 103: warning: exported function NewBridgeWorker should have comment or be unexported (golint)
    • Line 131: warning: exported method BridgeWorker.Type should have comment or be unexported (golint)
    • Line 135: warning: exported method BridgeWorker.Start should have comment or be unexported (golint)
    • Line 139: warning: exported method BridgeWorker.Close should have comment or be unexported (golint)
    • Line 143: warning: exported method BridgeWorker.IsActive should have comment or be unexported (golint)
    • Line 147: warning: exported method BridgeWorker.Connections should have comment or be unexported (golint)
    • Line 173: warning: exported method BridgeWorker.Dispatch should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/mtproto/client.go
    • Line 16: warning: exported type Client should have comment or be unexported (golint)
    • Line 19: warning: exported function NewClient should have comment or be unexported (golint)
    • Line 23: warning: exported method Client.Process should have comment or be unexported (golint)
    • /v2ray.com/core/common/mux/client.go
    • Line 23: warning: exported type ClientManager should have comment or be unexported (golint)
    • Line 28: warning: exported method ClientManager.Dispatch should have comment or be unexported (golint)
    • Line 42: warning: exported type WorkerPicker should have comment or be unexported (golint)
    • Line 46: warning: exported type IncrementalWorkerPicker should have comment or be unexported (golint)
    • Line 117: warning: exported method IncrementalWorkerPicker.PickAvailable should have comment or be unexported (golint)
    • Line 126: warning: exported type ClientWorkerFactory should have comment or be unexported (golint)
    • Line 130: warning: exported type DialingWorkerFactory should have comment or be unexported (golint)
    • Line 136: warning: exported method DialingWorkerFactory.Create should have comment or be unexported (golint)
    • Line 166: warning: exported type ClientStrategy should have comment or be unexported (golint)
    • Line 171: warning: exported type ClientWorker should have comment or be unexported (golint)
    • Line 196: warning: exported method ClientWorker.TotalConnections should have comment or be unexported (golint)
    • Line 200: warning: exported method ClientWorker.ActiveConnections should have comment or be unexported (golint)
    • Line 269: warning: exported method ClientWorker.IsClosing should have comment or be unexported (golint)
    • Line 277: warning: exported method ClientWorker.IsFull should have comment or be unexported (golint)
    • Line 289: warning: exported method ClientWorker.Dispatch should have comment or be unexported (golint)
    • /v2ray.com/core/testing/servers/tcp/tcp.go
    • Line 15: warning: exported type Server should have comment or be unexported (golint)
    • Line 24: warning: exported method Server.Start should have comment or be unexported (golint)
    • Line 28: warning: exported method Server.StartContext should have comment or be unexported (golint)
    • Line 108: warning: exported method Server.Close should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/sending.go
    • Line 12: warning: exported type SendingWindow should have comment or be unexported (golint)
    • Line 19: warning: exported function NewSendingWindow should have comment or be unexported (golint)
    • Line 28: warning: exported method SendingWindow.Release should have comment or be unexported (golint)
    • Line 39: warning: exported method SendingWindow.Len should have comment or be unexported (golint)
    • Line 43: warning: exported method SendingWindow.IsEmpty should have comment or be unexported (golint)
    • Line 47: warning: exported method SendingWindow.Push should have comment or be unexported (golint)
    • Line 55: warning: exported method SendingWindow.FirstNumber should have comment or be unexported (golint)
    • Line 59: warning: exported method SendingWindow.Clear should have comment or be unexported (golint)
    • Line 70: warning: exported method SendingWindow.HandleFastAck should have comment or be unexported (golint)
    • Line 87: warning: exported method SendingWindow.Visit should have comment or be unexported (golint)
    • Line 100: warning: exported method SendingWindow.Flush should have comment or be unexported (golint)
    • Line 133: warning: exported method SendingWindow.Remove should have comment or be unexported (golint)
    • Line 155: warning: exported type SendingWorker should have comment or be unexported (golint)
    • Line 169: warning: exported function NewSendingWorker should have comment or be unexported (golint)
    • Line 181: warning: exported method SendingWorker.Release should have comment or be unexported (golint)
    • Line 188: warning: exported method SendingWorker.ProcessReceivingNext should have comment or be unexported (golint)
    • Line 195: warning: exported method SendingWorker.ProcessReceivingNextWithoutLock should have comment or be unexported (golint)
    • Line 200: warning: exported method SendingWorker.FindFirstUnacknowledged should have comment or be unexported (golint)
    • Line 225: warning: exported method SendingWorker.ProcessSegment should have comment or be unexported (golint)
    • Line 262: warning: exported method SendingWorker.Push should have comment or be unexported (golint)
    • Line 292: warning: exported method SendingWorker.OnPacketLoss should have comment or be unexported (golint)
    • Line 310: warning: exported method SendingWorker.Flush should have comment or be unexported (golint)
    • Line 341: warning: exported method SendingWorker.CloseWrite should have comment or be unexported (golint)
    • Line 348: warning: exported method SendingWorker.IsEmpty should have comment or be unexported (golint)
    • Line 355: warning: exported method SendingWorker.UpdateNecessary should have comment or be unexported (golint)
    • Line 359: warning: exported method SendingWorker.FirstUnacknowledged should have comment or be unexported (golint)
    • /v2ray.com/core/testing/scenarios/common.go
    • Line 58: warning: exported function InitializeServerConfigs should have comment or be unexported (golint)
    • Line 75: warning: exported function InitializeServerConfig should have comment or be unexported (golint)
    • Line 120: warning: exported function GetSourcePath should have comment or be unexported (golint)
    • Line 124: warning: exported function CloseAllServers should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/encoding/client.go
    • Line 50: warning: context.Context should be the first parameter of a function (golint)
    • Line 76: warning: exported method ClientSession.EncodeRequestHeader should have comment or be unexported (golint)
    • Line 130: warning: exported method ClientSession.EncodeRequestBody should have comment or be unexported (golint)
    • Line 191: warning: exported method ClientSession.DecodeResponseHeader should have comment or be unexported (golint)
    • Line 211: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 230: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 270: warning: exported method ClientSession.DecodeResponseBody should have comment or be unexported (golint)
    • Line 331: warning: exported function GenerateChunkNonce should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/config.go
    • Line 8: warning: exported type ConfigCreator should have comment or be unexported (golint)
    • Line 36: warning: exported function RegisterProtocolConfigCreator should have comment or be unexported (golint)
    • Line 44: warning: exported function CreateTransportConfig should have comment or be unexported (golint)
    • Line 52: warning: exported method TransportConfig.GetTypedSettings should have comment or be unexported (golint)
    • Line 56: warning: exported method TransportConfig.GetUnifiedProtocolName should have comment or be unexported (golint)
    • Line 64: warning: exported method StreamConfig.GetEffectiveProtocol should have comment or be unexported (golint)
    • Line 76: warning: exported method StreamConfig.GetEffectiveTransportSettings should have comment or be unexported (golint)
    • Line 81: warning: exported method StreamConfig.GetTransportSettingsFor should have comment or be unexported (golint)
    • Line 99: warning: exported method StreamConfig.GetEffectiveSecuritySettings should have comment or be unexported (golint)
    • Line 108: warning: exported method StreamConfig.HasSecuritySettings should have comment or be unexported (golint)
    • Line 112: warning: exported function ApplyGlobalTransportSettings should have comment or be unexported (golint)
    • Line 118: warning: exported method ProxyConfig.HasTag should have comment or be unexported (golint)
    • Line 122: warning: exported method SocketConfig_TProxyMode.IsEnabled should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/vless.go
    • Line 19: warning: exported type VLessInboundFallback should have comment or be unexported (golint)
    • Line 27: warning: exported type VLessInboundConfig should have comment or be unexported (golint)
    • Line 133: warning: exported type VLessOutboundVnext should have comment or be unexported (golint)
    • Line 139: warning: exported type VLessOutboundConfig should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/receiving.go
    • Line 11: warning: exported type ReceivingWindow should have comment or be unexported (golint)
    • Line 15: warning: exported function NewReceivingWindow should have comment or be unexported (golint)
    • Line 21: warning: exported method ReceivingWindow.Set should have comment or be unexported (golint)
    • Line 30: warning: exported method ReceivingWindow.Has should have comment or be unexported (golint)
    • Line 35: warning: exported method ReceivingWindow.Remove should have comment or be unexported (golint)
    • Line 44: warning: exported type AckList should have comment or be unexported (golint)
    • Line 54: warning: exported function NewAckList should have comment or be unexported (golint)
    • Line 64: warning: exported method AckList.Add should have comment or be unexported (golint)
    • Line 71: warning: exported method AckList.Clear should have comment or be unexported (golint)
    • Line 92: warning: exported method AckList.Flush should have comment or be unexported (golint)
    • Line 133: warning: exported type ReceivingWorker should have comment or be unexported (golint)
    • Line 143: warning: exported function NewReceivingWorker should have comment or be unexported (golint)
    • Line 153: warning: exported method ReceivingWorker.Release should have comment or be unexported (golint)
    • Line 160: warning: exported method ReceivingWorker.ProcessSendingNext should have comment or be unexported (golint)
    • Line 167: warning: exported method ReceivingWorker.ProcessSegment should have comment or be unexported (golint)
    • Line 184: warning: exported method ReceivingWorker.ReadMultiBuffer should have comment or be unexported (golint)
    • Line 220: warning: exported method ReceivingWorker.IsDataAvailable should have comment or be unexported (golint)
    • Line 226: warning: exported method ReceivingWorker.NextNumber should have comment or be unexported (golint)
    • Line 233: warning: exported method ReceivingWorker.Flush should have comment or be unexported (golint)
    • Line 252: warning: exported method ReceivingWorker.CloseRead should have comment or be unexported (golint)
    • Line 255: warning: exported method ReceivingWorker.UpdateNecessary should have comment or be unexported (golint)
    • /v2ray.com/core/common/platform/platform.go
    • Line 10: warning: exported type EnvFlag should have comment or be unexported (golint)
    • Line 15: warning: exported function NewEnvFlag should have comment or be unexported (golint)
    • Line 22: warning: exported method EnvFlag.GetValue should have comment or be unexported (golint)
    • Line 35: warning: exported method EnvFlag.GetValueAsInt should have comment or be unexported (golint)
    • Line 51: warning: exported function NormalizeEnvName should have comment or be unexported (golint)
    • Line 69: warning: exported function GetPluginDirectory should have comment or be unexported (golint)
    • Line 75: warning: exported function GetConfigurationPath should have comment or be unexported (golint)
    • /v2ray.com/core/common/mux/server.go
    • Line 20: warning: exported type Server should have comment or be unexported (golint)
    • Line 69: warning: exported type ServerWorker should have comment or be unexported (golint)
    • Line 75: warning: exported function NewServerWorker should have comment or be unexported (golint)
    • Line 96: warning: exported method ServerWorker.ActiveConnections should have comment or be unexported (golint)
    • Line 100: warning: exported method ServerWorker.Closed should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/shadowsocks/config.go
    • Line 111: warning: exported method AesCfb.IsAEAD should have comment or be unexported (golint)
    • Line 115: warning: exported method AesCfb.KeySize should have comment or be unexported (golint)
    • Line 119: warning: exported method AesCfb.IVSize should have comment or be unexported (golint)
    • Line 123: warning: exported method AesCfb.NewEncryptionWriter should have comment or be unexported (golint)
    • Line 128: warning: exported method AesCfb.NewDecryptionReader should have comment or be unexported (golint)
    • Line 135: warning: exported method AesCfb.EncodePacket should have comment or be unexported (golint)
    • Line 142: warning: exported method AesCfb.DecodePacket should have comment or be unexported (golint)
    • Line 153: warning: exported type AEADCipher should have comment or be unexported (golint)
    • Line 159: warning: exported method AEADCipher.IsAEAD should have comment or be unexported (golint)
    • Line 163: warning: exported method AEADCipher.KeySize should have comment or be unexported (golint)
    • Line 167: warning: exported method AEADCipher.IVSize should have comment or be unexported (golint)
    • Line 181: warning: exported method AEADCipher.NewEncryptionWriter should have comment or be unexported (golint)
    • Line 188: warning: exported method AEADCipher.NewDecryptionReader should have comment or be unexported (golint)
    • Line 195: warning: exported method AEADCipher.EncodePacket should have comment or be unexported (golint)
    • Line 205: warning: exported method AEADCipher.DecodePacket should have comment or be unexported (golint)
    • Line 221: warning: exported type ChaCha20 should have comment or be unexported (golint)
    • Line 225: warning: exported method ChaCha20.IsAEAD should have comment or be unexported (golint)
    • Line 229: warning: exported method ChaCha20.KeySize should have comment or be unexported (golint)
    • Line 233: warning: exported method ChaCha20.IVSize should have comment or be unexported (golint)
    • Line 237: warning: exported method ChaCha20.NewEncryptionWriter should have comment or be unexported (golint)
    • Line 242: warning: exported method ChaCha20.NewDecryptionReader should have comment or be unexported (golint)
    • Line 247: warning: exported method ChaCha20.EncodePacket should have comment or be unexported (golint)
    • Line 254: warning: exported method ChaCha20.DecodePacket should have comment or be unexported (golint)
    • Line 265: warning: exported type NoneCipher should have comment or be unexported (golint)
    • Line 267: warning: exported method NoneCipher.KeySize should have comment or be unexported (golint)
    • Line 268: warning: exported method NoneCipher.IVSize should have comment or be unexported (golint)
    • Line 269: warning: exported method NoneCipher.IsAEAD should have comment or be unexported (golint)
    • Line 273: warning: exported method NoneCipher.NewDecryptionReader should have comment or be unexported (golint)
    • Line 277: warning: exported method NoneCipher.NewEncryptionWriter should have comment or be unexported (golint)
    • Line 281: warning: exported method NoneCipher.EncodePacket should have comment or be unexported (golint)
    • Line 285: warning: exported method NoneCipher.DecodePacket should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/loader.go
    • Line 8: warning: exported type ConfigCreator should have comment or be unexported (golint)
    • Line 10: warning: exported type ConfigCreatorCache should have comment or be unexported (golint)
    • Line 12: warning: exported method ConfigCreatorCache.RegisterCreator should have comment or be unexported (golint)
    • Line 21: warning: exported method ConfigCreatorCache.CreateConfig should have comment or be unexported (golint)
    • Line 29: warning: exported type JSONConfigLoader should have comment or be unexported (golint)
    • Line 35: warning: exported function NewJSONConfigLoader should have comment or be unexported (golint)
    • Line 43: warning: exported method JSONConfigLoader.LoadWithID should have comment or be unexported (golint)
    • Line 55: warning: exported method JSONConfigLoader.Load should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/config.go
    • Line 69: warning: exported method Config.GetPackerHeader should have comment or be unexported (golint)
    • Line 81: warning: exported method Config.GetSendingInFlightSize should have comment or be unexported (golint)
    • Line 89: warning: exported method Config.GetSendingBufferSize should have comment or be unexported (golint)
    • Line 93: warning: exported method Config.GetReceivingInFlightSize should have comment or be unexported (golint)
    • Line 101: warning: exported method Config.GetReceivingBufferSize should have comment or be unexported (golint)
    • /v2ray.com/core/app/dispatcher/stats.go
    • Line 11: warning: exported type SizeStatWriter should have comment or be unexported (golint)
    • Line 16: warning: exported method SizeStatWriter.WriteMultiBuffer should have comment or be unexported (golint)
    • Line 21: warning: exported method SizeStatWriter.Close should have comment or be unexported (golint)
    • Line 25: warning: exported method SizeStatWriter.Interrupt should have comment or be unexported (golint)
    • /v2ray.com/core/common/log/access.go
    • Line 16: warning: exported type AccessStatus should have comment or be unexported (golint)
    • Line 19: warning: exported const AccessAccepted should have comment (or a comment on this block) or be unexported (golint)
    • Line 23: warning: exported type AccessMessage should have comment or be unexported (golint)
    • Line 55: warning: exported function ContextWithAccessMessage should have comment or be unexported (golint)
    • Line 59: warning: exported function AccessMessageFromContext should have comment or be unexported (golint)
    • /v2ray.com/core/common/net/connection.go
    • Line 15: warning: exported type ConnectionOption should have comment or be unexported (golint)
    • Line 17: warning: exported function ConnectionLocalAddr should have comment or be unexported (golint)
    • Line 23: warning: exported function ConnectionRemoteAddr should have comment or be unexported (golint)
    • Line 29: warning: exported function ConnectionInput should have comment or be unexported (golint)
    • Line 35: warning: exported function ConnectionInputMulti should have comment or be unexported (golint)
    • Line 41: warning: exported function ConnectionOutput should have comment or be unexported (golint)
    • Line 47: warning: exported function ConnectionOutputMulti should have comment or be unexported (golint)
    • Line 53: warning: exported function ConnectionOutputMultiUDP should have comment or be unexported (golint)
    • Line 62: warning: exported function ConnectionOnClose should have comment or be unexported (golint)
    • Line 68: warning: exported function NewConnection should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/headers/http/config.go
    • Line 21: warning: exported method RequestConfig.PickUri should have comment or be unexported (golint)
    • Line 25: warning: exported method RequestConfig.PickHeaders should have comment or be unexported (golint)
    • Line 39: warning: exported method RequestConfig.GetVersionValue should have comment or be unexported (golint)
    • Line 46: warning: exported method RequestConfig.GetMethodValue should have comment or be unexported (golint)
    • Line 53: warning: exported method RequestConfig.GetFullVersion should have comment or be unexported (golint)
    • Line 57: warning: exported method ResponseConfig.HasHeader should have comment or be unexported (golint)
    • Line 67: warning: exported method ResponseConfig.PickHeaders should have comment or be unexported (golint)
    • Line 81: warning: exported method ResponseConfig.GetVersionValue should have comment or be unexported (golint)
    • Line 88: warning: exported method ResponseConfig.GetFullVersion should have comment or be unexported (golint)
    • Line 92: warning: exported method ResponseConfig.GetStatusValue should have comment or be unexported (golint)
    • /v2ray.com/core/app/router/config.go
    • Line 50: warning: exported type Rule should have comment or be unexported (golint)
    • Line 56: warning: exported method Rule.GetTag should have comment or be unexported (golint)
    • Line 68: warning: exported method RoutingRule.BuildCondition should have comment or be unexported (golint)
    • Line 150: warning: exported method BalancingRule.Build should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/vmess/validator.go
    • Line 130: warning: exported method TimedUserValidator.Add should have comment or be unexported (golint)
    • Line 157: warning: exported method TimedUserValidator.Get should have comment or be unexported (golint)
    • Line 176: warning: exported method TimedUserValidator.GetAEAD should have comment or be unexported (golint)
    • Line 189: warning: exported method TimedUserValidator.Remove should have comment or be unexported (golint)
    • Line 220: warning: exported method TimedUserValidator.GetBehaviorSeed should have comment or be unexported (golint)
    • Line 230: warning: exported method TimedUserValidator.BurnTaintFuse should have comment or be unexported (golint)
    • Line 246: warning: exported var ErrNotFound should have comment or be unexported (golint)
    • Line 248: warning: exported var ErrTainted should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/common.go
    • Line 12: warning: exported type StringList should have comment or be unexported (golint)
    • Line 14: warning: exported function NewStringList should have comment or be unexported (golint)
    • Line 19: warning: exported method StringList.Len should have comment or be unexported (golint)
    • Line 23: warning: exported method StringList.UnmarshalJSON should have comment or be unexported (golint)
    • Line 39: warning: exported type Address should have comment or be unexported (golint)
    • Line 43: warning: exported method Address.UnmarshalJSON should have comment or be unexported (golint)
    • Line 53: warning: exported method Address.Build should have comment or be unexported (golint)
    • Line 57: warning: exported type Network should have comment or be unexported (golint)
    • Line 59: warning: exported method Network.Build should have comment or be unexported (golint)
    • Line 70: warning: exported type NetworkList should have comment or be unexported (golint)
    • Line 72: warning: exported method NetworkList.UnmarshalJSON should have comment or be unexported (golint)
    • Line 93: warning: exported method NetworkList.Build should have comment or be unexported (golint)
    • Line 149: warning: exported type PortRange should have comment or be unexported (golint)
    • Line 154: warning: exported method PortRange.Build should have comment or be unexported (golint)
    • Line 183: warning: exported type PortList should have comment or be unexported (golint)
    • Line 187: warning: exported method PortList.Build should have comment or be unexported (golint)
    • Line 229: warning: exported type User should have comment or be unexported (golint)
    • Line 234: warning: exported method User.Build should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/v2ray.go
    • Line 60: warning: exported type SniffingConfig should have comment or be unexported (golint)
    • Line 87: warning: exported type MuxConfig should have comment or be unexported (golint)
    • Line 109: warning: exported type InboundDetourAllocationConfig should have comment or be unexported (golint)
    • Line 143: warning: exported type InboundDetourConfig should have comment or be unexported (golint)
    • Line 234: warning: exported type OutboundDetourConfig should have comment or be unexported (golint)
    • Line 307: warning: exported type StatsConfig should have comment or be unexported (golint)
    • Line 314: warning: exported type Config should have comment or be unexported (golint)
    • /v2ray.com/core/transport/internet/kcp/segment.go
    • Line 25: warning: exported type SegmentOption should have comment or be unexported (golint)
    • Line 28: warning: exported const SegmentOptionClose should have comment (or a comment on this block) or be unexported (golint)
    • Line 31: warning: exported type Segment should have comment or be unexported (golint)
    • Line 41: warning: exported const DataSegmentOverhead should have comment (or a comment on this block) or be unexported (golint)
    • Line 44: warning: exported type DataSegment should have comment or be unexported (golint)
    • Line 56: warning: exported function NewDataSegment should have comment or be unexported (golint)
    • Line 88: warning: exported method DataSegment.Conversation should have comment or be unexported (golint)
    • Line 92: warning: exported method DataSegment.Command should have comment or be unexported (golint)
    • Line 96: warning: exported method DataSegment.Detach should have comment or be unexported (golint)
    • Line 102: warning: exported method DataSegment.Data should have comment or be unexported (golint)
    • Line 109: warning: exported method DataSegment.Serialize should have comment or be unexported (golint)
    • Line 120: warning: exported method DataSegment.ByteSize should have comment or be unexported (golint)
    • Line 124: warning: exported method DataSegment.Release should have comment or be unexported (golint)
    • Line 129: warning: exported type AckSegment should have comment or be unexported (golint)
    • Line 140: warning: exported function NewAckSegment should have comment or be unexported (golint)
    • Line 174: warning: exported method AckSegment.Conversation should have comment or be unexported (golint)
    • Line 178: warning: exported method AckSegment.Command should have comment or be unexported (golint)
    • Line 182: warning: exported method AckSegment.PutTimestamp should have comment or be unexported (golint)
    • Line 188: warning: exported method AckSegment.PutNumber should have comment or be unexported (golint)
    • Line 192: warning: exported method AckSegment.IsFull should have comment or be unexported (golint)
    • Line 196: warning: exported method AckSegment.IsEmpty should have comment or be unexported (golint)
    • Line 200: warning: exported method AckSegment.ByteSize should have comment or be unexported (golint)
    • Line 204: warning: exported method AckSegment.Serialize should have comment or be unexported (golint)
    • Line 219: warning: exported method AckSegment.Release should have comment or be unexported (golint)
    • Line 221: warning: exported type CmdOnlySegment should have comment or be unexported (golint)
    • Line 230: warning: exported function NewCmdOnlySegment should have comment or be unexported (golint)
    • Line 255: warning: exported method CmdOnlySegment.Conversation should have comment or be unexported (golint)
    • Line 259: warning: exported method CmdOnlySegment.Command should have comment or be unexported (golint)
    • Line 263: warning: exported method CmdOnlySegment.ByteSize should have comment or be unexported (golint)
    • Line 267: warning: exported method CmdOnlySegment.Serialize should have comment or be unexported (golint)
    • Line 276: warning: exported method CmdOnlySegment.Release should have comment or be unexported (golint)
    • Line 278: warning: exported function ReadSegment should have comment or be unexported (golint)
    • /v2ray.com/core/common/session/context.go
    • Line 29: warning: exported function ContextWithInbound should have comment or be unexported (golint)
    • Line 33: warning: exported function InboundFromContext should have comment or be unexported (golint)
    • Line 40: warning: exported function ContextWithOutbound should have comment or be unexported (golint)
    • Line 44: warning: exported function OutboundFromContext should have comment or be unexported (golint)
    • Line 51: warning: exported function ContextWithContent should have comment or be unexported (golint)
    • Line 55: warning: exported function ContentFromContext should have comment or be unexported (golint)
    • /v2ray.com/core/infra/control/api.go
    • Line 19: warning: exported type ApiCommand should have comment or be unexported (golint)
    • Line 21: warning: exported method ApiCommand.Name should have comment or be unexported (golint)
    • Line 25: warning: exported method ApiCommand.Description should have comment or be unexported (golint)
    • Line 45: warning: exported method ApiCommand.Execute should have comment or be unexported (golint)
    • /v2ray.com/core/v2ray.go
    • Line 99: warning: exported function AddInboundHandler should have comment or be unexported (golint)
    • Line 125: warning: exported function AddOutboundHandler should have comment or be unexported (golint)
    • Line 172: warning: context.Context should be the first parameter of a function (golint)
    • Line 172: warning: exported function NewWithContext should have comment or be unexported (golint)
    • Line 183: warning: error should be the last type when returning multiple items (golint)
    • /v2ray.com/core/common/net/port.go
    • Line 69: warning: exported type MemoryPortRange should have comment or be unexported (golint)
    • Line 74: warning: exported method MemoryPortRange.Contains should have comment or be unexported (golint)
    • Line 78: warning: exported type MemoryPortList should have comment or be unexported (golint)
    • Line 80: warning: exported function PortListFromProto should have comment or be unexported (golint)
    • Line 88: warning: exported method MemoryPortList.Contains should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/headers.go
    • Line 15: warning: exported const RequestCommandTCP should have comment (or a comment on this block) or be unexported (golint)
    • Line 20: warning: exported method RequestCommand.TransferType should have comment or be unexported (golint)
    • Line 38: warning: exported const RequestOptionChunkMasking should have comment (or a comment on this block) or be unexported (golint)
    • Line 43: warning: exported type RequestHeader should have comment or be unexported (golint)
    • Line 53: warning: exported method RequestHeader.Destination should have comment or be unexported (golint)
    • Line 61: warning: exported const ResponseOptionConnectionReuse should have comment (or a comment on this block) or be unexported (golint)
    • Line 64: warning: exported type ResponseCommand should have comment or be unexported (golint)
    • Line 66: warning: exported type ResponseHeader should have comment or be unexported (golint)
    • Line 71: warning: exported type CommandSwitchAccount should have comment or be unexported (golint)
    • Line 80: warning: exported method SecurityConfig.GetSecurityType should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/mtproto/auth.go
    • Line 14: warning: exported const HeaderSize should have comment (or a comment on this block) or be unexported (golint)
    • Line 17: warning: exported type SessionContext should have comment or be unexported (golint)
    • Line 22: warning: exported function DefaultSessionContext should have comment or be unexported (golint)
    • Line 35: warning: exported function ContextWithSessionContext should have comment or be unexported (golint)
    • Line 39: warning: exported function SessionContextFromContext should have comment or be unexported (golint)
    • Line 46: warning: exported type Authentication should have comment or be unexported (golint)
    • Line 54: warning: exported method Authentication.DataCenterID should have comment or be unexported (golint)
    • Line 62: warning: exported method Authentication.ConnectionType should have comment or be unexported (golint)
    • Line 68: warning: exported method Authentication.ApplySecret should have comment or be unexported (golint)
    • Line 96: warning: exported function NewAuthentication should have comment or be unexported (golint)
    • Line 108: warning: exported function ReadAuthentication should have comment or be unexported (golint)
    • /v2ray.com/core/proxy/http/config.go
    • Line 7: warning: exported method Account.Equals should have comment or be unexported (golint)
    • Line 14: warning: exported method Account.AsAccount should have comment or be unexported (golint)
    • Line 18: warning: exported method ServerConfig.HasAccount should have comment or be unexported (golint)
    • /v2ray.com/core/common/peer/latency.go
    • Line 7: warning: exported type Latency should have comment or be unexported (golint)
    • Line 11: warning: exported type HasLatency should have comment or be unexported (golint)
    • Line 16: warning: exported type AverageLatency should have comment or be unexported (golint)
    • Line 21: warning: exported method AverageLatency.Update should have comment or be unexported (golint)
    • Line 28: warning: exported method AverageLatency.Value should have comment or be unexported (golint)
    • /v2ray.com/core/infra/conf/transport_internet.go
    • Line 38: warning: exported type KCPConfig should have comment or be unexported (golint)
    • Line 112: warning: exported type TCPConfig should have comment or be unexported (golint)
    • Line 137: warning: exported type WebSocketConfig should have comment or be unexported (golint)
    • Line 167: warning: exported type HTTPConfig should have comment or be unexported (golint)
    • Line 183: warning: exported type QUICConfig should have comment or be unexported (golint)
    • Line 224: warning: exported type DomainSocketConfig should have comment or be unexported (golint)
    • Line 251: warning: exported type TLSCertConfig should have comment or be unexported (golint)
    • Line 291: warning: exported type TLSConfig should have comment or be unexported (golint)
    • Line 326: warning: exported type XTLSCertConfig should have comment or be unexported (golint)
    • Line 366: warning: exported type XTLSConfig should have comment or be unexported (golint)
    • Line 401: warning: exported type TransportProtocol should have comment or be unexported (golint)
    • Line 423: warning: exported type SocketConfig should have comment or be unexported (golint)
    • Line 456: warning: exported type StreamConfig should have comment or be unexported (golint)
    • Line 587: warning: exported type ProxyConfig should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/bittorrent/bittorrent.go
    • Line 9: warning: exported type SniffHeader should have comment or be unexported (golint)
    • Line 12: warning: exported method SniffHeader.Protocol should have comment or be unexported (golint)
    • Line 16: warning: exported method SniffHeader.Domain should have comment or be unexported (golint)
    • Line 22: warning: exported function SniffBittorrent should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/id.go
    • Line 13: warning: exported const IDBytesLen should have comment (or a comment on this block) or be unexported (golint)
    • Line 16: warning: exported type IDHash should have comment or be unexported (golint)
    • Line 18: warning: exported function DefaultIDHash should have comment or be unexported (golint)
    • Line 33: warning: exported method ID.Bytes should have comment or be unexported (golint)
    • Line 41: warning: exported method ID.UUID should have comment or be unexported (golint)
    • Line 45: warning: exported method ID.CmdKey should have comment or be unexported (golint)
    • Line 73: warning: exported function NewAlterIDs should have comment or be unexported (golint)
    • /v2ray.com/core/common/protocol/time.go
    • Line 9: warning: exported type Timestamp should have comment or be unexported (golint)
    • Line 11: warning: exported type TimestampGenerator should have comment or be unexported (golint)
    • Line 13: warning: exported function NowTime should have comment or be unexported (golint)
    • Line 17: warning: exported function NewTimestampGenerator should have comment or be unexported (golint)
    • /v2ray.com/core/common/platform/others.go
    • Line 10: warning: exported function ExpandEnv should have comment or be unexported (golint)
    • Line 14: warning: exported function LineSeparator should have comment or be unexported (golint)
    • Line 18: warning: exported function GetToolLocation should have comment or be unexported (golint)
    • /v2ray.com/core/common/crypto/auth.go
    • Line 14: warning: exported type BytesGenerator should have comment or be unexported (golint)
    • Line 16: warning: exported function GenerateEmptyBytes should have comment or be unexported (golint)
    • Line 23: warning: exported function GenerateStaticBytes should have comment or be unexported (golint)
    • Line 29: warning: exported function GenerateIncreasingNonce should have comment or be unexported (golint)
    • Line 42: warning: exported function GenerateInitialAEADNonce should have comment or be unexported (golint)
    • Line 46: warning: exported type Authenticator should have comment or be unexported (golint)
    • Line 53: warning: exported type AEADAuthenticator should have comment or be unexported (golint)
    • Line 59: warning: exported method AEADAuthenticator.Open should have comment or be unexported (golint)
    • Line 72: warning: exported method AEADAuthenticator.Seal should have comment or be unexported (golint)
    • Line 85: warning: exported type AuthenticationReader should have comment or be unexported (golint)
    • Line 98: warning: exported function NewAuthenticationReader should have comment or be unexported (golint)
    • Line 201: warning: exported method AuthenticationReader.ReadMultiBuffer should have comment or be unexported (golint)
    • Line 223: warning: exported type AuthenticationWriter should have comment or be unexported (golint)
    • Line 231: warning: exported function NewAuthenticationWriter should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!