vmessreader.go 545 B

123456789101112131415161718192021222324252627282930313233
  1. package io
  2. import (
  3. "net"
  4. )
  5. // VMessInput implements the input message of VMess protocol.
  6. type VMessInput struct {
  7. version byte
  8. userHash [16]byte
  9. randHash [256]byte
  10. respKey [32]byte
  11. iv [16]byte
  12. command byte
  13. port uint16
  14. target [256]byte
  15. data []byte
  16. }
  17. type VMessReader struct {
  18. conn *net.Conn
  19. }
  20. func NewVMessReader(conn *net.Conn) (VMessReader, error) {
  21. var reader VMessReader
  22. reader.conn = conn
  23. return reader, nil
  24. }
  25. func (*VMessReader) Read() (VMessInput, error) {
  26. var input VMessInput
  27. return input, nil
  28. }