spior 0.0.7 → 0.0.8
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 +7 -0
- data/README.md +0 -7
- data/lib/spior/clear.rb +2 -2
- data/lib/spior/copy.rb +22 -15
- data/lib/spior/install.rb +26 -0
- data/lib/spior/iptables.rb +0 -2
- data/lib/spior/runner.rb +3 -0
- data/spior.gemspec +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- 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: e9da29ea66a46968397265faf097f4fcdb111849af6563ca1157b7a1ca0606da
|
4
|
+
data.tar.gz: 8406d29cdd50d1bbe4c0048f1c6030f8159c7156a0f63066465a6b0624a19c76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47ce8c96a9aab4f5c3f156445cd114f522e4b66c5d7b614b6fb19c0697a41670dd4b6cbba905558d2ca27d509cbfd0160dceb8ad3ddb48d5d9c9ebff16ff0d99
|
7
|
+
data.tar.gz: d4c5cf050ad3cb485a9e9f09c80d634ea837b6bd0d8b5a648c29a3518126b56da0c0ddbc9a85e66f6e9c4d00219b2f95116e38300e95969cd4a8b3d1c2b53744
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## 0.0.8, release 2020-05-06
|
2
|
+
* Always make a copy and replace original file, do not ask, the program is dependent of his config file for now.
|
3
|
+
* Correct install where Dir.chdir don't back to the previous location.
|
4
|
+
* --install also place the deceitmac.service if your system use systemd.
|
5
|
+
* Simplify lib/spior/copy check\_hash.
|
6
|
+
* The use of the option -i|--install is optionnal, deps are checked during the execution.
|
7
|
+
|
1
8
|
## 0.0.7, release 2020-05-05
|
2
9
|
* Execute the option -t|--tor verify if config files are present.
|
3
10
|
* Correct --copy, does not make more than one backup of the same file.
|
data/README.md
CHANGED
data/lib/spior/clear.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'tty-which'
|
2
2
|
require 'nomansland'
|
3
|
+
require_relative 'copy'
|
3
4
|
require_relative 'msg'
|
4
5
|
|
5
6
|
module Spior
|
@@ -33,8 +34,7 @@ module Spior
|
|
33
34
|
end
|
34
35
|
|
35
36
|
def rez_configs
|
36
|
-
|
37
|
-
#system("sudo cp -a /etc/tor/torrc.backup-* /etc/tor/torrc")
|
37
|
+
Spior::Copy::restore_files
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
data/lib/spior/copy.rb
CHANGED
@@ -12,19 +12,19 @@ module Spior
|
|
12
12
|
copy_file("ipt_mod.conf", "/etc/modules-load.d/ipt_mod.conf")
|
13
13
|
end
|
14
14
|
|
15
|
+
def self.restore_files
|
16
|
+
backup_exist("/etc/tor/torrc")
|
17
|
+
backup_exist("/etc/resolv.conf")
|
18
|
+
end
|
19
|
+
|
15
20
|
private
|
16
21
|
|
17
22
|
def self.copy_file(conf, target)
|
18
23
|
@config_file = "conf/#{conf}"
|
19
24
|
return if check_hash(@config_file, target)
|
20
25
|
if File.exist? target then
|
21
|
-
if
|
22
|
-
|
23
|
-
choice = gets.chomp
|
24
|
-
if choice =~ /y|Y/ then
|
25
|
-
backup_file(target)
|
26
|
-
add_file target
|
27
|
-
end
|
26
|
+
if ! previous_copy target
|
27
|
+
backup_file(target)
|
28
28
|
else
|
29
29
|
add_file target
|
30
30
|
end
|
@@ -33,19 +33,19 @@ module Spior
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
+
def self.previous_copy(target)
|
37
|
+
backup=`ls #{target}.backup-* | head -n 1`.chomp
|
38
|
+
return false if !File.exist?(backup)
|
39
|
+
check_hash(backup, target)
|
40
|
+
end
|
41
|
+
|
36
42
|
def self.check_hash(src, target)
|
37
|
-
return unless File.exist? target
|
38
43
|
sha256conf = Digest::SHA256.file src
|
39
44
|
sha256target = Digest::SHA256.file target
|
40
|
-
|
41
|
-
Msg.p "File #{src} alrealy exist, skip"
|
42
|
-
return true
|
43
|
-
end
|
44
|
-
return false
|
45
|
+
sha256conf === sha256target
|
45
46
|
end
|
46
47
|
|
47
48
|
def self.backup_file(target)
|
48
|
-
return if check_hash(target, target + ".backup-*")
|
49
49
|
d = DateTime.now
|
50
50
|
backup = target + ".backup-" + d.strftime('%b-%d_%I-%M')
|
51
51
|
system("sudo cp -a #{target} #{backup}")
|
@@ -59,7 +59,14 @@ module Spior
|
|
59
59
|
|
60
60
|
def self.backup_exist(target)
|
61
61
|
backup=`ls #{target}.backup-* | head -n 1`.chomp
|
62
|
-
|
62
|
+
if File.exist? backup
|
63
|
+
if ! check_hash(target, backup)
|
64
|
+
system("sudo cp -a #{backup} #{target}")
|
65
|
+
Msg.p "Restored #{backup}"
|
66
|
+
end
|
67
|
+
else
|
68
|
+
puts "No found previous backup for #{target}"
|
69
|
+
end
|
63
70
|
end
|
64
71
|
end
|
65
72
|
end
|
data/lib/spior/install.rb
CHANGED
@@ -7,6 +7,14 @@ module Spior
|
|
7
7
|
|
8
8
|
def self.dependencies
|
9
9
|
base_packages
|
10
|
+
mac_update
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.check_base
|
14
|
+
base_packages
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.check_mac
|
10
18
|
pkg_mac
|
11
19
|
end
|
12
20
|
|
@@ -28,6 +36,13 @@ module Spior
|
|
28
36
|
end
|
29
37
|
|
30
38
|
def self.pkg_mac
|
39
|
+
pkg_name="deceitmac"
|
40
|
+
if not TTY::Which.exist?(pkg_name)
|
41
|
+
build_pkg(pkg_name)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.mac_update
|
31
46
|
pkg_name="deceitmac"
|
32
47
|
if TTY::Which.exist?(pkg_name)
|
33
48
|
print "Target #{pkg_name} exist, update? [N/y] "
|
@@ -43,13 +58,24 @@ module Spior
|
|
43
58
|
end
|
44
59
|
|
45
60
|
def self.build_pkg(name)
|
61
|
+
old_path = Dir.pwd
|
46
62
|
system("rm -rf /tmp/#{name}*")
|
47
63
|
system("curl -L -o /tmp/#{name}.tar.gz https://github.com/szorfein/#{name}/archive/master.tar.gz")
|
48
64
|
Dir.chdir("/tmp")
|
49
65
|
system("tar xvf #{name}.tar.gz")
|
50
66
|
Dir.chdir("#{name}-master")
|
51
67
|
system("sudo make install")
|
68
|
+
if TTY::Which.exist?('systemctl')
|
69
|
+
if Dir.exist?("/lib/systemd/system")
|
70
|
+
puts "lib/systemd"
|
71
|
+
system("sudo cp deceitmac@.service /lib/systemd/system/")
|
72
|
+
else
|
73
|
+
puts "/usr/lib/systemd"
|
74
|
+
system("sudo cp deceitmac@.service /usr/lib/systemd/system/")
|
75
|
+
end
|
76
|
+
end
|
52
77
|
Msg.p "pkg #{name} installed"
|
78
|
+
Dir.chdir(old_path)
|
53
79
|
rescue => e
|
54
80
|
Msg.err e
|
55
81
|
end
|
data/lib/spior/iptables.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'interfacez'
|
2
2
|
require_relative 'tor'
|
3
|
-
require_relative 'copy'
|
4
3
|
require_relative 'msg'
|
5
4
|
|
6
5
|
module Spior
|
@@ -35,7 +34,6 @@ module Spior
|
|
35
34
|
private
|
36
35
|
|
37
36
|
def self.initialize(interface)
|
38
|
-
check_dep
|
39
37
|
@lo = Interfacez.loopback
|
40
38
|
@lo_addr = Interfacez.ipv4_address_of(@lo)
|
41
39
|
@tor = Spior::Tor.new
|
data/lib/spior/runner.rb
CHANGED
@@ -21,6 +21,7 @@ module Spior
|
|
21
21
|
end
|
22
22
|
if @options.mac then
|
23
23
|
Msg.head
|
24
|
+
Spior::Install::check_mac
|
24
25
|
if not @network
|
25
26
|
@network = Spior::Network.new(@options.interface)
|
26
27
|
end
|
@@ -28,6 +29,8 @@ module Spior
|
|
28
29
|
end
|
29
30
|
if @options.tor then
|
30
31
|
Msg.head
|
32
|
+
Spior::Install::check_base
|
33
|
+
Spior::Copy::config_files
|
31
34
|
if not @network
|
32
35
|
@network = Spior::Network.new(@options.interface)
|
33
36
|
end
|
data/spior.gemspec
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spior
|
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
|
- szorfein
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
J/zT/q2Ac7BWpSLbv6p9lChBiEnD9j24x463LR5QQjDNS5SsjzRQfFuprsa9Nqf2
|
36
36
|
Tw==
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2020-05-
|
38
|
+
date: 2020-05-06 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rainbow
|
metadata.gz.sig
CHANGED
Binary file
|