Documentation
¶
Index ¶
- func MakeArgsList(prefix any, values []string) [][]any
- type DB
- type Domain
- type DomainRepository
- func (r *DomainRepository) BulkInsert(domains []string) error
- func (r *DomainRepository) CreateTable() error
- func (r *DomainRepository) GetAll() ([]Domain, error)
- func (r *DomainRepository) GetScanned() ([]Domain, error)
- func (r *DomainRepository) GetUnscanned() ([]Domain, error)
- func (r *DomainRepository) Insert(domain string) error
- func (r *DomainRepository) MarkAsScanned(name string) error
- func (r *DomainRepository) SelectByName(name string) (*Domain, error)
- type ScanTracker
- type ScanTrackerRepository
- func (r *ScanTrackerRepository) CreateTable() error
- func (r *ScanTrackerRepository) IsScanCompleted(domainID int, toolName string) (bool, error)
- func (r *ScanTrackerRepository) MarkScanCompleted(domainID int, toolName string) error
- func (r *ScanTrackerRepository) MarkScanTimedOut(domainID int, toolName string) error
- func (r *ScanTrackerRepository) UpdateScanStatus(domainID int, toolName, status string) error
- func (r *ScanTrackerRepository) WasScanTimedOut(domainID int, toolName string) (bool, error)
- type StringRepository
- func NewCachexRepository(db *DB) *StringRepository
- func NewDnsXRepository(db *DB) *StringRepository
- func NewGauRepository(db *DB) *StringRepository
- func NewHttpxRepository(db *DB) *StringRepository
- func NewKatanaRepository(db *DB) *StringRepository
- func NewNucleiRepository(db *DB) *StringRepository
- func NewStringRepository(db *DB, tableName, valueColumn, createSQL, insertSQL string) *StringRepository
- func NewSubfinderRepository(db *DB) *StringRepository
- func NewUroRepository(db *DB) *StringRepository
- type StringRepositoryBase
- type ToolsRepository
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeArgsList ¶
MakeArgsList takes a prefix (like domainID) and a slice of strings (like URLs or reports), and builds a [][]any that can be used with ExecBulkInsert.
Types ¶
type DB ¶
func (*DB) ExecBulkInsert ¶
ExecBulkInsert runs a prepared, transactional bulk insert. query: INSERT statement with placeholders. argsList: each inner slice represents one row of arguments.
func (*DB) ExecInsert ¶
Exec executes an query with args without returning any rows.
type DomainRepository ¶
type DomainRepository struct {
// contains filtered or unexported fields
}
func NewDomainRepository ¶
func NewDomainRepository(db *DB) *DomainRepository
func (*DomainRepository) BulkInsert ¶
func (r *DomainRepository) BulkInsert(domains []string) error
func (*DomainRepository) CreateTable ¶
func (r *DomainRepository) CreateTable() error
func (*DomainRepository) GetAll ¶
func (r *DomainRepository) GetAll() ([]Domain, error)
func (*DomainRepository) GetScanned ¶
func (r *DomainRepository) GetScanned() ([]Domain, error)
func (*DomainRepository) GetUnscanned ¶
func (r *DomainRepository) GetUnscanned() ([]Domain, error)
func (*DomainRepository) Insert ¶
func (r *DomainRepository) Insert(domain string) error
func (*DomainRepository) MarkAsScanned ¶
func (r *DomainRepository) MarkAsScanned(name string) error
func (*DomainRepository) SelectByName ¶
func (r *DomainRepository) SelectByName(name string) (*Domain, error)
type ScanTracker ¶
type ScanTrackerRepository ¶
type ScanTrackerRepository struct {
// contains filtered or unexported fields
}
func NewScanTrackerRepository ¶
func NewScanTrackerRepository(db *DB) *ScanTrackerRepository
func (*ScanTrackerRepository) CreateTable ¶
func (r *ScanTrackerRepository) CreateTable() error
func (*ScanTrackerRepository) IsScanCompleted ¶
func (r *ScanTrackerRepository) IsScanCompleted(domainID int, toolName string) (bool, error)
Check if scan is completed
func (*ScanTrackerRepository) MarkScanCompleted ¶
func (r *ScanTrackerRepository) MarkScanCompleted(domainID int, toolName string) error
Mark scan completed using FULL UPSERT
func (*ScanTrackerRepository) MarkScanTimedOut ¶
func (r *ScanTrackerRepository) MarkScanTimedOut(domainID int, toolName string) error
Mark scan completed using FULL UPSERT
func (*ScanTrackerRepository) UpdateScanStatus ¶
func (r *ScanTrackerRepository) UpdateScanStatus(domainID int, toolName, status string) error
Update status manually
func (*ScanTrackerRepository) WasScanTimedOut ¶ added in v0.7.5
func (r *ScanTrackerRepository) WasScanTimedOut(domainID int, toolName string) (bool, error)
Check if scan was timed out
type StringRepository ¶
type StringRepository struct {
*StringRepositoryBase
// contains filtered or unexported fields
}
STRING-ONLY REPOSITORIES
func NewCachexRepository ¶
func NewCachexRepository(db *DB) *StringRepository
func NewDnsXRepository ¶ added in v0.7.2
func NewDnsXRepository(db *DB) *StringRepository
func NewGauRepository ¶
func NewGauRepository(db *DB) *StringRepository
func NewHttpxRepository ¶
func NewHttpxRepository(db *DB) *StringRepository
func NewKatanaRepository ¶
func NewKatanaRepository(db *DB) *StringRepository
func NewNucleiRepository ¶
func NewNucleiRepository(db *DB) *StringRepository
func NewStringRepository ¶
func NewStringRepository(db *DB, tableName, valueColumn, createSQL, insertSQL string) *StringRepository
NewStringRepository creates a new string-only repo.
func NewSubfinderRepository ¶
func NewSubfinderRepository(db *DB) *StringRepository
INDIVIDUAL TOOL REPOS
func NewUroRepository ¶
func NewUroRepository(db *DB) *StringRepository
type StringRepositoryBase ¶
type StringRepositoryBase struct {
// contains filtered or unexported fields
}
func NewStringRepositoryBase ¶
func NewStringRepositoryBase(db *DB, tableName, createSQL, insertSQL string) *StringRepositoryBase
NewStringRepositoryBase creates a new string-only repo.
func (*StringRepositoryBase) BulkInsert ¶
func (r *StringRepositoryBase) BulkInsert(domainID int, items []string) error
BulkInsert inserts many string rows for a domain.
func (*StringRepositoryBase) CreateTable ¶
func (r *StringRepositoryBase) CreateTable() error
CreateTable runs the CREATE TABLE query.
type ToolsRepository ¶
type ToolsRepository struct {
Subfinder *StringRepository
Httpx *StringRepository
Gau *StringRepository
Katana *StringRepository
Nuclei *StringRepository
Cachex *StringRepository
Uro *StringRepository
DnsX *StringRepository
// contains filtered or unexported fields
}
NewToolsRepository should be used to obtain a fully initialized ToolsRepository.
func NewToolsRepository ¶
func NewToolsRepository(db *DB) *ToolsRepository
func (*ToolsRepository) CreateTables ¶
func (tr *ToolsRepository) CreateTables() error