Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func URLReflection ¶
URLReflection returns a reversed part of the URL payload which is checked in the response.
Types ¶
type DNSServer ¶
type DNSServer struct { TxtRecord string // used for ACME verification // contains filtered or unexported fields }
DNSServer is a DNS server instance that listens on port 53.
func NewDNSServer ¶
NewDNSServer returns a new DNS server.
func (*DNSServer) ListenAndServe ¶
ListenAndServe listens on dns ports for the server.
type DeregisterRequest ¶
type DeregisterRequest struct { // CorrelationID is an ID for correlation with requests. CorrelationID string `json:"correlation-id"` // SecretKey is the secretKey for the ooblistener client. SecretKey string `json:"secret-key"` }
DeregisterRequest is a request for client deregistration to ooblistener server.
type HTTPServer ¶
type HTTPServer struct {
// contains filtered or unexported fields
}
HTTPServer is a http server instance that listens both TLS and Non-TLS based servers.
func NewHTTPServer ¶
func NewHTTPServer(options *Options) (*HTTPServer, error)
NewHTTPServer returns a new TLS & Non-TLS HTTP server.
func (*HTTPServer) ListenAndServe ¶
func (h *HTTPServer) ListenAndServe(tlsConfig *tls.Config, httpAlive, httpsAlive chan bool)
ListenAndServe listens on http and/or https ports for the server.
type Interaction ¶
type Interaction struct { // Protocol for interaction, can contains HTTP/DNS/SMTP,etc. Protocol string `json:"protocol"` // UniqueID is the uniqueID for the subdomain receiving the interaction. UniqueID string `json:"unique-id"` // FullId is the full path for the subdomain receiving the interaction. FullId string `json:"full-id"` // QType is the question type for the interaction QType string `json:"q-type,omitempty"` // RawRequest is the raw request received by the ooblistener server. RawRequest string `json:"raw-request,omitempty"` // RawResponse is the raw response sent by the ooblistener server. RawResponse string `json:"raw-response,omitempty"` // SMTPFrom is the mail form field SMTPFrom string `json:"smtp-from,omitempty"` // RemoteAddress is the remote address for interaction RemoteAddress string `json:"remote-address"` // Timestamp is the timestamp for the interaction Timestamp time.Time `json:"timestamp"` }
Interaction is an interaction received to the server.
type Options ¶
type Options struct { // Domain is the domain for the instance. Domain string // IPAddress is the IP address of the current server. IPAddress string // ListenIP is the IP address to listen servers on ListenIP string // DomainPort is the port to listen DNS servers on DnsPort int // HttpPort is the port to listen HTTP server on HttpPort int // HttpsPort is the port to listen HTTPS server on HttpsPort int // SmbPort is the port to listen Smb server on SmbPort int // SmtpPort is the port to listen Smtp server on SmtpPort int // SmtpsPort is the port to listen Smtps server on SmtpsPort int // SmtpAutoTLSPort is the port to listen Smtp autoTLS server on SmtpAutoTLSPort int // FtpPort is the port to listen Ftp server on FtpPort int // FtpPort is the port to listen Ftp server on LdapPort int // Hostmaster is the hostmaster email for the server. Hostmaster string // Storage is a storage for interaction data storage Storage *storage.Storage // Auth requires client to authenticate Auth bool // Token required to retrieve interactions Token string // Enable root tld interactions RootTLD bool // OriginURL for the HTTP Server OriginURL string // FTPDirectory or temporary one FTPDirectory string ACMEStore *acme.Provider }
Options contains configuration options for the servers
type PollResponse ¶
type PollResponse struct { Data []string `json:"data"` Extra []string `json:"extra"` AESKey string `json:"aes_key"` TLDData []string `json:"tlddata,omitempty"` }
PollResponse is the response for a polling request
type RegisterRequest ¶
type RegisterRequest struct { // PublicKey is the public RSA Key of the client. PublicKey string `json:"public-key"` // SecretKey is the secret-key for correlation ID registered for the client. SecretKey string `json:"secret-key"` // CorrelationID is an ID for correlation with requests. CorrelationID string `json:"correlation-id"` }
RegisterRequest is a request for client registration to ooblistener server.
type SMTPServer ¶
type SMTPServer struct {
// contains filtered or unexported fields
}
SMTPServer is a smtp server instance that listens both TLS and Non-TLS based servers.
func NewSMTPServer ¶
func NewSMTPServer(options *Options) (*SMTPServer, error)
NewSMTPServer returns a new TLS & Non-TLS SMTP server.
func (*SMTPServer) ListenAndServe ¶
func (h *SMTPServer) ListenAndServe(tlsConfig *tls.Config, smtpAlive, smtpsAlive, smtpsAutoTlsAlive chan bool)
ListenAndServe listens on smtp and/or smtps ports for the server.
Directories ¶
Path | Synopsis |
---|---|
Taken from https://github.com/chinzhiweiblank/coredns-acme/blob/e0cdfbdd78adfcc6c2d098255902f64ec60daecb/provider.go Copyright @chinzhiweiblank under Apache License 2.0
|
Taken from https://github.com/chinzhiweiblank/coredns-acme/blob/e0cdfbdd78adfcc6c2d098255902f64ec60daecb/provider.go Copyright @chinzhiweiblank under Apache License 2.0 |