class Spior::Tor::Info
Attributes
dns[RW]
trans_port[RW]
uid[RW]
virt_addr[RW]
Public Class Methods
new()
click to toggle source
# File lib/spior/tor/info.rb, line 10 def initialize @systemctl = Helpers::Exec.new("systemctl") check_deps @dns = search_dns @uid = search_uid @trans_port = search_trans_port @virt_addr = search_virt_addr end
Private Class Methods
grep?(file, regex)
click to toggle source
# File lib/spior/tor/info.rb, line 36 def self.grep?(file, regex) is_found = false return is_found if ! File.exist? file File.open(file) do |f| f.each do |line| is_found = true if line.match(regex) end end is_found end
Private Instance Methods
add_resolv()
click to toggle source
# File lib/spior/tor/info.rb, line 29 def add_resolv string = "nameserver 127.0.0.1" new_file = Helpers::NewFile.new(string, "resolv.conf", "/etc") new_file.add new_file.perm("root", "644") end
add_torrc()
click to toggle source
# File lib/spior/tor/info.rb, line 47 def add_torrc user = "" pid = "" dir = "DataDirectory /var/lib/tor/data" case Nomansland::distro? when :gentoo user = "User tor" pid = "PIDFile /run/tor/tor.pid" end string = <<EOF # Generated by Spior #{user} #{pid} #{dir} GeoIPExcludeUnknown 1 DNSPort 127.0.0.1:9061 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit,.onion SocksPort 9050 VirtualAddrNetworkIPv4 10.192.0.0/10 TransPort 9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort TestSocks 1 MaxCircuitDirtiness 600 EOF new_file = Helpers::NewFile.new(string, "torrc", "/etc/tor") new_file.add new_file.perm("root", "644") end
check_deps()
click to toggle source
# File lib/spior/tor/info.rb, line 21 def check_deps Spior::Install::check_deps Spior::Copy.new.save add_resolv add_torrc verify_service end
search_dns()
click to toggle source
# File lib/spior/tor/info.rb, line 76 def search_dns 9061 end
search_trans_port()
click to toggle source
# File lib/spior/tor/info.rb, line 91 def search_trans_port 9040 end
search_uid()
click to toggle source
# File lib/spior/tor/info.rb, line 80 def search_uid case Nomansland::distro? when :debian `id -u debian-tor`.chomp when :ubuntu `id -u debian-tor`.chomp else `id -u tor`.chomp end end
search_virt_addr()
click to toggle source
# File lib/spior/tor/info.rb, line 95 def search_virt_addr "10.192.0.0/10" end
verify_service()
click to toggle source
# File lib/spior/tor/info.rb, line 99 def verify_service if TTY::Which.exist?('systemctl') state = `systemctl is-active tor`.chomp if state == 'active' @systemctl.run('restart tor') else @systemctl.run('start tor') end else Msg.for_no_systemd end end