Onionr/static-data/default-plugins/tor/announce.py

30 lines
733 B
Python
Raw Normal View History

import config
import logger
2022-07-11 15:27:13 +00:00
from gossip.peerset import gossip_peer_set
from getsocks import get_socks
from torpeer import TorPeer
2022-07-11 15:27:13 +00:00
MAX_TOR_PEERS = 20
def on_announce_rec(api, data=None):
2022-06-14 16:01:07 +00:00
announced: str = data['address']
try:
announced = announced.decode('utf-8')
except AttributeError:
pass
2022-06-14 16:01:07 +00:00
announced = announced.strip()
2022-07-11 15:27:13 +00:00
if not announced.endswith('.onion'):
return
socks_address, socks_port = get_socks()[0]
2022-08-03 02:06:30 +00:00
if announced.replace('.onion', '') == config.get(
'tor.transport_address', '').replace('.onion', ''):
return
2022-06-05 19:46:01 +00:00
logger.info(f"Peer {announced} announced to us.", terminal=True)
2022-04-20 05:28:29 +00:00
data['callback'](TorPeer(socks_address, socks_port, announced))