freydis 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +10 -0
- data/README.md +1 -1
- data/lib/freydis/config.rb +13 -19
- data/lib/freydis/cryptsetup.rb +2 -2
- data/lib/freydis/disk.rb +0 -0
- data/lib/freydis/disk_luks.rb +3 -3
- data/lib/freydis/error.rb +0 -0
- data/lib/freydis/guard.rb +0 -0
- data/lib/freydis/main.rb +28 -0
- data/lib/freydis/options.rb +33 -19
- data/lib/freydis/rsync.rb +37 -22
- data/lib/freydis/secrets/archive.rb +12 -2
- data/lib/freydis/secrets/gpg.rb +1 -1
- data/lib/freydis/secrets.rb +0 -0
- data/lib/freydis/version.rb +1 -1
- data/lib/freydis.rb +21 -16
- data/lib/mods/exec.rb +4 -2
- data.tar.gz.sig +0 -0
- metadata +25 -24
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e071855bc8658bc5c785f31c78782e5551f21c007527d5198110c6040f1c8ca
|
4
|
+
data.tar.gz: b3b106797d2bddfafb5e9aeabd4b353e4f88d2d7fcd8ad82867fb103f56ea50a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80a41013b5a8f8c5bbefea435e32d5f6fa52a4b2dafb3f712d67191b2a16e29d3ff869132ad86d67100fb43e4048ced45e4ec8d60cc8796076ee449b07f4594d
|
7
|
+
data.tar.gz: af96444a6d4c3047adf667cd98dddbfb19a80caf4e094d3dab869575b7b3a61ca51f2693bb166e0306d57498bbe1ea881239cfb4ac9c0c564de166122d260b8d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 0.2.0, release 2023/10/23
|
2
|
+
* Define constant OPTIONS and ACTIONS
|
3
|
+
* Correct rsync options
|
4
|
+
* Can save gpg recipient in freydis.yaml
|
5
|
+
* Enhance output of freydis -L
|
6
|
+
* Move engine in Freydis::Main
|
7
|
+
|
8
|
+
## 0.1.1, release 2022/10/8
|
9
|
+
* Restore archive with sudo if permission are insufficient.
|
10
|
+
|
1
11
|
## 0.1.0, release 2022/09/20
|
2
12
|
* New dependencies for `Freydis::Secrets`: `bsdtar`, `shred` and `gnupg`.
|
3
13
|
* Option store a new field `gpg_recipient`.
|
data/README.md
CHANGED
@@ -43,7 +43,7 @@ The config file will be created at `~/.config/freydis/freydis.yaml`.
|
|
43
43
|
#### 0x02 - First backup
|
44
44
|
Freydis will use `rsync`, all paths must be separated by a comma:
|
45
45
|
|
46
|
-
$ freydis --backup --paths-add
|
46
|
+
$ freydis --backup --paths-add /home,/etc --save
|
47
47
|
|
48
48
|
#### 0x03 - Restore
|
49
49
|
With `--disk` and `--paths-add` saved in the config file, you only need to write:
|
data/lib/freydis/config.rb
CHANGED
@@ -9,36 +9,30 @@ module Freydis
|
|
9
9
|
class Config
|
10
10
|
include Msg
|
11
11
|
|
12
|
-
attr_accessor :gpg_recipient, :disk, :paths
|
13
|
-
|
14
12
|
def initialize
|
15
|
-
@cpath =
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
@cpath = ENV['XDG_CONFIG_HOME'] ?
|
14
|
+
"#{ENV['XDG_CONFIG_HOME']}/freydis/freydis.yaml" :
|
15
|
+
"#{ENV['HOME']}/.config/freydis/freydis.yaml"
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
def save
|
20
|
+
FileUtils.mkdir_p Pathname.new(@cpath).parent.to_s
|
21
|
+
File.write @cpath, YAML::dump(OPTIONS)
|
22
|
+
success "Saving options to #{@cpath}..."
|
19
23
|
end
|
20
24
|
|
21
25
|
def load
|
22
26
|
if File.exist? @cpath
|
23
27
|
info 'Loading config...'
|
24
28
|
data_load = YAML.load_file @cpath
|
25
|
-
|
26
|
-
|
27
|
-
|
29
|
+
OPTIONS[:disk] = data_load[:disk]
|
30
|
+
OPTIONS[:gpg_recipient] = data_load[:gpg_recipient]
|
31
|
+
OPTIONS[:backup_paths] = data_load[:backup_paths]
|
28
32
|
else
|
29
33
|
info "Creating config file #{@cpath}..."
|
30
34
|
save
|
31
35
|
end
|
32
36
|
end
|
33
|
-
|
34
|
-
def save
|
35
|
-
FileUtils.mkdir_p Pathname.new(@cpath).parent.to_s
|
36
|
-
File.write @cpath, YAML::dump({
|
37
|
-
disk: @disk,
|
38
|
-
gpg_recipient: @gpg_recipient,
|
39
|
-
paths: @paths.uniq
|
40
|
-
})
|
41
|
-
success "Saving options to #{@cpath}..."
|
42
|
-
end
|
43
37
|
end
|
44
38
|
end
|
data/lib/freydis/cryptsetup.rb
CHANGED
@@ -9,9 +9,9 @@ module Freydis
|
|
9
9
|
include Msg
|
10
10
|
|
11
11
|
def initialize
|
12
|
-
Guard.disk_id(
|
12
|
+
Guard.disk_id(OPTIONS[:disk])
|
13
13
|
|
14
|
-
@disk = Disk.new(
|
14
|
+
@disk = Disk.new(OPTIONS[:disk]).search_sdx
|
15
15
|
@mapper_name = 'freydis-encrypt'
|
16
16
|
@mountpoint = '/mnt/freydis'
|
17
17
|
end
|
data/lib/freydis/disk.rb
CHANGED
File without changes
|
data/lib/freydis/disk_luks.rb
CHANGED
@@ -13,7 +13,7 @@ module Freydis
|
|
13
13
|
cryptsetup.open
|
14
14
|
cryptsetup.format
|
15
15
|
cryptsetup.close
|
16
|
-
success "Disk #{
|
16
|
+
success "Disk #{OPTIONS[:disk]} fully encrypted."
|
17
17
|
end
|
18
18
|
|
19
19
|
def open
|
@@ -21,13 +21,13 @@ module Freydis
|
|
21
21
|
cryptsetup.close
|
22
22
|
cryptsetup.open
|
23
23
|
cryptsetup.mount
|
24
|
-
success "Disk #{
|
24
|
+
success "Disk #{OPTIONS[:disk]} opened."
|
25
25
|
end
|
26
26
|
|
27
27
|
def close
|
28
28
|
cryptsetup = Freydis::Cryptsetup.new
|
29
29
|
cryptsetup.close
|
30
|
-
success "Disk #{
|
30
|
+
success "Disk #{OPTIONS[:disk]} closed."
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
data/lib/freydis/error.rb
CHANGED
File without changes
|
data/lib/freydis/guard.rb
CHANGED
File without changes
|
data/lib/freydis/main.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# lib/main.rb
|
3
|
+
|
4
|
+
module Freydis
|
5
|
+
class Main
|
6
|
+
# Code here
|
7
|
+
def initialize(args)
|
8
|
+
Options.new(args[:argv])
|
9
|
+
end
|
10
|
+
|
11
|
+
def start
|
12
|
+
DiskLuks.encrypt if ACTIONS[:encrypt]
|
13
|
+
DiskLuks.open if ACTIONS[:open]
|
14
|
+
DiskLuks.close if ACTIONS[:close]
|
15
|
+
Rsync.new.backup if ACTIONS[:backup]
|
16
|
+
Rsync.new.restore if ACTIONS[:restore]
|
17
|
+
Secrets.backup if ACTIONS[:secrets_backup]
|
18
|
+
Secrets.restore if ACTIONS[:secrets_restore]
|
19
|
+
Config.new.save if ACTIONS[:config_save]
|
20
|
+
end
|
21
|
+
|
22
|
+
def bye
|
23
|
+
puts
|
24
|
+
puts "Bye !"
|
25
|
+
exit
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/freydis/options.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'optparse'
|
4
|
+
require 'mods/msg'
|
4
5
|
|
5
6
|
module Freydis
|
6
7
|
class Options
|
8
|
+
include Msg
|
9
|
+
|
7
10
|
def initialize(argv)
|
8
11
|
parse(argv)
|
9
12
|
end
|
@@ -15,67 +18,78 @@ module Freydis
|
|
15
18
|
opts.banner = 'Usage: freydis.rb [options]'
|
16
19
|
opts.version = VERSION
|
17
20
|
|
18
|
-
opts.on('--disk NAME', /^sd[a-z]$/,
|
19
|
-
|
21
|
+
opts.on('--disk NAME', /^sd[a-z]$/,
|
22
|
+
'Use the disk NAME (e.g: sda, sdb).') do |disk|
|
23
|
+
OPTIONS[:disk] = Guard.disk(disk)
|
20
24
|
end
|
21
25
|
|
22
26
|
opts.on('--gpg-recipient NAME', String, 'Use gpg key NAME.') do |key|
|
23
|
-
|
27
|
+
OPTIONS[:gpg_recipient] = Guard.gpg(key)
|
28
|
+
info "Using key #{OPTIONS[:gpg_recipient]}"
|
24
29
|
end
|
25
30
|
|
26
|
-
opts.on('-p PATHS', '--paths-add PATHS', Array,
|
31
|
+
opts.on('-p PATHS', '--paths-add PATHS', Array,
|
32
|
+
'Add absolute PATHS to the backup list.') do |paths|
|
27
33
|
paths.each do |p|
|
28
34
|
Freydis::Guard.path? p
|
29
|
-
Freydis::CONFIG.paths << p
|
30
|
-
end
|
31
35
|
|
36
|
+
info p
|
37
|
+
OPTIONS[:backup_paths] << p unless OPTIONS[:backup_paths].include? p
|
38
|
+
end
|
32
39
|
end
|
33
40
|
|
34
|
-
opts.on('-d PATH', '--path-del PATH', String,
|
41
|
+
opts.on('-d PATH', '--path-del PATH', String,
|
42
|
+
'Remove absolute PATH from the backup list.') do |p|
|
35
43
|
Freydis::Guard.path? p
|
36
|
-
|
44
|
+
|
45
|
+
if OPTIONS[:backup_paths].include? p
|
46
|
+
OPTIONS[:backup_paths].delete p
|
47
|
+
else
|
48
|
+
error "#{p} is no found in #{OPTIONS[:backup_paths]}"
|
49
|
+
end
|
37
50
|
end
|
38
51
|
|
39
52
|
opts.on('-L', '--paths-list', 'List all paths from your list.') do
|
40
|
-
if
|
41
|
-
|
53
|
+
if OPTIONS[:backup_paths].nil?
|
54
|
+
error 'Nothing in paths yet...'
|
42
55
|
else
|
43
|
-
|
56
|
+
success "Listing paths to backup..."
|
57
|
+
OPTIONS[:backup_paths].each { |p| info p }
|
44
58
|
end
|
45
59
|
end
|
46
60
|
|
47
61
|
# Engines options
|
48
62
|
|
49
63
|
opts.on('-e', '--encrypt', 'Encrypt and format (ext4) your device.') do
|
50
|
-
|
64
|
+
ACTIONS[:encrypt] = true
|
51
65
|
end
|
52
66
|
|
53
67
|
opts.on('-o', '--open', 'Open and mount encrypted disk at /mnt/freydis.') do
|
54
|
-
|
68
|
+
ACTIONS[:open] = true
|
55
69
|
end
|
56
70
|
|
57
71
|
opts.on('-c', '--close', 'Umount and close encrypted disk.') do
|
58
|
-
|
72
|
+
ACTIONS[:close] = true
|
59
73
|
end
|
60
74
|
|
61
75
|
opts.on('-b', '--backup', 'Perform a backup.') do
|
62
|
-
|
76
|
+
ACTIONS[:backup] = true
|
63
77
|
end
|
64
78
|
|
65
79
|
opts.on('-r', '--restore', 'Restore saved datas on your system.') do
|
66
|
-
|
80
|
+
ACTIONS[:restore] = true
|
67
81
|
end
|
68
82
|
|
69
83
|
opts.on('--secrets-backup', 'Backup only secrets, including GPG keys.') do |s|
|
70
|
-
|
84
|
+
ACTIONS[:secrets_backup] = true
|
71
85
|
end
|
72
86
|
|
73
87
|
opts.on('--secrets-restore', 'Restore secrets.') do |s|
|
74
|
-
|
88
|
+
ACTIONS[:secrets_restore] = true
|
75
89
|
end
|
76
90
|
|
77
91
|
opts.on('-s', '--save', 'Save current arguments in the config file.') do
|
78
|
-
|
92
|
+
ACTIONS[:config_save] = true
|
79
93
|
end
|
80
94
|
|
81
95
|
begin
|
data/lib/freydis/rsync.rb
CHANGED
@@ -7,41 +7,56 @@ module Freydis
|
|
7
7
|
include Exec
|
8
8
|
|
9
9
|
def initialize
|
10
|
-
@workdir = '/mnt/freydis/backup
|
10
|
+
@workdir = '/mnt/freydis/backup'
|
11
11
|
@exclude_paths = %w[
|
12
|
-
/dev/*
|
13
|
-
/proc/*
|
14
|
-
/sys/*
|
15
|
-
/tmp/*
|
16
|
-
/run/*
|
17
|
-
/mnt/*
|
18
|
-
/media/*
|
19
|
-
/var/lib/dhcpcd/*
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
12
|
+
"/dev/*"
|
13
|
+
"/proc/*"
|
14
|
+
"/sys/*"
|
15
|
+
"/tmp/*"
|
16
|
+
"/run/*"
|
17
|
+
"/mnt/*"
|
18
|
+
"/media/*"
|
19
|
+
"/var/lib/dhcpcd/*"
|
20
|
+
"*/.gvfs"
|
21
|
+
"*/.vim/*"
|
22
|
+
"*/.weechat/*"
|
23
|
+
"*/.thumbnails/*"
|
24
|
+
"*/.oh-my-zsh/*"
|
25
|
+
"*/.cache/*"
|
26
|
+
"*/.emacs.d/*"
|
27
|
+
"*/.local/share/*"
|
28
|
+
"*/.Xauthority"
|
29
|
+
"*/.xsession-errors"
|
30
|
+
"*/.quickemu/*"
|
31
|
+
"*/.config/BraveSoftware/*"
|
32
|
+
"*/.config/Min/*"
|
33
|
+
"*/.config/emacs"
|
34
|
+
"*/build/*"
|
35
|
+
"*/tmp/*"
|
36
|
+
"*/.npm"
|
37
|
+
"*/.history"
|
38
|
+
"*lost+found"
|
27
39
|
]
|
28
|
-
|
40
|
+
#@opts = '-aAXHvR'
|
41
|
+
@opts = '-aAXHv --relative'
|
42
|
+
#@opts = '-aAXHvRx'
|
29
43
|
end
|
30
44
|
|
31
45
|
def backup
|
32
|
-
|
46
|
+
DiskLuks.open
|
33
47
|
mkdir @workdir
|
34
48
|
exil = @exclude_paths * ','
|
35
|
-
save =
|
49
|
+
save = OPTIONS[:backup_paths] * ' '
|
36
50
|
@opts += ' --delete'
|
37
51
|
x "rsync #{@opts} --exclude={#{exil}} #{save} #{@workdir}"
|
38
|
-
|
52
|
+
puts "Saved path #{save}"
|
53
|
+
DiskLuks.close
|
39
54
|
end
|
40
55
|
|
41
56
|
def restore
|
42
|
-
|
57
|
+
DiskLuks.open
|
43
58
|
x "rsync #{@opts} #{@workdir} /"
|
44
|
-
|
59
|
+
DiskLuks.close
|
45
60
|
end
|
46
61
|
end
|
47
62
|
end
|
@@ -12,7 +12,7 @@ module Freydis
|
|
12
12
|
|
13
13
|
def initialize(gpg)
|
14
14
|
@workdir = '/mnt/freydis/secrets'
|
15
|
-
@filename = "#{@workdir}/#{
|
15
|
+
@filename = "#{@workdir}/#{OPTIONS[:gpg_recipient]}_#{Date.today}.tar.gz"
|
16
16
|
@restore_dir = '/tmp'
|
17
17
|
@include_paths = %w[]
|
18
18
|
@gpg = gpg
|
@@ -30,7 +30,8 @@ module Freydis
|
|
30
30
|
|
31
31
|
# Restore the most recent archive in your $HOME
|
32
32
|
def restore
|
33
|
-
last_archive =
|
33
|
+
last_archive = find_last_archive
|
34
|
+
error 'No archive found.' unless last_archive
|
34
35
|
|
35
36
|
mkdir @restore_dir
|
36
37
|
info "Restoring #{last_archive}..."
|
@@ -48,6 +49,15 @@ module Freydis
|
|
48
49
|
#{@gpg.pubkey_path}])
|
49
50
|
end
|
50
51
|
|
52
|
+
def find_last_archive
|
53
|
+
if Process.uid == 0
|
54
|
+
Dir.glob("#{@workdir}/#{CONFIG.gpg_recipient}*").sort[0]
|
55
|
+
else
|
56
|
+
archive = `sudo ls #{@workdir}/ | grep #{CONFIG.gpg_recipient} | sort | head -1`.chomp
|
57
|
+
"#{@workdir}/#{archive}" if archive
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
51
61
|
private
|
52
62
|
|
53
63
|
def search_paths(paths)
|
data/lib/freydis/secrets/gpg.rb
CHANGED
@@ -9,7 +9,7 @@ module Freydis
|
|
9
9
|
attr_reader :seckey_path, :pubkey_path
|
10
10
|
|
11
11
|
def initialize
|
12
|
-
@recipient = Guard.gpg(
|
12
|
+
@recipient = Guard.gpg(OPTIONS[:gpg_recipient])
|
13
13
|
@seckey_path = "/tmp/#{@recipient}-secret.key"
|
14
14
|
@pubkey_path = "/tmp/#{@recipient}-public.key"
|
15
15
|
end
|
data/lib/freydis/secrets.rb
CHANGED
File without changes
|
data/lib/freydis/version.rb
CHANGED
data/lib/freydis.rb
CHANGED
@@ -10,24 +10,29 @@ require_relative 'freydis/rsync'
|
|
10
10
|
require_relative 'freydis/error'
|
11
11
|
require_relative 'freydis/guard'
|
12
12
|
require_relative 'freydis/secrets'
|
13
|
+
require_relative 'freydis/main'
|
13
14
|
|
14
15
|
module Freydis
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
@argv = args[:argv]
|
21
|
-
end
|
16
|
+
OPTIONS = {
|
17
|
+
disk: '',
|
18
|
+
gpg_recipient: '',
|
19
|
+
backup_paths: []
|
20
|
+
}
|
22
21
|
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
ACTIONS = {
|
23
|
+
encrypt: false,
|
24
|
+
open: false,
|
25
|
+
close: false,
|
26
|
+
backup: false,
|
27
|
+
restore: false,
|
28
|
+
secrets_backup: false,
|
29
|
+
secrets_restore: false,
|
30
|
+
config_save: true
|
31
|
+
}
|
26
32
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
end
|
33
|
+
# Load options from YAML
|
34
|
+
Config.new.load
|
35
|
+
|
36
|
+
# If problem with the config load
|
37
|
+
OPTIONS[:backup_paths] = [] if OPTIONS[:backup_paths] == nil
|
33
38
|
end
|
data/lib/mods/exec.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freydis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- szorfein
|
@@ -12,31 +12,31 @@ cert_chain:
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIEhTCCAu2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBEMREwDwYDVQQDDAhzem9y
|
14
14
|
ZmVpbjEaMBgGCgmSJomT8ixkARkWCnByb3Rvbm1haWwxEzARBgoJkiaJk/IsZAEZ
|
15
|
-
|
15
|
+
FgNjb20wHhcNMjMxMDIzMTcyMTA4WhcNMjQxMDIyMTcyMTA4WjBEMREwDwYDVQQD
|
16
16
|
DAhzem9yZmVpbjEaMBgGCgmSJomT8ixkARkWCnByb3Rvbm1haWwxEzARBgoJkiaJ
|
17
|
-
k/
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
AaOBgTB/
|
27
|
-
|
17
|
+
k/IsZAEZFgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCqe1yx
|
18
|
+
EG2oM25jeHp08A8zkaDNmbI3MujjrRM/WPEYZX2dVwOxkIS20hQVuxcAsBBA4W/W
|
19
|
+
kuPbqRkvLboaGaxLrllkSEJw9HA/GesTdXLyCFYmNzSFqGh5BafNSkxoiDhTavxp
|
20
|
+
xvYzAkYR/3CzSOWSxJk73wIg+F7w/nWJPTt2tgJE9hgR8uuFY+EzPOlFZhkFTdCV
|
21
|
+
88sBGuZPMjq7ASQVBE3UA+Y1xJeXE3/FhIhYvLnjevkkDLSLFmox0ZQf6nx6abuL
|
22
|
+
KTOGRA1bfLfkW5HMh5X5JwViliwG3RWhqAukJUgHTUk+oKtejlzSDqupwOenKZf0
|
23
|
+
xI2/BnS8zOsS6Te08iLxqZfI/lsG8wcPduekSetRI4VIOZ5QoRK54PiQjrOBhbnD
|
24
|
+
OQBB/XF1C80imZtRtdUqh6bK9WeWI4RYZ2/KwXL1AScEbXkBkkOECWoVrD18WgRm
|
25
|
+
siuX6RkNIelhtb0En7f3bizgPqlO0qPQV+wPi9TSBxdVG12C0OmjCQYMQD0CAwEA
|
26
|
+
AaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBTlKnQ3qMUF
|
27
|
+
zydvZaKwdP+dnj2uajAiBgNVHREEGzAZgRdzem9yZmVpbkBwcm90b25tYWlsLmNv
|
28
28
|
bTAiBgNVHRIEGzAZgRdzem9yZmVpbkBwcm90b25tYWlsLmNvbTANBgkqhkiG9w0B
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
29
|
+
AQsFAAOCAYEAFjnBWWfaMeA8hP0Q76WmBCFckGN5I42X5RQkVYRRXIaeXIS1td/t
|
30
|
+
O1v1iQLo6ABfASMi6We7T16+ita68xwNOmSkMNHHXBr/fdGbHExxFSX7BXNRbwla
|
31
|
+
SS6Vy0bXKMDJbXcvkrmIolpYhEFm1218FCRCT6ogM1oWAJAfhfF9pMeRxrxjQYFn
|
32
|
+
ko8XgjIHxb83miOILgdq/lgJ4gfD7PsGfJtLCLiCKCcxIb4TtmKAzRwCDVpb6wqM
|
33
|
+
5xJZffAmHI7v8lVer53sPzm3INPu5xFZyfZ/SXYXPKKwln0efH63K5vuXYwEN7NI
|
34
|
+
SBSRTN03Hb65t86m6/r084SrNnLntQjCSqApzFBt1QwJ5cmiVilODN4V7y2hZpyK
|
35
|
+
hSk3b2VOotDPiWIm1p/IPXQDfm5x67Z5fJQPAlBTsse4jKyVyW1lZLmERSBuRZ2O
|
36
|
+
urXgRIzALxd/xazPCnoLSXPzfJSI6Y77S1EBvhPd9RaSO8IyH9RhPDP9mnTvW2Kl
|
37
|
+
NAUnoL+txK5a
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date:
|
39
|
+
date: 2023-10-23 00:00:00.000000000 Z
|
40
40
|
dependencies: []
|
41
41
|
description: 'Freydis is a CLI tool to encrypt a disk device, backup and restore easyly.
|
42
42
|
Freydis use `cryptsetup` and `rsync` mainly.
|
@@ -60,6 +60,7 @@ files:
|
|
60
60
|
- lib/freydis/disk_luks.rb
|
61
61
|
- lib/freydis/error.rb
|
62
62
|
- lib/freydis/guard.rb
|
63
|
+
- lib/freydis/main.rb
|
63
64
|
- lib/freydis/options.rb
|
64
65
|
- lib/freydis/rsync.rb
|
65
66
|
- lib/freydis/secrets.rb
|
@@ -93,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
94
|
requirements:
|
94
95
|
- cryptsetup
|
95
96
|
- rsync
|
96
|
-
rubygems_version: 3.3.
|
97
|
+
rubygems_version: 3.3.25
|
97
98
|
signing_key:
|
98
99
|
specification_version: 4
|
99
100
|
summary: Backup and Restore data from encrypted device.
|
metadata.gz.sig
CHANGED
Binary file
|