forward 0.0.11 → 0.0.12
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.
- data/lib/forward.rb +8 -8
- data/lib/forward/api/tunnel.rb +1 -0
- data/lib/forward/client.rb +7 -7
- data/lib/forward/tunnel.rb +9 -0
- data/lib/forward/version.rb +1 -1
- metadata +2 -2
data/lib/forward.rb
CHANGED
@@ -40,34 +40,34 @@ module Forward
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def self.client=(client)
|
43
|
-
|
43
|
+
@client = client
|
44
44
|
end
|
45
45
|
|
46
46
|
def self.client
|
47
|
-
|
47
|
+
@client
|
48
48
|
end
|
49
49
|
|
50
50
|
def self.debug!
|
51
|
-
|
51
|
+
@debug = true
|
52
52
|
logger.level = Logger::DEBUG
|
53
53
|
end
|
54
54
|
|
55
55
|
def self.debug?
|
56
|
-
|
56
|
+
@debug
|
57
57
|
end
|
58
58
|
|
59
59
|
def self.stringio_log
|
60
|
-
|
60
|
+
@stringio_log ||= StringIO.new
|
61
61
|
end
|
62
62
|
|
63
63
|
def self.debug_remotely!
|
64
64
|
logger(stringio_log)
|
65
65
|
debug!
|
66
|
-
|
66
|
+
@debug_remotely = true
|
67
67
|
end
|
68
68
|
|
69
69
|
def self.debug_remotely?
|
70
|
-
|
70
|
+
@debug_remotely
|
71
71
|
end
|
72
72
|
|
73
73
|
def self.log(level, message)
|
@@ -75,7 +75,7 @@ module Forward
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def self.logger(logdev = STDOUT)
|
78
|
-
|
78
|
+
@logger ||= Logger.new(logdev)
|
79
79
|
end
|
80
80
|
|
81
81
|
# Returns a string representing a detailed client version.
|
data/lib/forward/api/tunnel.rb
CHANGED
data/lib/forward/client.rb
CHANGED
@@ -22,6 +22,8 @@ module Forward
|
|
22
22
|
else
|
23
23
|
cleanup_and_exit!('Unable to create a tunnel. If this continues contact support@forwardhq.com')
|
24
24
|
end
|
25
|
+
|
26
|
+
@tunnel
|
25
27
|
end
|
26
28
|
|
27
29
|
# The options Hash used by Net::SSH.
|
@@ -51,17 +53,15 @@ module Forward
|
|
51
53
|
trap(:INT) { cleanup_and_exit!('closing tunnel and exiting...') }
|
52
54
|
|
53
55
|
@client = Client.new(options)
|
56
|
+
@tunnel = @client.setup_tunnel
|
54
57
|
|
55
|
-
@
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
Net::SSH.start(@client.tunnel.tunneler, Forward.ssh_user, @client.ssh_options) do |session|
|
60
|
-
session.forward.remote(@client.options[:port], @client.options[:host], @client.tunnel.port)
|
58
|
+
Forward.log(:debug, "Starting remote forward at #{@tunnel.subdomain}.fwd.wf on port #{@tunnel.port}")
|
59
|
+
puts "Forwarding port #{@tunnel.hostport} at \033[04mhttps://#{@tunnel.subdomain}.fwd.wf\033[m\nCtrl-C to stop forwarding"
|
60
|
+
Net::SSH.start(@tunnel.tunneler, Forward.ssh_user, @client.ssh_options) do |session|
|
61
|
+
session.forward.remote(@tunnel.hostport, @tunnel.host, @tunnel.port)
|
61
62
|
session.loop { watch_session(session) }
|
62
63
|
end
|
63
64
|
|
64
|
-
# cleanup_and_exit!
|
65
65
|
rescue Net::SSH::AuthenticationFailed => e
|
66
66
|
Forward.log(:fatal, "SSH Auth failed `#{e}'")
|
67
67
|
cleanup_and_exit!("Authentication failed, try deleting `#{Forward::Config::CONFIG_PATH}' and giving it another go. If the problem continues, contact support@forwardhq.com")
|
data/lib/forward/tunnel.rb
CHANGED
@@ -6,6 +6,12 @@ module Forward
|
|
6
6
|
attr_reader :id
|
7
7
|
# The domain for the Tunnel.
|
8
8
|
attr_reader :subdomain
|
9
|
+
# The host
|
10
|
+
attr_reader :host
|
11
|
+
# The vhost
|
12
|
+
attr_reader :vhost
|
13
|
+
# The hostport (local port)
|
14
|
+
attr_reader :hostport
|
9
15
|
# The remote port.
|
10
16
|
attr_reader :port
|
11
17
|
# The tunneler host.
|
@@ -18,9 +24,12 @@ module Forward
|
|
18
24
|
#
|
19
25
|
# client - The Client instance.
|
20
26
|
def initialize(options = {})
|
27
|
+
@host = options[:host]
|
21
28
|
@response = Forward::Api::Tunnel.create(options)
|
22
29
|
@id = @response[:_id]
|
23
30
|
@subdomain = @response[:subdomain]
|
31
|
+
@vhost = @response[:vhost]
|
32
|
+
@hostport = @response[:hostport]
|
24
33
|
@port = @response[:port]
|
25
34
|
@tunneler = @response[:tunneler_public]
|
26
35
|
@timeout = @response[:timeout]
|
data/lib/forward/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forward
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|