mirror of
https://github.com/SagerNet/sing-box.git
synced 2024-11-14 04:43:17 +00:00
34 lines
672 B
Go
34 lines
672 B
Go
|
package protocol
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"net"
|
||
|
)
|
||
|
|
||
|
type origin struct{}
|
||
|
|
||
|
func init() { register("origin", newOrigin, 0) }
|
||
|
|
||
|
func newOrigin(b *Base) Protocol { return &origin{} }
|
||
|
|
||
|
func (o *origin) StreamConn(c net.Conn, iv []byte) net.Conn { return c }
|
||
|
|
||
|
func (o *origin) PacketConn(c net.PacketConn) net.PacketConn { return c }
|
||
|
|
||
|
func (o *origin) Decode(dst, src *bytes.Buffer) error {
|
||
|
dst.ReadFrom(src)
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (o *origin) Encode(buf *bytes.Buffer, b []byte) error {
|
||
|
buf.Write(b)
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (o *origin) DecodePacket(b []byte) ([]byte, error) { return b, nil }
|
||
|
|
||
|
func (o *origin) EncodePacket(buf *bytes.Buffer, b []byte) error {
|
||
|
buf.Write(b)
|
||
|
return nil
|
||
|
}
|