| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package adapter
- import (
- C "github.com/sagernet/sing-box/constant"
- "github.com/miekg/dns"
- )
- type HeadlessRule interface {
- Match(metadata *InboundContext) bool
- String() string
- }
- type Rule interface {
- HeadlessRule
- SimpleLifecycle
- Type() string
- Action() RuleAction
- }
- type DNSRule interface {
- Rule
- LegacyPreMatch(metadata *InboundContext) bool
- WithAddressLimit() bool
- MatchAddressLimit(metadata *InboundContext, response *dns.Msg) bool
- }
- type RuleAction interface {
- Type() string
- String() string
- }
- func IsFinalAction(action RuleAction) bool {
- switch action.Type() {
- case C.RuleActionTypeSniff, C.RuleActionTypeResolve, C.RuleActionTypeEvaluate:
- return false
- default:
- return true
- }
- }
|