r_socks 0.2.8 → 0.2.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/r_socks/config.rb +8 -0
- data/lib/r_socks/connection_handler.rb +5 -0
- data/lib/r_socks/http_proxy_parser.rb +8 -3
- data/lib/r_socks/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46f22ff3b97fbaadccab67bf228ca67015b12edb0395ee8d7ef74e9b9327a591
|
4
|
+
data.tar.gz: 13f8da021a4f3693c68f1f6260a059a0dac445a37c3d602ad0e1c5bbcfb159ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30beb9843a14a9851372be0fb1cdc14677bdf2339c93dddc9a65ec2962c27d2a1dd69ca518a443040eba645d2c461943b6bb11cfdae0c1eeaaf8f1543a4dfe38
|
7
|
+
data.tar.gz: 7d43b76ad191f450fc68f7e54f04dea783c574d57e367acfbe3a781fb2586882c6f896f93009472bf15efee163aee24444d2fa13aae760550cb1705fd0824048
|
data/lib/r_socks/config.rb
CHANGED
@@ -118,5 +118,13 @@ module RSocks
|
|
118
118
|
def forward_addr=(value)
|
119
119
|
@store[:forward_addr] = value.to_s
|
120
120
|
end
|
121
|
+
|
122
|
+
def forward_white_list=(arr)
|
123
|
+
@store[:white_list] = arr
|
124
|
+
end
|
125
|
+
|
126
|
+
def forward_white_list
|
127
|
+
@store[:white_list] || []
|
128
|
+
end
|
121
129
|
end
|
122
130
|
end
|
@@ -26,6 +26,11 @@ module RSocks
|
|
26
26
|
)
|
27
27
|
end
|
28
28
|
@port, @ip = Socket.unpack_sockaddr_in(get_peername)
|
29
|
+
|
30
|
+
white_list = @config.forward_white_list
|
31
|
+
if !white_list.empty? && !white_list.include?(@ip.to_s)
|
32
|
+
raise Error, "#{@ip} not in white list"
|
33
|
+
end
|
29
34
|
rescue => e
|
30
35
|
puts "post_init error: #{e.message}"
|
31
36
|
close_connection
|
@@ -12,6 +12,7 @@ module RSocks
|
|
12
12
|
@default_password = ENV['RSOCKS_PASSWORD'] || 'default'
|
13
13
|
@adaptor = config.auth_adaptor
|
14
14
|
@health_check_route = config.health_check_route
|
15
|
+
@need_auth = config.auth_method == :no_auth
|
15
16
|
end
|
16
17
|
|
17
18
|
def call(data)
|
@@ -27,9 +28,13 @@ module RSocks
|
|
27
28
|
host_format_checking(temp.shift)
|
28
29
|
generate_header(temp)
|
29
30
|
|
30
|
-
|
31
|
-
|
32
|
-
|
31
|
+
if @need_auth
|
32
|
+
state = auth_user
|
33
|
+
raise RSocks::HttpAuthFailed unless state
|
34
|
+
return state
|
35
|
+
end
|
36
|
+
|
37
|
+
true
|
33
38
|
end
|
34
39
|
|
35
40
|
def auth_user
|
data/lib/r_socks/version.rb
CHANGED