Skip to content

Instantly share code, notes, and snippets.

@maqp
Last active Feb 4, 2018
Embed
What would you like to do?
#!/usr/bin/env python3.6
# -*- coding: utf-8 -*-
# sudo apt install python3-pip
# pip3 install stem
# Build Tor 0.3.3.1-alpha from source to $HOME/tor/
import base64
import binascii
import hashlib
import os
import random
import shlex
import socket
import subprocess
import tempfile
import time
import typing
import stem
from stem.control import Controller
if typing.TYPE_CHECKING:
from tempfile import TemporaryDirectory
CURSOR_UP_ONE_LINE = '\x1b[1A'
CLEAR_ENTIRE_LINE = '\x1b[2K'
def get_available_port(min_port: int, max_port: int) -> str:
with socket.socket() as tmpsock:
while True:
try:
tmpsock.bind(('127.0.0.1', random.randint(min_port, max_port)))
break
except OSError:
pass
_, port = tmpsock.getsockname()
return port
class Tor(object):
def __init__(self) -> None:
self.tor_process = None # type: subprocess.Popen
self.controller = None # type: Controller
self.tor_data_directory = None # type: TemporaryDirectory
def connect(self, port: str) -> bool:
self.tor_data_directory = tempfile.TemporaryDirectory()
torrc_data = """\
DataDirectory {{data_directory}}
SocksPort {{socks_port}}
ControlSocket {{control_socket}}
CookieAuthentication 1
CookieAuthFile {{cookie_auth_file}}
AvoidDiskWrites 1
Log notice stdout
GeoIPFile /usr/share/tor/geoip
GeoIPv6File /usr/share/tor/geoip6
"""
tor_control_socket = os.path.join(self.tor_data_directory.name, 'control_socket')
tor_cookie_auth_file = os.path.join(self.tor_data_directory.name, 'cookie')
tor_torrc = os.path.join(self.tor_data_directory.name, 'torrc')
torrc_data = torrc_data.replace('{{data_directory}}', self.tor_data_directory.name)
torrc_data = torrc_data.replace('{{socks_port}}', str(port))
torrc_data = torrc_data.replace('{{control_socket}}', str(tor_control_socket))
torrc_data = torrc_data.replace('{{cookie_auth_file}}', tor_cookie_auth_file)
with open(tor_torrc, 'w') as f:
f.write(torrc_data)
start_ts = time.monotonic()
self.tor_process = subprocess.Popen(['{}/tor/src/or/tor'.format(os.getenv("HOME")), '-f', tor_torrc],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
time.sleep(2)
self.controller = Controller.from_socket_file(path=tor_control_socket)
self.controller.authenticate()
while True:
time.sleep(0.1)
response = self.controller.get_info("status/bootstrap-phase")
res_parts = shlex.split(response)
progress = res_parts[2].split('=')[1]
summary = res_parts[4].split('=')[1]
print("{}: {}% - {}{}".format('connecting_to_tor', progress, summary, "\033[K"), end="\r")
if summary == 'Done':
print()
break
if time.monotonic() - start_ts > 45:
return False
return True
def stop(self) -> None:
if self.tor_process:
self.tor_process.terminate()
time.sleep(0.2)
if not self.tor_process.poll():
self.tor_process.kill()
def stem_compatible_base64_blob_from_private_key(private_key: bytes) -> str:
b = 256
def bit(h: bytes, i: int) -> int:
return (h[i // 8] >> (i % 8)) & 1
def encode_int(y: int) -> bytes:
bits = [(y >> i) & 1 for i in range(b)]
return b''.join([bytes([(sum([bits[i * 8 + j] << j for j in range(8)]))]) for i in range(b // 8)])
def expand_private_key(sk: bytes) -> bytes:
h = hashlib.sha512(sk).digest()
a = 2 ** (b - 2) + sum(2 ** i * bit(h, i) for i in range(3, b - 2))
k = b''.join([bytes([h[i]]) for i in range(b // 8, b // 4)])
assert len(k) == 32
return encode_int(a) + k
expanded_private_key = expand_private_key(private_key)
return base64.b64encode(expanded_private_key).decode()
def main() -> None:
try:
pids = subprocess.check_output("ps aux |grep '[t]orrc' | awk '{print $2}' 2>/dev/null",
shell=True).split(b'\n')
for pid in pids:
subprocess.Popen("kill {}".format(int(pid)), shell=True).wait()
except ValueError:
pass
delay = 60
while True:
private_key = os.urandom(32)
print(f'\nPrivate key in hex: {binascii.hexlify(private_key).decode()}')
stem_key_data = stem_compatible_base64_blob_from_private_key(private_key)
i = 0
print(f"Delay between descriptor publishing is {delay} seconds.")
try:
while True:
i += 1
print(f"\nIteration {i}")
tor_port = get_available_port(1000, 65535)
tor = Tor()
if not tor.connect(tor_port):
print("\nTor timed out!")
continue
print('Starting Onion Service... ', end='', flush=True)
try:
service = tor.controller.create_ephemeral_hidden_service(ports={80: 5000},
key_type='ED25519-V3',
key_content=stem_key_data,
await_publication=True)
except stem.OperationFailed as e:
print(f"OperationFailed:\n{e}")
tor.stop()
delay *= 2
raise
print('Onion Service {} is now online'.format(service.service_id))
tor.controller.remove_hidden_service(service.service_id)
tor.stop()
for t in range(delay):
print(f"Sleeping {delay-t}")
time.sleep(1)
print(CURSOR_UP_ONE_LINE + CLEAR_ENTIRE_LINE + CURSOR_UP_ONE_LINE)
except stem.OperationFailed:
continue
if __name__ == '__main__':
main()
# $ python3.6 onion_service_v3.py
#
# Private key in hex: 8a68aa0fc7618e57847a82899b01d60c5a9349f6bfba308febdc31a6a3615d5d
# Delay between descriptor publishing is 60 seconds.
#
# Iteration 1
# connecting_to_tor: 53% - Loading relay descriptors
# Tor timed out!
#
# Iteration 2
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service h7iyjwhkywlcbwf5yhlsocfz2ruompi3sogmh4u5iezpxzu4avejptad is now online
#
# Iteration 3
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service h7iyjwhkywlcbwf5yhlsocfz2ruompi3sogmh4u5iezpxzu4avejptad is now online
#
# Iteration 4
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service h7iyjwhkywlcbwf5yhlsocfz2ruompi3sogmh4u5iezpxzu4avejptad is now online
#
# Iteration 5
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service h7iyjwhkywlcbwf5yhlsocfz2ruompi3sogmh4u5iezpxzu4avejptad is now online
#
# Iteration 6
# connecting_to_tor: 100% - Done
# Starting Onion Service... OperationFailed:
# Failed to upload our hidden service descriptor to D49B7658B826E507CC138AEEFCD6135B321C096D (UPLOAD_REJECTED), F41E389235E8276A3410E9BA6D151363ACFB3412 (UPLOAD_REJECTED), E623A5E043ED2B74CC280BD004514FDD0854DC8C (UPLOAD_REJECTED), 2FA4B3D4608765A35AD4EF61C02DC88973BFFF47 (UPLOAD_REJECTED), 13B0B1ECCD306EED1FD2E8E9278777EB84C3648E (UPLOAD_REJECTED), 399261268EF561A945213435A9D0B76F8DB6B7FB (UPLOAD_REJECTED), 454CC4CFB3C7203BFF13772E580CE288DA91B66E (UPLOAD_REJECTED), 05B6F892B62C3CBF8574E1258E6FDE29CE04E1B1 (UPLOAD_REJECTED), 6AD3EA55B87C80971F353EBA710F6550202A9355 (UPLOAD_REJECTED), 22404A3E87F2D7FE2FC6359FDE71B6DC2D6E730F (UPLOAD_REJECTED), 9C1C385639CABDC09EC4AD488DF4601E611980B6 (UPLOAD_REJECTED), 8CE930BC4F11E11C4036A422E2DB5295CCF37F69 (UPLOAD_REJECTED), C6F6B70AD9115C65B618B0AF3FD10B0432626CA9 (UPLOAD_REJECTED), E1D0BA78D83BC0A5E7F1A791973022AE15C3548E (UPLOAD_REJECTED), 08EBE0BD789D2C51E9A148FA486EDAD8DA0A4713 (UPLOAD_REJECTED), C8760681ADE811993107CEF27B226B4C4AAFA097 (UPLOAD_REJECTED)
#
# Private key in hex: a544168cad173674f2410cdf3f7f5804e2a42c72c561480f140cc113a61d4d4e
# Delay between descriptor publishing is 120 seconds.
#
# Iteration 1
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kzyuiyjomdbke27e5wofquksdld334qmbef6tvzprjnzxgpahcia3mad is now online
#
# Iteration 2
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kzyuiyjomdbke27e5wofquksdld334qmbef6tvzprjnzxgpahcia3mad is now online
#
# Iteration 3
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kzyuiyjomdbke27e5wofquksdld334qmbef6tvzprjnzxgpahcia3mad is now online
#
# Iteration 4
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kzyuiyjomdbke27e5wofquksdld334qmbef6tvzprjnzxgpahcia3mad is now online
#
# Iteration 5
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kzyuiyjomdbke27e5wofquksdld334qmbef6tvzprjnzxgpahcia3mad is now online
#
# Iteration 6
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kzyuiyjomdbke27e5wofquksdld334qmbef6tvzprjnzxgpahcia3mad is now online
#
# Iteration 7
# connecting_to_tor: 100% - Done
# Starting Onion Service... OperationFailed:
# Failed to upload our hidden service descriptor to 35397A64012B4E49C38383F2C95827FAC66C2AFF (UPLOAD_REJECTED), 491624041267B40DDF404EBC5DD6F7C258A5EDBF (UPLOAD_REJECTED), 46A843DB58CDC741664A0390F2C1E0145F164C85 (UPLOAD_REJECTED), 14B4405B09657A90A3FD4548CA7A0B027E44D120 (UPLOAD_REJECTED), 557ACEC850F54EEE65839F83CACE2B0825BE811E (UPLOAD_REJECTED), 3B5C6ED2C1DECEB32BF1AD9B7B272F4CE9CE0656 (UPLOAD_REJECTED), 3AF69B3ECCB000879CA1BCD0B36B619DBF712291 (UPLOAD_REJECTED), 3EDD00245D93664A33A724BA377150E5531ED033 (UPLOAD_REJECTED), 50A6506AB185A333C8B669471A615FE3C5FE6ED5 (UPLOAD_REJECTED), AA0389066F4DA91D64F5D24A5C1733FBF4F322DF (UPLOAD_REJECTED), F98A70E5427BFF111640011F7AE31E537ECF1DD2 (UPLOAD_REJECTED), 5F304657809EEE76A92EAAC5D7B009EACC092CD0 (UPLOAD_REJECTED), 0E1D61DEDD38BBEC0A8F1FE74FB569126060F030 (UPLOAD_REJECTED), 2F0F32AB1E5B943CA7D062C03F18960C86E70D94 (UPLOAD_REJECTED), 47348DE17E947B4BACD73EBE533149624DDF9174 (UPLOAD_REJECTED), 80DC52030EBE2A94BED8DABA33935D98614A8B4D (UPLOAD_REJECTED)
#
# Private key in hex: 8298e12b5dbde883d88e1b0bee26f923f9401cc13cdb4dfcf21ff1d82aee7690
# Delay between descriptor publishing is 240 seconds.
#
# Iteration 1
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service vmo3kul3dlgr25vggefvsqouvgqavfdrbjukiuoohtumyoqudvnmrsad is now online
#
# Iteration 2
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service vmo3kul3dlgr25vggefvsqouvgqavfdrbjukiuoohtumyoqudvnmrsad is now online
#
# Iteration 3
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service vmo3kul3dlgr25vggefvsqouvgqavfdrbjukiuoohtumyoqudvnmrsad is now online
#
# Iteration 4
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service vmo3kul3dlgr25vggefvsqouvgqavfdrbjukiuoohtumyoqudvnmrsad is now online
#
# Iteration 5
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service vmo3kul3dlgr25vggefvsqouvgqavfdrbjukiuoohtumyoqudvnmrsad is now online
#
# Iteration 6
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service vmo3kul3dlgr25vggefvsqouvgqavfdrbjukiuoohtumyoqudvnmrsad is now online
#
# Iteration 7
# connecting_to_tor: 100% - Done
# Starting Onion Service... OperationFailed:
# Failed to upload our hidden service descriptor to 388C836B4AC58ADF73C0FD2345494AA91CAEE16B (UPLOAD_REJECTED), C18BD5042B4C1CE94444097907F5F0465C28FC9B (UPLOAD_REJECTED), 20F20581F3875057CB7AF7B61F7FDA6FA086AC71 (UPLOAD_REJECTED), 7BC139263153010F7C1641C8FF78530EDF10BE77 (UPLOAD_REJECTED), 5B4E5A5447D46D57702D6D37DFEAE5A3979F2F09 (UPLOAD_REJECTED), A96B386635FD784DF705D6BA965716A99FC72B36 (UPLOAD_REJECTED), F0EF52BEE400B27430DCA9D144FA0C3DE0099FEC (UPLOAD_REJECTED), 0BD744C4674FFB60CD1F2A6E877B02F7BE4558B5 (UPLOAD_REJECTED), 006C4D60BED87B47FE1FD26911C5BD42D41283A0 (UPLOAD_REJECTED), 4AE1CF679B48A6C6461F6415C37F44306A6B7EEC (UPLOAD_REJECTED), DDBB2A38252ADDA53E4492DDF982CA6CC6E10EC0 (UPLOAD_REJECTED), 5918B0913A59D18262E74F9B1F0C034CCC31FBCC (UPLOAD_REJECTED), A10C4F666D27364036B562823E5830BC448E046A (UPLOAD_REJECTED), 331CB351B3FD1F264166A82A8BF7BBC0A80CB4A6 (UPLOAD_REJECTED), C4546CF0854081F978E4183CE46E6AC6574593F4 (UPLOAD_REJECTED), F530C73ECB3F751EE984DD4F19BAE428C0BFFF01 (UPLOAD_REJECTED)
#
# Private key in hex: 782f87aa89e31307b465c4199f4abb145691ec5cbe757d05075f165580616c7c
# Delay between descriptor publishing is 480 seconds.
#
# Iteration 1
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service wi2njz44u4d4eneiwrawnubh5khpwgekfmv7caddd2vovtkmtrefvlqd is now online
#
# Iteration 2
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service wi2njz44u4d4eneiwrawnubh5khpwgekfmv7caddd2vovtkmtrefvlqd is now online
#
# Iteration 3
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service wi2njz44u4d4eneiwrawnubh5khpwgekfmv7caddd2vovtkmtrefvlqd is now online
#
# Iteration 4
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service wi2njz44u4d4eneiwrawnubh5khpwgekfmv7caddd2vovtkmtrefvlqd is now online
#
# Iteration 5
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service wi2njz44u4d4eneiwrawnubh5khpwgekfmv7caddd2vovtkmtrefvlqd is now online
#
# Iteration 6
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service wi2njz44u4d4eneiwrawnubh5khpwgekfmv7caddd2vovtkmtrefvlqd is now online
#
# Iteration 7
# connecting_to_tor: 100% - Done
# Starting Onion Service... OperationFailed:
# Failed to upload our hidden service descriptor to B56E55D1719A6F43B63A18E7E296BB581B2DF566 (UPLOAD_REJECTED), 8E3C4CEF734C3E40BC58089BAA04A3DEB1E12744 (UPLOAD_REJECTED), 0ED52C42A7E9316F0CB8D4CA6BB9E14E9C5D599A (UPLOAD_REJECTED), 019FEB22CE04CBD0489B7F24BE038518B64FA223 (UPLOAD_REJECTED), 26C1DD2214B74DA6CB2143D62AB2CAD9687DDD36 (UPLOAD_REJECTED), 6F7E602D79D16C871F8984B98658F2C9928F2FD9 (UPLOAD_REJECTED), B08E51FED96A7A7A6081ACC96299713F3F171B3A (UPLOAD_REJECTED), 278663E4F1ED467EC4AF95A2CEF0BB359528BDB5 (UPLOAD_REJECTED), 7B73EF689B1817F64C4A365FA897E37DFFB4F084 (UPLOAD_REJECTED), 2151722FC89329E9FA40448FA875B9B459901E66 (UPLOAD_REJECTED), E2EA2A335863E759232898E07286AF8E6FE81B62 (UPLOAD_REJECTED), 7272A578FD463764A95862B871878CA045F177A3 (UPLOAD_REJECTED), 14E3111C54BB532FB39AA3C1367D0970DA2937D5 (UPLOAD_REJECTED), 50586E25BE067FD1F739998550EDDCB1A14CA5B2 (UPLOAD_REJECTED), C4546CF0854081F978E4183CE46E6AC6574593F4 (UPLOAD_REJECTED), 07DC8B76BE18BE93F17A6B7A3EA423FB7BC3F50E (UPLOAD_REJECTED)
#
# Private key in hex: 32ee771098897e37ea916967d66d629ee073b25a4d3228cff37c54a8a0cabe8b
# Delay between descriptor publishing is 960 seconds.
#
# Iteration 1
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service i6rbnalm27y3syw23iuvtjmuthwcaljpjtfaom2sfwvnx46ex4peumyd is now online
#
# Iteration 2
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service i6rbnalm27y3syw23iuvtjmuthwcaljpjtfaom2sfwvnx46ex4peumyd is now online
#
# Iteration 3
# connecting_to_tor: 55% - Loading relay descriptors
# Tor timed out!
#
# Iteration 4
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service i6rbnalm27y3syw23iuvtjmuthwcaljpjtfaom2sfwvnx46ex4peumyd is now online
#
# Iteration 5
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service i6rbnalm27y3syw23iuvtjmuthwcaljpjtfaom2sfwvnx46ex4peumyd is now online
#
# Iteration 6
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service i6rbnalm27y3syw23iuvtjmuthwcaljpjtfaom2sfwvnx46ex4peumyd is now online
#
# Iteration 7
# connecting_to_tor: 100% - Done
# Starting Onion Service... OperationFailed:
# Failed to upload our hidden service descriptor to FB8064B1F888B9B47DA5921D5EEB920647E77326 (UPLOAD_REJECTED), BD56A1C36196EE968B2A3463CCD64019B4E526D8 (UPLOAD_REJECTED), F3FA0D45D35E987484848345F8D92AB1D883889B (UPLOAD_REJECTED), 8528D8942BAEC27F9E4286619504066507372BA0 (UPLOAD_REJECTED), F80FDE27EFCB3F6A7B4E2CC517133DBFFA78BA2D (UPLOAD_REJECTED), C238E705C538F5844B75DF1E082323387212C931 (UPLOAD_REJECTED), 9B47A5B7C108F22D1AFF544E70D22ED8997B96A3 (UPLOAD_REJECTED), 12B6C5B34B03988D86A48B88F7922157AAD8FFD7 (UPLOAD_REJECTED), 0824D7C7FB117D5C6AC01581FD798E670C37C804 (UPLOAD_REJECTED), 71AAD5BA9C0D59868EF5EB76016976B5C6663F2F (UPLOAD_REJECTED), 350A6C93A4A104FD17013BCFC1670451B9AE8A07 (UPLOAD_REJECTED), 92A6085EABAADD928B6F8E871540A1A41CBC08BA (UPLOAD_REJECTED), 3FEBFB6A491D30CACC2C2995EDB41717A6F94E95 (UPLOAD_REJECTED), 4B7B73D5A1F789ED2411A90E03C49C91652FDB95 (UPLOAD_REJECTED), 8B1263563B5E0FB7CBFEACFD504B0BC79759CABE (UPLOAD_REJECTED), A513E022356B9D687A4C80DEA41E0F081A1785D7 (UPLOAD_REJECTED)
#
# Private key in hex: 41c2f4d758e4b2065e216181ca8cb2d7acbdee51e61c9951328e5964ce8422b1
# Delay between descriptor publishing is 1920 seconds.
#
# Iteration 1
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service olaldmlyg2kwkqr3shmkusrb63scogl3x6ynps7vfnrqxbeslchpd2ad is now online
#
# Iteration 2
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service olaldmlyg2kwkqr3shmkusrb63scogl3x6ynps7vfnrqxbeslchpd2ad is now online
#
# Iteration 3
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service olaldmlyg2kwkqr3shmkusrb63scogl3x6ynps7vfnrqxbeslchpd2ad is now online
#
# Iteration 4
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service olaldmlyg2kwkqr3shmkusrb63scogl3x6ynps7vfnrqxbeslchpd2ad is now online
#
# Iteration 5
# connecting_to_tor: 100% - Done
# Starting Onion Service... OperationFailed:
# Failed to upload our hidden service descriptor to FB8064B1F888B9B47DA5921D5EEB920647E77326 (UPLOAD_REJECTED), 636B3AB04D963F278BEB5C900AC2DA2B7B12A586 (UPLOAD_REJECTED), 15515E68EB0379A3119240E676B7E1D7280C48BF (UPLOAD_REJECTED), 2562D463D15C3C383514E7D6117605073AC479D9 (UPLOAD_REJECTED), 15C5C5F5964F4ADA8D9CE26A0FE27C16D2B156E3 (UPLOAD_REJECTED), E93F05C9A7112544A2F132CBB7F6701877140F2A (UPLOAD_REJECTED), E4848ED3349097B720DD78397A6B3EE7C973D440 (UPLOAD_REJECTED), 0F52E9652F96AD1D500AC062350A149902C128B9 (UPLOAD_REJECTED), A2C9FF38578C30DC10C81225644EA3EF28C12AE9 (UPLOAD_REJECTED), 61137BEB1C49E65C27ECC442949F539B663E7B45 (UPLOAD_REJECTED), 16672A88338BD011B1CAAD8940FBCB09BD20A88E (UPLOAD_REJECTED), 8A68053EDFD2FD32DA6B4C351E23CF00AEFFBE98 (UPLOAD_REJECTED), 324B8AD29AEAA36FC18C45272763300BE3F6DA8E (UPLOAD_REJECTED), 4436A57FFE36F09368718BCFFF750EB86A4E00B9 (UPLOAD_REJECTED), EC84E23249F74BFFBC82B4E63CDA295CCC0292A0 (UPLOAD_REJECTED), 112B2CFD7CBD51AD56CD25BF742E28EE8DB2DBDD (UPLOAD_REJECTED)
#
# Private key in hex: <Scrubbed to secure currently running test>
# Delay between descriptor publishing is 3840 seconds.
#
# Iteration 1
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 2
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 3
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 4
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 5
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 6
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 7
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 8
# connecting_to_tor: 70% - Loading relay descriptors
# Tor timed out!
#
# Iteration 9
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 10
# connecting_to_tor: 60% - Loading relay descriptors
# Tor timed out!
#
# Iteration 11
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 12
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 13
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 14
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 15
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 16
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 17
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
# Iteration 17
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
# Iteration 18
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
# Iteration 19
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 20
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 21
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 22
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 23
# connecting_to_tor: 66% - Loading relay descriptors
# Tor timed out!
#
# Iteration 24
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 25
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 26
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 27
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 28
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 29
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
#
# Iteration 30
# connecting_to_tor: 100% - Done
# Starting Onion Service... Onion Service kkgnwqrtboum5mdq5s7l7qf5dyztlujiyi5odzijhcyhu2ujwxdqj4qd is now online
# Sleeping 2797
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment