mpw 2.0.3 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -5
- data/README.md +115 -6
- data/VERSION +1 -1
- data/bin/mpw +90 -58
- data/i18n/{cli/en.yml → en.yml} +43 -49
- data/i18n/{cli/fr.yml → fr.yml} +45 -51
- data/lib/mpw/config.rb +117 -206
- data/lib/mpw/item.rb +98 -88
- data/lib/mpw/mpw.rb +416 -288
- data/lib/mpw/sync/ftp.rb +55 -68
- data/lib/mpw/sync/ssh.rb +52 -65
- data/lib/mpw/ui/cli.rb +201 -175
- data/mpw.gemspec +9 -8
- metadata +28 -29
- data/bin/mpw-server +0 -78
- data/bin/mpw-ssh +0 -89
- data/i18n/server/en.yml +0 -26
- data/i18n/server/fr.yml +0 -26
- data/lib/mpw/server.rb +0 -343
- data/lib/mpw/sync/mpw.rb +0 -124
- data/lib/mpw/sync.rb +0 -138
- data/lib/mpw/ui/clissh.rb +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d0eff317597b9307b65264bd5c42547b32588d6
|
4
|
+
data.tar.gz: a374e4ec216d629846f5848e7648d606634eaf2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4b873e23e0065cbe83eb0273e16186a721acfb162974f73036d8eee8f49588172e64cc4ef2ad859971989bf141a2253f7af3cf184a6e730b53d8f967454a7ed
|
7
|
+
data.tar.gz: 1d6c99d6e62f544139ffd11aa5185b99346f2e8b6c9777a32b42cd472be4db9f067a21a9a2fe9e11658c14649b8b997f08fa998c35fc78e88abdaf3137b6180e
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,18 +1,127 @@
|
|
1
1
|
# Manage your passwords!
|
2
2
|
|
3
3
|
MPW is a little software which stores your passwords in an GPG encrypted file.
|
4
|
-
MPW can synchronize your password with
|
4
|
+
MPW can synchronize your password with via SSH or FTP.
|
5
5
|
|
6
6
|
# Installation
|
7
7
|
|
8
|
-
|
9
|
-
This program work with ruby >= 1.9
|
8
|
+
This program work with ruby >= 2.0
|
10
9
|
|
11
10
|
* install ruby and rubygems on your computer
|
12
11
|
* gem install mpw
|
13
12
|
|
14
|
-
If you want use mpw-ssh, you must install sshpass
|
15
|
-
|
16
13
|
# How to use
|
17
14
|
|
18
|
-
|
15
|
+
* Show help
|
16
|
+
```
|
17
|
+
mpw --help
|
18
|
+
```
|
19
|
+
|
20
|
+
* Setup a new config file
|
21
|
+
```
|
22
|
+
mpw --setup
|
23
|
+
mpw --setup --config /path/conf/file.cfg
|
24
|
+
```
|
25
|
+
|
26
|
+
* Create and setup a new wallet
|
27
|
+
```
|
28
|
+
mpw --setup-wallet --wallet new_wallet_name
|
29
|
+
mpw --setup-wallet --wallet new_wallet_name --config /path/conf/file.cfg
|
30
|
+
```
|
31
|
+
|
32
|
+
* Add a GPG key in wallet
|
33
|
+
```
|
34
|
+
mpw --add --key root@localhost.local
|
35
|
+
mpw --add --key root@localhost.local --config /path/conf/file.cfg
|
36
|
+
mpw --add --key root@localhost.local --wallet wallet_name
|
37
|
+
mpw --add --key root@localhost.local --config /path/conf/file.cfg --wallet wallet_name
|
38
|
+
```
|
39
|
+
|
40
|
+
* Add a new GPG key in wallet
|
41
|
+
```
|
42
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub
|
43
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub --config /path/conf/file.cfg
|
44
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub --wallet wallet_name
|
45
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub --config /path/conf/file.cfg --wallet wallet_name
|
46
|
+
```
|
47
|
+
|
48
|
+
* Delete a GPG key in wallet
|
49
|
+
```
|
50
|
+
mpw --delete --key root@localhost.local
|
51
|
+
mpw --delete --key root@localhost.local --wallet wallet_name
|
52
|
+
mpw --delete --key root@localhost.local --wallet wallet_name --config /path/conf/file.cfg
|
53
|
+
```
|
54
|
+
|
55
|
+
* Add a new item in wallet
|
56
|
+
```
|
57
|
+
mpw --add
|
58
|
+
mpw --add --config /path/conf/file.cfg
|
59
|
+
mpw --add --wallet wallet_name
|
60
|
+
mpw --add --config /path/conf/file.cfg --wallet wallet_name
|
61
|
+
```
|
62
|
+
|
63
|
+
* Update an item
|
64
|
+
```
|
65
|
+
mpw --update --id uniq_id
|
66
|
+
mpw --update --id uniq_id --config /path/conf/file.cfg
|
67
|
+
mpw --update --id uniq_id --wallet wallet_name
|
68
|
+
mpw --update --id uniq_id --config /path/conf/file.cfg --wallet wallet_name
|
69
|
+
```
|
70
|
+
|
71
|
+
* Delete an item
|
72
|
+
```
|
73
|
+
mpw --delete --id uniq_id
|
74
|
+
mpw --delete --id uniq_id --config /path/conf/file.cfg
|
75
|
+
mpw --delete --id uniq_id --wallet wallet_name
|
76
|
+
mpw --delete --id uniq_id --config /path/conf/file.cfg --wallet wallet_name
|
77
|
+
```
|
78
|
+
|
79
|
+
* Show an item
|
80
|
+
```
|
81
|
+
mpw --show 'string to search'
|
82
|
+
mpw --show 'string to search' --config /path/conf/file.cfg
|
83
|
+
mpw --show 'string to search' --wallet wallet_name
|
84
|
+
mpw --show 'string to search' --config /path/conf/file.cfg --wallet wallet_name
|
85
|
+
mpw --show 'string to search' --group group_name
|
86
|
+
mpw --show 'string to search' --group group_name --config /path/conf/file.cfg
|
87
|
+
mpw --show 'string to search' --group group_name --wallet wallet_name
|
88
|
+
mpw --show 'string to search' --group group_name --config /path/conf/file.cfg --wallet wallet_name
|
89
|
+
```
|
90
|
+
|
91
|
+
* Export data in YAML file
|
92
|
+
```
|
93
|
+
mpw --export --file /path/file/to/export.yml
|
94
|
+
mpw --export --file /path/file/to/export.yml --config /path/conf/file.cfg
|
95
|
+
mpw --export --file /path/file/to/export.yml --wallet wallet_name
|
96
|
+
mpw --export --file /path/file/to/export.yml --config /path/conf/file.cfg --wallet wallet_name
|
97
|
+
```
|
98
|
+
|
99
|
+
* Import data from YAML file
|
100
|
+
```
|
101
|
+
mpw --import --file /path/file/to/export.yml
|
102
|
+
mpw --import --file /path/file/to/export.yml --config /path/conf/file.cfg
|
103
|
+
mpw --import --file /path/file/to/export.yml --wallet wallet_name
|
104
|
+
mpw --import --file /path/file/to/export.yml --config /path/conf/file.cfg --wallet wallet_name
|
105
|
+
```
|
106
|
+
|
107
|
+
Format file to import:
|
108
|
+
```
|
109
|
+
1:
|
110
|
+
name: Website perso
|
111
|
+
group: Perso
|
112
|
+
host: localhost.local
|
113
|
+
protocol: ftp
|
114
|
+
user: test
|
115
|
+
password: letoortue
|
116
|
+
port: 21
|
117
|
+
comment: Mysuper website
|
118
|
+
2:
|
119
|
+
name: Linuxfr
|
120
|
+
group: Pro
|
121
|
+
host: Linuxfr.org
|
122
|
+
protocol: https
|
123
|
+
user: test
|
124
|
+
password: coucou
|
125
|
+
port:
|
126
|
+
comment:
|
127
|
+
```
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.0
|
data/bin/mpw
CHANGED
@@ -1,17 +1,26 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
2
|
+
# MPW is a software to crypt and manage your passwords
|
3
|
+
# Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
|
4
|
+
#
|
5
|
+
# This program is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU General Public License
|
7
|
+
# as published by the Free Software Foundation; either version 2
|
8
|
+
# of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with this program; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
5
18
|
|
6
|
-
require 'rubygems'
|
7
19
|
require 'optparse'
|
8
20
|
require 'pathname'
|
9
21
|
require 'locale'
|
10
22
|
require 'set'
|
11
23
|
require 'i18n'
|
12
|
-
require 'mpw/mpw'
|
13
|
-
require 'mpw/config'
|
14
|
-
require 'mpw/ui/cli'
|
15
24
|
|
16
25
|
# --------------------------------------------------------- #
|
17
26
|
# Set local
|
@@ -25,8 +34,13 @@ end
|
|
25
34
|
|
26
35
|
APP_ROOT = File.dirname(Pathname.new(__FILE__).realpath)
|
27
36
|
|
37
|
+
# TODO
|
38
|
+
require "#{APP_ROOT}/../lib/mpw/mpw.rb"
|
39
|
+
require "#{APP_ROOT}/../lib/mpw/config.rb"
|
40
|
+
require "#{APP_ROOT}/../lib/mpw/ui/cli.rb"
|
41
|
+
|
28
42
|
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
|
29
|
-
I18n.load_path = Dir["#{APP_ROOT}/../i18n
|
43
|
+
I18n.load_path = Dir["#{APP_ROOT}/../i18n/*.yml"]
|
30
44
|
I18n.default_locale = :en
|
31
45
|
I18n.locale = lang.to_sym
|
32
46
|
|
@@ -36,16 +50,16 @@ I18n.locale = lang.to_sym
|
|
36
50
|
|
37
51
|
options = {}
|
38
52
|
options[:force] = false
|
39
|
-
options[:format] = false
|
40
53
|
options[:sync] = true
|
41
54
|
options[:group] = nil
|
42
55
|
options[:config] = nil
|
56
|
+
options[:wallet] = nil
|
43
57
|
|
44
58
|
OptionParser.new do |opts|
|
45
59
|
opts.banner = "#{I18n.t('option.usage')}: mpw [options]"
|
46
60
|
|
47
|
-
opts.on('-
|
48
|
-
|
61
|
+
opts.on('-a', '--add', I18n.t('option.add')) do
|
62
|
+
options[:add] = true
|
49
63
|
end
|
50
64
|
|
51
65
|
opts.on('-A', '--show-all', I18n.t('option.show_all')) do
|
@@ -53,64 +67,74 @@ OptionParser.new do |opts|
|
|
53
67
|
options[:show] = ''
|
54
68
|
end
|
55
69
|
|
56
|
-
opts.on('-
|
57
|
-
options[:
|
70
|
+
opts.on('-c', '--config CONFIG', I18n.t('option.config')) do |config|
|
71
|
+
options[:config] = config
|
58
72
|
end
|
59
73
|
|
60
|
-
opts.on('-d', '--delete
|
61
|
-
options[:delete] =
|
74
|
+
opts.on('-d', '--delete', I18n.t('option.remove')) do
|
75
|
+
options[:delete] = true
|
62
76
|
end
|
63
77
|
|
64
|
-
opts.on('-
|
65
|
-
options[:
|
78
|
+
opts.on('-e', '--export', I18n.t('option.export')) do
|
79
|
+
options[:export] = true
|
66
80
|
end
|
67
81
|
|
68
|
-
opts.on('-
|
69
|
-
options[:
|
82
|
+
opts.on('-f', '--file FILE', I18n.t('option.file')) do |file|
|
83
|
+
options[:file] = file
|
70
84
|
end
|
71
85
|
|
72
|
-
opts.on('-
|
73
|
-
options[:
|
86
|
+
opts.on('-F', '--force', I18n.t('option.force')) do
|
87
|
+
options[:force] = true
|
74
88
|
end
|
75
89
|
|
76
|
-
opts.on('-
|
77
|
-
options[:
|
90
|
+
opts.on('-g', '--group GROUP', I18n.t('option.group')) do |group|
|
91
|
+
options[:group] = group
|
78
92
|
end
|
79
93
|
|
80
|
-
opts.on('-
|
81
|
-
|
94
|
+
opts.on('-G', '--generate-password [LENGTH]', I18n.t('option.generate_password')) do |length|
|
95
|
+
puts MPW::MPW::password(length)
|
96
|
+
exit 0
|
82
97
|
end
|
83
98
|
|
84
|
-
opts.on('-
|
85
|
-
|
86
|
-
|
99
|
+
opts.on('-h', '--help', I18n.t('option.help')) do
|
100
|
+
puts opts
|
101
|
+
exit 0
|
87
102
|
end
|
88
103
|
|
89
|
-
opts.on('-
|
90
|
-
options[:
|
104
|
+
opts.on('-i', '--id ID', I18n.t('option.id')) do |id|
|
105
|
+
options[:id] = id
|
91
106
|
end
|
92
107
|
|
93
|
-
opts.on('-
|
94
|
-
options[:import] =
|
95
|
-
options[:type] = :yaml
|
108
|
+
opts.on('-I', '--import', I18n.t('option.import')) do
|
109
|
+
options[:import] = true
|
96
110
|
end
|
97
111
|
|
98
|
-
opts.on('-
|
99
|
-
options[:
|
112
|
+
opts.on('-k', '--key KEY', I18n.t('option.key')) do |key|
|
113
|
+
options[:key] = key
|
100
114
|
end
|
101
115
|
|
102
116
|
opts.on('-N', '--no-sync', I18n.t('option.no_sync')) do
|
103
117
|
options[:sync] = false
|
104
118
|
end
|
105
119
|
|
106
|
-
opts.on('-
|
107
|
-
|
108
|
-
exit 0
|
120
|
+
opts.on('-s', '--show [SEARCH]', I18n.t('option.show')) do |search|
|
121
|
+
search.nil? ? (options[:show] = '') : (options[:show] = search)
|
109
122
|
end
|
110
123
|
|
111
|
-
opts.on('-
|
112
|
-
|
113
|
-
|
124
|
+
opts.on('-S', '--setup', I18n.t('option.setup')) do
|
125
|
+
options[:setup] = true
|
126
|
+
end
|
127
|
+
|
128
|
+
opts.on('-u', '--update', I18n.t('option.update')) do
|
129
|
+
options[:update] = true
|
130
|
+
end
|
131
|
+
|
132
|
+
opts.on('-w', '--wallet WALLET', I18n.t('option.wallet')) do |wallet|
|
133
|
+
options[:wallet] = wallet
|
134
|
+
end
|
135
|
+
|
136
|
+
opts.on('-W', '--setup-wallet', I18n.t('option.setup_wallet')) do
|
137
|
+
options[:setup_wallet] = true
|
114
138
|
end
|
115
139
|
end.parse!
|
116
140
|
|
@@ -118,51 +142,59 @@ end.parse!
|
|
118
142
|
# Main
|
119
143
|
# --------------------------------------------------------- #
|
120
144
|
|
121
|
-
config
|
122
|
-
|
123
|
-
|
124
|
-
cli = Cli.new(config)
|
145
|
+
config = MPW::Config.new(options[:config])
|
146
|
+
cli = MPW::Cli.new(config, options[:sync])
|
125
147
|
|
126
148
|
# Setup a new config
|
127
|
-
if not
|
149
|
+
if not config.is_valid? or not options[:setup].nil?
|
128
150
|
cli.setup(lang)
|
129
151
|
elsif not config.check_gpg_key?
|
130
152
|
cli.setup_gpg_key
|
131
153
|
end
|
132
154
|
|
155
|
+
cli.get_wallet(options[:wallet])
|
133
156
|
cli.decrypt
|
134
|
-
cli.sync(options[:sync])
|
135
157
|
|
136
158
|
# Display the item's informations
|
137
159
|
if not options[:show].nil?
|
138
160
|
opts = {search: options[:show],
|
139
161
|
group: options[:group],
|
140
|
-
protocol: options[:protocol],
|
141
162
|
}
|
142
163
|
|
143
164
|
cli.display(opts)
|
144
165
|
|
145
166
|
# Remove an item
|
146
|
-
elsif not options[:delete].nil?
|
147
|
-
cli.delete(options[:
|
167
|
+
elsif not options[:delete].nil? and not options[:id].nil?
|
168
|
+
cli.delete(options[:id], options[:force])
|
148
169
|
|
149
170
|
# Update an item
|
150
|
-
elsif not options[:update].nil?
|
151
|
-
cli.update(options[:
|
171
|
+
elsif not options[:update].nil? and not options[:id].nil?
|
172
|
+
cli.update(options[:id])
|
152
173
|
|
153
174
|
# Add a new item
|
154
|
-
elsif not options[:add].nil?
|
175
|
+
elsif not options[:add].nil? and options[:key].nil?
|
155
176
|
cli.add
|
156
177
|
|
178
|
+
# Add a new public key in wallet
|
179
|
+
elsif not options[:add].nil? and not options[:key].nil?
|
180
|
+
cli.add_key(options[:key], options[:file])
|
181
|
+
|
182
|
+
# Delete a public key in wallet
|
183
|
+
elsif not options[:delete].nil? and not options[:key].nil?
|
184
|
+
cli.delete_key(options[:key])
|
185
|
+
|
157
186
|
# Export
|
158
|
-
elsif not options[:export].nil?
|
159
|
-
cli.export(options[:
|
187
|
+
elsif not options[:export].nil? and not options[:file].nil?
|
188
|
+
cli.export(options[:file])
|
160
189
|
|
161
190
|
# Add a new item
|
162
|
-
elsif not options[:import].nil?
|
163
|
-
cli.import(options[:
|
191
|
+
elsif not options[:import].nil? and not options[:file].nil?
|
192
|
+
cli.import(options[:file])
|
193
|
+
|
194
|
+
# Setup wallet config
|
195
|
+
elsif not options[:setup_wallet].nil?
|
196
|
+
cli.setup_wallet_config
|
164
197
|
|
165
|
-
# Interactive mode
|
166
198
|
end
|
167
199
|
|
168
200
|
cli = nil
|
data/i18n/{cli/en.yml → en.yml}
RENAMED
@@ -1,8 +1,6 @@
|
|
1
1
|
---
|
2
2
|
en:
|
3
3
|
error:
|
4
|
-
client:
|
5
|
-
no_authorized: "You aren't authorized."
|
6
4
|
config:
|
7
5
|
write: "Can't write the config file!"
|
8
6
|
check: "Checkconfig failed!"
|
@@ -14,52 +12,56 @@ en:
|
|
14
12
|
password: "You must define a password for your GPG key!"
|
15
13
|
delete:
|
16
14
|
id_no_exist: "Can't delete the item %{id}, it doesn't exist!"
|
17
|
-
export:
|
18
|
-
unknown_type: "The data type %{type} is unknown!"
|
19
|
-
write: "Can't export, unable to write in %{file}!"
|
15
|
+
export: "Can't export, unable to write in %{file}!"
|
20
16
|
gpg_file:
|
21
17
|
decrypt: "Can't decrypt file!"
|
22
18
|
encrypt: "Can't encrypt the GPG file!"
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
mpw_file:
|
20
|
+
read_data: "Can't to read the MPW file!"
|
21
|
+
write_data: "Can't to write the MPW file!"
|
22
|
+
import: "Can't import, unable to read %{file}!"
|
26
23
|
update:
|
27
24
|
name_empty: "You must define a name!"
|
28
25
|
sync:
|
26
|
+
general: "An error is appeared durint the sync"
|
29
27
|
connection: "Connection fail!"
|
30
28
|
communication: "A communication problem with the server is appeared!"
|
31
29
|
download: "Can't download the file!"
|
32
30
|
not_authorized: "You haven't the access to remote file!"
|
33
31
|
upload: "Can't upload the file on the server!"
|
34
|
-
unknown: "An unknown error is occured!"
|
35
|
-
|
32
|
+
unknown: "An unknown error is occured!"
|
33
|
+
unknown_type: "The sync type is unknown"
|
36
34
|
|
37
35
|
warning:
|
38
36
|
select: 'Your choice is not a valid element!'
|
39
37
|
|
40
38
|
option:
|
41
|
-
|
42
|
-
show: "Search and show the items"
|
43
|
-
show_all: "Show all items"
|
44
|
-
update: "Update an item"
|
45
|
-
remove: "Delete an item"
|
46
|
-
group: "Search the items with specified group"
|
47
|
-
add: "Add an item"
|
39
|
+
add: "Add an item or key"
|
48
40
|
config: "Specify the configuration file to use"
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
type: "Data's type export file [csv|yaml]"
|
53
|
-
import: "Import item since a yaml or csv file"
|
54
|
-
force: "Force an action"
|
55
|
-
no_sync: "Disable synchronization with the server"
|
56
|
-
format: "Change the display items format by an alternative format"
|
41
|
+
export: "Export a wallet in an yaml file"
|
42
|
+
file: "Specify a file, to use with the options [--import | --export | --add]"
|
43
|
+
force: "No ask to confirm when you delete an item"
|
57
44
|
generate_password: "Generate a random password (default 8 characters)"
|
45
|
+
group: "Search the items with specified group"
|
58
46
|
help: "Show this help message"
|
47
|
+
id: "Specify an id, to use with the options [--delete | --update]"
|
48
|
+
import: "Import item since a yaml file"
|
49
|
+
key: "Specify the key name, to use with the options [--add | --delete | --update]"
|
50
|
+
no_sync: "Disable synchronization with the server"
|
51
|
+
setup: "Create a new configuration file"
|
52
|
+
setup_wallet: "Create a new configuration file for a wallet"
|
53
|
+
show: "Search and show the items"
|
54
|
+
show_all: "Show all items"
|
55
|
+
remove: "Delete an item"
|
56
|
+
update: "Update an item"
|
57
|
+
usage: "Usage"
|
58
|
+
wallet: "Specify a wallet to use"
|
59
59
|
|
60
60
|
form:
|
61
61
|
select: "Select the item: "
|
62
|
-
|
62
|
+
add_key:
|
63
|
+
valid: "Key has been added!"
|
64
|
+
add_item:
|
63
65
|
title: "Add a new item"
|
64
66
|
name: "Enter the name: "
|
65
67
|
group: "Enter the group (optional): "
|
@@ -70,7 +72,9 @@ en:
|
|
70
72
|
port: "Enter the connection port (optional): "
|
71
73
|
comment: "Enter a comment (optional): "
|
72
74
|
valid: "Item has been added!"
|
73
|
-
|
75
|
+
delete_key:
|
76
|
+
valid: "Key has been deleted!"
|
77
|
+
delete_item:
|
74
78
|
ask: "Are you sure you want to remove the item %{id} ?"
|
75
79
|
valid: "The item %{id} has been removed!"
|
76
80
|
not_valid: "The item %{id} hasn't been removed, because it doesn't exist!"
|
@@ -78,20 +82,21 @@ en:
|
|
78
82
|
ask: "Are you sure you want to import this file %{file} ?"
|
79
83
|
valid: "The import is succesfull!"
|
80
84
|
not_valid: "No data to import!"
|
81
|
-
|
85
|
+
setup_config:
|
82
86
|
title: "Setup a new config file"
|
83
|
-
lang: "Choose your language (en, fr, ...): "
|
84
|
-
gpg_key: "Enter the GPG key: "
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
87
|
+
lang: "Choose your language (en, fr, ...) [default=%{lang}]: "
|
88
|
+
gpg_key: "Enter the GPG key [ex: test@host.local]: "
|
89
|
+
wallet_dir: "Enter the wallets's folder path [default=%{home}/wallets]: "
|
90
|
+
valid: "The config file has been created!"
|
91
|
+
setup_wallet:
|
92
|
+
title: "Wallet setup"
|
93
|
+
sync_type: "Synchronization type (ssh, ftp, or nil): "
|
89
94
|
sync_host: "Synchronization server: "
|
90
95
|
sync_port: "Port of the synchronization server: "
|
91
96
|
sync_user: "Username for the synchronization: "
|
92
97
|
sync_pwd: "Password for the synchronization: "
|
93
98
|
sync_path: "File path for the synchronization : "
|
94
|
-
valid: "The config file has been created!"
|
99
|
+
valid: "The wallet config file has been created!"
|
95
100
|
setup_gpg_key:
|
96
101
|
title: "Setup a GPG key"
|
97
102
|
ask: "Do you want create your GPG key ? (Y/n)"
|
@@ -104,7 +109,7 @@ en:
|
|
104
109
|
expire: "Expire time of the GPG key [default=0 (unlimited)]: "
|
105
110
|
wait: "Please waiting during the GPG key generate, this process can take few minutes."
|
106
111
|
valid: "Your GPG key has been created ;-)"
|
107
|
-
|
112
|
+
update_item:
|
108
113
|
title: "Update an item"
|
109
114
|
name: "Enter the name [%{name}]: "
|
110
115
|
group: "Enter the group [%{group}]: "
|
@@ -121,28 +126,17 @@ en:
|
|
121
126
|
display:
|
122
127
|
comment: "Comment"
|
123
128
|
error: "ERROR"
|
124
|
-
gpg_password: "
|
129
|
+
gpg_password: "GPG passphrase: "
|
125
130
|
group: "Group"
|
126
131
|
login: "Login"
|
127
132
|
name: "Name"
|
128
|
-
nothing: "
|
133
|
+
nothing: "No matches!"
|
129
134
|
password: "Password"
|
130
135
|
port: "Port"
|
131
136
|
protocol: "Protocol"
|
132
137
|
server: "Server"
|
133
138
|
warning: "Warning"
|
134
139
|
|
135
|
-
ssh:
|
136
|
-
option:
|
137
|
-
usage: "Usage"
|
138
|
-
login: "Change the login"
|
139
|
-
server: "Change the host or the ip"
|
140
|
-
port: "Change the port"
|
141
|
-
help: "Show this help message"
|
142
|
-
display:
|
143
|
-
connect: "Connection to:"
|
144
|
-
nothing: "Nothing result!"
|
145
|
-
|
146
140
|
formats:
|
147
141
|
default: ! '%Y-%m-%d'
|
148
142
|
long: ! '%B %d, %Y'
|