amnesie 0.0.3 → 0.0.8
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.tar.gz.sig +0 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +26 -0
- data/README.md +6 -2
- data/Rakefile +14 -3
- data/amnesie.gemspec +3 -1
- data/bin/amnesie +2 -3
- data/lib/amnesie.rb +66 -0
- data/lib/amnesie/helpers.rb +54 -2
- data/lib/amnesie/mac.rb +29 -26
- data/lib/amnesie/options.rb +13 -3
- data/lib/amnesie/persist.rb +92 -0
- data/lib/amnesie/process.rb +19 -8
- data/lib/amnesie/version.rb +3 -0
- metadata +6 -4
- metadata.gz.sig +0 -0
- data/lib/amnesie/runner.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11732d798fc4f5b255df8da77dce5585e801790ce0c0b4b50f6323495b6055b7
|
4
|
+
data.tar.gz: dd548f98938363b93bdcdc77e3e8772dec636832f39668e64aefbbc430c9414e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 109de0795c5ae684624a8f2fd86759fe23fdaa1d360e6616e5d565fe7b59fef76d103a06aaca45803acf2a1d3ff763cf9638c8dc9654dba90b5e05c5c08a8277
|
7
|
+
data.tar.gz: f7d40849705a4cd1095b5310d69d6cae33152edd502c1270d9d64ba0342a766c362fef499c40688e53913b0cafb5380c243a69452e4c05efd541e16655ffaacd
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,29 @@
|
|
1
|
+
## 0.0.8, release 2020-09-22
|
2
|
+
* Enhance code
|
3
|
+
* Update the class MAC, more ruby like
|
4
|
+
* Use securerandom (>= ruby2.5)
|
5
|
+
|
6
|
+
## 0.0.7, release 2020-05-29
|
7
|
+
* Shortcut action for service (e/d)
|
8
|
+
* Correct permission on amnesie-mac@.service
|
9
|
+
* Enhance lib/amnesie/helper
|
10
|
+
|
11
|
+
## 0.0.6, release 2020-05-20
|
12
|
+
* Init a doc with RDoc.
|
13
|
+
* Add -i|--init to start init process properly.
|
14
|
+
* Add dhcpcd to the mac@.service, dhclient doesn't seem necessary.
|
15
|
+
* Correct the mac@.service.
|
16
|
+
|
17
|
+
## 0.0.5, release 2020-05-19
|
18
|
+
* Create a amnesie-mac@.service (work only if the gem is install system-wide)
|
19
|
+
* Add -p|--persist
|
20
|
+
* Replace Makefile by a Rakefile
|
21
|
+
|
22
|
+
## 0.0.4, release 2020-05-16
|
23
|
+
* Debian10 need to reload ifup@card-name too
|
24
|
+
* Correct path where search dhclient (/bin,/sbin)
|
25
|
+
* Enhance stuff for kill and reload dhclient (tested on debian 10)
|
26
|
+
|
1
27
|
## 0.0.3, release 2020-05-15
|
2
28
|
* Add stuff for kill and reload dhclient (tested on debian 10)
|
3
29
|
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@ Inspiration come from a post found on [Qubes-OS](https://www.qubes-os.org/doc/an
|
|
10
10
|
## Install
|
11
11
|
Amnesie is cryptographically signed, so add my public key (if you haven’t already) as a trusted certificate.
|
12
12
|
|
13
|
-
$ gem cert --add <(curl -Ls https://raw.githubusercontent.com/szorfein/
|
13
|
+
$ gem cert --add <(curl -Ls https://raw.githubusercontent.com/szorfein/amnesie/master/certs/szorfein.pem)
|
14
14
|
|
15
15
|
And install the gem
|
16
16
|
|
@@ -28,10 +28,14 @@ To change the MAC address for eth0:
|
|
28
28
|
|
29
29
|
$ amnesie -n eth0 -m
|
30
30
|
|
31
|
+
Create or Disable all systemd services for a network card:
|
32
|
+
|
33
|
+
$ amnesie -p -n wlp2s0
|
34
|
+
|
31
35
|
## Left Over
|
32
36
|
|
33
37
|
### Issues
|
34
|
-
For any questions, comments, feedback or issues, submit a [new issue](https://github.com/szorfein/
|
38
|
+
For any questions, comments, feedback or issues, submit a [new issue](https://github.com/szorfein/amnesie/issues/new).
|
35
39
|
|
36
40
|
### links
|
37
41
|
+ https://rubyreferences.github.io/rubyref
|
data/Rakefile
CHANGED
@@ -1,10 +1,21 @@
|
|
1
1
|
# https://github.com/seattlerb/minitest#running-your-tests-
|
2
2
|
require "rake/testtask"
|
3
|
+
require File.dirname(__FILE__) + "/lib/amnesie/version"
|
3
4
|
|
4
5
|
Rake::TestTask.new(:test) do |t|
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
t.libs << "test"
|
7
|
+
t.libs << "lib"
|
8
|
+
t.test_files = FileList["test/test_*.rb"]
|
9
|
+
end
|
10
|
+
|
11
|
+
# rake gem:build
|
12
|
+
namespace :gem do
|
13
|
+
desc "build the gem"
|
14
|
+
task :build do
|
15
|
+
Dir["amnesie*.gem"].each {|f| File.unlink(f) }
|
16
|
+
system("gem build amnesie.gemspec")
|
17
|
+
system("gem install amnesie-#{Amnesie::VERSION}.gem -P MediumSecurity")
|
18
|
+
end
|
8
19
|
end
|
9
20
|
|
10
21
|
task :default => :test
|
data/amnesie.gemspec
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/lib/amnesie/version"
|
2
|
+
|
1
3
|
Gem::Specification.new do |s|
|
2
4
|
s.name = "amnesie"
|
3
|
-
s.version =
|
5
|
+
s.version = Amnesie::VERSION
|
4
6
|
s.summary = "A tool to make your computer amnesic"
|
5
7
|
s.description = <<-EOF
|
6
8
|
A tool to make your computer amnesic"
|
data/bin/amnesie
CHANGED
data/lib/amnesie.rb
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
require_relative 'amnesie/options'
|
2
|
+
require_relative 'amnesie/persist'
|
3
|
+
require_relative 'amnesie/process'
|
4
|
+
require_relative 'amnesie/network'
|
5
|
+
require_relative 'amnesie/mac'
|
6
|
+
require_relative 'amnesie/helpers'
|
7
|
+
|
8
|
+
module Amnesie
|
9
|
+
def self.random_mac(network)
|
10
|
+
mac = Amnesie::MAC.new(network)
|
11
|
+
mac.set_addr
|
12
|
+
puts "New MAC for " + mac.to_s
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.services(network)
|
16
|
+
persist = Amnesie::Persist.new(network)
|
17
|
+
if ! persist.mac_exist?
|
18
|
+
puts "Create service..."
|
19
|
+
persist.services
|
20
|
+
elsif persist.mac_exist?
|
21
|
+
persist.update_mac
|
22
|
+
end
|
23
|
+
persist.menu_mac
|
24
|
+
puts persist.to_s
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.random_mac_and_kill(network)
|
28
|
+
process = Amnesie::Process.new(network)
|
29
|
+
mac = Amnesie::MAC.new(network)
|
30
|
+
|
31
|
+
process.kill
|
32
|
+
mac.down
|
33
|
+
mac.set_addr
|
34
|
+
puts "New MAC for " + mac.to_s
|
35
|
+
mac.up
|
36
|
+
process.restart
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
class Main
|
41
|
+
def initialize(argv)
|
42
|
+
@argv = argv
|
43
|
+
run
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def run
|
49
|
+
options = Options.new(@argv)
|
50
|
+
network = options.net_dev ? Network.new(options.net_dev) : Network.new()
|
51
|
+
|
52
|
+
if options.init
|
53
|
+
Amnesie.random_mac(network.card)
|
54
|
+
exit
|
55
|
+
end
|
56
|
+
|
57
|
+
if options.persist
|
58
|
+
Amnesie.services(network.card)
|
59
|
+
end
|
60
|
+
|
61
|
+
if options.mac
|
62
|
+
Amnesie.random_mac_and_kill(network.card)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/lib/amnesie/helpers.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'tempfile'
|
3
|
+
|
1
4
|
module Helpers
|
2
5
|
class Exec
|
3
6
|
def initialize(name)
|
4
|
-
@search_uid
|
5
|
-
@search_uid ||= 1000 unless $?.success?
|
7
|
+
@search_uid= Process::Sys.getuid
|
6
8
|
@name = name
|
7
9
|
end
|
8
10
|
|
@@ -16,4 +18,54 @@ module Helpers
|
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
21
|
+
|
22
|
+
class NewFile
|
23
|
+
def initialize(string, name, dest = "/tmp")
|
24
|
+
@string = string
|
25
|
+
@name = name
|
26
|
+
@dest = dest + "/" + @name
|
27
|
+
end
|
28
|
+
|
29
|
+
def add
|
30
|
+
@mv = Helpers::Exec.new("mv")
|
31
|
+
tmp = Tempfile.new(@name)
|
32
|
+
File.open(tmp.path, 'w') do |file|
|
33
|
+
file.puts @string
|
34
|
+
end
|
35
|
+
@mv.run("#{tmp.path} #{@dest}")
|
36
|
+
end
|
37
|
+
|
38
|
+
def perm(user, perm)
|
39
|
+
chown = Helpers::Exec.new("chown")
|
40
|
+
chmod = Helpers::Exec.new("chmod")
|
41
|
+
chown.run("#{user}:#{user} #{@dest}")
|
42
|
+
chmod.run("#{perm} #{@dest}")
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class NewSystemd < NewFile
|
47
|
+
def initialize(string, name)
|
48
|
+
super
|
49
|
+
@systemd_dir = search_systemd_dir
|
50
|
+
@dest = @systemd_dir + "/" + @name
|
51
|
+
end
|
52
|
+
|
53
|
+
def add
|
54
|
+
@systemctl = Helpers::Exec.new("systemctl")
|
55
|
+
super
|
56
|
+
@systemctl.run("daemon-reload")
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
def search_systemd_dir
|
61
|
+
if Dir.exist? "/lib/systemd/system"
|
62
|
+
"/lib/systemd/system"
|
63
|
+
elsif Dir.exist? "/usr/lib/systemd/system"
|
64
|
+
"/usr/lib/systemd/system"
|
65
|
+
else
|
66
|
+
raise "No directory systemd found"
|
67
|
+
exit
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
19
71
|
end
|
data/lib/amnesie/mac.rb
CHANGED
@@ -1,47 +1,50 @@
|
|
1
|
-
|
1
|
+
require 'securerandom'
|
2
2
|
|
3
3
|
module Amnesie
|
4
4
|
class MAC
|
5
5
|
def initialize(card)
|
6
6
|
@card = card
|
7
7
|
@ip = Helpers::Exec.new("ip")
|
8
|
+
save_origin
|
9
|
+
new_mac
|
8
10
|
end
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
def set_addr
|
13
|
+
@ip.run("link set dev #{@card} address #{@mac}")
|
14
|
+
end
|
15
|
+
|
16
|
+
def down
|
17
|
+
@ip.run("link set dev #{@card} down")
|
18
|
+
end
|
19
|
+
|
20
|
+
def up
|
21
|
+
@ip.run("link set dev #{@card} up")
|
19
22
|
end
|
20
23
|
|
21
24
|
def to_s
|
22
|
-
rand
|
23
25
|
@card + " " + @mac
|
24
26
|
end
|
25
27
|
|
26
|
-
|
27
|
-
|
28
|
+
private
|
29
|
+
|
30
|
+
def new_mac
|
31
|
+
first = SecureRandom.hex(1)
|
32
|
+
last = SecureRandom.hex(5)
|
33
|
+
lastfive = last.split(//).each_slice(2).to_a.map(&:join).join(':')
|
34
|
+
firstbyte = `printf '%02X' $(( 0x#{first} & 254 | 2))`
|
35
|
+
@mac = "#{firstbyte}:#{lastfive}".downcase
|
28
36
|
end
|
29
37
|
|
38
|
+
def search_curr_mac
|
39
|
+
@curr = `ip addr show dev #{@card} | grep -i ether | awk '{print $2}'`.chomp
|
40
|
+
end
|
41
|
+
|
30
42
|
def save_origin
|
43
|
+
return if File.exist? "/tmp/mac_#{@card}"
|
31
44
|
search_curr_mac
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
file.puts(@curr)
|
36
|
-
file.close
|
37
|
-
puts "Origin saved"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def apply
|
42
|
-
@ip.run("link set dev #{@card} down")
|
43
|
-
@ip.run("link set dev #{@card} address #{@mac}")
|
44
|
-
@ip.run("link set dev #{@card} up")
|
45
|
+
filename="/tmp/mac_#{@card}"
|
46
|
+
File.write(filename, @curr)
|
47
|
+
puts "Origin saved"
|
45
48
|
end
|
46
49
|
end
|
47
50
|
end
|
data/lib/amnesie/options.rb
CHANGED
@@ -2,21 +2,31 @@ require 'optparse'
|
|
2
2
|
|
3
3
|
module Amnesie
|
4
4
|
class Options
|
5
|
-
attr_reader :mac, :
|
5
|
+
attr_reader :init, :mac, :net_dev, :persist
|
6
6
|
|
7
7
|
def initialize(argv)
|
8
8
|
parse(argv)
|
9
9
|
end
|
10
10
|
|
11
|
+
private
|
12
|
+
|
11
13
|
def parse(argv)
|
12
14
|
OptionParser.new do |opts|
|
13
15
|
|
14
|
-
opts.on("-
|
16
|
+
opts.on("-i", "--init", "Used with init process (systemd, etc...)") do
|
17
|
+
@init = true
|
18
|
+
end
|
19
|
+
|
20
|
+
opts.on("-m", "--mac", "Forge a random MAC address.") do
|
15
21
|
@mac = true
|
16
22
|
end
|
17
23
|
|
18
24
|
opts.on("-n", "--net-card NAME", "The name of the card to use") do |net|
|
19
|
-
@
|
25
|
+
@net_dev = net
|
26
|
+
end
|
27
|
+
|
28
|
+
opts.on("-p", "--persist", "Enable systemd service") do |net|
|
29
|
+
@persist = true
|
20
30
|
end
|
21
31
|
|
22
32
|
opts.on("-h", "--help", "Show this message") do
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'tempfile'
|
3
|
+
require 'tty-which'
|
4
|
+
|
5
|
+
module Amnesie
|
6
|
+
class Persist
|
7
|
+
def initialize(card)
|
8
|
+
@card = card
|
9
|
+
@systemd_dir = search_systemd_dir
|
10
|
+
@systemctl = Helpers::Exec.new("systemctl")
|
11
|
+
end
|
12
|
+
|
13
|
+
def mac_exist?
|
14
|
+
File.exist? "#{@systemd_dir}/amnesie-mac@.service"
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_s
|
18
|
+
@systemd_dir
|
19
|
+
end
|
20
|
+
|
21
|
+
def mac_service
|
22
|
+
dhcp=''
|
23
|
+
if TTY::Which.exist?('dhcpcd')
|
24
|
+
dhcp='dhcpcd.service'
|
25
|
+
end
|
26
|
+
@string=<<EOF
|
27
|
+
[Unit]
|
28
|
+
Description=Spoof MAC Address on %I
|
29
|
+
Wants=network-pre.target
|
30
|
+
Before=network-pre.target #{dhcp}
|
31
|
+
BindsTo=sys-subsystem-net-devices-%i.device
|
32
|
+
After=sys-subsystem-net-devices-%i.device
|
33
|
+
|
34
|
+
[Service]
|
35
|
+
Type=oneshot
|
36
|
+
ExecStart=/usr/bin/env bash -lc "amnesie -i -m -n %I"
|
37
|
+
TimeoutSec=30
|
38
|
+
|
39
|
+
[Install]
|
40
|
+
WantedBy=multi-user.target
|
41
|
+
EOF
|
42
|
+
end
|
43
|
+
|
44
|
+
def services
|
45
|
+
mac_service
|
46
|
+
new_service = Helpers::NewSystemd.new(@string, "amnesie-mac@.service")
|
47
|
+
new_service.add
|
48
|
+
new_service.perm("root", "644")
|
49
|
+
end
|
50
|
+
|
51
|
+
def update_mac
|
52
|
+
print "Found a old amnesie-mac@.service, update? (y|n) "
|
53
|
+
answer = gets.chomp
|
54
|
+
case answer
|
55
|
+
when /^y|^Y/
|
56
|
+
services
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def menu_mac
|
61
|
+
print "Action on amnesie-mac@.service for #{@card} (enable/disable) ? (e/d) "
|
62
|
+
answer = gets.chomp
|
63
|
+
case answer
|
64
|
+
when /^e|^E/
|
65
|
+
mac_enable
|
66
|
+
when /^d|^D/
|
67
|
+
mac_disable
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def mac_enable
|
74
|
+
@systemctl.run("enable amnesie-mac@#{@card}.service")
|
75
|
+
end
|
76
|
+
|
77
|
+
def mac_disable
|
78
|
+
@systemctl.run("disable amnesie-mac@#{@card}.service")
|
79
|
+
end
|
80
|
+
|
81
|
+
def search_systemd_dir
|
82
|
+
if Dir.exist? "/lib/systemd/system"
|
83
|
+
"/lib/systemd/system"
|
84
|
+
elsif Dir.exist? "/usr/lib/systemd/system"
|
85
|
+
"/usr/lib/systemd/system"
|
86
|
+
else
|
87
|
+
raise "No directory systemd found"
|
88
|
+
exit
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
data/lib/amnesie/process.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
require 'tty-which'
|
2
|
-
require_relative 'helpers'
|
3
2
|
|
4
3
|
module Amnesie
|
5
4
|
class Process
|
6
5
|
def initialize(card)
|
7
6
|
@systemctl = Helpers::Exec.new("systemctl")
|
8
|
-
@
|
7
|
+
@kill = Helpers::Exec.new("kill")
|
9
8
|
@rm = Helpers::Exec.new("rm")
|
10
9
|
@card = card
|
11
10
|
end
|
@@ -25,15 +24,16 @@ module Amnesie
|
|
25
24
|
|
26
25
|
def kill_dhcpcd
|
27
26
|
return if not TTY::Which.exist?('dhcpcd')
|
28
|
-
|
29
|
-
|
27
|
+
pids=`pgrep -i dhcpcd`.chomp
|
28
|
+
kill_pids(pids) if $?.success?
|
30
29
|
puts "Killed dhcpcd"
|
31
30
|
end
|
32
31
|
|
33
32
|
def kill_dhclient
|
34
|
-
return if not TTY::Which.exist?('dhclient')
|
35
|
-
|
36
|
-
|
33
|
+
return if not TTY::Which.exist?('dhclient', paths: ['/sbin'])
|
34
|
+
pids=`pgrep -i dhclient`.chomp
|
35
|
+
kill_pids(pids) if $?.success?
|
36
|
+
|
37
37
|
@rm.run("/run/dhclient.#{@card}.pid") if File.exist? "/run/dhclient.#{@card}.pid"
|
38
38
|
@rm.run("/var/lib/dhcp/dhclient.#{@card}.leases") if File.exist? "/var/lib/dhcp/dhclient.#{@card}.leases"
|
39
39
|
puts "Killed dhclient"
|
@@ -51,10 +51,14 @@ module Amnesie
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def restart_dhclient
|
54
|
-
return if not TTY::Which.exist?('dhclient')
|
54
|
+
return if not TTY::Which.exist?('dhclient', paths: ['/sbin'])
|
55
55
|
dhclient = Helpers::Exec.new("dhclient")
|
56
56
|
# command tested on debian, not try on another system yet...
|
57
57
|
dhclient.run("-4 -v -i -pf /run/dhclient.#{@card}.pid -lf /var/lib/dhcp/dhclient.#{@card}.leases -I -df /var/lib/dhcp/dhclient6.#{@card}.leases #{@card}")
|
58
|
+
if TTY::Which.exist?('systemctl')
|
59
|
+
`systemctl is-active ifup@#{@card}`
|
60
|
+
@systemctl.run("restart ifup@#{@card}") if $?.success?
|
61
|
+
end
|
58
62
|
puts "Restarted dhclient"
|
59
63
|
end
|
60
64
|
|
@@ -66,5 +70,12 @@ module Amnesie
|
|
66
70
|
puts "Restarted tor"
|
67
71
|
end
|
68
72
|
end
|
73
|
+
|
74
|
+
def kill_pids(pids)
|
75
|
+
pids.lines.each { |p|
|
76
|
+
ps = p.gsub(/\n/, '')
|
77
|
+
@kill.run("-9 #{ps}")
|
78
|
+
}
|
79
|
+
end
|
69
80
|
end
|
70
81
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amnesie
|
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-
|
38
|
+
date: 2020-09-22 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rake
|
@@ -132,12 +132,14 @@ files:
|
|
132
132
|
- Rakefile
|
133
133
|
- amnesie.gemspec
|
134
134
|
- bin/amnesie
|
135
|
+
- lib/amnesie.rb
|
135
136
|
- lib/amnesie/helpers.rb
|
136
137
|
- lib/amnesie/mac.rb
|
137
138
|
- lib/amnesie/network.rb
|
138
139
|
- lib/amnesie/options.rb
|
140
|
+
- lib/amnesie/persist.rb
|
139
141
|
- lib/amnesie/process.rb
|
140
|
-
- lib/amnesie/
|
142
|
+
- lib/amnesie/version.rb
|
141
143
|
- test/test_mac.rb
|
142
144
|
homepage: https://github.com/szorfein/amnesie
|
143
145
|
licenses:
|
@@ -161,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
163
|
- !ruby/object:Gem::Version
|
162
164
|
version: '0'
|
163
165
|
requirements: []
|
164
|
-
rubygems_version: 3.1.
|
166
|
+
rubygems_version: 3.1.3
|
165
167
|
signing_key:
|
166
168
|
specification_version: 4
|
167
169
|
summary: A tool to make your computer amnesic
|
metadata.gz.sig
CHANGED
Binary file
|
data/lib/amnesie/runner.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
require_relative 'options'
|
2
|
-
require_relative 'mac'
|
3
|
-
require_relative 'process'
|
4
|
-
require_relative 'network'
|
5
|
-
|
6
|
-
module Amnesie
|
7
|
-
class Runner
|
8
|
-
|
9
|
-
def initialize(argv)
|
10
|
-
@options = Options.new(argv)
|
11
|
-
@network = false
|
12
|
-
end
|
13
|
-
def run
|
14
|
-
if @options.mac then
|
15
|
-
if not @network
|
16
|
-
@network = Amnesie::Network.new(@options.netcard)
|
17
|
-
end
|
18
|
-
puts @network.card
|
19
|
-
process = Amnesie::Process.new(@network.card)
|
20
|
-
card = Amnesie::MAC.new(@network.card)
|
21
|
-
|
22
|
-
process.kill
|
23
|
-
card.save_origin
|
24
|
-
card.rand
|
25
|
-
card.apply
|
26
|
-
puts card.to_s
|
27
|
-
process.restart
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|