server

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CapableZlib      = 0x0001
	CapableIPInLogin = 0x0002
	CapableAuxPort   = 0x0004
	CapableNewTags   = 0x0008
	CapableUnicode   = 0x0010
	CapableLargeFile = 0x0100

	JED2KVersionMajor = 1
	JED2KVersionMinor = 1
	JED2KVersionTiny  = 0
)
View Source
const CryptOptionObfuUserHash = 0x80

Variables

This section is empty.

Functions

func NewPacketCombiner

func NewPacketCombiner() protocol.PacketCombiner

Types

type CallbackRequest

type CallbackRequest struct {
	ClientID int32
}

func (CallbackRequest) BytesCount

func (c CallbackRequest) BytesCount() int

func (*CallbackRequest) Get

func (c *CallbackRequest) Get(src *bytes.Reader) error

func (CallbackRequest) Put

func (c CallbackRequest) Put(dst *bytes.Buffer) error

type CallbackRequestFailed

type CallbackRequestFailed struct {
	protocol.WithoutDataPacket
}

type CallbackRequestIncoming

type CallbackRequestIncoming struct {
	Point protocol.Endpoint
}

func (CallbackRequestIncoming) BytesCount

func (c CallbackRequestIncoming) BytesCount() int

func (*CallbackRequestIncoming) Get

func (CallbackRequestIncoming) Put

type FoundFileSources

type FoundFileSources struct {
	Hash    protocol.Hash
	Sources []protocol.Endpoint
}

func (FoundFileSources) BytesCount

func (f FoundFileSources) BytesCount() int

func (*FoundFileSources) Get

func (f *FoundFileSources) Get(src *bytes.Reader) error

func (FoundFileSources) Put

func (f FoundFileSources) Put(dst *bytes.Buffer) error

type FoundFileSourcesObfu added in v0.1.3

type FoundFileSourcesObfu struct {
	Hash    protocol.Hash
	Sources []ObfuFileSource
}

FoundFileSourcesObfu:server -> client,混淆来源列表。 布局:16 字节 hash + 1 字节数量 + 每条目(4 字节 ID + 2 字节端口 + 1 字节混淆设置 [+ 16 字节 UserHash 若 settings&0x80])。

func (FoundFileSourcesObfu) BytesCount added in v0.1.3

func (f FoundFileSourcesObfu) BytesCount() int

func (*FoundFileSourcesObfu) Get added in v0.1.3

func (f *FoundFileSourcesObfu) Get(src *bytes.Reader) error

func (FoundFileSourcesObfu) Put added in v0.1.3

func (f FoundFileSourcesObfu) Put(dst *bytes.Buffer) error

type GetFileSources

type GetFileSources struct {
	Hash    protocol.Hash
	LowPart int32
	HiPart  int32
}

func (GetFileSources) BytesCount

func (g GetFileSources) BytesCount() int

func (*GetFileSources) Get

func (g *GetFileSources) Get(src *bytes.Reader) error

func (GetFileSources) Put

func (g GetFileSources) Put(dst *bytes.Buffer) error

type GetFileSourcesObfu added in v0.1.3

type GetFileSourcesObfu GetFileSources

GetFileSourcesObfu 与 GetFileSources 载荷相同,仅操作码为 OP_GETSOURCES_OBFU (0x23)。

func (GetFileSourcesObfu) BytesCount added in v0.1.3

func (g GetFileSourcesObfu) BytesCount() int

func (*GetFileSourcesObfu) Get added in v0.1.3

func (g *GetFileSourcesObfu) Get(src *bytes.Reader) error

func (GetFileSourcesObfu) Put added in v0.1.3

func (g GetFileSourcesObfu) Put(dst *bytes.Buffer) error

type GetList

type GetList struct{}

func (GetList) BytesCount

func (g GetList) BytesCount() int

func (*GetList) Get

func (g *GetList) Get(_ *bytes.Reader) error

func (GetList) Put

func (g GetList) Put(_ *bytes.Buffer) error

type IdChange

type IdChange struct {
	ClientID           int32
	TCPFlags           int32
	AuxPort            int32
	ReportedIP         uint32
	ObfuscationTCPPort uint32
}

func (IdChange) BytesCount

func (i IdChange) BytesCount() int

func (*IdChange) Get

func (i *IdChange) Get(src *bytes.Reader) error

func (IdChange) Put

func (i IdChange) Put(dst *bytes.Buffer) error

type LoginRequest

type LoginRequest struct {
	Hash       protocol.Hash
	Point      protocol.Endpoint
	Properties protocol.TagList
}

func NewLoginRequest

func NewLoginRequest(userAgent protocol.Hash, listenPort int, clientName string) LoginRequest

func (LoginRequest) BytesCount

func (l LoginRequest) BytesCount() int

func (*LoginRequest) Get

func (l *LoginRequest) Get(src *bytes.Reader) error

func (LoginRequest) Put

func (l LoginRequest) Put(dst *bytes.Buffer) error

type Message

type Message struct {
	Value protocol.ByteContainer16
}

func (Message) AsString

func (m Message) AsString() string

func (Message) BytesCount

func (m Message) BytesCount() int

func (*Message) Get

