model

package
v0.0.0-...-4132d1e Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DIR = "/etc/powerful_dns"
	//db name
	DOMAINS = "domains.db"
)

Variables

View Source
var (
	DbDomains     *sql.DB
	RedisInstance *redis.Client
	Gravity       []string
	Blacklist     []string
	Whitelist     []string
	Queries       []Query
)

Functions

func AddBlacklist

func AddBlacklist(v string) []string

func AddQuery

func AddQuery(domain, clientip string, t time.Time, status string, isblocked string)

TODO this function is called in go routine. meaning, var last_time is not accurately, thus organizer_domain does not make sense TODO employ better organizer: API domain is interfering Ideas - Special domain list - White listed domain -> organizer - Frequest domain that often requested first -> API???

func DeleteBlacklist

func DeleteBlacklist(v string) []string

func GetDomainIPv4

func GetDomainIPv4(domain string) string

func GetDomainIPv6

func GetDomainIPv6(domain string) string

func IsBlocked

func IsBlocked(domain string) bool

func ReadSliceFrom

func ReadSliceFrom(table sqlTable) []string

ReadSliceFrom reads single string from table and return []string

func ReverseSlice

func ReverseSlice(a []string) []string

func SetDomainIPv4

func SetDomainIPv4(domain string, ipv4 string, ttl time.Duration)

func SetDomainIPv6

func SetDomainIPv6(domain string, ipv6 string, ttl time.Duration)

func UpdateBlacklist

func UpdateBlacklist(new string, old string) []string

Types

type Query

type Query struct {
	Domain          string
	ClientIP        string
	Timestamp       string
	Diff            int64
	OrganizerDomain string
	Status          string
	IsBlocked       string //"yes" "no"
}

func ReadQuery

func ReadQuery() []Query

func ReverseQuery

func ReverseQuery(queries []Query) []Query

Jump to

Keyboard shortcuts

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