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)
Esempio n. 4
0
File: reader.py Progetto: blanu/Dust
  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')
Esempio n. 5
0
File: reader.py Progetto: blanu/Dust
  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)
Esempio n. 6
0
File: reader.py Progetto: blanu/Dust
  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')
Esempio n. 10
0
File: invite.py Progetto: blanu/Dust
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
Esempio n. 11
0
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))
Esempio n. 13
0
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'))
Esempio n. 14
0
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
Esempio n. 15
0
File: serve.py Progetto: blanu/Dust
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')
Esempio n. 16
0
File: reader.py Progetto: blanu/Dust
 def foundInvite(self, addr, invite):
   self.sendMessage(decodeAddress(addr))