spior 0.1.3 → 0.1.4
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.tar.gz.sig +0 -0
- data/CHANGELOG.md +7 -0
- data/Rakefile +19 -0
- data/lib/spior/copy.rb +91 -78
- data/lib/spior/helpers.rb +95 -2
- data/lib/spior/persist.rb +41 -4
- data/lib/spior/runner.rb +2 -5
- data/lib/spior/tor.rb +41 -2
- data/spior.gemspec +3 -3
- metadata +5 -7
- metadata.gz.sig +0 -0
- data/ext/resolv.conf +0 -1
- data/ext/torrc/torrc_archlinux +0 -18
- data/ext/torrc/torrc_default +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 105d4a29ed0eb407f8116daa49be26a8d8714d999efb531e02676f02c6ed50f3
|
4
|
+
data.tar.gz: 0cfdf8f3a6f857e6d7a1541b103ade1316048c4554ab03076d5d287a2b1ffa1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37258c344e84aa8508a87d6a5b41dc821d54038a9cc163b1976e924301238b5b4debf03c2fba0e0a8015b6d17abedaf4313bdc3beb459eb7add6199f16eb8abe
|
7
|
+
data.tar.gz: fe90d4935a4c36efdfb16553153c67a0a956560edb5515ac8efd412a8319a4f897203027aa55883338a32c3add6be19aa5f96e81bfd1d455e6e71357d4e337ab
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## 0.1.4, release 2020-05-21
|
2
|
+
* torrc and resolv.conf are generate dynamically
|
3
|
+
* Remove conf/resolv
|
4
|
+
* Correct path of conf_dir for the install on gentoo
|
5
|
+
* Remove self from lib/copy
|
6
|
+
* Correct little error on lib/copy with undefined method `deps`
|
7
|
+
|
1
8
|
## 0.1.3, release 2020-05-14
|
2
9
|
* Rename conf dir by ext
|
3
10
|
* Clearing all codes about MAC
|
data/Rakefile
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# https://github.com/seattlerb/minitest#running-your-tests-
|
2
|
+
require "rake/testtask"
|
3
|
+
|
4
|
+
Rake::TestTask.new(:test) do |t|
|
5
|
+
t.libs << "test"
|
6
|
+
t.libs << "lib"
|
7
|
+
t.test_files = FileList["test/test_*.rb"]
|
8
|
+
end
|
9
|
+
|
10
|
+
namespace :gem do
|
11
|
+
desc "build the gem"
|
12
|
+
task :build do
|
13
|
+
Dir["spior*.gem"].each {|f| File.unlink(f) }
|
14
|
+
system("gem build spior.gemspec")
|
15
|
+
system("gem install spior-0.1.4.gem -P MediumSecurity")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
task :default => :test
|
data/lib/spior/copy.rb
CHANGED
@@ -6,101 +6,114 @@ require_relative 'helpers'
|
|
6
6
|
|
7
7
|
module Spior
|
8
8
|
class Copy
|
9
|
+
class << self
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
copy_file(@conf_dir + "/ipt_mod.conf", "/etc/modules-load.d/ipt_mod.conf")
|
16
|
-
end
|
11
|
+
def config_files
|
12
|
+
@cp = Helpers::Exec.new("cp -a")
|
13
|
+
search_conf_dir
|
14
|
+
copy_file(@conf_dir + "/ipt_mod.conf", "/etc/modules-load.d/ipt_mod.conf")
|
15
|
+
end
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
17
|
+
def backup(file, re = nil)
|
18
|
+
return if regex_match?(file, re)
|
19
|
+
@cp = Helpers::Exec.new("cp -a")
|
20
|
+
backup = file + "_backup"
|
21
|
+
if File.exist? backup
|
22
|
+
puts "File #{backup} exist with content:"
|
23
|
+
system("head -n 10 #{backup}")
|
24
|
+
print "...\nOverwrite this copy? (N/y) "
|
25
|
+
case gets.chomp
|
26
|
+
when /^y|^Y/
|
27
|
+
@cp.run("#{file} #{backup}")
|
28
|
+
Msg.p "Overwrite #{file}"
|
29
|
+
end
|
30
|
+
else
|
31
|
+
@cp.run("#{file} #{backup}")
|
32
|
+
Msg.p "#{file} saved"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def search_conf_dir
|
37
|
+
# ebuild on gentoo copy the ext dir at lib/ext
|
38
|
+
@conf_dir = File.expand_path('../..' + '/lib/ext', __dir__)
|
39
|
+
if not Dir.exist?(@conf_dir)
|
40
|
+
@conf_dir = File.expand_path('../..' + '/ext', __dir__)
|
41
|
+
end
|
42
|
+
end
|
23
43
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
Msg.report "Directory systemd/system is no found on your system."
|
31
|
-
exit(-1)
|
44
|
+
def restore(file)
|
45
|
+
@cp = Helpers::Exec.new("cp -a")
|
46
|
+
backup = file + "_backup"
|
47
|
+
if File.exist? backup
|
48
|
+
@cp.run("#{backup} #{file}")
|
49
|
+
end
|
32
50
|
end
|
33
|
-
end
|
34
51
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
case Nomansland::installer?
|
39
|
-
when :gentoo
|
40
|
-
Msg.p "Copy #{@conf_dir}/iptables.service"
|
41
|
-
copy_file(@conf_dir + "/iptables.service", @systemd_dir + "/iptables.service")
|
52
|
+
def restore_files
|
53
|
+
restore("/etc/tor/torrc")
|
54
|
+
restore("/etc/resolv.conf")
|
42
55
|
end
|
43
|
-
end
|
44
56
|
|
45
|
-
|
57
|
+
private
|
46
58
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
59
|
+
def copy_file(conf, target)
|
60
|
+
@config_file = conf
|
61
|
+
return if check_hash(@config_file, target)
|
62
|
+
if File.exist? target then
|
63
|
+
if ! previous_copy target
|
64
|
+
backup_file(target)
|
65
|
+
end
|
66
|
+
add_file target
|
67
|
+
else
|
68
|
+
add_file target
|
69
|
+
end
|
57
70
|
end
|
58
|
-
end
|
59
71
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
else
|
65
|
-
copy_file(@conf_dir + "/torrc/torrc_default", "/etc/tor/torrc")
|
66
|
-
Msg.report "If tor fail to start with the default torrc"
|
72
|
+
def previous_copy(target)
|
73
|
+
backup=`ls #{target}.backup-* | head -n 1`.chomp
|
74
|
+
return false if !File.exist?(backup)
|
75
|
+
check_hash(backup, target)
|
67
76
|
end
|
68
|
-
end
|
69
77
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
78
|
+
def check_hash(src, target)
|
79
|
+
return if not File.exist?(target)
|
80
|
+
sha256conf = Digest::SHA256.file src
|
81
|
+
sha256target = Digest::SHA256.file target
|
82
|
+
sha256conf === sha256target
|
83
|
+
end
|
75
84
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
85
|
+
def backup_file(target)
|
86
|
+
d = DateTime.now
|
87
|
+
backup = target + ".backup-" + d.strftime('%b-%d_%I-%M')
|
88
|
+
@cp.run("#{target} #{backup}")
|
89
|
+
puts "Renamed file #{backup}"
|
90
|
+
end
|
82
91
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
puts "Renamed file #{backup}"
|
88
|
-
end
|
92
|
+
def add_file(target)
|
93
|
+
@cp.run("#{@config_file} #{target}")
|
94
|
+
Msg.p "File #{@config_file} has been successfully copied at #{target}"
|
95
|
+
end
|
89
96
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
97
|
+
def backup_exist(target)
|
98
|
+
backup=`ls #{target}.backup-* | head -n 1`.chomp
|
99
|
+
if File.exist? backup
|
100
|
+
if ! check_hash(target, backup)
|
101
|
+
@cp.run("#{backup} #{target}")
|
102
|
+
Msg.p "Restored #{backup}"
|
103
|
+
end
|
104
|
+
else
|
105
|
+
puts "No found previous backup for #{target}"
|
106
|
+
end
|
107
|
+
end
|
94
108
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
109
|
+
def regex_match?(infile, re = nil)
|
110
|
+
return unless re
|
111
|
+
File.open(infile, 'r') do |file|
|
112
|
+
file.each do |line|
|
113
|
+
return true if line =~ re
|
114
|
+
end
|
101
115
|
end
|
102
|
-
|
103
|
-
puts "No found previous backup for #{target}"
|
116
|
+
false
|
104
117
|
end
|
105
118
|
end
|
106
119
|
end
|
data/lib/spior/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,95 @@ module Helpers
|
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
21
|
+
|
22
|
+
# Class Newfile
|
23
|
+
# Create a file and move at the dest
|
24
|
+
# === Example
|
25
|
+
# string = "nameserver 127.0.0.1"
|
26
|
+
# name = "resolv.conf"
|
27
|
+
# dest = "/etc"
|
28
|
+
# new_file = Helpers::Newfile.new(string, name, dest)
|
29
|
+
# new_file.add
|
30
|
+
class NewFile
|
31
|
+
# Method #new
|
32
|
+
# === Parameters
|
33
|
+
# * _string_ = string for the whole file
|
34
|
+
# * _name_ = name of the file (e.g: resolv.conf)
|
35
|
+
# * _dest_ = path (e.g: /etc)
|
36
|
+
def initialize(string, name, dest = "/tmp")
|
37
|
+
@string = string
|
38
|
+
@name = name
|
39
|
+
@dest = dest + "/" + @name
|
40
|
+
end
|
41
|
+
|
42
|
+
# Method #add
|
43
|
+
# Add the file at @dest
|
44
|
+
def add
|
45
|
+
@mv = Helpers::Exec.new("mv")
|
46
|
+
tmp = Tempfile.new(@name)
|
47
|
+
File.open(tmp.path, 'w') do |file|
|
48
|
+
file.puts @string
|
49
|
+
end
|
50
|
+
@mv.run("#{tmp.path} #{@dest}")
|
51
|
+
end
|
52
|
+
|
53
|
+
def perm(user, perm)
|
54
|
+
chown = Helpers::Exec.new("chown")
|
55
|
+
chmod = Helpers::Exec.new("chmod")
|
56
|
+
chown.run("#{user}:#{user} #{@dest}")
|
57
|
+
chmod.run("#{perm} #{@dest}")
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# Class NewSystemd
|
62
|
+
# Used to create a systemd service
|
63
|
+
#
|
64
|
+
# === Example:
|
65
|
+
# require Helpers
|
66
|
+
# string = <<EOF
|
67
|
+
# [Description]
|
68
|
+
#
|
69
|
+
# [Service]
|
70
|
+
# Type=simple
|
71
|
+
#
|
72
|
+
# [Installation]
|
73
|
+
# WantedBy =
|
74
|
+
# EOF
|
75
|
+
# new_systemd = Helpers::NewSystemd.new(string, "tor.service")
|
76
|
+
# new_systemd.add
|
77
|
+
class NewSystemd < NewFile
|
78
|
+
# Method #new
|
79
|
+
# === Parameters:
|
80
|
+
# * _string_ = the string of for whole content file
|
81
|
+
# * _name_ = the name of the service (e.g: tor.service)
|
82
|
+
def initialise(string, name)
|
83
|
+
super
|
84
|
+
@systemd_dir = search_systemd_dir
|
85
|
+
@dest = @systemd_dir + "/" + @name
|
86
|
+
end
|
87
|
+
|
88
|
+
# Method #add
|
89
|
+
# Create a temporary file and move
|
90
|
+
# the service @name to the systemd directory
|
91
|
+
def add
|
92
|
+
@systemctl = Helpers::Exec.new("systemctl")
|
93
|
+
super
|
94
|
+
@systemctl.run("daemon-reload")
|
95
|
+
end
|
96
|
+
|
97
|
+
private
|
98
|
+
# Method search_systemd_dir
|
99
|
+
# Search the current directory for systemd services
|
100
|
+
# + Gentoo can install at /lib/systemd/system or /usr/lib/systemd/system
|
101
|
+
def search_systemd_dir
|
102
|
+
if Dir.exist? "/lib/systemd/system"
|
103
|
+
"/lib/systemd/system"
|
104
|
+
elsif Dir.exist? "/usr/lib/systemd/system"
|
105
|
+
"/usr/lib/systemd/system"
|
106
|
+
else
|
107
|
+
raise "No directory systemd found"
|
108
|
+
exit
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
19
112
|
end
|
data/lib/spior/persist.rb
CHANGED
@@ -8,14 +8,51 @@ module Spior
|
|
8
8
|
module Persist
|
9
9
|
extend self
|
10
10
|
|
11
|
-
def all
|
12
|
-
@card_name = card_name
|
11
|
+
def all
|
13
12
|
@services=[ "tor", "iptables" ]
|
13
|
+
services
|
14
|
+
save_rules
|
14
15
|
search_for_systemd
|
15
16
|
end
|
16
17
|
|
17
18
|
private
|
18
19
|
|
20
|
+
# Install a systemd service where needed. TODO: test on more distrib
|
21
|
+
# no need on: archlinux
|
22
|
+
# need on: gentoo, debian,
|
23
|
+
def services
|
24
|
+
return if !TTY::Which.exist?('systemctl')
|
25
|
+
path_bin = "/sbin/iptables-restore"
|
26
|
+
path_rules = ""
|
27
|
+
case Nomansland::distro?
|
28
|
+
when :gentoo
|
29
|
+
path_rules = "/var/lib/iptables/rules-save"
|
30
|
+
when :debian
|
31
|
+
path_rules = "/etc/iptables/rules.v4"
|
32
|
+
end
|
33
|
+
string = <<EOF
|
34
|
+
[Unit]
|
35
|
+
Description=IPv4 Packet Filtering Framework for Spior
|
36
|
+
Before=network-pre.target
|
37
|
+
Wants=network-pre.target
|
38
|
+
|
39
|
+
[Service]
|
40
|
+
Type=oneshot
|
41
|
+
ExecStart=#{path_bin} #{path_rules}
|
42
|
+
ExecReload=#{path_bin} #{path_rules}
|
43
|
+
RemainAfterExit=yes
|
44
|
+
|
45
|
+
[Install]
|
46
|
+
WantedBy=multi-user.target
|
47
|
+
EOF
|
48
|
+
case Nomansland::distro?
|
49
|
+
when :gentoo
|
50
|
+
new_systemd = Helpers::NewSystemd.new(string, "iptables.services")
|
51
|
+
new_systemd.add
|
52
|
+
new_systemd.perm("root", "644")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
19
56
|
def search_for_systemd
|
20
57
|
return if !TTY::Which.exist?('systemctl')
|
21
58
|
@systemctl = Helpers::Exec.new("systemctl")
|
@@ -28,14 +65,14 @@ module Spior
|
|
28
65
|
@systemctl.run("enable #{service}")
|
29
66
|
end
|
30
67
|
end
|
31
|
-
iptables_systemd
|
32
68
|
end
|
33
69
|
|
34
|
-
def
|
70
|
+
def save_rules
|
35
71
|
case Nomansland::installer?
|
36
72
|
when :pacman
|
37
73
|
@iptables_save.run("-f /etc/iptables/iptables.rules")
|
38
74
|
when :emerge
|
75
|
+
@systemctl = Helpers::Exec.new("systemctl")
|
39
76
|
@systemctl.run("start iptables-store")
|
40
77
|
when :apt_get
|
41
78
|
@iptables_save.run("> /etc/iptables/rules.v4")
|
data/lib/spior/runner.rb
CHANGED
@@ -16,7 +16,7 @@ module Spior
|
|
16
16
|
def run
|
17
17
|
if @options.install then
|
18
18
|
Msg.head
|
19
|
-
Spior::Install::
|
19
|
+
Spior::Install::check_deps
|
20
20
|
Spior::Copy::config_files
|
21
21
|
end
|
22
22
|
if @options.tor then
|
@@ -27,10 +27,7 @@ module Spior
|
|
27
27
|
Spior::Iptables::tor(@network.card)
|
28
28
|
end
|
29
29
|
if @options.persist then
|
30
|
-
|
31
|
-
@network = Spior::Network.new(@options.interface)
|
32
|
-
end
|
33
|
-
Spior::Persist::all(@network.card)
|
30
|
+
Spior::Persist::all
|
34
31
|
end
|
35
32
|
end
|
36
33
|
end
|
data/lib/spior/tor.rb
CHANGED
@@ -24,9 +24,50 @@ module Spior
|
|
24
24
|
def check_deps
|
25
25
|
Spior::Install::check_deps
|
26
26
|
Spior::Copy::config_files
|
27
|
+
add_resolv
|
28
|
+
add_torrc
|
27
29
|
verify_service
|
28
30
|
end
|
29
31
|
|
32
|
+
def add_resolv
|
33
|
+
string = "nameserver 127.0.0.1"
|
34
|
+
Spior::Copy::backup("/etc/resolv.conf", /nameserver 127.0.0.1$/)
|
35
|
+
new_file = Helpers::NewFile.new(string, "resolv.conf", "/etc")
|
36
|
+
new_file.add
|
37
|
+
new_file.perm("root", "644")
|
38
|
+
end
|
39
|
+
|
40
|
+
def add_torrc
|
41
|
+
user = ""
|
42
|
+
pid = ""
|
43
|
+
dir = "DataDirectory /var/lib/tor/data"
|
44
|
+
case Nomansland::distro?
|
45
|
+
when :gentoo
|
46
|
+
user = "User tor"
|
47
|
+
pid = "PIDFile /run/tor/tor.pid"
|
48
|
+
end
|
49
|
+
string = <<EOF
|
50
|
+
# Generated by Spior
|
51
|
+
#{user}
|
52
|
+
#{pid}
|
53
|
+
#{dir}
|
54
|
+
GeoIPExcludeUnknown 1
|
55
|
+
DNSPort 127.0.0.1:9061
|
56
|
+
AutomapHostsOnResolve 1
|
57
|
+
AutomapHostsSuffixes .exit,.onion
|
58
|
+
SocksPort 9050
|
59
|
+
VirtualAddrNetworkIPv4 10.192.0.0/10
|
60
|
+
TransPort 9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort
|
61
|
+
TestSocks 1
|
62
|
+
MaxCircuitDirtiness 600
|
63
|
+
EOF
|
64
|
+
re = /# Generated by Spior/
|
65
|
+
Spior::Copy::backup("/etc/tor/torrc", re)
|
66
|
+
new_file = Helpers::NewFile.new(string, "torrc", "/etc/tor")
|
67
|
+
new_file.add
|
68
|
+
new_file.perm("root", "644")
|
69
|
+
end
|
70
|
+
|
30
71
|
def search_dns
|
31
72
|
9061
|
32
73
|
end
|
@@ -54,10 +95,8 @@ module Spior
|
|
54
95
|
if TTY::Which.exist?('systemctl')
|
55
96
|
state = `systemctl is-active tor`.chomp
|
56
97
|
if state == 'active'
|
57
|
-
#puts "Restart tor"
|
58
98
|
@systemctl.run('restart tor')
|
59
99
|
else
|
60
|
-
#puts "Start tor"
|
61
100
|
@systemctl.run('start tor')
|
62
101
|
end
|
63
102
|
else
|
data/spior.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "spior"
|
3
|
-
s.version = "0.1.
|
4
|
-
s.summary = "A tool to make TOR your default gateway
|
3
|
+
s.version = "0.1.4"
|
4
|
+
s.summary = "A tool to make TOR your default gateway"
|
5
5
|
s.description = <<-EOF
|
6
|
-
A tool to make TOR your default gateway
|
6
|
+
A tool to make TOR your default gateway
|
7
7
|
EOF
|
8
8
|
s.metadata = {
|
9
9
|
"changelog_uri" => "https://github.com/szorfein/spior/blob/master/CHANGELOG.md",
|
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.4
|
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-21 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rainbow
|
@@ -93,7 +93,7 @@ dependencies:
|
|
93
93
|
- - '='
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: 0.4.2
|
96
|
-
description: " A tool to make TOR your default gateway
|
96
|
+
description: " A tool to make TOR your default gateway\n"
|
97
97
|
email: szorfein@protonmail.com
|
98
98
|
executables:
|
99
99
|
- spior
|
@@ -106,15 +106,13 @@ files:
|
|
106
106
|
- CHANGELOG.md
|
107
107
|
- LICENSE
|
108
108
|
- README.md
|
109
|
+
- Rakefile
|
109
110
|
- bin/spior
|
110
111
|
- ext/ipt_mod.conf
|
111
112
|
- ext/iptables.service
|
112
|
-
- ext/resolv.conf
|
113
113
|
- ext/ssh.conf
|
114
114
|
- ext/sshd.conf
|
115
115
|
- ext/sshuttle.service
|
116
|
-
- ext/torrc/torrc_archlinux
|
117
|
-
- ext/torrc/torrc_default
|
118
116
|
- lib/spior/clear.rb
|
119
117
|
- lib/spior/copy.rb
|
120
118
|
- lib/spior/helpers.rb
|
@@ -159,7 +157,7 @@ requirements:
|
|
159
157
|
rubygems_version: 3.1.2
|
160
158
|
signing_key:
|
161
159
|
specification_version: 4
|
162
|
-
summary: A tool to make TOR your default gateway
|
160
|
+
summary: A tool to make TOR your default gateway
|
163
161
|
test_files:
|
164
162
|
- test/test_options.rb
|
165
163
|
- test/test_install.rb
|
metadata.gz.sig
CHANGED
Binary file
|
data/ext/resolv.conf
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
nameserver 127.0.0.1
|
data/ext/torrc/torrc_archlinux
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
DataDirectory /var/lib/tor/data
|
2
|
-
|
3
|
-
Log notice stdout
|
4
|
-
|
5
|
-
GeoIPExcludeUnknown 1
|
6
|
-
|
7
|
-
## Torified DNS
|
8
|
-
DNSPort 127.0.0.1:9061
|
9
|
-
AutomapHostsOnResolve 1
|
10
|
-
AutomapHostsSuffixes .exit,.onion
|
11
|
-
|
12
|
-
SocksPort 9050
|
13
|
-
|
14
|
-
VirtualAddrNetworkIPv4 10.192.0.0/10
|
15
|
-
TransPort 9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort
|
16
|
-
|
17
|
-
TestSocks 1
|
18
|
-
MaxCircuitDirtiness 600
|
data/ext/torrc/torrc_default
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
User tor
|
2
|
-
PIDFile /run/tor/tor.pid
|
3
|
-
DataDirectory /var/lib/tor/data
|
4
|
-
|
5
|
-
Log notice stdout
|
6
|
-
|
7
|
-
GeoIPExcludeUnknown 1
|
8
|
-
|
9
|
-
## Torified DNS
|
10
|
-
DNSPort 127.0.0.1:9061
|
11
|
-
AutomapHostsOnResolve 1
|
12
|
-
AutomapHostsSuffixes .exit,.onion
|
13
|
-
|
14
|
-
SocksPort 9050
|
15
|
-
|
16
|
-
VirtualAddrNetworkIPv4 10.192.0.0/10
|
17
|
-
TransPort 9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort
|
18
|
-
|
19
|
-
TestSocks 1
|
20
|
-
MaxCircuitDirtiness 600
|