Esempio n. 1
0
    def getBTParams(self, skipcheck = False):
        # Construct BT params
        ###########################
        btparams = []
        
        btparams.append("--display_interval")
        btparams.append(self.config.Read('display_interval'))
        
        # Use single port only
        btparams.append("--minport")
        btparams.append(self.config.Read('minport'))
        btparams.append("--maxport")
        btparams.append(self.config.Read('minport'))
        
#        btparams.append("--random_port")
#        btparams.append(self.config.Read('randomport'))
        
        #if self.config.Read('ipv6') == "1":
        #    btparams.append("--ipv6_enable")
        #    btparams.append(self.config.Read('ipv6'))
        #    btparams.append("--ipv6_binds_v4")
        #    btparams.append(self.config.Read('ipv6_binds_v4'))
        
        # Fast resume
        btparams.append("--selector_enabled")
        btparams.append(self.config.Read('fastresume'))
        
        btparams.append("--auto_kick")
        btparams.append(self.config.Read('kickban'))
        btparams.append("--security")
        btparams.append(self.config.Read('notsameip'))

        btparams.append("--max_upload_rate")
        btparams.append("0")
               
        paramlist = [ "ip", 
                      "bind", 
                      "alloc_rate", 
                      "alloc_type", 
                      "double_check", 
                      "triple_check", 
                      "lock_while_reading", 
                      "lock_files", 
                      "min_peers", 
                      "max_files_open", 
                      "max_connections", 
                      "upnp_nat_access", 
                      "auto_flush",
                      "ut_pex_max_addrs_from_peer"]

        for param in paramlist:
            value = self.config.Read(param)
            if value != "":
                btparams.append("--" + param)
                btparams.append(value)

        config, args = parseargs(btparams, BTDefaults)
            
        return config
Esempio n. 2
0
    def getBTParams(self, skipcheck=False):
        # Construct BT params
        ###########################
        btparams = []

        btparams.append("--display_interval")
        btparams.append(self.config.Read('display_interval'))

        # Use single port only
        btparams.append("--minport")
        btparams.append(self.config.Read('minport'))
        btparams.append("--maxport")
        btparams.append(self.config.Read('minport'))

        #        btparams.append("--random_port")
        #        btparams.append(self.config.Read('randomport'))

        #if self.config.Read('ipv6') == "1":
        #    btparams.append("--ipv6_enable")
        #    btparams.append(self.config.Read('ipv6'))
        #    btparams.append("--ipv6_binds_v4")
        #    btparams.append(self.config.Read('ipv6_binds_v4'))

        # Fast resume
        btparams.append("--selector_enabled")
        btparams.append(self.config.Read('fastresume'))

        btparams.append("--auto_kick")
        btparams.append(self.config.Read('kickban'))
        btparams.append("--security")
        btparams.append(self.config.Read('notsameip'))

        btparams.append("--max_upload_rate")
        btparams.append("0")

        paramlist = [
            "ip", "bind", "alloc_rate", "alloc_type", "double_check",
            "triple_check", "lock_while_reading", "lock_files", "min_peers",
            "max_files_open", "max_connections", "upnp_nat_access",
            "auto_flush", "ut_pex_max_addrs_from_peer"
        ]

        for param in paramlist:
            value = self.config.Read(param)
            if value != "":
                btparams.append("--" + param)
                btparams.append(value)

        config, args = parseargs(btparams, BTDefaults)

        return config
Esempio n. 3
0
    global session, orig_stdin, orig_stdout
    session = Session(sscfg)
    pickle.dump(session.get_permid(), orig_stdout)
    orig_stdout.flush()


if __name__ == "__main__":
#    profile_on()

    global orig_stdin, orig_stdout
    orig_stdin  = sys.stdin#Unbuffered(sys.stdin)
    orig_stdout = sys.stdout#Unbuffered(sys.stdout)
    sys.stdout  = sys.stderr
    sys.stdin   = None

    config, fileargs = parseargs(sys.argv, argsdef, presets = {})
    config['statedir'] = os.path.join(os.getcwd(), os.path.pardir, '.'+config['name'])
    print >> sys.stderr, "Config is", config

    overlay_bridge = OverlayThreadingBridge.getInstance()
    overlay_bridge.gcqueue = overlay_bridge.tqueue
    overlay_bridge.add_task(startsession, 0)

    params = pickle.load(orig_stdin)
    print 'TaskDispatcher params', params
    global session
    td = TaskDispatcher.getInstance(session)
    if params:
        td.max_games = params[0]
        td.start()
        print 'TaskDispatcher has started'
