mirror of
https://github.com/nadoo/glider.git
synced 2025-02-23 17:35:40 +08:00
chore: optimize codes (golint) and github actions
This commit is contained in:
parent
40f75ef38b
commit
5b1a127d04
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -13,3 +13,5 @@ jobs:
|
|||||||
days-before-stale: 90
|
days-before-stale: 90
|
||||||
days-before-close: 5
|
days-before-close: 5
|
||||||
exempt-issue-labels: "bug,enhancement"
|
exempt-issue-labels: "bug,enhancement"
|
||||||
|
exempt-pr-labels: "bug,enhancement"
|
||||||
|
|
@ -10,8 +10,6 @@ import (
|
|||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
const IPV6_RECVORIGDSTADDR = 0x4a
|
|
||||||
|
|
||||||
// ref: https://github.com/LiamHaworth/go-tproxy/blob/master/tproxy_udp.go
|
// ref: https://github.com/LiamHaworth/go-tproxy/blob/master/tproxy_udp.go
|
||||||
// MIT License by @LiamHaworth
|
// MIT License by @LiamHaworth
|
||||||
|
|
||||||
@ -65,7 +63,7 @@ func ReadFromUDP(conn *net.UDPConn, b []byte) (int, *net.UDPAddr, *net.UDPAddr,
|
|||||||
port := binary.BigEndian.Uint16(msg.Data[2:4])
|
port := binary.BigEndian.Uint16(msg.Data[2:4])
|
||||||
return n, addr, &net.UDPAddr{IP: ip, Port: int(port)}, nil
|
return n, addr, &net.UDPAddr{IP: ip, Port: int(port)}, nil
|
||||||
}
|
}
|
||||||
if msg.Header.Level == syscall.SOL_IPV6 && msg.Header.Type == IPV6_RECVORIGDSTADDR {
|
if msg.Header.Level == syscall.SOL_IPV6 && msg.Header.Type == unix.IPV6_RECVORIGDSTADDR {
|
||||||
ip := net.IP(msg.Data[8:24])
|
ip := net.IP(msg.Data[8:24])
|
||||||
port := binary.BigEndian.Uint16(msg.Data[2:4])
|
port := binary.BigEndian.Uint16(msg.Data[2:4])
|
||||||
return n, addr, &net.UDPAddr{IP: ip, Port: int(port)}, nil
|
return n, addr, &net.UDPAddr{IP: ip, Port: int(port)}, nil
|
||||||
|
@ -18,11 +18,13 @@ type ChunkSizeDecoder interface {
|
|||||||
Decode([]byte) (uint16, error)
|
Decode([]byte) (uint16, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ShakeSizeParser implements ChunkSizeEncoder & ChunkSizeDecoder.
|
||||||
type ShakeSizeParser struct {
|
type ShakeSizeParser struct {
|
||||||
shake sha3.ShakeHash
|
shake sha3.ShakeHash
|
||||||
buffer [2]byte
|
buffer [2]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewShakeSizeParser returns a new ShakeSizeParser.
|
||||||
func NewShakeSizeParser(nonce []byte) *ShakeSizeParser {
|
func NewShakeSizeParser(nonce []byte) *ShakeSizeParser {
|
||||||
shake := sha3.NewShake128()
|
shake := sha3.NewShake128()
|
||||||
shake.Write(nonce)
|
shake.Write(nonce)
|
||||||
@ -31,6 +33,7 @@ func NewShakeSizeParser(nonce []byte) *ShakeSizeParser {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SizeBytes implements ChunkSizeEncoder method.
|
||||||
func (*ShakeSizeParser) SizeBytes() int32 {
|
func (*ShakeSizeParser) SizeBytes() int32 {
|
||||||
return 2
|
return 2
|
||||||
}
|
}
|
||||||
@ -40,12 +43,14 @@ func (s *ShakeSizeParser) next() uint16 {
|
|||||||
return binary.BigEndian.Uint16(s.buffer[:])
|
return binary.BigEndian.Uint16(s.buffer[:])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Decode implements ChunkSizeDecoder method.
|
||||||
func (s *ShakeSizeParser) Decode(b []byte) (uint16, error) {
|
func (s *ShakeSizeParser) Decode(b []byte) (uint16, error) {
|
||||||
mask := s.next()
|
mask := s.next()
|
||||||
size := binary.BigEndian.Uint16(b)
|
size := binary.BigEndian.Uint16(b)
|
||||||
return mask ^ size, nil
|
return mask ^ size, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Encode implements ChunkSizeEncoder method.
|
||||||
func (s *ShakeSizeParser) Encode(size uint16, b []byte) []byte {
|
func (s *ShakeSizeParser) Encode(size uint16, b []byte) []byte {
|
||||||
mask := s.next()
|
mask := s.next()
|
||||||
binary.BigEndian.PutUint16(b, mask^size)
|
binary.BigEndian.PutUint16(b, mask^size)
|
Loading…
Reference in New Issue
Block a user