1
0

http.go 537 B

12345678910111213141516171819202122
  1. package sniff
  2. import (
  3. std_bufio "bufio"
  4. "context"
  5. "io"
  6. "github.com/sagernet/sing-box/adapter"
  7. C "github.com/sagernet/sing-box/constant"
  8. M "github.com/sagernet/sing/common/metadata"
  9. "github.com/sagernet/sing/protocol/http"
  10. )
  11. func HTTPHost(_ context.Context, metadata *adapter.InboundContext, reader io.Reader) error {
  12. request, err := http.ReadRequest(std_bufio.NewReader(reader))
  13. if err != nil {
  14. return err
  15. }
  16. metadata.Protocol = C.ProtocolHTTP
  17. metadata.Domain = M.ParseSocksaddr(request.Host).AddrString()
  18. return nil
  19. }