mullvadrb 0.0.6 → 0.0.7
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 +4 -0
- data/lib/mullvadrb/settings.rb +37 -39
- data/lib/mullvadrb.rb +5 -4
- data/mullvadrb.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d3b81115b6138a117c121c0725b47153364d8dc37f8515a3e933491360fa7d1
|
4
|
+
data.tar.gz: 795ea1aced15a02a1fd3bf4f43c154e63ac424ef039db87a888fac02070a2008
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c31f37cb83e5b10c0ede4534f6ba1590f0d51671b88fd9a710e5ac3dda1a69a51c0c88b197af82b6d40a62701d69afff3ca22bdf8ad817384852811ae57c62a
|
7
|
+
data.tar.gz: 7fd4c145ea2e57481a48ff103fb9703f70c353d049fee924d1917fcb606b67e47b096ec9390e849cc667e93b2ecc4028326367f35b1593ad1632474a136ba41b
|
data/CHANGELOG.md
CHANGED
data/lib/mullvadrb/settings.rb
CHANGED
@@ -2,53 +2,51 @@ module Mullvadrb
|
|
2
2
|
module Settings
|
3
3
|
CONFIG_FILE = File.expand_path('~/.local/share/mullvadrb/mullvadrb.yml').freeze
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
return unless File.exist?(CONFIG_FILE)
|
5
|
+
def load_config
|
6
|
+
return unless File.exist?(CONFIG_FILE)
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
8
|
+
config_file = YAML.load(File.read(CONFIG_FILE))
|
9
|
+
@backend = config_file[:backend]
|
10
|
+
@locale = config_file[:locale]
|
11
|
+
@wg = (@backend == 'wg')
|
12
|
+
load_servers unless @wg
|
13
|
+
require 'mullvadrb/wg_manager' if @wg
|
14
|
+
end
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
16
|
+
def save_config!
|
17
|
+
dir = File.expand_path('~/.local/share/mullvadrb/')
|
18
|
+
system 'mkdir', '-p', dir unless File.exist?(dir)
|
19
|
+
config = {
|
20
|
+
backend: @backend,
|
21
|
+
locale: @locale || I18n.locale
|
22
|
+
}
|
23
|
+
File.open(CONFIG_FILE, 'w+') do |f|
|
24
|
+
f.write(config.to_yaml)
|
27
25
|
end
|
26
|
+
end
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
def load_servers
|
29
|
+
@servers = Mullvadrb::Servers.servers
|
30
|
+
end
|
32
31
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
end
|
38
|
-
@wg = (backend == 'wg')
|
39
|
-
require 'mullvadrb/wg_manager' if @wg
|
40
|
-
backend
|
32
|
+
def ask_backend
|
33
|
+
backend = TTY::Prompt.new.select(I18n.t(:backend_which), cycle: true) do |menu|
|
34
|
+
menu.choice name: I18n.t(:backend_wg), value: 'wg'
|
35
|
+
menu.choice name: I18n.t(:backend_mullvad), value: 'mullvad'
|
41
36
|
end
|
37
|
+
@wg = (backend == 'wg')
|
38
|
+
require 'mullvadrb/wg_manager' if @wg
|
39
|
+
backend
|
40
|
+
end
|
42
41
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
end
|
48
|
-
@locale = language.to_sym
|
49
|
-
I18n.locale = @locale
|
50
|
-
save_config!
|
42
|
+
def languages
|
43
|
+
language = TTY::Prompt.new.select(I18n.t(:language_which), cycle: true) do |menu|
|
44
|
+
menu.choice name: I18n.t(:language_en), value: 'en'
|
45
|
+
menu.choice name: I18n.t(:language_es), value: 'es'
|
51
46
|
end
|
47
|
+
@locale = language.to_sym
|
48
|
+
I18n.locale = @locale
|
49
|
+
save_config!
|
52
50
|
end
|
53
51
|
end
|
54
52
|
end
|
data/lib/mullvadrb.rb
CHANGED
@@ -17,15 +17,16 @@ module Mullvadrb
|
|
17
17
|
# Main object instantiated, saves backend, i18n if set, and persists.
|
18
18
|
class Main
|
19
19
|
include Mullvadrb::CommandManager
|
20
|
+
include Mullvadrb::Settings
|
20
21
|
|
21
22
|
def initialize
|
22
23
|
# To determine if we're using WireGuard or mullvad cli, attempt to load a pre-saved
|
23
24
|
# configuration or prompt the user which one to use:
|
24
|
-
|
25
|
+
load_config
|
25
26
|
@backend ||= Mullvadrb::Settings.ask_backend
|
26
27
|
puts I18n.t(:backend_using, backend: @backend)
|
27
28
|
I18n.locale = @locale || I18n.default_locale
|
28
|
-
|
29
|
+
save_config!
|
29
30
|
puts Mullvadrb::Connection.status
|
30
31
|
end
|
31
32
|
|
@@ -68,7 +69,7 @@ module Mullvadrb
|
|
68
69
|
when 'status', 'disconnect', 'country', 'specific', 'random'
|
69
70
|
send(selection)
|
70
71
|
when 'backend'
|
71
|
-
|
72
|
+
ask_backend
|
72
73
|
# Only when using mullvad cli and not wg:
|
73
74
|
when 'update_servers'
|
74
75
|
Mullvadrb::Servers.update
|
@@ -81,7 +82,7 @@ module Mullvadrb
|
|
81
82
|
when 'account_devices'
|
82
83
|
Mullvadrb::Account.devices
|
83
84
|
when 'languages'
|
84
|
-
|
85
|
+
languages
|
85
86
|
when 'dns_blockers'
|
86
87
|
Mullvadrb::DNS.blockers
|
87
88
|
end
|
data/mullvadrb.gemspec
CHANGED