r_socks 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +1 -0
- data/lib/r_socks/config.rb +8 -0
- data/lib/r_socks/connection_handler.rb +4 -0
- data/lib/r_socks/errors.rb +1 -0
- data/lib/r_socks/http_proxy_parser.rb +6 -0
- data/lib/r_socks/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 33da7f5aaa91a1bdc1dd242c7fe65b3f48a0ac5b1d76c476420abbdb2973e3ee
|
|
4
|
+
data.tar.gz: 659dc9c5000f69d2eed3700324ab3b982885db0080a5550e14390a4001f55c35
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c13038163c89bbec6b9eb8768b8ba4e23448ad6006a45fac73587d5a9441f0e1bc66cf62ead2bd78557c98b6adadc925582072b00c619cf5304cad7ef310c236
|
|
7
|
+
data.tar.gz: 123aab47f063182a4cc89d6f08d5de4ad8ee6ab209a78cc96cc00be0e3c341eea99339065b36522a771f116ebaa7d73fba368f0215feba797df480f9792153e6
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
data/lib/r_socks/config.rb
CHANGED
|
@@ -46,5 +46,13 @@ module RSocks
|
|
|
46
46
|
def proxy_buffer_size=(value)
|
|
47
47
|
@store[:proxy_buffer_size] = value.to_i
|
|
48
48
|
end
|
|
49
|
+
|
|
50
|
+
def health_check_route=(str)
|
|
51
|
+
@store[:health_check_route] = str;
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def health_check_route
|
|
55
|
+
@store[:health_check_route] || '/health'
|
|
56
|
+
end
|
|
49
57
|
end
|
|
50
58
|
end
|
|
@@ -39,6 +39,10 @@ module RSocks
|
|
|
39
39
|
rescue RSocks::NotSupport
|
|
40
40
|
send_data(RSocks::FAILED_RESPONSE)
|
|
41
41
|
close_connection_after_writing
|
|
42
|
+
|
|
43
|
+
rescue RSocks::HealthChecking
|
|
44
|
+
send_data(RSocks::HttpProxyResponseCodes::SUCCESS)
|
|
45
|
+
close_connection_after_writing
|
|
42
46
|
end
|
|
43
47
|
|
|
44
48
|
return unless @state_machine.start?
|
data/lib/r_socks/errors.rb
CHANGED
|
@@ -9,6 +9,7 @@ module RSocks
|
|
|
9
9
|
@default_user = ENV['RSOCKS_USER'] || 'default'
|
|
10
10
|
@default_password = ENV['RSOCKS_PASSWORD'] || 'default'
|
|
11
11
|
@adaptor = config.auth_adaptor
|
|
12
|
+
@health_check_route = config.health_check_route
|
|
12
13
|
end
|
|
13
14
|
|
|
14
15
|
def call(data)
|
|
@@ -49,6 +50,7 @@ module RSocks
|
|
|
49
50
|
|
|
50
51
|
def host_format_checking(data)
|
|
51
52
|
temp = data.split("\s")
|
|
53
|
+
health_check_request(temp)
|
|
52
54
|
raise RSocks::HttpNotSupport if temp[0] != 'CONNECT'
|
|
53
55
|
@schema_parse = URI("tcp://#{temp[1]}/")
|
|
54
56
|
end
|
|
@@ -62,6 +64,10 @@ module RSocks
|
|
|
62
64
|
end
|
|
63
65
|
@header = header
|
|
64
66
|
end
|
|
67
|
+
|
|
68
|
+
def health_check_request(arr_data)
|
|
69
|
+
raise RSocks::HealthChecking if arr_data[0] == 'GET' && @health_check_route == arr_data[1]
|
|
70
|
+
end
|
|
65
71
|
end
|
|
66
72
|
end
|
|
67
73
|
|
data/lib/r_socks/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: r_socks
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nick An
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-03-
|
|
11
|
+
date: 2020-03-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: eventmachine
|