diff options
author | mh <mh@immerda.ch> | 2015-03-15 13:32:25 +0100 |
---|---|---|
committer | mh <mh@immerda.ch> | 2015-03-15 13:39:10 +0100 |
commit | a7599e6308ad6c2ca7b3e19fd3364694e9fd6f9c (patch) | |
tree | 14d1fa65d4c322d10e405a57ff15fe7e6ac52845 /lib | |
parent | 55084912ec9a5b8bcc8766d5db95beb16b618892 (diff) |
add a fact to collect hidden services
Diffstat (limited to 'lib')
-rw-r--r-- | lib/facter/tor_hidden_services.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/facter/tor_hidden_services.rb b/lib/facter/tor_hidden_services.rb new file mode 100644 index 0000000..c2a6cca --- /dev/null +++ b/lib/facter/tor_hidden_services.rb @@ -0,0 +1,19 @@ +Facter.add(:tor_hidden_services) do + confine :kernel => "Linux" + setcode do + config_file = '/etc/tor/torrc' + if File.exists?(config_file) + dirs = File.read(config_file).split("\n").select{|l| + l =~ /^HiddenServiceDir/ + }.collect{|l| l.sub(/^HiddenServiceDir /,'') } + dirs.inject({}) { |res,d| + if File.exists?(h=File.join(d,'hostname')) + res[File.basename(d)] = File.read(h).chomp + end + res + } + else + {} + end + end +end |