File tree 2 files changed +33
-2
lines changed
2 files changed +33
-2
lines changed Original file line number Diff line number Diff line change @@ -161,8 +161,9 @@ IPWhiteList = ""
161
161
BlackList = " "
162
162
163
163
# Regexp in golang syntax of whitelist domains for issue certificate.
164
- # Whitelist need for allow part of domains, which excluded by blacklist.
165
- #
164
+ # # Whitelist need only for allow part of domains, which excluded by blacklist.
165
+ # If you want work by whitelist domains only - you have to add BlackList rule: ".*" (deny all)
166
+ # Then allow what you want.
166
167
WhiteList = " "
167
168
168
169
# Comma separated dns server, used for resolve ip:port address of domains while check it.
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import (
10
10
"github.com/gojuno/minimock/v3"
11
11
12
12
"github.com/maxatome/go-testdeep"
13
+
13
14
"github.com/rekby/lets-proxy2/internal/th"
14
15
)
15
16
@@ -93,6 +94,35 @@ func TestConfig_CreateDomainCheckerWhiteListOnly(t *testing.T) {
93
94
td .CmpNoError (err )
94
95
}
95
96
97
+ func TestConfig_CreateDomainCheckerBlackAndWhiteLists (t * testing.T ) {
98
+ ctx , cancel := th .TestContext (t )
99
+ defer cancel ()
100
+
101
+ td := testdeep .NewT (t )
102
+ cfg := Config {
103
+ BlackList : `.*\.com$` ,
104
+ WhiteList : `^(www\.)?test\.com$` ,
105
+ }
106
+ checker , err := cfg .CreateDomainChecker (ctx )
107
+ td .CmpNoError (err )
108
+
109
+ res , err := checker .IsDomainAllowed (ctx , "denied.com" )
110
+ td .False (res )
111
+ td .CmpNoError (err )
112
+
113
+ res , err = checker .IsDomainAllowed (ctx , "test.com" )
114
+ td .True (res )
115
+ td .CmpNoError (err )
116
+
117
+ res , err = checker .IsDomainAllowed (ctx , "www.test.com" )
118
+ td .True (res )
119
+ td .CmpNoError (err )
120
+
121
+ res , err = checker .IsDomainAllowed (ctx , "bad.test.com" )
122
+ td .False (res )
123
+ td .CmpNoError (err )
124
+ }
125
+
96
126
func TestConfig_CreateDomainCheckerSelfIPOnly (t * testing.T ) {
97
127
ctx , cancel := th .TestContext (t )
98
128
defer cancel ()
You can’t perform that action at this time.
0 commit comments