mitm.go 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. package option
  2. import (
  3. "github.com/sagernet/sing/common/json/badoption"
  4. )
  5. type MITMOptions struct {
  6. Enabled bool `json:"enabled,omitempty"`
  7. HTTP2Enabled bool `json:"http2_enabled,omitempty"`
  8. }
  9. type MITMRouteOptions struct {
  10. Enabled bool `json:"enabled,omitempty"`
  11. Print bool `json:"print,omitempty"`
  12. Script badoption.Listable[MITMRouteSurgeScriptOptions] `json:"surge_script,omitempty"`
  13. SurgeURLRewrite badoption.Listable[SurgeURLRewriteLine] `json:"surge_url_rewrite,omitempty"`
  14. SurgeHeaderRewrite badoption.Listable[SurgeHeaderRewriteLine] `json:"surge_header_rewrite,omitempty"`
  15. SurgeBodyRewrite badoption.Listable[SurgeBodyRewriteLine] `json:"surge_body_rewrite,omitempty"`
  16. SurgeMapLocal badoption.Listable[SurgeMapLocalLine] `json:"surge_map_local,omitempty"`
  17. }
  18. type MITMRouteSurgeScriptOptions struct {
  19. Tag string `json:"tag"`
  20. Type badoption.Listable[string] `json:"type"`
  21. Pattern badoption.Listable[*badoption.Regexp] `json:"pattern"`
  22. Timeout badoption.Duration `json:"timeout,omitempty"`
  23. RequiresBody bool `json:"requires_body,omitempty"`
  24. MaxSize int64 `json:"max_size,omitempty"`
  25. BinaryBodyMode bool `json:"binary_body_mode,omitempty"`
  26. Arguments badoption.Listable[string] `json:"arguments,omitempty"`
  27. }