Preparing report...

Report for github.com/mhatta/onionscan

A    Great!    Found 39 issues across 58 files

Tweet

gofmt94%

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.


golint53%

Golint is a linter for Go source code.

    • onionscan/utils/url_parsing.go
    • Line 7: warning: exported function WithoutSubdomains should have comment or be unexported (golint)
    • Line 15: warning: exported function WithoutProtocol should have comment or be unexported (golint)
    • onionscan/protocol/ftp_scanner.go
    • Line 13: warning: exported type FTPProtocolScanner should have comment or be unexported (golint)
    • Line 16: warning: exported method FTPProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/protocol/tls_scanner.go
    • Line 11: warning: exported type TLSProtocolScanner should have comment or be unexported (golint)
    • Line 14: warning: exported method TLSProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/protocol/vnc_scanner.go
    • Line 10: warning: exported type VNCProtocolScanner should have comment or be unexported (golint)
    • Line 13: warning: exported method VNCProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/report/onionscanreport.go
    • Line 10: warning: exported type PGPKey should have comment or be unexported (golint)
    • Line 16: warning: exported type BitcoinService should have comment or be unexported (golint)
    • Line 23: warning: exported type OnionScanReport should have comment or be unexported (golint)
    • onionscan/spider/onionspider.go
    • Line 16: warning: exported type OnionSpider should have comment or be unexported (golint)
    • Line 20: warning: exported method OnionSpider.Crawl should have comment or be unexported (golint)
    • Line 132: warning: don't use underscores in Go names; var mod_status should be modStatus (golint)
    • Line 139: warning: don't use underscores in Go names; var private_key should be privateKey (golint)
    • Line 191: warning: exported method OnionSpider.GetPage should have comment or be unexported (golint)
    • onionscan/protocol/http_scanner.go
    • Line 13: warning: exported type HTTPProtocolScanner should have comment or be unexported (golint)
    • Line 17: warning: exported method HTTPProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/report/simple_report.go
    • Line 10: warning: exported const SEV_INFO should have comment or be unexported (golint)
    • Line 11: warning: exported const SEV_LOW should have comment or be unexported (golint)
    • Line 12: warning: exported const SEV_MEDIUM should have comment or be unexported (golint)
    • Line 13: warning: exported const SEV_HIGH should have comment or be unexported (golint)
    • Line 14: warning: exported const SEV_CRITICAL should have comment or be unexported (golint)
    • Line 16: warning: exported type Risk should have comment or be unexported (golint)
    • Line 24: warning: exported type SimpleReport should have comment or be unexported (golint)
    • Line 29: warning: exported method SimpleReport.AddRisk should have comment or be unexported (golint)
    • Line 33: warning: comment on exported method SimpleReport.Serialize should be of the form "Serialize ..." (golint)
    • Line 42: warning: don't use underscores in Go names; var risk_levels should be riskLevels (golint)
    • Line 82: warning: comment on exported type SimpleReportCheck should be of the form "SimpleReportCheck ..." (with optional leading article) (golint)
    • Line 90: warning: exported method EmailAddressCheck.Check should have comment or be unexported (golint)
    • Line 99: warning: exported method IPAddressCheck.Check should have comment or be unexported (golint)
    • Line 108: warning: exported method AnalyticsIDsCheck.Check should have comment or be unexported (golint)
    • Line 117: warning: exported method BitcoinAddressesCheck.Check should have comment or be unexported (golint)
    • Line 127: warning: exported method ApacheModStatusCheck.Check should have comment or be unexported (golint)
    • Line 139: warning: exported method ApacheModInfoCheck.Check should have comment or be unexported (golint)
    • Line 151: warning: exported method RelatedClearnetDomainsCheck.Check should have comment or be unexported (golint)
    • Line 160: warning: comment on exported type RelatedOnionServicesCheck should be of the form "RelatedOnionServicesCheck ..." (with optional leading article) (golint)
    • Line 163: warning: exported method RelatedOnionServicesCheck.Check should have comment or be unexported (golint)
    • Line 175: warning: exported method OpenDirectoriesCheck.Check should have comment or be unexported (golint)
    • Line 197: warning: exported method ExifImagesCheck.Check should have comment or be unexported (golint)
    • Line 222: warning: exported method PrivateKeyCheck.Check should have comment or be unexported (golint)
    • Line 246: warning: exported function SummarizeToSimpleReport should have comment or be unexported (golint)
    • Line 254: warning: exported function NewSimpleReport should have comment or be unexported (golint)
    • Line 260: warning: exported function RegisterSimpleReportCheck should have comment or be unexported (golint)
    • onionscan/utils/format_paragraphs.go
    • Line 8: warning: exported function FormatParagraphs should have comment or be unexported (golint)
    • Line 12: warning: don't use underscores in Go names; var rem_width should be remWidth (golint)
    • Line 14: warning: don't use underscores in Go names; var rem_width should be remWidth (golint)
    • Line 21: warning: don't use underscores in Go names; var rem_width should be remWidth (golint)
    • Line 24: warning: don't use underscores in Go names; var rem_width should be remWidth (golint)
    • Line 30: warning: don't use underscores in Go names; var rem_width should be remWidth (golint)
    • Line 33: warning: don't use underscores in Go names; var rem_width should be remWidth (golint)
    • onionscan/protocol/bitcoin_scanner.go
    • Line 19: warning: exported type BitcoinProtocolScanner should have comment or be unexported (golint)
    • Line 26: warning: don't use underscores in Go names; const user_agent should be userAgent (golint)
    • Line 29: warning: don't use underscores in Go names; const protocol_version should be protocolVersion (golint)
    • Line 31: warning: comment on exported const MAX_SUBVERSION_LENGTH should be of the form "MAX_SUBVERSION_LENGTH ..." (golint)
    • Line 34: warning: comment on exported const MAX_PACKET_LENGTH should be of the form "MAX_PACKET_LENGTH ..." (golint)
    • Line 37: warning: comment on exported const MAX_ADDR should be of the form "MAX_ADDR ..." (golint)
    • Line 40: warning: comment on exported const MSG_VERSION should be of the form "MSG_VERSION ..." (golint)
    • Line 42: warning: exported const MSG_VERACK should have comment or be unexported (golint)
    • Line 43: warning: exported const MSG_GETADDR should have comment or be unexported (golint)
    • Line 44: warning: exported const MSG_ADDR should have comment or be unexported (golint)
    • Line 45: warning: exported const MSG_PING should have comment or be unexported (golint)
    • Line 46: warning: exported const MSG_PONG should have comment or be unexported (golint)
    • Line 47: warning: exported const MSG_FEEFILTER should have comment or be unexported (golint)
    • Line 49: warning: comment on exported var AddrStartOnion should be of the form "AddrStartOnion ..." (golint)
    • Line 73: warning: exported type Packet should have comment or be unexported (golint)
    • Line 78: warning: comment on exported function Hash256 should be of the form "Hash256 ..." (golint)
    • Line 84: warning: comment on exported function Checksum should be of the form "Checksum ..." (golint)
    • Line 90: warning: comment on exported function ReadCompactSize should be of the form "ReadCompactSize ..." (golint)
    • Line 119: warning: comment on exported function SendPacket should be of the form "SendPacket ..." (golint)
    • Line 138: warning: comment on exported function ReceivePacket should be of the form "ReceivePacket ..." (golint)
    • Line 168: warning: comment on exported function EncodeOnion should be of the form "EncodeOnion ..." (golint)
    • Line 171: warning: don't use underscores in Go names; var onion_base should be onionBase (golint)
    • Line 176: warning: don't use underscores in Go names; var onion_enc should be onionEnc (golint)
    • Line 186: warning: comment on exported function DecodeOnion should be of the form "DecodeOnion ..." (golint)
    • Line 194: warning: comment on exported method BitcoinProtocolScanner.SendVersion should be of the form "SendVersion ..." (golint)
    • Line 216: warning: comment on exported method BitcoinProtocolScanner.HandleVersion should be of the form "HandleVersion ..." (golint)
    • Line 219: warning: don't use underscores in Go names; var user_agent_length should be userAgentLength (golint)
    • Line 229: warning: comment on exported method BitcoinProtocolScanner.HandleVerAck should be of the form "HandleVerAck ..." (golint)
    • Line 237: warning: comment on exported method BitcoinProtocolScanner.HandlePing should be of the form "HandlePing ..." (golint)
    • Line 245: warning: comment on exported method BitcoinProtocolScanner.HandleAddr should be of the form "HandleAddr ..." (golint)
    • Line 270: warning: comment on exported method BitcoinProtocolScanner.MessageLoop should be of the form "MessageLoop ..." (golint)
    • Line 309: warning: exported function NewBitcoinProtocolScanner should have comment or be unexported (golint)
    • Line 337: warning: exported method BitcoinProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/protocol/ssh_scanner.go
    • Line 15: warning: exported type SSHProtocolScanner should have comment or be unexported (golint)
    • Line 18: warning: exported method SSHProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/protocol/xmpp_scanner.go
    • Line 10: warning: exported type XMPPProtocolScanner should have comment or be unexported (golint)
    • Line 13: warning: exported method XMPPProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/protocol/smtp_scanner.go
    • Line 13: warning: exported type SMTPProtocolScanner should have comment or be unexported (golint)
    • Line 16: warning: exported method SMTPProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/report/anonymity_report.go
    • Line 7: warning: exported type ExifTag should have comment or be unexported (golint)
    • Line 12: warning: exported type ExifImage should have comment or be unexported (golint)
    • Line 17: warning: comment on exported type AnonymityReport should be of the form "AnonymityReport ..." (with optional leading article) (golint)
    • Line 37: warning: exported method AnonymityReport.AddExifImage should have comment or be unexported (golint)
    • Line 41: warning: exported method AnonymityReport.AddExifTag should have comment or be unexported (golint)
    • Line 45: warning: exported method AnonymityReport.AddRelatedOnionService should have comment or be unexported (golint)
    • Line 49: warning: exported method AnonymityReport.AddRelatedClearnetDomain should have comment or be unexported (golint)
    • Line 53: warning: exported method AnonymityReport.AddIPAddress should have comment or be unexported (golint)
    • Line 57: warning: exported method AnonymityReport.Serialize should have comment or be unexported (golint)
    • onionscan/spider/pageparser.go
    • Line 13: warning: exported function NormalizeURI should have comment or be unexported (golint)
    • Line 27: warning: exported function SnapshotResource should have comment or be unexported (golint)
    • Line 35: warning: exported function SnapshotBinaryResource should have comment or be unexported (golint)
    • Line 43: warning: exported function ParsePage should have comment or be unexported (golint)
    • onionscan/utils/proxycheck.go
    • Line 11: warning: exported type ProxyStatus should have comment or be unexported (golint)
    • Line 14: warning: exported const ProxyStatusOK should have comment (or a comment on this block) or be unexported (golint)
    • Line 20: warning: comment on exported function CheckTorProxy should be of the form "CheckTorProxy ..." (golint)
    • Line 51: warning: exported function ProxyStatusMessage should have comment or be unexported (golint)
    • onionscan/webui/webui.go
    • Line 16: warning: exported type WebUI should have comment or be unexported (golint)
    • Line 22: warning: exported type SummaryField should have comment or be unexported (golint)
    • Line 29: warning: exported type Summary should have comment or be unexported (golint)
    • Line 35: warning: exported type Content should have comment or be unexported (golint)
    • Line 48: warning: exported type Row should have comment or be unexported (golint)
    • Line 54: warning: exported type Table should have comment or be unexported (golint)
    • Line 64: warning: comment on exported method WebUI.GetUserDefinedTable should be of the form "GetUserDefinedTable ..." (golint)
    • Line 172: warning: comment on exported method WebUI.DeleteTag should be of the form "DeleteTag ..." (golint)
    • Line 223: warning: don't use underscores in Go names; var mod_status should be modStatus (golint)
    • Line 238: warning: don't use underscores in Go names; var results_identifier should be resultsIdentifier (golint)
    • Line 428: warning: exported method WebUI.Listen should have comment or be unexported (golint)
    • onionscan/protocol/irc_scanner.go
    • Line 10: warning: exported type IRCProtocolScanner should have comment or be unexported (golint)
    • Line 13: warning: exported method IRCProtocolScanner.ScanProtocol should have comment or be unexported (golint)
    • onionscan/model/page.go
    • Line 7: warning: exported type Page should have comment or be unexported (golint)
    • Line 21: warning: exported type Element should have comment or be unexported (golint)
    • Line 28: warning: exported type Field should have comment or be unexported (golint)
    • Line 33: warning: exported type Form should have comment or be unexported (golint)
    • onionscan/protocol/mongodb_scanner.go
    • Line 10: warning: exported type MongoDBProtocolScanner should have comment or be unexported (golint)
    • Line 13: warning: exported method MongoDBProtocolScanner.ScanProtocol should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign60%

