spior 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '01991c016f887cb41723c10909810d4bc7c762ad844d85a3bd094653123b891f'
4
- data.tar.gz: 6df20aa83ef6b7c2201bde879f4927183476b3b35d41eec6415ca7d0c3d0c8c5
3
+ metadata.gz: 464734f8ed0ffa37558b7ef2601d91b8fb718cc77dc778cc0cb24be6f2c88da3
4
+ data.tar.gz: c47daf892c550c4d67316a576c22140d35a4897aa61cb626f7762f22b70e4ba7
5
5
  SHA512:
6
- metadata.gz: 4b0d5ab4e4ccd4a8563eaae7e1aee31f77041b5d1dd593e79719ec82cb51868b24958cd8b92973fbc03303d8e54d9f0f9d9837913af9474e3099f4c867e14902
7
- data.tar.gz: f3bf8c16db8f5d8ec3e42b65f30567921ac4b0de3fffe2615e5ad045228920eed77ca5520c77b4b776ab75cbeda9455dab5bfe715a14b351e5711b5ca7b46ec9
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
@@ -21,5 +21,10 @@ module Msg
21
21
  puts ""
22
22
  info text
23
23
  puts "Please, report this issue at https://github.com/szorfein/spior/issues"
24
+ puts ""
25
+ end
26
+
27
+ def self.for_no_systemd
28
+ puts "Init system is not yet supported. You can contribute to add it."
24
29
  end
25
30
  end
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 = ["-h"] if argv.empty?
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
@@ -30,8 +30,6 @@ module Spior
30
30
  end
31
31
  if @options.tor then
32
32
  Msg.head
33
- Spior::Install::check_base
34
- Spior::Copy::config_files
35
33
  if not @network
36
34
  @network = Spior::Network.new(@options.interface)
37
35
  end
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
- s.author = ['szorfein']
22
- s.homepage = 'https://github.com/szorfein/spior'
16
+
17
+ s.licenses = ['MIT']
23
18
  s.email = 'szorfein@protonmail.com'
24
- s.required_ruby_version = '>=2.4'
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.0
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-08 00:00:00.000000000 Z
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