Documentation
¶
Overview ¶
This file previously held web UI assets generated by go-bindata.
Assets are now embedded natively with Go's //go:embed (see assets.go and the embed directive in main.go), so no code generation tool is required. This file is intentionally left as an empty stub; it can be deleted.
Index ¶
- Constants
- Variables
- func BinaryFileSystem(root string) *binaryFileSystem
- func CloneRepository(url *string, branch *string, depth int) (*git.Repository, string, error)
- func FileExists(path string) bool
- func GetChangeAction(change *object.Change) string
- func GetChangePath(change *object.Change) string
- func GetChanges(commit *object.Commit, repo *git.Repository) (object.Changes, error)
- func GetParentCommit(commit *object.Commit, repo *git.Repository) (*object.Commit, error)
- func GetRepositoryHistory(repository *git.Repository) ([]*object.Commit, error)
- func NewRouter(s *Session) *gin.Engine
- func Pluralize(count int, singular string, plural string) string
- func SetAssets(f fs.FS)
- func TruncateString(str string, maxLength int) string
- type Finding
- type GithubOwner
- type GithubRepository
- type Logger
- func (l *Logger) Debug(format string, args ...interface{})
- func (l *Logger) Error(format string, args ...interface{})
- func (l *Logger) Fatal(format string, args ...interface{})
- func (l *Logger) Important(format string, args ...interface{})
- func (l *Logger) Info(format string, args ...interface{})
- func (l *Logger) Log(level int, format string, args ...interface{})
- func (l *Logger) SetDebug(d bool)
- func (l *Logger) SetSilent(s bool)
- func (l *Logger) Warn(format string, args ...interface{})
- type MatchFile
- type Options
- type PatternSignature
- type Session
- func (s *Session) AddFinding(finding *Finding)
- func (s *Session) AddRepository(repository *GithubRepository)
- func (s *Session) AddTarget(target *GithubOwner)
- func (s *Session) Finish()
- func (s *Session) InitGithubAccessToken()
- func (s *Session) InitGithubClient()
- func (s *Session) InitLogger()
- func (s *Session) InitRouter()
- func (s *Session) InitStats()
- func (s *Session) InitThreads()
- func (s *Session) SaveToFile(location string) error
- func (s *Session) Start()
- type Signature
- type SimpleSignature
- type Stats
Constants ¶
View Source
const ( Name = "gitrob2" Version = "2.1.0" // Original author of Gitrob. gitrob2 is a fork; credit is retained here and // in LICENSE.txt / NOTICE per the MIT license. Author = "Michael Henriksen" OriginalName = "gitrob" OriginalSource = "https://github.com/michenriksen/gitrob" // Website is the home of this fork. Website = "https://github.com/KhitMinnyo/gitrob2" ASCIIBanner = " _ __ __ ___\n" + " ___ _(_) /________ / /_ |_ |\n" + " / _ `/ / __/ __/ _ \\/ __ \\ / __/\n" + " \\_, /_/\\__/_/ \\___/_.__/ /____/\n" + "/___/ gitrob2 · fork of gitrob by @michenriksen" )
View Source
const ( FATAL = 5 ERROR = 4 WARN = 3 IMPORTANT = 2 INFO = 1 DEBUG = 0 )
View Source
const ( GithubBaseUri = "https://raw.githubusercontent.com" MaximumFileSize = 102400 CspPolicy = "default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'" ReferrerPolicy = "no-referrer" )
View Source
const ( AccessTokenEnvVariable = "GITROB_ACCESS_TOKEN" StatusInitializing = "initializing" StatusGathering = "gathering" StatusAnalyzing = "analyzing" StatusFinished = "finished" )
View Source
const ( TypeSimple = "simple" TypePattern = "pattern" PartExtension = "extension" PartFilename = "filename" PartPath = "path" )
View Source
const (
EmptyTreeCommitId = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"
)
Variables ¶
View Source
var LogColors = map[int]*color.Color{ FATAL: color.New(color.FgRed).Add(color.Bold), ERROR: color.New(color.FgRed), WARN: color.New(color.FgYellow), IMPORTANT: color.New(color.Bold), DEBUG: color.New(color.FgCyan).Add(color.Faint), }
View Source
var NewlineRegex = regexp.MustCompile(`\r?\n`)
View Source
var Signatures = []Signature{ SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, SimpleSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, PatternSignature{ // contains filtered or unexported fields }, }
Functions ¶
func BinaryFileSystem ¶
func BinaryFileSystem(root string) *binaryFileSystem
func CloneRepository ¶
func FileExists ¶
func GetChangeAction ¶
func GetChangePath ¶
func GetChanges ¶
func GetParentCommit ¶
func GetRepositoryHistory ¶
func GetRepositoryHistory(repository *git.Repository) ([]*object.Commit, error)
func SetAssets ¶
SetAssets registers the embedded asset filesystem. Call this before starting a Session.
func TruncateString ¶
Types ¶
type Finding ¶
type Finding struct {
Id string
FilePath string
Action string
Description string
Comment string
RepositoryOwner string
RepositoryName string
CommitHash string
CommitMessage string
CommitAuthor string
FileUrl string
CommitUrl string
RepositoryUrl string
}
func (*Finding) Initialize ¶
func (f *Finding) Initialize()
type GithubOwner ¶
type GithubOwner struct {
Login *string
ID *int64
Type *string
Name *string
AvatarURL *string
URL *string
Company *string
Blog *string
Location *string
Email *string
Bio *string
}
func GetOrganizationMembers ¶
func GetOrganizationMembers(login *string, client *github.Client) ([]*GithubOwner, error)
func GetUserOrOrganization ¶
func GetUserOrOrganization(login string, client *github.Client) (*GithubOwner, error)
type GithubRepository ¶
type GithubRepository struct {
Owner *string
ID *int64
Name *string
FullName *string
CloneURL *string
URL *string
DefaultBranch *string
Description *string
Homepage *string
}
func GetRepositoriesFromOwner ¶
func GetRepositoriesFromOwner(login *string, client *github.Client) ([]*GithubRepository, error)
type Options ¶
type Options struct {
CommitDepth *int
GithubAccessToken *string `json:"-"`
NoExpandOrgs *bool
Threads *int
Save *string `json:"-"`
Load *string `json:"-"`
BindAddress *string
Port *int
Silent *bool
Debug *bool
Version *bool `json:"-"`
Logins []string
}
func ParseOptions ¶
type PatternSignature ¶
type PatternSignature struct {
// contains filtered or unexported fields
}
func (PatternSignature) Comment ¶
func (s PatternSignature) Comment() string
func (PatternSignature) Description ¶
func (s PatternSignature) Description() string
func (PatternSignature) Match ¶
func (s PatternSignature) Match(file MatchFile) bool
type Session ¶
type Session struct {
sync.Mutex
Version string
Options Options `json:"-"`
Out *Logger `json:"-"`
Stats *Stats
GithubAccessToken string `json:"-"`
GithubClient *github.Client `json:"-"`
Router *gin.Engine `json:"-"`
Targets []*GithubOwner
Repositories []*GithubRepository
Findings []*Finding
}
func NewSession ¶
func (*Session) AddFinding ¶
func (*Session) AddRepository ¶
func (s *Session) AddRepository(repository *GithubRepository)
func (*Session) AddTarget ¶
func (s *Session) AddTarget(target *GithubOwner)
func (*Session) InitGithubAccessToken ¶
func (s *Session) InitGithubAccessToken()
func (*Session) InitGithubClient ¶
func (s *Session) InitGithubClient()
func (*Session) InitLogger ¶
func (s *Session) InitLogger()
func (*Session) InitRouter ¶
func (s *Session) InitRouter()
func (*Session) InitThreads ¶
func (s *Session) InitThreads()
func (*Session) SaveToFile ¶
type SimpleSignature ¶
type SimpleSignature struct {
// contains filtered or unexported fields
}
func (SimpleSignature) Comment ¶
func (s SimpleSignature) Comment() string
func (SimpleSignature) Description ¶
func (s SimpleSignature) Description() string
func (SimpleSignature) Match ¶
func (s SimpleSignature) Match(file MatchFile) bool
type Stats ¶
type Stats struct {
sync.Mutex
StartedAt time.Time
FinishedAt time.Time
Status string
Progress float64
Targets int
Repositories int
Commits int
Files int
Findings int
}
func (*Stats) IncrementCommits ¶
func (s *Stats) IncrementCommits()
func (*Stats) IncrementFiles ¶
func (s *Stats) IncrementFiles()
func (*Stats) IncrementFindings ¶
func (s *Stats) IncrementFindings()
func (*Stats) IncrementRepositories ¶
func (s *Stats) IncrementRepositories()
func (*Stats) IncrementTargets ¶
func (s *Stats) IncrementTargets()
func (*Stats) UpdateProgress ¶
Click to show internal directories.
Click to hide internal directories.