Documentation
¶
Index ¶
- Constants
- Variables
- func NewTCPTracker(conn net.Conn, ctx Context) *tcpTracker
- func NewUDPTracker(conn net.PacketConn, ctx Context) *udpTracker
- type ConnectionSnapshot
- type Context
- type Snapshot
- type Tracker
- type TrackerInfo
- type TrackerManager
- func (manager *TrackerManager) Add(tracker Tracker)
- func (manager *TrackerManager) CloseAll()
- func (manager *TrackerManager) DumpSnapshot() Snapshot
- func (manager *TrackerManager) Remove(tracker Tracker)
- func (manager *TrackerManager) Reset()
- func (manager *TrackerManager) TrafficSpeed() (download, upload int64)
Constants ¶
View Source
const ( TrafficSpeedTime = 2 * time.Second TrafficSnapshotTime = 5 * time.Second )
Variables ¶
View Source
var EnableStatistic = false
Functions ¶
func NewTCPTracker ¶
func NewUDPTracker ¶
func NewUDPTracker(conn net.PacketConn, ctx Context) *udpTracker
Types ¶
type ConnectionSnapshot ¶
type Context ¶
type Context struct {
Src string `json:"src"` // client remote ip address
Dst string `json:"dst"` // target domain name or ip address
Network string `json:"network"` // connection network ['tcp', 'udp']
Type string `json:"type"` // connection type ['socks', 'http', 'tcp-tun', 'udp-tun', 'simple-tcp-tun']
Rule string `json:"rule"` // matched rule type
Proxy string `json:"proxy"` // matched proxy
// contains filtered or unexported fields
}
type Snapshot ¶
type Snapshot struct {
DownloadTotal int64 `json:"download_total"`
UploadTotal int64 `json:"upload_total"`
Connections []*ConnectionSnapshot `json:"connections"`
}
type TrackerInfo ¶
type TrackerInfo struct {
Context
// contains filtered or unexported fields
}
type TrackerManager ¶
type TrackerManager struct {
// contains filtered or unexported fields
}
var DefaultManager *TrackerManager = NewTrackerManager()
func NewTrackerManager ¶
func NewTrackerManager() *TrackerManager
func (*TrackerManager) Add ¶
func (manager *TrackerManager) Add(tracker Tracker)
func (*TrackerManager) CloseAll ¶
func (manager *TrackerManager) CloseAll()
func (*TrackerManager) DumpSnapshot ¶
func (manager *TrackerManager) DumpSnapshot() Snapshot
func (*TrackerManager) Remove ¶
func (manager *TrackerManager) Remove(tracker Tracker)
func (*TrackerManager) Reset ¶
func (manager *TrackerManager) Reset()
func (*TrackerManager) TrafficSpeed ¶
func (manager *TrackerManager) TrafficSpeed() (download, upload int64)
Click to show internal directories.
Click to hide internal directories.