Add admin panel, manager, node_manager, bandwidth limiter, connection limiter, bonding, failover, vless encryption, mkcp transport

This commit is contained in:
Shtorm
2026-02-26 22:44:31 +03:00
parent 0f38dbba4c
commit ded1eb9635
115 changed files with 12582 additions and 301 deletions

View File

@@ -0,0 +1,36 @@
package v2raykcp
import (
"io"
"sync"
)
type SegmentWriter interface {
Write(Segment) error
}
type SimpleSegmentWriter struct {
sync.Mutex
buffer []byte
writer io.Writer
}
func NewSegmentWriter(writer io.Writer) SegmentWriter {
return &SimpleSegmentWriter{
buffer: make([]byte, 2048),
writer: writer,
}
}
func (w *SimpleSegmentWriter) Write(seg Segment) error {
w.Lock()
defer w.Unlock()
segSize := seg.ByteSize()
if int(segSize) > len(w.buffer) {
w.buffer = make([]byte, segSize)
}
seg.Serialize(w.buffer[:segSize])
_, err := w.writer.Write(w.buffer[:segSize])
return err
}