Fingerprints
![Status](https://img.shields.io/badge/status-beta-yellow.svg)
Fingerprints is a user detection library intended to aid in finding spam accounts
Usage
New
func ExampleNew() {
var err error
if testController, err = New("./data"); err != nil {
log.Fatal(err)
}
}
Controller.New
func ExampleController_New() {
var (
i Identifiers
err error
)
i.IPAddress = "64.233.191.255"
i.UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"
i.AcceptLanguage = "en-US,en;q=0.9,de-DE;q=0.8,de;q=0.7"
if err = testController.New(context.Background(), "user_0", i); err != nil {
log.Fatal(err)
}
}
Controller.GetByIP
func ExampleController_GetByIP() {
var (
es []*Entry
err error
)
if es, err = testController.GetByIP("[IP Address]"); err != nil {
log.Fatal(err)
}
fmt.Println("Matching entries", es)
}
Controller.GetByUserAgent
func ExampleController_GetByUserAgent() {
var (
es []*Entry
err error
)
if es, err = testController.GetByUserAgent("[User Agent]"); err != nil {
log.Fatal(err)
}
fmt.Println("Matching entries", es)
}
Controller.GetMatches
func ExampleController_GetMatches() {
var (
i Identifiers
es []*Entry
err error
)
i.IPAddress = "64.233.191.255"
i.UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"
i.AcceptLanguage = "en-US,en;q=0.9,de-DE;q=0.8,de;q=0.7"
if es, err = testController.GetMatches(i); err != nil {
log.Fatal(err)
}
fmt.Println("Matching entries", es)
}
Controller.GetMatches (ip only)
func ExampleController_GetMatches_ip_only() {
var (
i Identifiers
es []*Entry
err error
)
i.IPAddress = "64.233.191.255"
if es, err = testController.GetMatches(i); err != nil {
log.Fatal(err)
}
fmt.Println("Matching entries", es)
}
Controller.GetMatches (user agent only)
func ExampleController_GetMatches_user_agent_only() {
var (
i Identifiers
es []*Entry
err error
)
i.UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"
if es, err = testController.GetMatches(i); err != nil {
log.Fatal(err)
}
fmt.Println("Matching entries", es)
}
Controller.GetDuplicates
func ExampleController_GetDuplicates() {
var (
dups map[string]stringset.Map
err error
)
if dups, err = testController.GetDuplicates(); err != nil {
log.Fatal(err)
}
fmt.Println("Duplicates", dups)
}