IneffAssign detects ineffectual assignments in Go code.

    • onionscan/spider/pageparser.go
    • Line 6: warning: cannot find package "." in: (ineffassign)
    • Line 7: warning: cannot find package "." in: (ineffassign)
    • Line 6: warning: could not import github.com/mhatta/onionscan/utils (invalid package name: "") (ineffassign)
    • Line 7: warning: could not import golang.org/x/net/html (invalid package name: "") (ineffassign)
    • onionscan/deanonymization/apache_mod_info.go
    • Line 4: warning: cannot find package "." in: (ineffassign)
    • Line 5: warning: cannot find package "." in: (ineffassign)
    • Line 4: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 5: warning: could not import github.com/mhatta/onionscan/report (invalid package name: "") (ineffassign)
    • Line 4: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 5: warning: could not import github.com/mhatta/onionscan/report (invalid package name: "") (ineffassign)
    • onionscan/deanonymization/check_exif.go
    • Line 5: warning: cannot find package "." in: (ineffassign)
    • Line 6: warning: cannot find package "." in: (ineffassign)
    • Line 5: warning: could not import github.com/rwcarlsen/goexif/exif (invalid package name: "") (ineffassign)
    • Line 6: warning: could not import github.com/rwcarlsen/goexif/tiff (invalid package name: "") (ineffassign)
    • Line 5: warning: could not import github.com/rwcarlsen/goexif/exif (invalid package name: "") (ineffassign)
    • Line 6: warning: could not import github.com/rwcarlsen/goexif/tiff (invalid package name: "") (ineffassign)
    • onionscan/protocol/ssh_scanner.go
    • Line 11: warning: cannot find package "." in: (ineffassign)
    • Line 11: warning: could not import golang.org/x/crypto/ssh (invalid package name: "") (ineffassign)
    • Line 11: warning: could not import golang.org/x/crypto/ssh (invalid package name: "") (ineffassign)
    • onionscan/webui/webui.go
    • Line 6: warning: cannot find package "." in: (ineffassign)
    • Line 7: warning: cannot find package "." in: (ineffassign)
    • Line 8: warning: cannot find package "." in: (ineffassign)
    • Line 6: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 7: warning: could not import github.com/mhatta/onionscan/crawldb (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/utils (invalid package name: "") (ineffassign)
    • onionscan/spider/onionspider.go
    • Line 6: warning: cannot find package "." in: (ineffassign)
    • Line 7: warning: cannot find package "." in: (ineffassign)
    • Line 8: warning: cannot find package "." in: (ineffassign)
    • Line 9: warning: cannot find package "." in: (ineffassign)
    • Line 6: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 7: warning: could not import github.com/mhatta/onionscan/model (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/report (invalid package name: "") (ineffassign)
    • Line 9: warning: could not import golang.org/x/net/proxy (invalid package name: "") (ineffassign)
    • onionscan/utils/networking.go
    • Line 4: warning: cannot find package "." in: (ineffassign)
    • Line 4: warning: could not import golang.org/x/net/proxy (invalid package name: "") (ineffassign)
    • Line 4: warning: could not import golang.org/x/net/proxy (invalid package name: "") (ineffassign)
    • onionscan/protocol/http_scanner.go
    • Line 8: warning: cannot find package "." in: (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/spider (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/spider (invalid package name: "") (ineffassign)
    • onionscan/onionscan/onionscan.go
    • Line 5: warning: cannot find package "." in: (ineffassign)
    • Line 6: warning: cannot find package "." in: (ineffassign)
    • Line 7: warning: cannot find package "." in: (ineffassign)
    • Line 5: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 6: warning: could not import github.com/mhatta/onionscan/protocol (invalid package name: "") (ineffassign)
    • Line 7: warning: could not import github.com/mhatta/onionscan/report (invalid package name: "") (ineffassign)
    • onionscan/utils/html_parsing.go
    • Line 3: warning: cannot find package "." in: (ineffassign)
    • Line 3: warning: could not import golang.org/x/net/html (invalid package name: "") (ineffassign)
    • Line 3: warning: could not import golang.org/x/net/html (invalid package name: "") (ineffassign)
    • onionscan/protocol/bitcoin_scanner.go
    • Line 9: warning: cannot find package "." in: (ineffassign)
    • Line 10: warning: cannot find package "." in: (ineffassign)
    • Line 11: warning: cannot find package "." in: (ineffassign)
    • Line 9: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 10: warning: could not import github.com/mhatta/onionscan/report (invalid package name: "") (ineffassign)
    • Line 11: warning: could not import github.com/mhatta/onionscan/utils (invalid package name: "") (ineffassign)
    • Line 9: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 10: warning: could not import github.com/mhatta/onionscan/report (invalid package name: "") (ineffassign)
    • Line 11: warning: could not import github.com/mhatta/onionscan/utils (invalid package name: "") (ineffassign)
    • onionscan/main.go
    • Line 6: warning: cannot find package "." in: (ineffassign)
    • Line 7: warning: cannot find package "." in: (ineffassign)
    • Line 8: warning: cannot find package "." in: (ineffassign)
    • Line 9: warning: cannot find package "." in: (ineffassign)
    • Line 10: warning: cannot find package "." in: (ineffassign)
    • Line 11: warning: cannot find package "." in: (ineffassign)
    • Line 12: warning: cannot find package "." in: (ineffassign)
    • Line 13: warning: cannot find package "." in: (ineffassign)
    • Line 6: warning: could not import github.com/mhatta/onionscan/config (invalid package name: "") (ineffassign)
    • Line 7: warning: could not import github.com/mhatta/onionscan/deanonymization (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/onionscan (invalid package name: "") (ineffassign)
    • Line 9: warning: could not import github.com/mhatta/onionscan/onionscan/steps (invalid package name: "") (ineffassign)
    • Line 10: warning: could not import github.com/mhatta/onionscan/report (invalid package name: "") (ineffassign)
    • Line 11: warning: could not import github.com/mhatta/onionscan/utils (invalid package name: "") (ineffassign)
    • Line 12: warning: could not import github.com/mhatta/onionscan/webui (invalid package name: "") (ineffassign)
    • Line 13: warning: could not import golang.org/x/crypto/ssh/terminal (invalid package name: "") (ineffassign)
    • onionscan/crawldb/crawldb.go
    • Line 7: warning: cannot find package "." in: (ineffassign)
    • Line 8: warning: cannot find package "." in: (ineffassign)
    • Line 7: warning: could not import github.com/HouzuoGuo/tiedot/db (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/model (invalid package name: "") (ineffassign)
    • Line 7: warning: could not import github.com/HouzuoGuo/tiedot/db (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/model (invalid package name: "") (ineffassign)
    • onionscan/deanonymization/get_onion_links.go
    • Line 6: warning: cannot find package "." in: (ineffassign)
    • Line 8: warning: cannot find package "." in: (ineffassign)
    • Line 6: warning: could not import github.com/mhatta/onionscan/model (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/utils (invalid package name: "") (ineffassign)
    • Line 6: warning: could not import github.com/mhatta/onionscan/model (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/mhatta/onionscan/utils (invalid package name: "") (ineffassign)

misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!