Documentation ¶
Index ¶
- Variables
- func AnalyseAttachment(filename string, ct string, r io.Reader, t extractors.ExifTool, l log15.Logger) (*models.Attachment, error)
- func AnalyzeArchive(typ types.Type, reader *bytes.Reader, size int64, logger log15.Logger) (*models.Archive, error)
- func AnalyzeRar(reader io.Reader, logger log15.Logger) (*models.Archive, error)
- func AnalyzeTar(reader io.Reader, logger log15.Logger) (*models.Archive, error)
- func AnalyzeZip(reader io.ReaderAt, size int64, logger log15.Logger) (*models.Archive, error)
- func ParseAddress(addr string) (*mail.Address, error)
- func ParseAddressList(addrs string) ([]*mail.Address, error)
- func ParsePart(part io.Reader, tool extractors.ExifTool, logger log15.Logger) (string, string, []string, []*models.Attachment)
- func StringDecode(text string) (string, error)
- func WordDecode(word string) (string, error)
- type Params
- type Parser
Constants ¶
This section is empty.
Variables ¶
View Source
var Service = fx.Provide(func(lc fx.Lifecycle, params Params) Parser { var nbWorkers = int(1) if params.Args != nil { nbWorkers = params.Args.NbParsers } logger := params.Logger if logger == nil { logger = log15.New() logger.SetHandler(log15.DiscardHandler()) } p := NewParser( nbWorkers, params.Args.NoDKIM, params.Collector, params.Consumer, params.GeoIP, params.Tool, params.Phishtank, logger, ) utils.Append(lc, p, logger) return p })
Functions ¶
func AnalyseAttachment ¶
func AnalyzeArchive ¶
func AnalyzeZip ¶
func StringDecode ¶
StringDecode splits text to list of words, decodes every word and assembles it back into a decoded string
func WordDecode ¶
WordDecode decodes word if necessary and returns decoded data
Types ¶
type Params ¶
type Params struct { fx.In Args *arguments.Args `optional:"true"` Collector collectors.Collector `optional:"true"` Consumer consumers.Consumer `optional:"true"` Tool extractors.ExifTool `optional:"true"` GeoIP utils.GeoIP `optional:"true"` Phishtank phishtank.Phishtank `optional:"true"` Logger log15.Logger `optional:"true"` }
type Parser ¶
type Parser interface { utils.Service utils.Startable Parse(i *models.IncomingMail) (*models.FeaturesMail, error) ParseMany(context.Context, <-chan *models.IncomingMail, chan<- *models.FeaturesMail) }
Click to show internal directories.
Click to hide internal directories.