| 200 | self.log.error("Tor reset circuits error: %s" % res) |
| 201 | |
| 202 | def addOnion(self): |
| 203 | if len(self.privatekeys) >= config.tor_hs_limit: |
| 204 | return random.choice([key for key in list(self.privatekeys.keys()) if key != self.site_onions.get("global")]) |
| 205 | |
| 206 | result = self.makeOnionAndKey() |
| 207 | if result: |
| 208 | onion_address, onion_privatekey = result |
| 209 | self.privatekeys[onion_address] = onion_privatekey |
| 210 | self.setStatus("OK (%s onions running)" % len(self.privatekeys)) |
| 211 | SiteManager.peer_blacklist.append((onion_address + ".onion", self.fileserver_port)) |
| 212 | return onion_address |
| 213 | else: |
| 214 | return False |
| 215 | |
| 216 | def makeOnionAndKey(self): |
| 217 | res = self.request("ADD_ONION NEW:RSA1024 port=%s" % self.fileserver_port) |