Esempio n. 4
0
        ClosedSwarm.write_poa_to_file(target_file)
        tf = target_file
    else:
        tf = ClosedSwarm.trivial_save_poa("./", decodestring(node_id), t.infohash, poa)
    
    print "Proof of access written to file '%s'"%tf

def get_usage(defs):
    print "Usage: ",sys.argv[0],"<torrentfile> [options]\n"
    print parseargs.formatDefinitions(defs,80)


if __name__ == "__main__":
    

    config, fileargs = parseargs.parseargs(sys.argv, defaults, presets = {})

    if len(fileargs) < 2:
        get_usage(defaults)
        raise SystemExit(1)
        
    torrent = fileargs[1]
    if not os.path.exists(torrent):
        print "Error: Could not find torrent file '%s'"%torrent
        raise SystemExit(1)
    
    if not config['key_file']:
        config['key_file'] = torrent + ".tkey"
        
    if not os.path.exists(config['key_file']):
        print "Error: Could not find key file '%s'"%config['key_file']
Esempio n. 5
0
class PrintStatusReporter(Status.OnChangeStatusReporter):
    """
    Print all changes to the screen
    """
    def report(self, event):
        """
        print to screen
        """
        print >> sys.stderr, "STATUS: %s=%s" % (event.get_name(),
                                                event.get_value())


if __name__ == "__main__":

    config, fileargs = parseargs.parseargs(sys.argv, argsdef, presets={})

    if len(sys.argv) < 2:
        raise SystemExit("Missing .torrent or .tstream to seed")

    sscfg = SessionStartupConfig()
    state_dir = Session.get_default_state_dir('.seeder')
    sscfg.set_state_dir(state_dir)
    port = random.randint(10000, 20000)
    sscfg.set_listen_port(port)
    sscfg.set_megacache(False)
    sscfg.set_overlay(False)
    sscfg.set_dialback(True)

    s = Session(sscfg)
Esempio n. 6
0
    poa = ClosedSwarm.create_poa(t.infohash, torrent_keypair, node_id)
    
    f = open(target_file, "wb")
    f.write(poa.serialize())

    print "Proof of access written to file '%s'"%target_file

def get_usage(defs):
    print "Usage: ",sys.argv[0],"<torrentfile> [options]\n"
    print parseargs.formatDefinitions(defs,80)


if __name__ == "__main__":
    

    config, fileargs = parseargs.parseargs(sys.argv, defaults, presets = {})

    if len(fileargs) < 2:
        get_usage(defaults)
        raise SystemExit(1)
        
    torrent = fileargs[1]
    if not os.path.exists(torrent):
        print "Error: Could not find torrent file '%s'"%torrent
        raise SystemExit(1)
    
    if not config['key_file']:
        config['key_file'] = torrent + ".tkey"
        
    if not os.path.exists(config['key_file']):
        print "Error: Could not find key file '%s'"%config['key_file']
Esempio n. 7
0
         "whether to act just as a seeder and not participate in any overlay apps"
         )
    ])
    try:
        # Make sure we can have a directory with config files in a user-chosen
        # location
        presets = {}
        for tuple in defaults:
            presets[tuple[0]] = tuple[1]
        if len(argv) < 2:
            print "Usage: btlaunchmany.py <directory> <global options>\n"
            print "<directory> - directory to look for .torrent files (semi-recursive)"
            print get_usage(defaults, 80, presets)
            exit(1)

        tempconfig, tempargs = parseargs(argv[1:], defaults, 1, 1, presets)
        if tempconfig['config_path'] != '':
            config_path = tempconfig['config_path']
            configdir = ConfigDir('launchmany', config_path)
        else:
            configdir = ConfigDir('launchmany')
            config_path = configdir.getDirRoot()

        # original init
        defaultsToIgnore = ['responsefile', 'url', 'priority']
        configdir.setDefaults(defaults, defaultsToIgnore)
        configdefaults = configdir.loadConfig()
        defaults.append((
            'save_options', 0,
            "whether to save the current options as the new default configuration "
            + "(only for btlaunchmany.py)"))