Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyDuplex ¶
Types ¶
type Client ¶
type Client struct {
Debug bool `long:"debug"`
TLS ClientTLS `group:"tls" namespace:"tls"`
NetNs NetworkNamespace `group:"netns" namespace:"netns"`
Addr string `long:"addr" description:"connect to address"`
SourceIP string `long:"source-ip" description:"IP used as source address"`
Ctx context.Context
}
type ClientTLS ¶
type Cloneflags ¶
type Cloneflags struct {
AllowPTRACE bool
ClearTID bool
CloneTID bool
DisablePTRACE bool
JoinCGroup bool
ParentPidfd bool
ParentTID bool
PrivateCGroup bool
PrivateClock bool
PrivateIO bool
PrivateIPC bool
PrivateMounts bool
PrivateNetwork bool
PrivatePID bool
PrivateUsers bool
PrivateUTS bool
PrivateTLS bool
ProtectSignals bool
ResetSignals bool
SetVFORK bool
SetPPID bool
SetThread bool
SetSystemV bool
SysProcAttr *syscall.SysProcAttr
Errors []error
// contains filtered or unexported fields
}
func NewCloneflags ¶
func NewCloneflags() (*Cloneflags, error)
func (*Cloneflags) Set ¶
func (c *Cloneflags) Set() *syscall.SysProcAttr
type KernelVersion ¶
func NewKernelVersion ¶
func NewKernelVersion() (*KernelVersion, error)
func (*KernelVersion) Ok ¶
func (k *KernelVersion) Ok(version KernelVersion) bool
type Listen ¶
type Listen struct {
Debug bool `long:"debug"`
TLS ListenTLS `group:"tls" namespace:"tls"`
NetNs NetworkNamespace `group:"netns" namespace:"netns"`
Addr string `long:"addr" description:"listen on address"`
User string `long:"user" description:"change to user on listen thread"`
Group string `long:"group" description:"change to group on listen thread"`
UID int `long:"uid" description:"change user on listen thread"`
GID int `long:"gid" description:"change group on listen thread"`
Fork bool `long:"fork" description:"fork listen process"`
Ctx context.Context
// contains filtered or unexported fields
}
type ListenTLS ¶
type NetworkNamespace ¶
type NetworkNamespace struct {
DockerName string `long:"docker-name" description:"A docker identifier"`
NetName string `long:"net-name" description:"A iproute2 netns name"`
Path string `long:"path" description:"A netns path"`
SystemdUnit string `long:"systemd-unit" description:"A systemd unit name"`
PID int `long:"pid" description:"Process ID of a running process"`
TID int `long:"tid" description:"Thread ID of a running thread inside a process"`
Ctx context.Context
Debug bool `long:"debug"`
// contains filtered or unexported fields
}
func (*NetworkNamespace) ChangeEveryThread ¶
func (n *NetworkNamespace) ChangeEveryThread() error
func (*NetworkNamespace) Close ¶
func (n *NetworkNamespace) Close()
func (*NetworkNamespace) Enter ¶
func (n *NetworkNamespace) Enter() (err error, ok bool)
func (*NetworkNamespace) Exit ¶
func (n *NetworkNamespace) Exit() (err error)
Click to show internal directories.
Click to hide internal directories.