mumble

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ACL

type ACL struct {
	ChannelID uint32
	ApplyHere bool
	ApplySubs bool
	UserID    int32
	Group     string
	Grant     Permission
	Deny      Permission
}

ACL represents an access control list entry for a channel.

type BanEntry

type BanEntry struct {
	Address  []byte
	Mask     uint32
	Name     string
	Hash     string
	Reason   string
	Start    string
	Duration uint32
}

BanEntry represents a server ban (IP or certificate hash).

type Channel

type Channel struct {
	ID          uint32
	ParentID    uint32
	Name        string
	Description string
	Position    int32
	MaxUsers    uint32
	IsTemporary bool
	Links       []uint32
	InheritACL  bool // inherit ACLs from parent; false = override
}

Channel represents a Mumble channel in the channel tree. Channel ID 0 is the root channel.

type Group

type Group struct {
	Name             string
	Inherit          bool
	Inheritable      bool
	Add              []uint32
	Remove           []uint32
	InheritedMembers []uint32
}

Group represents a channel group (named set of users).

type Permission

type Permission uint32

Permission represents the Mumble permission bitmask. See docs/protocol/permissions.md for full definitions.

const (
	PermissionNone            Permission = 0
	PermissionWrite           Permission = 0x1
	PermissionTraverse        Permission = 0x2
	PermissionEnter           Permission = 0x4
	PermissionSpeak           Permission = 0x8
	PermissionMuteDeafen      Permission = 0x10
	PermissionMove            Permission = 0x20
	PermissionMakeChannel     Permission = 0x40
	PermissionLinkChannel     Permission = 0x80
	PermissionWhisper         Permission = 0x100
	PermissionTextMessage     Permission = 0x200
	PermissionMakeTempChannel Permission = 0x400
	PermissionListen          Permission = 0x800
	// Root-only permissions (handled specially)
	PermissionKick         Permission = 0x10000
	PermissionBan          Permission = 0x20000
	PermissionRegister     Permission = 0x40000
	PermissionSelfRegister Permission = 0x80000
	PermissionResetUser    Permission = 0x100000
	PermissionCached       Permission = 0x8000000
	PermissionAll          Permission = 0xF07FF
)

type TextMessage

type TextMessage struct {
	Actor     uint32
	Session   []uint32
	ChannelID []uint32
	TreeID    []uint32
	Message   string
}

TextMessage represents a Mumble text message (channel, private, or tree).

type User

type User struct {
	SessionID      uint32
	UserID         uint32
	ChannelID      uint32
	Name           string
	AccessTokens   []string // from Authenticate message, for token groups
	Mute           bool
	Deaf           bool
	Suppress       bool
	SelfMute       bool
	SelfDeaf       bool
	PluginIdentity string
	PluginContext  []byte
	Texture        []byte
	Comment        string
	// Address is the client's remote address (host, no port) for display.
	Address string
	// Ping is the client's reported TCP ping in milliseconds (from last Ping message).
	Ping float32
	// CertHash is the SHA-1 hex fingerprint of the client's TLS certificate (lowercase).
	// Empty if the client did not present a certificate.
	CertHash string
	// CryptoMode is the negotiated UDP crypto tier: "lite", "legacy", or "secure".
	CryptoMode string
}

User represents a connected Mumble user (client session).

type Version

type Version struct {
	Major uint32
	Minor uint32
	Patch uint32
}

Version encodes/decodes Mumble protocol version (major.minor.patch). Major and minor form the protocol version; patch is implementation-specific.

type VoiceTarget

type VoiceTarget struct {
	ID      uint32
	Targets []VoiceTargetEntry
}

VoiceTarget defines a whisper target (users, channels, or groups). Voice target ID 0 = normal talk (current + linked channels). Voice target ID 31 = server loopback.

type VoiceTargetEntry

type VoiceTargetEntry struct {
	Type      uint32 // 0=normal, 1=channel, 2=group, 3=session
	Session   uint32
	ChannelID uint32
	Group     string
	Links     bool
	Children  bool
}

VoiceTargetEntry is a single target within a VoiceTarget.

Directories

Path Synopsis
Package crypto provides CryptState for UDP voice packet encryption.
Package crypto provides CryptState for UDP voice packet encryption.
ocb2
Package ocb2 implements OCB2-AES128 for Mumble legacy mode compatibility.
Package ocb2 implements OCB2-AES128 for Mumble legacy mode compatibility.
messages
Package messages provides native Go structs for Mumble protocol messages.
Package messages provides native Go structs for Mumble protocol messages.
wire
Package wire provides hand-written protobuf wire-format encoding for Mumble protocol messages.
Package wire provides hand-written protobuf wire-format encoding for Mumble protocol messages.

Jump to

Keyboard shortcuts

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