r_socks 0.2.4 → 0.2.5
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 +12 -4
- data/lib/r_socks/tcp_server.rb +17 -1
- 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: f8444f9171cf9aab6f9ab0cbd2cfacfd3ae7b1690a309899ff1572ac720c92a9
|
4
|
+
data.tar.gz: a470fc4f7463e53a978cf0ade6d1e46ba33b8287d9574d9a4a163d2814f9b782
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90c88f6631935f1eaf1f416f2118b141288d88cded451628cb8e578ef1a9d91c12d7222a4b205c4cfed07d7bf3a45efed2a9ad90c0fd1449b60874ebaeb38419
|
7
|
+
data.tar.gz: 462d0ce7be79ca2e5d3484e35e246c7478ddd47ce733f3c5e79be1b4a4dcec040a5015898795ee7455dd21427aa4d8fd1ff0d4f2f5c10fa17ee59867d6e316c8
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -35,12 +35,20 @@ export RSOCKS_PASSWORD=some_password
|
|
35
35
|
run server
|
36
36
|
|
37
37
|
```ruby
|
38
|
-
|
38
|
+
server = RSocks::TcpServer.new
|
39
|
+
server.config.auth_method = :password
|
40
|
+
server.config.proxy_buffer_size = 10 * 1024 * 1024
|
41
|
+
server.config.proxy_type = :http
|
42
|
+
|
43
|
+
# if true then you need attach cert and private key
|
44
|
+
server.config.enable_ssl = false
|
45
|
+
# server.config.ssl_private_key = './server_key.txt'
|
46
|
+
# server.config.ssl_cert = './server_cert.txt'
|
47
|
+
|
48
|
+
# start multi process
|
49
|
+
server.config.instances = 2
|
39
50
|
|
40
|
-
server = RSocks::TcpServer.new('127.0.0.1', 8081)
|
41
51
|
|
42
|
-
server.config.auth_method = :password
|
43
|
-
server.config.proxy_type = :http # default proxy_type = socks5
|
44
52
|
|
45
53
|
server.run!
|
46
54
|
```
|
data/lib/r_socks/tcp_server.rb
CHANGED
@@ -43,21 +43,37 @@ module RSocks
|
|
43
43
|
def spawn_process(number)
|
44
44
|
|
45
45
|
server = TCPServer.new(@host, @port)
|
46
|
+
pids = []
|
46
47
|
|
47
48
|
number.times do |i|
|
48
|
-
Process.fork do
|
49
|
+
pids << Process.fork do
|
49
50
|
puts "start r_socks instance @#{i}"
|
51
|
+
Signal.trap("TERM") { exit! }
|
50
52
|
begin
|
51
53
|
attach_and_start_server(server)
|
52
54
|
rescue Interrupt
|
53
55
|
puts "r_socks TPC server instance @#{i} closed now...."
|
54
56
|
rescue => e
|
55
57
|
puts "r_socks instance @#{i} exit with exception: \r\n#{e.message}"
|
58
|
+
exit!
|
56
59
|
end
|
57
60
|
end
|
58
61
|
end
|
59
62
|
|
63
|
+
# if main process run in backgourd and has been killed
|
64
|
+
# then all sub-process should term
|
65
|
+
at_exit do
|
66
|
+
term_all_sub_process(pids)
|
67
|
+
end
|
68
|
+
|
60
69
|
Process.waitall
|
61
70
|
end
|
71
|
+
|
72
|
+
def term_all_sub_process(pids)
|
73
|
+
pids.each do |id|
|
74
|
+
next unless id
|
75
|
+
Process.kill("TERM", id)
|
76
|
+
end
|
77
|
+
end
|
62
78
|
end
|
63
79
|
end
|
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.5
|
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-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|