spior 0.1.0 → 0.1.1
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +6 -0
- data/lib/spior/install.rb +0 -7
- data/lib/spior/menu.rb +62 -0
- data/lib/spior/msg.rb +5 -0
- data/lib/spior/options.rb +6 -1
- data/lib/spior/runner.rb +0 -2
- data/lib/spior/tor.rb +25 -0
- data/spior.gemspec +16 -11
- data.tar.gz.sig +0 -0
- metadata +6 -4
- 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: 464734f8ed0ffa37558b7ef2601d91b8fb718cc77dc778cc0cb24be6f2c88da3
|
4
|
+
data.tar.gz: c47daf892c550c4d67316a576c22140d35a4897aa61cb626f7762f22b70e4ba7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49ae19e3346500ef07e62bccc11697e3fb26420528ab7853aa9fdb6e1295dbba6cab69fd630d52fa1511fbb775c6bae947ffae3491d919c1d8e3c62c93f32f27
|
7
|
+
data.tar.gz: 6cb403b201d4b2cbb22cd9640477aba3c4ce87ae0219abb661c01987c41961ded3d9b444edb0154f3ca47a71c818886dc3bc3cce9acfcf6878900f3294a630a0
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## 0.1.1, release 2020-05-09
|
2
|
+
* The tor class now check for dependencies and service start|restart
|
3
|
+
* Call Spior without arguments now display the interactive menu
|
4
|
+
* New option -m|--menu
|
5
|
+
* Reorder the spior.gemspec
|
6
|
+
|
1
7
|
## 0.1.0, release 2020-05-08
|
2
8
|
* Will manage differents version of torrc, if your distro fail to start TOR, report an issue.
|
3
9
|
* Ensure than TOR is start before proceed.
|
data/lib/spior/install.rb
CHANGED
@@ -12,7 +12,6 @@ module Spior
|
|
12
12
|
|
13
13
|
def self.check_base
|
14
14
|
base_packages
|
15
|
-
verify_services
|
16
15
|
end
|
17
16
|
|
18
17
|
def self.check_mac
|
@@ -36,12 +35,6 @@ module Spior
|
|
36
35
|
end
|
37
36
|
end
|
38
37
|
|
39
|
-
def self.verify_services
|
40
|
-
if TTY::Which.exist?('systemctl')
|
41
|
-
system('if ! systemctl is-active tor ; then sudo systemctl start tor ; fi')
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
38
|
def self.pkg_mac
|
46
39
|
pkg_name="deceitmac"
|
47
40
|
if not TTY::Which.exist?(pkg_name)
|
data/lib/spior/menu.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
require_relative 'msg'
|
2
|
+
require_relative 'mac'
|
3
|
+
require_relative 'iptables'
|
4
|
+
require_relative 'network'
|
5
|
+
require_relative 'reload'
|
6
|
+
require_relative 'clear'
|
7
|
+
require_relative 'status'
|
8
|
+
|
9
|
+
module Spior
|
10
|
+
module Menu
|
11
|
+
extend self
|
12
|
+
|
13
|
+
def run
|
14
|
+
banner
|
15
|
+
loop do
|
16
|
+
Msg.head
|
17
|
+
puts %q{Please select an option:
|
18
|
+
|
19
|
+
1. Forge a new MAC address
|
20
|
+
2. Redirect traffic through tor
|
21
|
+
3. Reload tor and change your ip
|
22
|
+
4. Clear and restore your files
|
23
|
+
5. Check info on your current ip
|
24
|
+
6. Quit}
|
25
|
+
|
26
|
+
puts
|
27
|
+
print ">> "
|
28
|
+
case gets.chomp
|
29
|
+
when '1'
|
30
|
+
check_network
|
31
|
+
Spior::MAC::randomize(@network.card)
|
32
|
+
when '2'
|
33
|
+
check_network
|
34
|
+
Spior::Iptables::tor(@network.card)
|
35
|
+
when '3'
|
36
|
+
Spior::Reload::tor
|
37
|
+
when '4'
|
38
|
+
Spior::Clear::all
|
39
|
+
when '5'
|
40
|
+
Spior::Status::info
|
41
|
+
when '6'
|
42
|
+
exit
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def banner
|
50
|
+
puts "┏━┓┏━┓╻┏━┓┏━┓"
|
51
|
+
puts "┗━┓┣━┛┃┃ ┃┣┳┛"
|
52
|
+
puts "┗━┛╹ ╹┗━┛╹┗╸"
|
53
|
+
# generated with toilet -F crop -f future spior
|
54
|
+
end
|
55
|
+
|
56
|
+
def check_network
|
57
|
+
if not @network
|
58
|
+
@network = Spior::Network.new
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/spior/msg.rb
CHANGED
data/lib/spior/options.rb
CHANGED
@@ -2,6 +2,7 @@ require 'optparse'
|
|
2
2
|
require_relative 'reload'
|
3
3
|
require_relative 'status'
|
4
4
|
require_relative 'clear'
|
5
|
+
require_relative 'menu'
|
5
6
|
|
6
7
|
module Spior
|
7
8
|
class Options
|
@@ -51,13 +52,17 @@ module Spior
|
|
51
52
|
@persist = true
|
52
53
|
end
|
53
54
|
|
55
|
+
opts.on("-m", "--menu", "Display an interactive menu") do
|
56
|
+
Spior::Menu::run
|
57
|
+
end
|
58
|
+
|
54
59
|
opts.on("-h", "--help", "Show this message") do
|
55
60
|
puts opts
|
56
61
|
exit
|
57
62
|
end
|
58
63
|
|
59
64
|
begin
|
60
|
-
argv = ["-
|
65
|
+
argv = ["-m"] if argv.empty?
|
61
66
|
opts.parse!(argv)
|
62
67
|
rescue OptionParser::ParseError => e
|
63
68
|
STDERR.puts e.message, "\n", opts
|
data/lib/spior/runner.rb
CHANGED
data/lib/spior/tor.rb
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'pathname'
|
2
2
|
require 'nomansland'
|
3
|
+
require 'tty-which'
|
3
4
|
require_relative 'msg'
|
5
|
+
require_relative 'install'
|
6
|
+
require_relative 'copy'
|
4
7
|
|
5
8
|
module Spior
|
6
9
|
class Tor
|
7
10
|
attr_accessor :dns, :uid, :trans_port, :virt_addr
|
8
11
|
|
9
12
|
def initialize
|
13
|
+
check_deps
|
10
14
|
@dns = search_dns
|
11
15
|
@uid = search_uid
|
12
16
|
@trans_port = search_trans_port
|
@@ -15,6 +19,12 @@ module Spior
|
|
15
19
|
|
16
20
|
private
|
17
21
|
|
22
|
+
def check_deps
|
23
|
+
Spior::Install::check_base
|
24
|
+
Spior::Copy::config_files
|
25
|
+
verify_service
|
26
|
+
end
|
27
|
+
|
18
28
|
def search_dns
|
19
29
|
9061
|
20
30
|
end
|
@@ -37,5 +47,20 @@ module Spior
|
|
37
47
|
def search_virt_addr
|
38
48
|
"10.192.0.0/10"
|
39
49
|
end
|
50
|
+
|
51
|
+
def verify_service
|
52
|
+
if TTY::Which.exist?('systemctl')
|
53
|
+
state = `systemctl is-active tor`.chomp
|
54
|
+
if state == 'active'
|
55
|
+
#puts "Restart tor"
|
56
|
+
system('sudo systemctl restart tor')
|
57
|
+
else
|
58
|
+
#puts "Start tor"
|
59
|
+
system('sudo systemctl start tor')
|
60
|
+
end
|
61
|
+
else
|
62
|
+
Msg.for_no_systemd
|
63
|
+
end
|
64
|
+
end
|
40
65
|
end
|
41
66
|
end
|
data/spior.gemspec
CHANGED
@@ -1,35 +1,40 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "spior"
|
3
|
-
|
3
|
+
s.version = "0.1.1"
|
4
4
|
s.summary = "A tool to make TOR your default gateway and randomize your hardware"
|
5
5
|
s.description = <<-EOF
|
6
6
|
A tool to make TOR your default gateway and randomize your hardware.
|
7
7
|
EOF
|
8
|
-
|
9
8
|
s.metadata = {
|
10
9
|
"changelog_uri" => "https://github.com/szorfein/spior/blob/master/CHANGELOG.md",
|
11
10
|
"bug_tracker_uri" => "https://github.com/szorfein/spior/issues",
|
12
11
|
"wiki_uri" => "https://github.com/szorfein/spior"
|
13
12
|
}
|
13
|
+
s.author = ['szorfein']
|
14
14
|
|
15
|
-
s.version = "0.1.0"
|
16
|
-
s.requirements << 'tor'
|
17
|
-
s.requirements << 'sudo'
|
18
|
-
s.requirements << 'iptables'
|
19
|
-
s.requirements << 'deceitmac'
|
20
15
|
s.platform = Gem::Platform::RUBY
|
21
|
-
|
22
|
-
s.
|
16
|
+
|
17
|
+
s.licenses = ['MIT']
|
23
18
|
s.email = 'szorfein@protonmail.com'
|
24
|
-
s.
|
19
|
+
s.homepage = 'https://github.com/szorfein/spior'
|
20
|
+
|
25
21
|
s.files = `git ls-files`.split(" ")
|
26
22
|
s.files.reject! { |fn| fn.include? "certs" }
|
27
23
|
s.files.reject! { |fn| fn.include? "Makefile" }
|
28
24
|
s.executables = [ 'spior' ]
|
25
|
+
|
26
|
+
s.extra_rdoc_files = Dir["README.md", "CHANGELOG.md", "LICENSE.txt"]
|
27
|
+
|
29
28
|
s.test_files = Dir["test/test_*.rb"]
|
30
|
-
s.licenses = ['MIT']
|
31
29
|
s.cert_chain = ['certs/szorfein.pem']
|
32
30
|
s.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0 =~ /gem\z/
|
31
|
+
|
32
|
+
s.requirements << 'tor'
|
33
|
+
s.requirements << 'sudo'
|
34
|
+
s.requirements << 'iptables'
|
35
|
+
|
36
|
+
s.required_ruby_version = '>=2.4'
|
37
|
+
|
33
38
|
s.add_runtime_dependency('rainbow', '3.0.0')
|
34
39
|
s.add_runtime_dependency('interfacez', '1.0.3')
|
35
40
|
s.add_runtime_dependency('nomansland', '0.0.2')
|
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.1.
|
4
|
+
version: 0.1.1
|
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-09 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rainbow
|
@@ -98,7 +98,9 @@ email: szorfein@protonmail.com
|
|
98
98
|
executables:
|
99
99
|
- spior
|
100
100
|
extensions: []
|
101
|
-
extra_rdoc_files:
|
101
|
+
extra_rdoc_files:
|
102
|
+
- README.md
|
103
|
+
- CHANGELOG.md
|
102
104
|
files:
|
103
105
|
- ".gitignore"
|
104
106
|
- CHANGELOG.md
|
@@ -118,6 +120,7 @@ files:
|
|
118
120
|
- lib/spior/install.rb
|
119
121
|
- lib/spior/iptables.rb
|
120
122
|
- lib/spior/mac.rb
|
123
|
+
- lib/spior/menu.rb
|
121
124
|
- lib/spior/msg.rb
|
122
125
|
- lib/spior/network.rb
|
123
126
|
- lib/spior/options.rb
|
@@ -154,7 +157,6 @@ requirements:
|
|
154
157
|
- tor
|
155
158
|
- sudo
|
156
159
|
- iptables
|
157
|
-
- deceitmac
|
158
160
|
rubygems_version: 3.1.2
|
159
161
|
signing_key:
|
160
162
|
specification_version: 4
|
metadata.gz.sig
CHANGED
Binary file
|