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
36
37
38
39
40
41
42
43
44
45
46
|
Authority = Node.create(3, {
"tag": "a",
"authority": 1,
"relay": 1,
"torrc": "authority.tmpl"
})
Relay = Node.create(5, {
"tag": "r",
"relay": 1,
"torrc": "intro.tmpl"
})
Client = Node.create(4, {
"tag": "c",
"torrc": "client.tmpl"
})
initialNodes = Authority + Relay + Client
HiddenService = Node(
tag="h",
hiddenservice=1,
torrc="hidden-service.tmpl",
hiddenservicetarget="127.0.0.1:8081"
)
initialNodes.append(HiddenService)
DelayedHiddenService = Node(
tag="h",
hiddenservice=1,
torrc="hidden-service.tmpl",
hiddenservicetarget="127.0.0.1:8082"
)
def start():
if not all([ n.getController().start() for n in initialNodes ]):
return False
def log_listener(logevent):
print(logevent.message)
if "Successfully uploaded v2 rend descriptors" in logevent.message:
DelayedHiddenService.getController().start()
HiddenService.getStemController().add_event_listener(log_listener, EventType.INFO)
|