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', } }