r_socks 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|