rest-tor 0.1.5 → 0.1.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5e50d7b404cef945ffc0aaf379acad03d87ec101
4
- data.tar.gz: f7107864fc0f7e5f18dc1353b5d9b7363cfc08f9
3
+ metadata.gz: 392136defab833843bd5a37a571a6e59e312ab10
4
+ data.tar.gz: cdaeca6e88c8269015156c35964a2cfc38013f31
5
5
  SHA512:
6
- metadata.gz: 7526c39536f9f345c5df205f295991b28359f6f6070e4611179e98e3a438a8707f0cfe39e1f3a91a767dd35c9a18e3ca3c9d0642b41b78a4094d2a23b52d0ed2
7
- data.tar.gz: f7aafdca0a6728767c12b1453645b6eb0fc6e6d7a9c5313ce1e164d50b4da6c647b7de2c71a48ee146e09f658ec20553401904baaed93b3277a928d5a0199d8e
6
+ metadata.gz: 6d7521af54efeedaffb4cb7e59e6276b77edea2a8042760d59fb5c5543c8712a6c0a46a923be76adc54ef4f9f6ea2cb61101b87a4cfd5c6ba89c8f1a48798a7d
7
+ data.tar.gz: 04d56a5f7473453a56861a33448a1a0b23fb13f1b2c0d755cea19c2120f78fab09abf4db0fb0ab33322dab95b8f69f71bec30ef85b1c45c0f2d8bc7a3e4481d0
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## 0.1.6
2
+
3
+ - Open tor without sleep
4
+ - Tor.init use Multithreading
5
+ - Tor.request allow pass custom proxy
data/lib/rest_tor/tor.rb CHANGED
@@ -14,9 +14,9 @@ module Tor extend self
14
14
 
15
15
  def init
16
16
  lock("tor:init", expires: 1.minutes) do
17
- TOR_COUNT.times do |i|
18
- listen(TOR_PORT_START_WITH + i + 1)
19
- end
17
+ threads = []
18
+ TOR_COUNT.times { |i| threads << Thread.new { listen(TOR_PORT_START_WITH + i + 1) } }
19
+ threads.map(&:join)
20
20
  end
21
21
  end
22
22
 
@@ -45,7 +45,7 @@ module Tor extend self
45
45
  def request(options={}, &block)
46
46
  url = options[:url]
47
47
  mobile = options[:mobile]
48
- proxy = options[:proxy] == false ? false : true
48
+ proxy = options[:proxy]
49
49
  raw = options[:raw].nil? ? true : false
50
50
  mode = options[:mode] || :default
51
51
  method = options[:method] || :get
@@ -55,10 +55,14 @@ module Tor extend self
55
55
  headers = options[:headers] || options[:header] || {}
56
56
  default_header = { 'User-Agent' => mobile ? MOBILE_AGENT : USER_AGENT }
57
57
  time, body = Time.now, nil
58
+ rest = proxy == false
59
+
60
+ hold_tor(mode: mode, rest: rest) do |port, tor|
61
+
62
+ proxy ||= "socks5://127.0.0.1:#{port}" if not rest
63
+
64
+ logger.info "Started #{method.to_s.upcase} #{url.inspect} (proxy:#{proxy} | mode:#{mode})"
58
65
 
59
- hold_tor(mode: mode, rest: !proxy) do |port, tor|
60
- logger.info "Started #{method.to_s.upcase} #{url.inspect} (port:#{port || 'rest-client'} | mode:#{mode})"
61
- proxy = proxy && "socks5://127.0.0.1:#{port}" or nil
62
66
  params = {
63
67
  method: method,
64
68
  url: url,
@@ -118,7 +122,6 @@ module Tor extend self
118
122
  tor+= " --CircuitBuildTimeout 5 --KeepalivePeriod 60 --NewCircuitPeriod 15 --NumEntryGuards 8"# make tor faster
119
123
  tor+= " --quiet" # unless Rails.env.production?
120
124
  system tor
121
- sleep 5
122
125
  if ip=test(port)
123
126
  store.insert(port, ip)
124
127
  else
@@ -1,3 +1,3 @@
1
1
  module Tor
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-tor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - plusor
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-17 00:00:00.000000000 Z
11
+ date: 2017-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -131,6 +131,7 @@ extra_rdoc_files: []
131
131
  files:
132
132
  - ".gitignore"
133
133
  - ".travis.yml"
134
+ - CHANGELOG.md
134
135
  - CODE_OF_CONDUCT.md
135
136
  - Gemfile
136
137
  - LICENSE.txt