core

package
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2018 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Name    = "aquatone"
	Version = "1.4.2"
	Author  = "Michael Henriksen"
	Website = "https://github.com/michenriksen/aquatone"
)
View Source
const (
	Host          = "host"
	URL           = "url"
	URLResponsive = "url:responsive"
	TCPPort       = "port:tcp"
)
View Source
const (
	FATAL     = 5
	ERROR     = 4
	WARN      = 3
	IMPORTANT = 2
	INFO      = 1
	DEBUG     = 0
)
View Source
const (
	Template = `` /* 12226-byte string literal not displayed */

)

Variables

View Source
var (
	SmallPortList = []int{80, 443}

	MediumPortList = []int{80, 443, 8000, 8080, 8443}

	LargePortList = []int{80, 81, 443, 591, 2082, 2087, 2095, 2096, 3000, 8000, 8001,
		8008, 8080, 8083, 8443, 8834, 8888}

	XLargePortList = []int{80, 81, 300, 443, 591, 593, 832, 981, 1010, 1311,
		2082, 2087, 2095, 2096, 2480, 3000, 3128, 3333, 4243, 4567,
		4711, 4712, 4993, 5000, 5104, 5108, 5800, 6543, 7000, 7396,
		7474, 8000, 8001, 8008, 8014, 8042, 8069, 8080, 8081, 8088,
		8090, 8091, 8118, 8123, 8172, 8222, 8243, 8280, 8281, 8333,
		8443, 8500, 8834, 8880, 8888, 8983, 9000, 9043, 9060, 9080,
		9090, 9091, 9200, 9443, 9800, 9981, 12443, 16080, 18091, 18092,
		20720, 28017}
)

Functions

func Asset added in v1.4.0

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir added in v1.4.0

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo added in v1.4.0

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames added in v1.4.0

func AssetNames() []string

AssetNames returns the names of the assets.

func GetPageStructure

func GetPageStructure(body io.Reader) ([]string, error)

func GetSimilarity

func GetSimilarity(a, b []string) float64

func HostAndPortToURL

func HostAndPortToURL(host string, port int, protocol string) string

func MustAsset added in v1.4.0

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset added in v1.4.0

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets added in v1.4.0

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

Types

type Header struct {
	Name  string
	Value string
}

func (Header) IsInsecure

func (h Header) IsInsecure() bool

func (Header) IsSecure

func (h Header) IsSecure() bool

type Logger

type Logger struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*Logger) Debug

func (l *Logger) Debug(format string, args ...interface{})

func (*Logger) Error

func (l *Logger) Error(format string, args ...interface{})

func (*Logger) Fatal

func (l *Logger) Fatal(format string, args ...interface{})

func (*Logger) Important

func (l *Logger) Important(format string, args ...interface{})

func (*Logger) Info

func (l *Logger) Info(format string, args ...interface{})

func (*Logger) Log

func (l *Logger) Log(level int, format string, args ...interface{})

func (*Logger) SetDebug

func (l *Logger) SetDebug(d bool)

func (*Logger) SetSilent

func (l *Logger) SetSilent(s bool)

func (*Logger) Warn

func (l *Logger) Warn(format string, args ...interface{})

type Note added in v1.4.0

type Note struct {
	Text string
	Type string
}

type Options

type Options struct {
	Threads           *int
	OutDir            *string
	Proxy             *string
	ChromePath        *string
	Resolution        *string
	Ports             *string
	ScanTimeout       *int
	HTTPTimeout       *int
	ScreenshotTimeout *int
	Nmap              *bool
	SaveBody          *bool
	Silent            *bool
	Debug             *bool
}

func ParseOptions

func ParseOptions() (Options, error)

type Page

type Page struct {
	URL            string
	Status         string
	Headers        []Header
	HeadersPath    string
	BodyPath       string
	ScreenshotPath string
	HasScreenshot  bool
	Tags           []Tag
	Notes          []Note
}

func NewCluster

