openvpn-status-web 3.2.0 → 3.3.0
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43df4db93196fada6047a63bfa0862c769f0bdff920526b9e3bb7d2b79afb64a
|
4
|
+
data.tar.gz: b27c4d5ae1e0f708c46aa57696f5e1ce2ac8fc62a7890642dc19e888d237f277
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4dac1602a2f5426fa5a7cbb38bf422da51ba32f37a53fed82e949144b9d06c22e0bfe6b2fb8831bf03f14502547b2ef3caef4d8bde359a9dde3202eaf377d778
|
7
|
+
data.tar.gz: b769a52aa4b5c835b3e0c01038f73285dca49d2ee6ad48362720d9a6393b7626a38b8733e55c5ee80e8051c203102c8f76e897968c971e90e944bdca3ab6815c
|
@@ -5,16 +5,18 @@ module OpenVPNStatusWeb
|
|
5
5
|
class ModernStateless
|
6
6
|
def self.parse_status_log(text, sep)
|
7
7
|
status = Status.new
|
8
|
+
status.client_list_headers = []
|
8
9
|
status.client_list = []
|
10
|
+
status.routing_table_headers = []
|
9
11
|
status.routing_table = []
|
10
12
|
status.global_stats = []
|
11
13
|
|
12
14
|
text.lines.each do |line|
|
13
15
|
parts = line.strip.split(sep)
|
14
|
-
status.client_list_headers = parts[2
|
15
|
-
status.client_list << parse_client(parts[1
|
16
|
-
status.routing_table_headers = parts[2
|
17
|
-
status.routing_table << parse_route(parts[1
|
16
|
+
status.client_list_headers = parts[2..] if parts[0] == 'HEADER' && parts[1] == 'CLIENT_LIST'
|
17
|
+
status.client_list << parse_client(parts[1..], status.client_list_headers) if parts[0] == 'CLIENT_LIST'
|
18
|
+
status.routing_table_headers = parts[2..] if parts[0] == 'HEADER' && parts[1] == 'ROUTING_TABLE'
|
19
|
+
status.routing_table << parse_route(parts[1..], status.routing_table_headers) if parts[0] == 'ROUTING_TABLE'
|
18
20
|
status.global_stats << parse_global(parts[1..2]) if parts[0] == 'GLOBAL_STATS'
|
19
21
|
end
|
20
22
|
|
@@ -27,9 +27,9 @@ module OpenVPNStatusWeb
|
|
27
27
|
|
28
28
|
status = Status.new
|
29
29
|
status.client_list_headers = ['Common Name', 'Real Address', 'Data Received', 'Data Sent', 'Connected Since']
|
30
|
-
status.client_list = client_list[2
|
30
|
+
status.client_list = client_list[2..].map { |client| parse_client(client) }
|
31
31
|
status.routing_table_headers = ['Virtual Address', 'Common Name', 'Real Address', 'Last Ref']
|
32
|
-
status.routing_table = routing_table[1
|
32
|
+
status.routing_table = routing_table[1..].map { |route| parse_route(route) }
|
33
33
|
status.global_stats = global_stats.map { |global| parse_global(global) }
|
34
34
|
status
|
35
35
|
end
|
data/lib/openvpn-status-web.rb
CHANGED
@@ -7,9 +7,10 @@ require 'logger'
|
|
7
7
|
require 'ipaddr'
|
8
8
|
require 'yaml'
|
9
9
|
require 'rack'
|
10
|
+
require 'rackup'
|
10
11
|
require 'erb'
|
11
12
|
require 'metriks'
|
12
|
-
require 'better_errors' if ENV
|
13
|
+
require 'better_errors' if ENV.fetch('RACK_ENV', nil) == 'development'
|
13
14
|
|
14
15
|
require 'openvpn-status-web/status'
|
15
16
|
require 'openvpn-status-web/parser/v1'
|
@@ -128,21 +129,21 @@ module OpenVPNStatusWeb
|
|
128
129
|
|
129
130
|
# configure rack
|
130
131
|
app = Daemon.new(config['vpns'])
|
131
|
-
if ENV
|
132
|
+
if ENV.fetch('RACK_ENV', nil) == 'development'
|
132
133
|
app = BetterErrors::Middleware.new(app)
|
133
134
|
BetterErrors.application_root = File.expand_path(__dir__)
|
134
135
|
end
|
135
136
|
|
136
137
|
Signal.trap('INT') do
|
137
138
|
OpenVPNStatusWeb.logger.info 'Quitting...'
|
138
|
-
|
139
|
+
Rackup::Handler::WEBrick.shutdown
|
139
140
|
end
|
140
141
|
Signal.trap('TERM') do
|
141
142
|
OpenVPNStatusWeb.logger.info 'Quitting...'
|
142
|
-
|
143
|
+
Rackup::Handler::WEBrick.shutdown
|
143
144
|
end
|
144
145
|
|
145
|
-
|
146
|
+
Rackup::Handler::WEBrick.run app, Host: config['host'], Port: config['port']
|
146
147
|
end
|
147
148
|
end
|
148
149
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openvpn-status-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Nicolai
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metriks
|
@@ -30,14 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '3.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rackup
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: webrick
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +170,14 @@ dependencies:
|
|
156
170
|
requirements:
|
157
171
|
- - "~>"
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
173
|
+
version: 1.36.0
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
178
|
- - "~>"
|
165
179
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
180
|
+
version: 1.36.0
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: rubocop-rake
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,28 +198,28 @@ dependencies:
|
|
184
198
|
requirements:
|
185
199
|
- - "~>"
|
186
200
|
- !ruby/object:Gem::Version
|
187
|
-
version: 2.
|
201
|
+
version: 2.13.1
|
188
202
|
type: :development
|
189
203
|
prerelease: false
|
190
204
|
version_requirements: !ruby/object:Gem::Requirement
|
191
205
|
requirements:
|
192
206
|
- - "~>"
|
193
207
|
- !ruby/object:Gem::Version
|
194
|
-
version: 2.
|
208
|
+
version: 2.13.1
|
195
209
|
- !ruby/object:Gem::Dependency
|
196
210
|
name: solargraph
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
198
212
|
requirements:
|
199
213
|
- - "~>"
|
200
214
|
- !ruby/object:Gem::Version
|
201
|
-
version: 0.
|
215
|
+
version: 0.46.0
|
202
216
|
type: :development
|
203
217
|
prerelease: false
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
205
219
|
requirements:
|
206
220
|
- - "~>"
|
207
221
|
- !ruby/object:Gem::Version
|
208
|
-
version: 0.
|
222
|
+
version: 0.46.0
|
209
223
|
description: Small Rack (Ruby) application serving OpenVPN status file.
|
210
224
|
email:
|
211
225
|
executables:
|
@@ -241,14 +255,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
241
255
|
requirements:
|
242
256
|
- - ">="
|
243
257
|
- !ruby/object:Gem::Version
|
244
|
-
version: '2.
|
258
|
+
version: '2.7'
|
245
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
246
260
|
requirements:
|
247
261
|
- - ">="
|
248
262
|
- !ruby/object:Gem::Version
|
249
263
|
version: '0'
|
250
264
|
requirements: []
|
251
|
-
rubygems_version: 3.
|
265
|
+
rubygems_version: 3.3.7
|
252
266
|
signing_key:
|
253
267
|
specification_version: 4
|
254
268
|
summary: openvpn-status-web
|