mullvadrb 0.0.7 → 0.0.8
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 +5 -0
- data/config/locales/en.yml +2 -1
- data/config/locales/es.yml +2 -1
- data/lib/mullvadrb/account.rb +1 -0
- data/lib/mullvadrb/command_manager.rb +5 -0
- data/lib/mullvadrb/connection.rb +9 -4
- data/lib/mullvadrb/servers.rb +3 -3
- data/lib/mullvadrb/wg_manager.rb +7 -1
- data/lib/mullvadrb.rb +3 -2
- data/mullvadrb.gemspec +4 -3
- metadata +11 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 636dfebb481d356dca100281f92e627df90af8956116cc546a332e53ae9fdffe
|
4
|
+
data.tar.gz: 820ba7d690bf9a9bd12e6b4211caabba820cd4d783a9798df3fed8dc978d2323
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a32e2dc8e0e47f5faec592718e614af95b9f1c6001e82677f84439c7eff2f176d2dcbcb740b88fe735d1cb1365acab3e2dbcb561eeeba981f4da0897aec0ec63
|
7
|
+
data.tar.gz: 99fb2637205a6c3be55f72f21614b7a3b573e9c2d2afb0d5b0133077df21d9d9f5813cdce4bd28310f6c7be85bebb6819172cf803127b803ba972f9062d140ee
|
data/CHANGELOG.md
CHANGED
data/config/locales/en.yml
CHANGED
@@ -7,7 +7,7 @@ en:
|
|
7
7
|
change_backend: "Change backend"
|
8
8
|
choose_country: "Choose country"
|
9
9
|
choose_specific: "Choose specific"
|
10
|
-
connected: "📡
|
10
|
+
connected: "📡 ✅ Connected"
|
11
11
|
connecting: "📞 Connecting ☎ \n"
|
12
12
|
connecting_to: "Connecting to %{server}"
|
13
13
|
devices: "Devices"
|
@@ -33,3 +33,4 @@ en:
|
|
33
33
|
language_es: "Spanish"
|
34
34
|
dns_blockers: "DNS Blockers"
|
35
35
|
dns_blockers_menu: "DNS Blockers - Press Enter↲ to confirm:"
|
36
|
+
lan: "Enable LAN access"
|
data/config/locales/es.yml
CHANGED
@@ -7,7 +7,7 @@ es:
|
|
7
7
|
change_backend: "Cambiar backend"
|
8
8
|
choose_country: "Elegir país"
|
9
9
|
choose_specific: "Elegir específico"
|
10
|
-
connected: "📡
|
10
|
+
connected: "📡 ✅ Conectado"
|
11
11
|
connecting: "📞 Conectando ☎ \n"
|
12
12
|
connecting_to: "Conectándose a %{server}"
|
13
13
|
devices: "Dispositivos"
|
@@ -33,3 +33,4 @@ es:
|
|
33
33
|
language_es: "Español"
|
34
34
|
dns_blockers: "Bloqueadores DNS"
|
35
35
|
dns_blockers_menu: "Bloqueadores DNS - Presiona Enter↲ para confirmar:"
|
36
|
+
lan: "Habilitar acceso LAN"
|
data/lib/mullvadrb/account.rb
CHANGED
data/lib/mullvadrb/connection.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'countries'
|
2
|
+
|
1
3
|
module Mullvadrb
|
2
4
|
#
|
3
5
|
# Manage Mullvad connect, disconnect and status
|
@@ -31,12 +33,15 @@ module Mullvadrb
|
|
31
33
|
status.gsub!('Disconnected', I18n.t(:disconnected))
|
32
34
|
.gsub!(/$/, "\n")
|
33
35
|
elsif status.start_with?('Connected')
|
34
|
-
status = status.split("\n")
|
35
|
-
|
36
|
-
|
37
|
-
|
36
|
+
status = status.split("\n").reject { |a| a == 'Connected' }
|
37
|
+
country_name = status.find { |a| a.match?('Visible location') }.split("\s")[2].gsub(',','')
|
38
|
+
country = ISO3166::Country.find_country_by_any_name(country_name)
|
39
|
+
status = status.prepend("#{I18n.t(:connected)} to #{country.emoji_flag} #{country.common_name}\n")
|
38
40
|
.push("\n")
|
39
41
|
.join("\n")
|
42
|
+
# Blocked: Failure to generate tunnel parameters: Failure to select a matching tunnel relay
|
43
|
+
elsif status.start_with?('Blocked')
|
44
|
+
status.prepend("\n🚧 ").concat("\n")
|
40
45
|
elsif status.start_with?('Connecting')
|
41
46
|
status = status.split("\n")
|
42
47
|
.sort
|
data/lib/mullvadrb/servers.rb
CHANGED
@@ -19,9 +19,9 @@ module Mullvadrb
|
|
19
19
|
else
|
20
20
|
regexp = /\(([a-z]{2})\)/ # Country (xx) - Country name + code and group code
|
21
21
|
flag = s.match(regexp)[1]
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
.upcase
|
23
|
+
.codepoints
|
24
|
+
.map { |c| (c + 127_397).chr('utf-8') }.join
|
25
25
|
country = s.gsub(regexp, '').strip
|
26
26
|
next
|
27
27
|
end
|
data/lib/mullvadrb/wg_manager.rb
CHANGED
@@ -30,7 +30,13 @@ module Mullvadrb
|
|
30
30
|
def specific
|
31
31
|
connections = CONNECTIONS.map { |c| { name: "#{c[:value]} #{c[:name]}", value: c[:value] } }
|
32
32
|
connect(
|
33
|
-
TTY::Prompt.new.select(
|
33
|
+
TTY::Prompt.new.select(
|
34
|
+
'Select configuration file',
|
35
|
+
connections,
|
36
|
+
cycle: true,
|
37
|
+
per_page: 30,
|
38
|
+
filter: true
|
39
|
+
)
|
34
40
|
)
|
35
41
|
end
|
36
42
|
|
data/lib/mullvadrb.rb
CHANGED
@@ -46,7 +46,8 @@ module Mullvadrb
|
|
46
46
|
"🔌 #{I18n.t(:disconnect)}" => 'disconnect',
|
47
47
|
"⚙ #{I18n.t(:change_backend)}" => 'backend',
|
48
48
|
"🗣 #{I18n.t(:languages)}" => 'languages',
|
49
|
-
"📟 #{I18n.t(:dns_blockers)}" => 'dns_blockers'
|
49
|
+
"📟 #{I18n.t(:dns_blockers)}" => 'dns_blockers',
|
50
|
+
"📞 #{I18n.t(:lan)}" => 'lan'
|
50
51
|
}
|
51
52
|
end
|
52
53
|
|
@@ -66,7 +67,7 @@ module Mullvadrb
|
|
66
67
|
exit if selection == 'exit'
|
67
68
|
|
68
69
|
case selection
|
69
|
-
when 'status', 'disconnect', 'country', 'specific', 'random'
|
70
|
+
when 'status', 'disconnect', 'country', 'specific', 'random', 'lan'
|
70
71
|
send(selection)
|
71
72
|
when 'backend'
|
72
73
|
ask_backend
|
data/mullvadrb.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'mullvadrb'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.8'
|
4
4
|
s.summary = 'A TUI to use with Mullvad VPN'
|
5
5
|
s.description = 'A Terminal User Interface to use with Mullvad VPN'
|
6
6
|
s.authors = ['Fernando Briano']
|
@@ -11,10 +11,11 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.license = 'GPL-3.0-only'
|
12
12
|
s.required_ruby_version = '>= 3.0'
|
13
13
|
s.executables << 'mullvadrb'
|
14
|
-
s.add_dependency 'countries'
|
14
|
+
s.add_dependency 'countries', '~> 7'
|
15
15
|
s.add_dependency 'i18n', '~> 1'
|
16
|
-
s.add_dependency 'tty-prompt'
|
16
|
+
s.add_dependency 'tty-prompt', '~> 0.23'
|
17
17
|
s.metadata = {
|
18
|
+
'homepage_uri' => 'https://github.com/picandocodigo/mullvadrb/',
|
18
19
|
'bug_tracker_uri' => 'https://github.com/picandocodigo/mullvadrb/issues',
|
19
20
|
'changelog_uri' => 'https://github.com/picandocodigo/mullvadrb/blob/master/CHANGELOG.md',
|
20
21
|
'source_code_uri' => 'https://github.com/picandocodigo/mullvadrb'
|
metadata
CHANGED
@@ -1,28 +1,28 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mullvadrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fernando Briano
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-08-04 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: countries
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- - "
|
16
|
+
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '
|
18
|
+
version: '7'
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
|
-
- - "
|
23
|
+
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '
|
25
|
+
version: '7'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: i18n
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -41,16 +41,16 @@ dependencies:
|
|
41
41
|
name: tty-prompt
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "
|
44
|
+
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0'
|
46
|
+
version: '0.23'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
51
|
+
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
53
|
+
version: '0.23'
|
54
54
|
description: A Terminal User Interface to use with Mullvad VPN
|
55
55
|
email: fernando@picandocodigo.net
|
56
56
|
executables:
|
@@ -79,6 +79,7 @@ homepage: https://github.com/picandocodigo/mullvad-ruby
|
|
79
79
|
licenses:
|
80
80
|
- GPL-3.0-only
|
81
81
|
metadata:
|
82
|
+
homepage_uri: https://github.com/picandocodigo/mullvadrb/
|
82
83
|
bug_tracker_uri: https://github.com/picandocodigo/mullvadrb/issues
|
83
84
|
changelog_uri: https://github.com/picandocodigo/mullvadrb/blob/master/CHANGELOG.md
|
84
85
|
source_code_uri: https://github.com/picandocodigo/mullvadrb
|