tweakphoeus 0.3.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/tweakphoeus/user_agent.rb +38 -0
- data/lib/tweakphoeus/version.rb +1 -1
- data/lib/tweakphoeus.rb +2 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7515558791d3bb44e239251dc6d0c6e80e7f5016
|
4
|
+
data.tar.gz: ce23946d37d62c994beeb79fa8c2f8a608419ff9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 791dc3839b5f832b7c4eb340adb97e3f781e0075d5f4ec49f28358547949892b9e21e0b9e43b09a52214328535a562b1a19b60bf380e6204be5b8dfaef19680f
|
7
|
+
data.tar.gz: ce4966aca13bb4c2b081f8c7963536342e018c6c4a2cec9b26d025065ab19f07cee61628329d8e10e5094c7e751b745e3e899607ceace9803324459b8e1122f8
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
-- v0.1.0 - First stable version: Typhoeus dependency version updated
|
2
|
+
|
2
3
|
-- v0.2.0 - Refactor of cookies format
|
4
|
+
|
3
5
|
-- v0.2.1 - Add accessor for base headers and merge method
|
6
|
+
|
4
7
|
-- v0.2.2 - delete method added, thanks @pablobfonseca
|
8
|
+
|
5
9
|
-- v0.2.3 - adding parameter params in order to handle in_url parameters
|
10
|
+
|
6
11
|
-- v0.2.4 - adding parametes to post requests
|
12
|
+
|
7
13
|
-- v0.2.5 - adding public method cookie_string
|
14
|
+
|
8
15
|
-- v0.3.0 - adding HTTP proxy management and fixing circular reference
|
16
|
+
|
17
|
+
-- v0.4.1 - adding random User-Agent generator
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Tweakphoeus
|
2
|
+
class UserAgent
|
3
|
+
OS_DATA = {
|
4
|
+
types: [:win, :linux, :mac],
|
5
|
+
linux_distro: ["Ubuntu", "Debian", "Fedora", "gNewSense", "Linux Mint", "OpenSUSE", "Mandriva"],
|
6
|
+
arch: ["x86", "x86_64"],
|
7
|
+
win_arch: ["Win64; x64", "WOW64"]
|
8
|
+
}
|
9
|
+
|
10
|
+
class << self
|
11
|
+
def random(systems: OS_DATA[:types])
|
12
|
+
user_agent = "Mozilla/5.0 (#{os[systems.sample]}) #{browser}"
|
13
|
+
firefox_version = user_agent.match(/Firefox\/([0-9\.]+)/).try(:[], 1)
|
14
|
+
user_agent.gsub!(')', "; rv:#{firefox_version})") if firefox_version
|
15
|
+
user_agent
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def os
|
21
|
+
{
|
22
|
+
win: "Windows NT #{%w(5 6 7 8 10).sample + '.' + %w(0 1).sample}",
|
23
|
+
linux: "X11; #{["", OS_DATA[:linux_distro].sample+"; "].sample}Linux #{OS_DATA[:arch].sample}",
|
24
|
+
mac: "Macintosh; Intel Mac OS X 10_#{Random.rand(9..12)}_#{Random.rand(0..5)}"
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
def browser
|
29
|
+
chrome_version = "Chrome/5#{Random.rand(0..9)}.0.#{Random.rand(1000..4000)}.#{Random.rand(100..900)}"
|
30
|
+
webkit_603 = "603.#{Random.rand(0..9)}.#{Random.rand(0..9)}"
|
31
|
+
["Gecko/20100101 Firefox/#{Random.rand(40..54)}.#{Random.rand(0..9)}",
|
32
|
+
"AppleWebKit/537.36 (KHTML, like Gecko) #{chrome_version} Safari/537.36",
|
33
|
+
"AppleWebKit/#{webkit_603} (KHTML, like Gecko) Version/10.1 #{chrome_version} Safari/#{webkit_603}"
|
34
|
+
].sample
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/tweakphoeus/version.rb
CHANGED
data/lib/tweakphoeus.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "tweakphoeus/version"
|
2
|
+
require "tweakphoeus/user_agent"
|
2
3
|
require "typhoeus"
|
3
4
|
|
4
5
|
module Tweakphoeus
|
@@ -10,7 +11,7 @@ module Tweakphoeus
|
|
10
11
|
@cookie_jar = {}
|
11
12
|
@referer = [""]
|
12
13
|
@base_headers = {
|
13
|
-
"User-Agent" =>
|
14
|
+
"User-Agent" => UserAgent.random(systems: [:linux, :mac]),
|
14
15
|
"Accept-Language" => "es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3",
|
15
16
|
"Accept-Encoding" => "",
|
16
17
|
"Connection" => "keep-alive"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tweakphoeus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Martin Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- bin/console
|
98
98
|
- bin/setup
|
99
99
|
- lib/tweakphoeus.rb
|
100
|
+
- lib/tweakphoeus/user_agent.rb
|
100
101
|
- lib/tweakphoeus/version.rb
|
101
102
|
- tweakphoeus.gemspec
|
102
103
|
homepage: https://github.com/basestylo/Tweakphoeus/
|