sdk

package
v0.4.27 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const ZrokProxyConfig = "zrok.proxy.v1"

Variables

This section is empty.

Functions

func DeleteAccess

func DeleteAccess(root env_core.Root, acc *Access) error

func DeleteShare

func DeleteShare(root env_core.Root, shr *Share) error

func NewDialer

func NewDialer(shrToken string, root env_core.Root) (edge.Conn, error)

func NewListener

func NewListener(shrToken string, root env_core.Root) (edge.Listener, error)

func NewListenerWithOptions

func NewListenerWithOptions(shrToken string, root env_core.Root, opts *ziti.ListenOptions) (edge.Listener, error)

func Overview

func Overview(root env_core.Root) (string, error)

Types

type Access

type Access struct {
	Token       string
	ShareToken  string
	BackendMode BackendMode
}

func CreateAccess

func CreateAccess(root env_core.Root, request *AccessRequest) (*Access, error)

type AccessRequest

type AccessRequest struct {
	ShareToken string
}

type AuthScheme

type AuthScheme string
const (
	None  AuthScheme = "none"
	Basic AuthScheme = "basic"
	Oauth AuthScheme = "oauth"
)

func ParseAuthScheme

func ParseAuthScheme(authScheme string) (AuthScheme, error)

type AuthUserConfig

type AuthUserConfig struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type BackendMode

type BackendMode string
const (
	ProxyBackendMode     BackendMode = "proxy"
	WebBackendMode       BackendMode = "web"
	TcpTunnelBackendMode BackendMode = "tcpTunnel"
	UdpTunnelBackendMode BackendMode = "udpTunnel"
	CaddyBackendMode     BackendMode = "caddy"
	DriveBackendMode     BackendMode = "drive"
	SocksBackendMode     BackendMode = "socks"
	VpnBackendMode       BackendMode = "vpn"
)

type BasicAuthConfig

type BasicAuthConfig struct {
	Users []*AuthUserConfig `json:"users"`
}

type FrontendConfig

type FrontendConfig struct {
	AuthScheme AuthScheme       `json:"auth_scheme"`
	BasicAuth  *BasicAuthConfig `json:"basic_auth"`
	OauthAuth  *OauthConfig     `json:"oauth"`
}

type Metrics

type Metrics struct {
	Namespace string
	Sessions  map[string]SessionMetrics
}

type OauthConfig

type OauthConfig struct {
	Provider                   string   `json:"provider"`
	EmailDomains               []string `json:"email_domains"`
	AuthorizationCheckInterval string   `json:"authorization_check_interval"`
}

type PermissionMode added in v0.4.26

type PermissionMode string
const (
	OpenPermissionMode   PermissionMode = "open"
	ClosedPermissionMode PermissionMode = "closed"
)

type SessionMetrics

type SessionMetrics struct {
	BytesRead    int64
	BytesWritten int64
	LastUpdate   int64
}

type Share

type Share struct {
	Token             string   `json:"token"`
	FrontendEndpoints []string `json:"frontend_endpoints"`
}

func CreateShare

func CreateShare(root env_core.Root, request *ShareRequest) (*Share, error)

type ShareMode

type ShareMode string
const (
	PrivateShareMode ShareMode = "private"
	PublicShareMode  ShareMode = "public"
)

type ShareRequest

type ShareRequest struct {
	Reserved                        bool
	UniqueName                      string
	BackendMode                     BackendMode
	ShareMode                       ShareMode
	Target                          string
	Frontends                       []string
	BasicAuth                       []string
	OauthProvider                   string
	OauthEmailAddressPatterns       []string
	OauthAuthorizationCheckInterval time.Duration
	PermissionMode                  PermissionMode
	AccessGrants                    []string
}

Jump to

Keyboard shortcuts

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