func NewCluster(urls []*ResponsiveURL, session *Session) ([]Page, error)

func NewPage

func NewPage(url *ResponsiveURL, session *Session) (Page, error)

func (*Page) AddHeader

func (p *Page) AddHeader(name string, value string)

type Report

type Report struct {
	Data ReportData
}

func NewReport

func NewReport(data ReportData) *Report

func (*Report) Render

func (r *Report) Render(dest io.Writer) error

type ReportData

type ReportData struct {
	Session  *Session
	Clusters [][]Page
}

type ResponsiveURL added in v1.4.0

type ResponsiveURL struct {
	URL   string
	Tags  []Tag
	Notes []Note
}

func (*ResponsiveURL) AddNote added in v1.4.0

func (u *ResponsiveURL) AddNote(n Note)

func (*ResponsiveURL) AddTag added in v1.4.0

func (u *ResponsiveURL) AddTag(t Tag)

type Session

type Session struct {
	sync.Mutex
	Version        string
	Options        Options `json:"-"`
	Out            *Logger `json:"-"`
	Stats          *Stats
	ResponsiveURLs map[string]*ResponsiveURL
	Ports          []int
	EventBus       EventBus.Bus                  `json:"-"`
	WaitGroup      sizedwaitgroup.SizedWaitGroup `json:"-"`
}

func NewSession

func NewSession() (*Session, error)

func (*Session) AddNoteToResponsiveURL added in v1.4.0

func (s *Session) AddNoteToResponsiveURL(url string, text string, noteType string)

func (*Session) AddResponsiveURL

func (s *Session) AddResponsiveURL(url string)

func (*Session) AddTagToResponsiveURL added in v1.4.0

func (s *Session) AddTagToResponsiveURL(url string, t string, tagType string, link string)

func (*Session) Asset added in v1.4.0

func (s *Session) Asset(name string) ([]byte, error)

func (*Session) BaseFilenameFromURL

func (s *Session) BaseFilenameFromURL(stru string) string

func (*Session) End

func (s *Session) End()

func (*Session) GetFilePath

func (s *Session) GetFilePath(p string) string

func (*Session) ReadFile

func (s *Session) ReadFile(p string) ([]byte, error)

func (*Session) Start

func (s *Session) Start()

type Stats

type Stats struct {
	StartedAt            time.Time
	FinishedAt           time.Time
	PortOpen             uint32
	PortClosed           uint32
	RequestSuccessful    uint32
	RequestFailed        uint32
	ResponseCode2xx      uint32
	ResponseCode3xx      uint32
	ResponseCode4xx      uint32
	ResponseCode5xx      uint32
	ScreenshotSuccessful uint32
	ScreenshotFailed     uint32
}

func (*Stats) Duration

func (s *Stats) Duration() time.Duration

func (*Stats) IncrementPortClosed

func (s *Stats) IncrementPortClosed()

func (*Stats) IncrementPortOpen

func (s *Stats) IncrementPortOpen()

func (*Stats) IncrementRequestFailed

func (s *Stats) IncrementRequestFailed()

func (*Stats) IncrementRequestSuccessful

func (s *Stats) IncrementRequestSuccessful()

func (*Stats) IncrementResponseCode2xx

func (s *Stats) IncrementResponseCode2xx()

func (*Stats) IncrementResponseCode3xx

func (s *Stats) IncrementResponseCode3xx()

func (*Stats) IncrementResponseCode4xx

func (s *Stats) IncrementResponseCode4xx()

func (*Stats) IncrementResponseCode5xx

func (s *Stats) IncrementResponseCode5xx()

func (*Stats) IncrementScreenshotFailed

func (s *Stats) IncrementScreenshotFailed()

func (*Stats) IncrementScreenshotSuccessful

func (s *Stats) IncrementScreenshotSuccessful()

type Tag added in v1.4.0

type Tag struct {
	Text string
	Type string
	Link string
}
func (t *Tag) HasLink() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL