tweakphoeus 0.3.0 → 0.4.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/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/
|