aboutsummaryrefslogtreecommitdiff
path: root/manifests/subsystems/onion.pp
blob: 1a5b38df331d31164de9698bc9a47b94f18e30e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class onion {
  class { '::tor::daemon': }

  # It's important to use a subdir from the tor datadir
  # to ease backup/restore procedures as we don't mix
  # hidden service data with other tor files.
  if !defined(File["$tor::daemon::data_dir/hidden"]) {
    file { "$tor::daemon::data_dir/hidden":
      ensure => directory, 
      owner  => 'debian-tor',
      group  => 'debian-tor',
      mode   => 0700,
    }
  }
}

class onion::socks inherits onion {
  # Default tor daemon configuration
  tor::daemon::socks { 'socks':
    port             => 9050,
    listen_addresses => [ '127.0.0.1' ],
  }
}

class onion::freenode inherits onion::socks {
  # Freenode via Tor
  # http://freenode.net/irc_servers.shtml
  # http://pthree.org/2010/01/31/freenode-ssl-and-sasl-authentication-with-irssi/
  # http://freenode.net/sasl/sasl-irssi.shtml
  # https://wiki.archlinux.org/index.php/Tor
  tor::daemon::map_address { 'freenode':
    address    => '10.40.40.40',
    newaddress => 'p4fsi4ockecnea7l.onion',
  }
}