def foundPeer(self, endkey, peer): print('foundPeer!!! '+str(endkey)+' '+str(peer)) destkey=decode(peer[0]) addr=peer[1] if keys.isKnown(addr) or self.keys.outgoingInvites.getInviteForHost(False, decodeAddress(addr)): self.sendMessage(decodeAddress(addr)) else: trackback.setPutInviteForPeerCallback(addr, self.foundInvite) tracker.getInviteForPeer(addr)
def foundPeer(self, endkey, peer): destkey = decode(peer[0]) addr = peer[1] if self.reader.keys.isKnown( addr) or self.reader.keys.outgoingInvites.getInviteForHost( False, decodeAddress(addr)): self.sendMessage(decodeAddress(addr)) else: self.reader.trackback.setPutInviteForPeerCallback( addr, self.foundInvite) self.tracker.getInviteForPeer(addr)
def __init__(self, router, endpoint): self.router = router self.endpoint = endpoint self.keys = router.keys self.maildir = 'spool/' + encode(endpoint.public.bytes) self.addressBook = YamlMap('config/dustmail-addressbook.yaml') self.done = Event() self.commandDone = Event() self.book = YamlMap('config/dustmail-addressbook.yaml') dustmailConfig = YamlMap('config/dustmail-config.yaml') try: destAddress = dustmailConfig['tracker'] except: entry = self.addInvite() destAddress = entry['tracker'] dustmailConfig['tracker'] = destAddress dest, outport, v6 = decodeAddress(destAddress) host = getPublicIP(v6) inport = dustmailConfig['port'] invite = self.keys.generateInvite(inport, v6=v6)
def __init__(self, router, endpoint): self.router=router self.endpoint=endpoint self.keys=router.keys self.maildir='spool/'+encode(endpoint.public.bytes) self.addressBook=YamlMap('config/dustmail-addressbook.yaml') self.done=Event() self.commandDone=Event() self.book=YamlMap('config/dustmail-addressbook.yaml') dustmailConfig=YamlMap('config/dustmail-config.yaml') try: destAddress=dustmailConfig['tracker'] except: entry=self.addInvite() destAddress=entry['tracker'] dustmailConfig['tracker']=destAddress dest, outport, v6=decodeAddress(destAddress) print('Registering with tracker...') self.tracker=TrackerClient(self.router, addr=(dest, outport)) host=getPublicIP(v6) inport=dustmailConfig['port'] self.tracker.putPeerForEndpoint(encode(self.endpoint.public.bytes), [encode(self.endpoint.public.bytes), encodeAddress((host,inport))]) invite=self.keys.generateInvite(inport, v6=v6) self.tracker.putInviteForPeer(encodeAddress((host, inport)), encode(invite.message)) self.trackback=self.router.getService('trackback')
def foundPeer(self, endkey, peer): destkey=decode(peer[0]) addr=peer[1] if self.reader.keys.isKnown(addr) or self.reader.keys.outgoingInvites.getInviteForHost(False, decodeAddress(addr)): self.sendMessage(decodeAddress(addr)) else: self.reader.trackback.setPutInviteForPeerCallback(addr, self.foundInvite) self.tracker.getInviteForPeer(addr)
def __init__(self, reader, name, msg): self.reader=reader self.name=name self.msg=msg destAddress=self.reader.book[self.name]['tracker'] dest, outport, v6=decodeAddress(destAddress) recipient=self.reader.book[self.name]['pubkey'] self.endkey=decode(recipient) self.reader.trackback.setPutPeerForEndpointCallback(recipient, self.foundPeer) self.tracker=TrackerClient(self.reader.router, addr=(dest, outport)) self.tracker.getPeerForEndpoint(recipient)
def __init__(self, reader, name, msg): self.reader = reader self.name = name self.msg = msg destAddress = self.reader.book[self.name]['tracker'] dest, outport, v6 = decodeAddress(destAddress) recipient = self.reader.book[self.name]['pubkey'] self.endkey = decode(recipient) self.reader.trackback.setPutPeerForEndpointCallback( recipient, self.foundPeer) self.tracker = TrackerClient(self.reader.router, addr=(dest, outport)) self.tracker.getPeerForEndpoint(recipient)
def __init__(self, router, endpoint): self.router = router self.endpoint = endpoint self.keys = router.keys self.maildir = 'spool/' + encode(endpoint.public.bytes) self.addressBook = YamlMap('config/dustmail-addressbook.yaml') self.done = Event() self.commandDone = Event() self.book = YamlMap('config/dustmail-addressbook.yaml') dustmailConfig = YamlMap('config/dustmail-config.yaml') try: destAddress = dustmailConfig['tracker'] except: entry = self.addInvite() destAddress = entry['tracker'] dustmailConfig['tracker'] = destAddress dest, outport, v6 = decodeAddress(destAddress) print('Registering with tracker...') self.tracker = TrackerClient(self.router, addr=(dest, outport)) host = getPublicIP(v6) inport = dustmailConfig['port'] self.tracker.putPeerForEndpoint(encode(self.endpoint.public.bytes), [ encode(self.endpoint.public.bytes), encodeAddress((host, inport)) ]) invite = self.keys.generateInvite(inport, v6=v6) self.tracker.putInviteForPeer(encodeAddress((host, inport)), encode(invite.message)) self.trackback = self.router.getService('trackback')
0, os.path.realpath(os.path.join(os.path.dirname(__file__), ".."))) from dust.crypto.keys import KeyManager from dust.server.router import PacketRouter from dust.crypto.keys import KeyManager from dust.core.util import getPublicIP, encodeAddress, decodeAddress, encode from dust.util.ymap import YamlMap from dust.util.safethread import wait from dust.services.tracker.trackerClient import TrackerClient inport = int(sys.argv[1]) v6 = sys.argv[2] passwd = sys.argv[3] trackerAddr = decodeAddress(sys.argv[4]) host = getPublicIP(v6) keys = KeyManager() keys.setInvitePassword(passwd) try: keys.loadKeypair('config/id.yaml') except: print('Generating server keypair...') keys.createKeypair() keys.saveKeypair('config/id.yaml') keys.loadKnownHosts('config/knownhosts.yaml') keys.loadIncomingInvites('config/incoming_invites.ip')
from dust.crypto.curve import Key from dust.core.util import getPublicIP, encode, decode, encodeAddress, decodeAddress from dust.server.router import PacketRouter from dust.util.safethread import waitForEvent from dust.invite.invite_packet import InviteMessage from dust.extensions.onion.onion_packet import OnionPacket from dust.services.tracker.trackerClient import TrackerClient from dust.services.dustmail.dustmailClient import DustmailClient from dust.invite.invite_packet import InviteMessage from dust.services.dustmail.dustmail_packet import DustmailInvitePacket passwd=sys.argv[1] inport=int(sys.argv[2]) destAddress=sys.argv[3] dest, outport, v6=decodeAddress(destAddress) ipasswd=sys.argv[4] host=getPublicIP(v6) print('Host: '+str(host)) keys=KeyManager() keys.setInvitePassword(passwd) keys.loadKnownHosts('config/knownhosts.yaml') keys.loadKeypair('config/id.yaml') keys.loadIncomingInvites('config/incoming_invites.ip') keys.loadOutgoingInvites('config/outgoing_invites.ip') endpoint=keys.loadEndpoint(os.path.expanduser('~/.dust/endpoint.yaml')) keypair=keys.getKeypair() pubkey=keypair.public
import sys import time from dust.crypto.keys import KeyManager from dust.extensions.multiplex.multiplex_socket import * from dust.core.util import getPublicIP, decodeAddress passwd=sys.argv[1] inport=int(sys.argv[2]) addr=sys.argv[3] dest, outport, ipv=decodeAddress(addr) host=getPublicIP(ipv) keys=KeyManager() keys.setInvitePassword(passwd) keys.loadKnownHosts('config/knownhosts.yaml') keys.loadKeypair('config/id.yaml') keys.loadIncomingInvites('config/incoming_invites.ip') keys.loadOutgoingInvites('config/outgoing_invites.ip') msock=multiplex_socket(keys) msock.bind((host, inport)) msock.connect((dest, outport)) msock.connectToService('chat') msg='' while msg!='.': print('>> ', end='') msg=sys.stdin.readline().strip() msock.msend(msg.encode('ascii'))
def foundInvite(self, addr, invite): self.sendMessage(decodeAddress(addr))
import sys import time from dust.crypto.keys import KeyManager from dust.extensions.multiplex.multiplex_socket import * from dust.core.util import getPublicIP, decodeAddress passwd = sys.argv[1] inport = int(sys.argv[2]) addr = sys.argv[3] dest, outport, ipv = decodeAddress(addr) host = getPublicIP(ipv) keys = KeyManager() keys.setInvitePassword(passwd) keys.loadKnownHosts('config/knownhosts.yaml') keys.loadKeypair('config/id.yaml') keys.loadIncomingInvites('config/incoming_invites.ip') keys.loadOutgoingInvites('config/outgoing_invites.ip') msock = multiplex_socket(keys) msock.bind((host, inport)) msock.connect((dest, outport)) msock.connectToService('chat') msg = '' while msg != '.': print('>> ', end='') msg = sys.stdin.readline().strip() msock.msend(msg.encode('ascii'))
from dust.crypto.curve import Key from dust.core.util import getPublicIP, encode, decode, encodeAddress, decodeAddress from dust.server.router import PacketRouter from dust.util.safethread import waitForEvent from dust.invite.invite_packet import InviteMessage from dust.extensions.onion.onion_packet import OnionPacket from dust.services.tracker.trackerClient import TrackerClient from dust.services.dustmail.dustmailClient import DustmailClient from dust.invite.invite_packet import InviteMessage from dust.services.dustmail.dustmail_packet import DustmailInvitePacket passwd = sys.argv[1] inport = int(sys.argv[2]) destAddress = sys.argv[3] dest, outport, v6 = decodeAddress(destAddress) ipasswd = sys.argv[4] host = getPublicIP(v6) print('Host: ' + str(host)) keys = KeyManager() keys.setInvitePassword(passwd) keys.loadKnownHosts('config/knownhosts.yaml') keys.loadKeypair('config/id.yaml') keys.loadIncomingInvites('config/incoming_invites.ip') keys.loadOutgoingInvites('config/outgoing_invites.ip') endpoint = keys.loadEndpoint(os.path.expanduser('~/.dust/endpoint.yaml')) keypair = keys.getKeypair() pubkey = keypair.public
sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), ".."))) from dust.crypto.keys import KeyManager from dust.server.router import PacketRouter from dust.crypto.keys import KeyManager from dust.core.util import getPublicIP, encodeAddress, decodeAddress, encode from dust.util.ymap import YamlMap from dust.util.safethread import wait from dust.services.tracker.trackerClient import TrackerClient inport=int(sys.argv[1]) v6=sys.argv[2] passwd=sys.argv[3] trackerAddr=decodeAddress(sys.argv[4]) host=getPublicIP(v6) keys=KeyManager() keys.setInvitePassword(passwd) try: keys.loadKeypair('config/id.yaml') except: print('Generating server keypair...') keys.createKeypair() keys.saveKeypair('config/id.yaml') keys.loadKnownHosts('config/knownhosts.yaml') keys.loadIncomingInvites('config/incoming_invites.ip')