bettercap 1.5.3 → 1.5.4
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/lib/bettercap/monkey/packetfu/utils.rb +0 -1
- data/lib/bettercap/options/options.rb +10 -2
- data/lib/bettercap/options/proxy_options.rb +16 -0
- data/lib/bettercap/proxy/http/proxy.rb +2 -1
- data/lib/bettercap/proxy/thread_pool.rb +3 -4
- data/lib/bettercap/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41e3ec675b769d7ac29357593472c14af387f440
|
4
|
+
data.tar.gz: a0a7fdf3060cf8179dd1bb9baa59d2e54658bf88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afb795ebe9f9ece60e02235d60519814f49483078cf9898b6755ee8e2d68409d3f420905bca98325749f329624665777b06e6183758fbff200cc9de963701fee
|
7
|
+
data.tar.gz: 389117b84b7c6c2bc3b63a9479ed9a5c3a375c7eac5c2afbf53a9394f3a2b898e4f5879ff07c146e2c372686c6ebb1b32a8da5d030a401664d88d2fe6bc3fa4f
|
@@ -103,13 +103,21 @@ class Options
|
|
103
103
|
|
104
104
|
if @proxies.proxy
|
105
105
|
@proxies.http_ports.each do |port|
|
106
|
-
|
106
|
+
if @proxies.proxy_upstream_address.nil?
|
107
|
+
redirections << redir( iface.ip, port, @proxies.proxy_port )
|
108
|
+
else
|
109
|
+
redirections << redir_single( @proxies.proxy_upstream_address, iface.ip, port, @proxies.proxy_port )
|
110
|
+
end
|
107
111
|
end
|
108
112
|
end
|
109
113
|
|
110
114
|
if @proxies.proxy_https
|
111
115
|
@proxies.https_ports.each do |port|
|
112
|
-
|
116
|
+
if @proxies.proxy_upstream_address.nil?
|
117
|
+
redirections << redir( iface.ip, port, @proxies.proxy_https_port )
|
118
|
+
else
|
119
|
+
redirections << redir_single( @proxies.proxy_upstream_address, iface.ip, port, @proxies.proxy_port )
|
120
|
+
end
|
113
121
|
end
|
114
122
|
end
|
115
123
|
|
@@ -18,6 +18,8 @@ class ProxyOptions
|
|
18
18
|
attr_accessor :proxy
|
19
19
|
# If true, HTTPS transparent proxy will be enabled.
|
20
20
|
attr_accessor :proxy_https
|
21
|
+
# If set, only this address will be redirected to the HTTP(S) proxiy.
|
22
|
+
attr_accessor :proxy_upstream_address
|
21
23
|
# HTTP proxy port.
|
22
24
|
attr_accessor :proxy_port
|
23
25
|
# List of HTTP ports, [ 80 ] by default.
|
@@ -32,6 +34,8 @@ class ProxyOptions
|
|
32
34
|
attr_accessor :proxy_module
|
33
35
|
# If true, sslstrip is enabled.
|
34
36
|
attr_accessor :sslstrip
|
37
|
+
# If true, direct connections to the IP of this machine will be allowed.
|
38
|
+
attr_accessor :allow_local_connections
|
35
39
|
# If true, TCP proxy will be enabled.
|
36
40
|
attr_accessor :tcp_proxy
|
37
41
|
# TCP proxy local port.
|
@@ -58,11 +62,13 @@ class ProxyOptions
|
|
58
62
|
@https_ports = [ 443 ]
|
59
63
|
@proxy = false
|
60
64
|
@proxy_https = false
|
65
|
+
@proxy_upstream_address = nil
|
61
66
|
@proxy_port = 8080
|
62
67
|
@proxy_https_port = 8083
|
63
68
|
@proxy_pem_file = nil
|
64
69
|
@proxy_module = nil
|
65
70
|
@sslstrip = true
|
71
|
+
@allow_local_connections = false
|
66
72
|
|
67
73
|
@tcp_proxy = false
|
68
74
|
@tcp_proxy_port = 2222
|
@@ -144,6 +150,11 @@ class ProxyOptions
|
|
144
150
|
@proxy_port = v.to_i
|
145
151
|
end
|
146
152
|
|
153
|
+
opts.on( '--allow-local-connections', "Allow direct connections to the proxy instance, default to #{@allow_local_connections.to_s.yellow}." ) do |v|
|
154
|
+
@proxy = true
|
155
|
+
@allow_local_connections = true
|
156
|
+
end
|
157
|
+
|
147
158
|
opts.on( '--no-sslstrip', 'Disable SSLStrip.' ) do
|
148
159
|
@proxy = true
|
149
160
|
@sslstrip = false
|
@@ -159,6 +170,11 @@ class ProxyOptions
|
|
159
170
|
@proxy = true
|
160
171
|
end
|
161
172
|
|
173
|
+
opts.on( '--proxy-upstream-address ADDRESS', 'If set, only requests coming from this server address will be redirected to the HTTP/HTTPS proxies.' ) do |v|
|
174
|
+
v, _ = validate_address v
|
175
|
+
@proxy_upstream_address = v
|
176
|
+
end
|
177
|
+
|
162
178
|
opts.separator ""
|
163
179
|
opts.separator " HTTPS:"
|
164
180
|
opts.separator ""
|
@@ -26,6 +26,7 @@ class Proxy
|
|
26
26
|
@is_https = is_https
|
27
27
|
@type = is_https ? 'HTTPS' : 'HTTP'
|
28
28
|
@upstream_port = is_https ? 443 : 80
|
29
|
+
@allow_local = Context.get.options.proxies.allow_local_connections
|
29
30
|
@server = nil
|
30
31
|
@sslserver = nil
|
31
32
|
@main_thread = nil
|
@@ -148,7 +149,7 @@ class Proxy
|
|
148
149
|
if @streamer.was_stripped?( request, client )
|
149
150
|
@streamer.handle( request, client )
|
150
151
|
# someone is having fun with us =)
|
151
|
-
elsif is_self_request? request
|
152
|
+
elsif !@allow_local and is_self_request? request
|
152
153
|
@streamer.rickroll( client )
|
153
154
|
# handle request
|
154
155
|
else
|
@@ -3,9 +3,9 @@
|
|
3
3
|
|
4
4
|
BETTERCAP
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
Some code copyright (c) 2005, Zed Shaw
|
7
|
+
Copyright (c) 2011, Evan Phoenix
|
8
|
+
Copyright (c) 2015, Simone Margaritelli
|
9
9
|
|
10
10
|
This project is released under the GPL 3 license.
|
11
11
|
|
@@ -14,7 +14,6 @@ This project is released under the GPL 3 license.
|
|
14
14
|
module BetterCap
|
15
15
|
module Proxy
|
16
16
|
# Thread pool class used by the BetterCap::Proxy::*.
|
17
|
-
# Tnx to Puma ThreadPool!
|
18
17
|
class ThreadPool
|
19
18
|
|
20
19
|
# Maintain a minimum of +min+ and maximum of +max+ threads
|
data/lib/bettercap/version.rb
CHANGED
@@ -12,7 +12,7 @@ This project is released under the GPL 3 license.
|
|
12
12
|
=end
|
13
13
|
module BetterCap
|
14
14
|
# Current version of bettercap.
|
15
|
-
VERSION = '1.5.
|
15
|
+
VERSION = '1.5.4'
|
16
16
|
# Program banner.
|
17
17
|
BANNER = File.read( File.dirname(__FILE__) + '/banner' ).gsub( '#VERSION#', "v#{VERSION}")
|
18
18
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bettercap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simone Margaritelli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|