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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# File 'manifests/init.pp', line 3
class tor (
$socks = true,
$socksport = '9050',
$sockslistenaddresses = '127.0.0.1',
$sockspolicies = [
{
policy => 'accept',
target => '192.168.0.0/16',
},
{
policy => 'reject',
target => '*',
}
],
$dirservers = [],
$usebridges = false,
$updatebridgesfromauthority = true,
$bridges = [],
$relay = true,
$orport = '9001',
$orlistenaddress = '0.0.0.0:9001',
$nickname = 'ididnteditheconfig',
$address = false,
$bridge = false,
$publishserverdescriptor = true,
$directory = false,
$dirport = '9000',
$dirlistenaddress = '0.0.0.0:9000',
$transport = false,
$translistenaddress = '127.0.0.1',
$dnsport = false,
$dnslistenaddress = '127.0.0.1',
$identity_key_source = false,
$user,
$group,
$tor_service,
$tor_package,
$repo_class,
) {
if $repo_class {
class { $repo_class:
before => Package['tor'],
}
}
package { 'tor':
name => $tor_package,
ensure => latest,
}
if $identity_key_source {
# A 1024-bit PEM format RSA private key
file { '/var/lib/tor/keys/secret_id_key':
ensure => present,
owner => $user,
group => $group,
mode => '0600',
source => $identity_key_source,
require => Package['tor'],
notify => Service['tor'],
}
}
concat { '/etc/tor/torrc':
owner => 'root',
group => 'root',
require => Package['tor'],
notify => Service['tor'],
}
concat::fragment { 'torrc-main':
target => '/etc/tor/torrc',
content => template('tor/torrc.erb'),
order => '00',
}
service { 'tor':
name => $tor_service,
ensure => running,
}
}
|