Help us shape the future of Go! Take the 2026 Go Developer Survey

freedom

package
v1.8.4 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2023 License: MPL-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Config_DomainStrategy_name = map[int32]string{
		0: "AS_IS",
		1: "USE_IP",
		2: "USE_IP4",
		3: "USE_IP6",
	}
	Config_DomainStrategy_value = map[string]int32{
		"AS_IS":   0,
		"USE_IP":  1,
		"USE_IP4": 2,
		"USE_IP6": 3,
	}
)

Enum value maps for Config_DomainStrategy.

View Source
var File_proxy_freedom_config_proto protoreflect.FileDescriptor

Functions

func NewPacketReader

func NewPacketReader(conn net.Conn, UDPOverride net.Destination) buf.Reader

func NewPacketWriter

func NewPacketWriter(conn net.Conn, h *Handler, ctx context.Context, UDPOverride net.Destination) buf.Writer

Types

type Config

type Config struct {
	DomainStrategy Config_DomainStrategy `` /* 150-byte string literal not displayed */
	// Deprecated: Marked as deprecated in proxy/freedom/config.proto.
	Timeout             uint32               `protobuf:"varint,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
	DestinationOverride *DestinationOverride `protobuf:"bytes,3,opt,name=destination_override,json=destinationOverride,proto3" json:"destination_override,omitempty"`
	UserLevel           uint32               `protobuf:"varint,4,opt,name=user_level,json=userLevel,proto3" json:"user_level,omitempty"`
	Fragment            *Fragment            `protobuf:"bytes,5,opt,name=fragment,proto3" json:"fragment,omitempty"`
	// contains filtered or unexported fields
}

func (*Config) Descriptor deprecated

func (*Config) Descriptor() ([]byte, []int)

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetDestinationOverride

func (x *Config) GetDestinationOverride() *DestinationOverride

func (*Config) GetDomainStrategy

func (x *Config) GetDomainStrategy() Config_DomainStrategy

func (*Config) GetFragment

func (x *Config) GetFragment() *Fragment

func (*Config) GetTimeout deprecated

func (x *Config) GetTimeout() uint32

Deprecated: Marked as deprecated in proxy/freedom/config.proto.

func (*Config) GetUserLevel

func (x *Config) GetUserLevel() uint32

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) ProtoReflect

func (x *Config) ProtoReflect() protoreflect.Message

func (*Config) Reset

func (x *Config) Reset()

func (*Config) String

func (x *Config) String() string

type Config_DomainStrategy

type Config_DomainStrategy int32
const (
	Config_AS_IS   Config_DomainStrategy = 0
	Config_USE_IP  Config_DomainStrategy = 1
	Config_USE_IP4 Config_DomainStrategy = 2
	Config_USE_IP6 Config_DomainStrategy = 3
)

func (Config_DomainStrategy) Descriptor

func (Config_DomainStrategy) Enum

func (Config_DomainStrategy) EnumDescriptor deprecated

func (Config_DomainStrategy) EnumDescriptor() ([]byte, []int)

Deprecated: Use Config_DomainStrategy.Descriptor instead.

func (Config_DomainStrategy) Number

func (Config_DomainStrategy) String

func (x Config_DomainStrategy) String() string

func (Config_DomainStrategy) Type

type DestinationOverride

type DestinationOverride struct {
	Server *protocol.ServerEndpoint `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
	// contains filtered or unexported fields
}

func (*DestinationOverride) Descriptor deprecated

func (*DestinationOverride) Descriptor() ([]byte, []int)

Deprecated: Use DestinationOverride.ProtoReflect.Descriptor instead.

func (*DestinationOverride) GetServer

func (*DestinationOverride) ProtoMessage

func (*DestinationOverride) ProtoMessage()

func (*DestinationOverride) ProtoReflect

func (x *DestinationOverride) ProtoReflect() protoreflect.Message

func (*DestinationOverride) Reset

func (x *DestinationOverride) Reset()

func (*DestinationOverride) String

func (x *DestinationOverride) String() string

type Fragment

type Fragment struct {
	PacketsFrom uint64 `protobuf:"varint,1,opt,name=packets_from,json=packetsFrom,proto3" json:"packets_from,omitempty"`
	PacketsTo   uint64 `protobuf:"varint,2,opt,name=packets_to,json=packetsTo,proto3" json:"packets_to,omitempty"`
	LengthMin   uint64 `protobuf:"varint,3,opt,name=length_min,json=lengthMin,proto3" json:"length_min,omitempty"`
	LengthMax   uint64 `protobuf:"varint,4,opt,name=length_max,json=lengthMax,proto3" json:"length_max,omitempty"`
	IntervalMin uint64 `protobuf:"varint,5,opt,name=interval_min,json=intervalMin,proto3" json:"interval_min,omitempty"`
	IntervalMax uint64 `protobuf:"varint,6,opt,name=interval_max,json=intervalMax,proto3" json:"interval_max,omitempty"`
	// contains filtered or unexported fields
}

func (*Fragment) Descriptor deprecated

func (*Fragment) Descriptor() ([]byte, []int)

Deprecated: Use Fragment.ProtoReflect.Descriptor instead.

func (*Fragment) GetIntervalMax

func (x *Fragment) GetIntervalMax() uint64

func (*Fragment) GetIntervalMin

func (x *Fragment) GetIntervalMin() uint64

func (*Fragment) GetLengthMax

func (x *Fragment) GetLengthMax() uint64

func (*Fragment) GetLengthMin

func (x *Fragment) GetLengthMin() uint64

func (*Fragment) GetPacketsFrom

func (x *Fragment) GetPacketsFrom() uint64

func (*Fragment) GetPacketsTo

func (x *Fragment) GetPacketsTo() uint64

func (*Fragment) ProtoMessage

func (*Fragment) ProtoMessage()

func (*Fragment) ProtoReflect

func (x *Fragment) ProtoReflect() protoreflect.Message

func (*Fragment) Reset

func (x *Fragment) Reset()

func (*Fragment) String

func (x *Fragment) String() string

type FragmentWriter

type FragmentWriter struct {
	// contains filtered or unexported fields
}

func (*FragmentWriter) Write

func (f *FragmentWriter) Write(b []byte) (int, error)

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler handles Freedom connections.

func (*Handler) Init

func (h *Handler) Init(config *Config, pm policy.Manager, d dns.Client) error

Init initializes the Handler with necessary parameters.

func (*Handler) Process

func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer internet.Dialer) error

Process implements proxy.Outbound.

type PacketReader

type PacketReader struct {
	*internet.PacketConnWrapper
	stats.Counter
}

func (*PacketReader) ReadMultiBuffer

func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error)

type PacketWriter

type PacketWriter struct {
	*internet.PacketConnWrapper
	stats.Counter
	*Handler
	context.Context
	UDPOverride net.Destination
}

func (*PacketWriter) WriteMultiBuffer

func (w *PacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error

Jump to

Keyboard shortcuts

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