Пример #1
0
def get_proxies():
    """
    连接API获取付费的代理IP
    :return: 代理IP
    """
    # 鹏鹏代理池的接口
    # 发送请求获取响应
    pm = ProxyManager()
    return pm.refresh()
Пример #2
0
def siteWorker(site, priorities, objects, proxies, tries):
    ti = ObjectStringIterator(objects, priorities)
    pm = ProxyManager(proxies)

    for i in range(0, tries):
        proxy = pm.get()
        if proxy is None:
            break
        obj, task = ti.next()
        # print(site, task, proxy)
        print(task + ' -> ' + proxy['ip'] + ' => ' + site['domain'])
        # print(task)
        pm.release(proxy)
Пример #3
0
    def __init__(self, config=None):
        self.config = config
        self.invoker = InvocationService(self)
        self.connection_manager = ConnectionManager(self, self.invoker.handle_client_message)
        self.cluster = ClusterService(config, self)
        self.partition_service = PartitionService(self)
        self.proxy = ProxyManager(self)
        self.load_balancer = RandomLoadBalancer(self.cluster)
        self.serializer = SerializationService(self)

        self.cluster.start()
        self.partition_service.start()
        self.logger.info("Client started.")
Пример #4
0
async def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--config-file',
                        '-c',
                        type=str,
                        default='./config.json')

    args = parser.parse_args()
    config_file = args.config_file

    if not os.path.isfile(config_file):
        raise Exception(f'File "{config_file} not fount"')

    with open(args.config_file, 'r', encoding='utf-8') as f:
        config_data = json.load(f)

    # creating bots from config
    bots = [
        CoinBot(config_data['api_id'], config_data['api_hash'],
                config_data['chat_names'], cfg['phone'], cfg['password'])
        for cfg in config_data['clients']
    ]

    proxy_manager = ProxyManager('https://api.telegram.org')

    while True:
        run_tasks = []

        print('run init bots')
        for bot in bots:
            proxy = await proxy_manager.get_proxy()
            await bot.client_init(proxy)
            run_tasks.append(bot.run())

        try:
            # runing all bots
            print('run all bots')
            await asyncio.gather(*run_tasks)
        except Exception as e:
            print(traceback_msg(e))

        await asyncio.sleep(60)
Пример #5
0
class HazelcastClient(object):
    logger = logging.getLogger("HazelcastClient")
    _config = None

    def __init__(self, config=None):
        self.config = config
        self.invoker = InvocationService(self)
        self.connection_manager = ConnectionManager(self, self.invoker.handle_client_message)
        self.cluster = ClusterService(config, self)
        self.partition_service = PartitionService(self)
        self.proxy = ProxyManager(self)
        self.load_balancer = RandomLoadBalancer(self.cluster)
        self.serializer = SerializationService(self)

        self.cluster.start()
        self.partition_service.start()
        self.logger.info("Client started.")

    def get_map(self, name):
        return self.proxy.get_or_create(MAP_SERVICE, name)