@ -73,6 +73,9 @@ RPTA = b'RPTA'
RPTO = b'RPTO'
DMRA = b'DMRA'
#Prox commands
PRIN = b'PRIN'
#Bridge Control commands
BC = b'BC'
BCKA = b'BCKA'
@ -1067,6 +1067,9 @@ class HBSYSTEM(DatagramProtocol):
elif _command == DMRA:
_peer_id = _data[4:8]
logger.debug('(%s) Peer has sent Talker Alias packet %s', self._system, _data)
elif _command == PRIN:
logger.info('(%s) *ProxyInfo* Source IP/Port: %s', self._system, _data.decode('utf8'))
else:
logger.error('(%s) Unrecognized command. Raw HBP PDU: %s', self._system, _data)
@ -183,6 +183,9 @@ class Proxy(DatagramProtocol):
self.peerTrack[_peer_id]['shost'] = host
self.peerTrack[_peer_id]['timer'] = reactor.callLater(self.timeout,self.reaper,_peer_id)
self.transport.write(data, (self.master,_dport))
pripacket = b''.join([b'PRIN',host.encode('UTF-8'),b':',port.encode('UTF-8')])
#Send IP and Port info to server
self.transport.write(pripacket, (self.master,_dport))
if self.clientinfo and _peer_id != b'\xff\xff\xff\xff':
print(f'{datetime.now().replace(microsecond=0)} New client: ID:{str(int_id(_peer_id)).rjust(9)} IP:{host.rjust(15)} Port:{port}, assigned to port:{_dport}.')
Powered by TurnKey Linux.