func (m *Message) Get(src *bytes.Reader) error

func (Message) Put

func (m Message) Put(dst *bytes.Buffer) error

type ObfuFileSource added in v0.1.3

type ObfuFileSource struct {
	Endpoint     protocol.Endpoint
	CryptOptions uint8
	UserHash     protocol.Hash
}

ObfuFileSource 表示 OP_FOUNDSOURCES_OBFU (0x44) 中的单个来源。

type OfferFile

type OfferFile struct {
	Hash protocol.Hash
	Name string
	Size int64
}

type OfferFiles

type OfferFiles struct {
	Entries []SharedFileEntry
}

OfferFiles is the client-to-server shared file publish packet.

func NewOfferFiles

func NewOfferFiles(clientID int32, listenPort int, files []OfferFile) OfferFiles

func (OfferFiles) BytesCount

func (o OfferFiles) BytesCount() int

func (*OfferFiles) Get

func (o *OfferFiles) Get(src *bytes.Reader) error

func (OfferFiles) Put

func (o OfferFiles) Put(dst *bytes.Buffer) error

type SearchMore

type SearchMore struct{}

func (*SearchMore) BytesCount

func (*SearchMore) BytesCount() int

func (*SearchMore) Get

func (*SearchMore) Get(src *bytes.Reader) error

func (*SearchMore) Put

func (*SearchMore) Put(dst *bytes.Buffer) error

type SearchRequest

type SearchRequest struct {
	Query              string
	MinSize            int64
	MaxSize            int64
	MinSources         int
	MinCompleteSources int
	FileType           string
	Extension          string
}

func (*SearchRequest) BytesCount

func (s *SearchRequest) BytesCount() int

func (*SearchRequest) Get

func (s *SearchRequest) Get(src *bytes.Reader) error

func (*SearchRequest) Put

func (s *SearchRequest) Put(dst *bytes.Buffer) error

type SearchResult

type SearchResult struct {
	Results     []SharedFileEntry
	MoreResults bool
}

func (*SearchResult) BytesCount

func (s *SearchResult) BytesCount() int

func (*SearchResult) Get

func (s *SearchResult) Get(src *bytes.Reader) error

func (*SearchResult) Put

func (s *SearchResult) Put(dst *bytes.Buffer) error

type ServerMet

type ServerMet struct {
	Header  byte
	Servers []ServerMetEntry
}

func LoadServerMet

func LoadServerMet(path string) (*ServerMet, error)

func NewServerMet

func NewServerMet() ServerMet

func ParseServerMet

func ParseServerMet(data []byte) (*ServerMet, error)

func (*ServerMet) AddServer

func (m *ServerMet) AddServer(entry ServerMetEntry)

func (ServerMet) Addresses

func (m ServerMet) Addresses() []string

func (ServerMet) BytesCount

func (m ServerMet) BytesCount() int

func (*ServerMet) Get

func (m *ServerMet) Get(src *bytes.Reader) error

func (ServerMet) Put

func (m ServerMet) Put(dst *bytes.Buffer) error

type ServerMetEntry

type ServerMetEntry struct {
	Endpoint protocol.Endpoint
	Tags     protocol.TagList
}

func NewServerMetEntryFromHost

func NewServerMetEntryFromHost(host string, port int, name, description string) (ServerMetEntry, error)

func NewServerMetEntryFromIP

func NewServerMetEntryFromIP(ip string, port int, name, description string) (ServerMetEntry, error)

func (ServerMetEntry) Address

func (e ServerMetEntry) Address() string

func (ServerMetEntry) BytesCount

func (e ServerMetEntry) BytesCount() int

func (ServerMetEntry) Description

func (e ServerMetEntry) Description() string

func (*ServerMetEntry) Get

func (e *ServerMetEntry) Get(src *bytes.Reader) error

func (ServerMetEntry) Host

func (e ServerMetEntry) Host() string

func (ServerMetEntry) Name

func (e ServerMetEntry) Name() string

func (ServerMetEntry) Port

func (e ServerMetEntry) Port() int

func (ServerMetEntry) Put

func (e ServerMetEntry) Put(dst *bytes.Buffer) error

type SharedFileEntry

type SharedFileEntry struct {
	Hash     protocol.Hash
	ClientID int32
	Port     uint16
	Tags     protocol.TagList
}

func (*SharedFileEntry) BytesCount

func (s *SharedFileEntry) BytesCount() int

func (*SharedFileEntry) Get

func (s *SharedFileEntry) Get(src *bytes.Reader) error

func (*SharedFileEntry) Put

func (s *SharedFileEntry) Put(dst *bytes.Buffer) error

func (SharedFileEntry) StringTag

func (s SharedFileEntry) StringTag(id byte) (string, bool)

func (SharedFileEntry) UIntTag

func (s SharedFileEntry) UIntTag(id byte) (uint64, bool)

type Status

type Status struct {
	UsersCount int32
	FilesCount int32
}

func (Status) BytesCount

func (s Status) BytesCount() int

func (*Status) Get

func (s *Status) Get(src *bytes.Reader) error

func (Status) Put

func (s Status) Put(dst *bytes.Buffer) error

Jump to

Keyboard shortcuts

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