コード例 #1
0
def start_captcha_server():
    logging.getLogger('harvester').setLevel(logging.CRITICAL)
    harvester = Harvester()

    tokens = harvester.intercept_recaptcha_v2(
        domain='www.supremenewyork.com',
        sitekey='6LeWwRkUAAAAAOBsau7KpuC9AV-6J8mhw4AjC3Xz')

    server_thread = threading.Thread(target=harvester.serve, daemon=True)
    server_thread.start()
    harvester.launch_browser()
コード例 #2
0
def init():
    harvesters = []
    hunters = []
    storages = []
    supplies = []

    for i in range(num_harvesters):
        harvesters.append(
            Harvester(random.randint(0, 10), random.randint(0, 10),
                      [random.randint(0, 500),
                       random.randint(0, 500)], None))
    #print(dna)

    for i in range(num_hunters):
        hunters.append(
            Hunter(random.randint(0, 10), random.randint(0, 10),
                   [random.randint(0, 500),
                    random.randint(0, 500)]))

    for i in range(num_storages):
        storages.append(
            Storage([random.randint(0, 500),
                     random.randint(0, 500)]))

    for i in range(num_supplies):
        supplies.append(
            Supply([random.randint(0, 500),
                    random.randint(0, 500)]))

    return np.array(harvesters), np.array(hunters), np.array(
        storages), np.array(supplies)
コード例 #3
0
def generate_harvesters_population(sorted_population):
    new_population = []
    parents = []

    for i in range(num_harvesters):
        dna = crossover(
            sorted_population[random.randint(0,
                                             len(sorted_population) - 1)],
            sorted_population[random.randint(0,
                                             len(sorted_population) - 1)])
        new_population.append(
            Harvester(random.randint(0, 10), random.randint(0, 10),
                      [random.randint(0, 500),
                       random.randint(0, 500)], dna))
    return new_population
コード例 #4
0
def createHarvest():
    #  sitekey = 6LeWwRkUAAAAAOBsau7KpuC9AV-6J8mhw4AjC3Xz
    harvester = Harvester()
    tokens = harvester.intercept_recaptcha_v2(
        domain='www.supremenewyork.com',
        sitekey='6LeWwRkUAAAAAOBsau7KpuC9AV-6J8mhw4AjC3Xz')
    server_thread = Thread(target=harvester.serve, daemon=True)
    server_thread.start()

    # launch a browser instance where we can solve the captchas
    harvester.launch_browser()

    try:
        while True:
            # block until we get sent a captcha token and repeat
            token = tokens.get()
            print('we just recived a token:', token)
    except KeyboardInterrupt:
        pass
コード例 #5
0
					     API Made By: NoahCardoza
				      This Script Has Been Made By: oppaje
""")
captchaType = input('''Select Captcha Type:
      1. RECAPTCHA V2
      2. RECAPTCHA V3
      3. hCaptcha
      > ''')

domain = input("Enter domain (follow this format: example.com): ")
sitekey = input("Enter sitekey: ")
extension = None

logging.getLogger('harvester').setLevel(logging.CRITICAL)

harvester = Harvester()

if captchaType == '1':
    enable_extension = input(
        'Do you want to enable the Buster chrome extesnion? [y/n]: ')
    if enable_extension == 'y' or enable_extension == 'Y':
        extension = fr"{str(pathlib.Path().absolute())}\Buster-chrome-extension"

    tokens = harvester.intercept_recaptcha_v2(domain=domain, sitekey=sitekey)

elif captchaType == '2':
    tokens = harvester.intercept_recaptcha_v3(domain=domain, sitekey=sitekey)

elif captchaType == '3':
    tokens = harvester.intercept_hcaptcha(domain=domain, sitekey=sitekey)
コード例 #6
0
ファイル: spawner.py プロジェクト: ToxicGLaDOS/screeps
class Spawner(object):
    roles = {
        'harvester': Harvester(),
        'builder': Builder(),
        'distributor': Distributor(),
        'upgrader': Upgrader(),
        'defender': Defender(),
        'remoteHarvester': RemoteHarvester('E41N41', 'E42N42'),
        'reserver': Reserver('E41N41', 'E42N42')
    }

    targetCreeps = {
        'harvester': 4,
        'distributor': 2,
        'remoteHarvester': 3,
    }

    def __init__(self):
        pass

    def run(self, spawn: StructureSpawn):
        if spawn.spawning:
            return

        creepRoles = [
            creep.memory.role for creep in Object.values(Game.creeps)
        ]
        roleAssignments = dict(_.countBy(creepRoles))
        for role in Object.keys(Spawner.roles):
            if not role in roleAssignments:
                roleAssignments[role] = 0

        remoteRoom = Game.getObjectById(Game.rooms['E42N41'])
        storedEnergy = sum([
            struct.store.getUsedCapacity(RESOURCE_ENERGY)
            for room in Object.values(Game.rooms)
            for struct in spawn.room.find(FIND_STRUCTURES)
            if struct.structureType == STRUCTURE_STORAGE
        ])
        desiredUpgraders = 2 + math.floor(storedEnergy / 30000)
        constructionSites = [
            site for room in Object.values(Game.rooms)
            for site in room.find(FIND_CONSTRUCTION_SITES)
        ]
        desiredBuilders = math.ceil(
            sum([
                site.progressTotal - site.progress
                for site in constructionSites
            ]) / 10000)
        halfHpStructures = [
            struct for room in Object.values(Game.rooms)
            for struct in room.find(FIND_STRUCTURES)
            if struct.hits < struct.hitsMax / 2 and struct.structureType not in
            [STRUCTURE_WALL, STRUCTURE_RAMPART]
        ]
        desiredBuilders = max(desiredBuilders,
                              math.ceil(len(halfHpStructures) / 10))

        if roleAssignments['harvesters'] == 0:
            self.spawn(spawn, 'harvester')
        elif roleAssignments['distributor'] == 0:
            self.spawn(spawn, 'distributor')
        elif roleAssignments['defender'] == 0:
            self.spawn(spawn, 'defender')
        # Spawn harvesters if we don't have enough
        elif roleAssignments['harvester'] < Spawner.targetCreeps['harvester']:
            self.spawn(spawn, 'harvester')
        # Spawn additional harvester if any are close to dying
        elif roleAssignments['harvester'] == Spawner.targetCreeps[
                'harvester'] and any([
                    creep.ticksToLive < 500
                    for creep in Object.values(Game.creeps)
                    if creep.memory.role == 'harvester'
                ]):
            self.spawn(spawn, 'harvester')
        # Spawn distributor if we don't have enough
        elif roleAssignments['distributor'] < Spawner.targetCreeps[
                'distributor']:
            self.spawn(spawn, 'distributor')
        # Spawn additional distributor if any are close to dying
        elif roleAssignments['distributor'] == Spawner.targetCreeps[
                'distributor'] and any([
                    creep.ticksToLive < 500
                    for creep in Object.values(Game.creeps)
                    if creep.memory.role == 'distributor'
                ]):
            self.spawn(spawn, 'distributor')
        # Spawn builders up to some fraction of the remaining progress on all construction sites (allProgressRemaining / 2000)
        elif roleAssignments['builder'] < desiredBuilders:
            self.spawn(spawn, 'builder')
        # Spawn reserver if we don't have one and don't have vision on the remoteRoom (remoteRoom == None) or if the reservation will end in < 1000 ticks
        elif roleAssignments['reserver'] == 0 and (
                remoteRoom == None
                or remoteRoom.controller.reservation.ticksToEnd < 1000):
            self.spawn(spawn, 'reserver')
        # Spawn remote harvesters if we don't have enough
        elif roleAssignments['remoteHarvester'] < Spawner.targetCreeps[
                'remoteHarvester']:
            self.spawn(spawn, 'remoteHarvester')
        # Spawn upgrader if the storage / 10000 > numUpgraders
        elif roleAssignments['upgrader'] < desiredUpgraders:
            self.spawn(spawn, 'upgrader')
        else:
            pass
            #print("No desired creeps to spawn")

    def spawn(self, spawn: StructureSpawn, roleName: str):
        bodyParts = Spawner.roles[roleName].getBodyParts(spawn)
        cost = sum([BODYPART_COST[part] for part in bodyParts])
        if cost <= spawn.room.energyAvailable:
            spawn.spawnCreep(bodyParts, roleName + "_" + Game.time,
                             {'memory': {
                                 'role': roleName
                             }})
        else:
            textStyle = {
                'color': '#ffffff',
                'font': '10px',
                'stroke': '#000000',
                'strokeWidth': .15
            }
            spawn.room.visual.text(roleName, spawn.pos, textStyle)
コード例 #7
0
    from harvester import Harvester
    from time import sleep
    import random
    """
  Test the predictor to see if the energy generated 
  is well predicted
  """
    cycle_length = 24 * 3600  # 1 day cycle
    exp_length = 10 * cycle_length
    slot_size = 60 * 10  # 10 minute slots

    num_slots = exp_length / slot_size
    slots_per_cycle = cycle_length / slot_size
    slots = []
    prediction = [0 for i in range(0, cycle_length / slot_size)]
    h = Harvester(cycle_length)
    p = Predictor(cycle_length / slot_size, 0.24)
    random.seed()
    for i in range(0, num_slots):
        e_val = h.get_energy(i * slot_size, (i + 1) * slot_size)
        e_val += 0.05 * random.randint(-10, 10) * e_val
        slots.append(e_val)
        p.add_value(e_val)
        prediction.append(p.predict(i % slots_per_cycle))
        #sleep(0.5)
    diffs = []
    for i in range(slots_per_cycle, num_slots):
        err = slots[i] - prediction[i]
        diffs.append(err)

    import matplotlib.pyplot as plt
コード例 #8
0
from mapbox import Mapbox
from harvester import Harvester
from tile import Tile
from clicker import Clicker

mapbox = Mapbox()
print("png-z0: " + str(mapbox.get(0, 0, 0, "png")))
print("mvt-z0: " + str(mapbox.get(0, 0, 0, "mvt")))
print("png-z30: " + str(mapbox.get(30, 0, 0, "png")))
print("mvt-z30: " + str(mapbox.get(30, 0, 0, "mvt")))

harvester = Harvester(["png", "mvt"])
tile = Tile(7, 25, 53)
cl = Clicker()
while tile.level() != 31:
    print(str(tile))
    results = harvester.fill(tile, 1000)
    print(tile.level(), end=": ")
    print(results)
    tile.zoomin()
    harvester.clean()
print(cl.get())
コード例 #9
0
ファイル: shoebot.py プロジェクト: ericmv/python-shopify-bot
except ImportError:
    # Python 2
    import httplib as http_client
http_client.HTTPConnection.debuglevel = 1

# You must initialize logging, otherwise you'll not see debug output.
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True

#
# from fake_useragent import UserAgent
# ua = UserAgent()
harvester = Harvester()

domain = "ericvu.myshopify.com"
base_url = 'https://' + domain
products_url = base_url + 'products.json'
keywords = ['992']
size = "6"

# headers
headers = {
    "User-Agent":
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36"
}

# recaptcha token intercepter
sitekey = '6LeoeSkTAAAAAA9rkZs5oS82l69OEYjKRZAiKdaF'
コード例 #10
0
# programatic example showing how to access the harvester api from
# within your own script without having to use the fetch module

import logging
from threading import Thread

from harvester import Harvester

# silence server logs
logging.getLogger('harvester').setLevel(logging.CRITICAL)

# first we create a harvester instance
harvester = Harvester()
"""
if we wanted it to run on another host/port:
harvester = Harvester('0.0.0.0', 7777)

---

then we add an intercepter
"""
tokens = harvester.intercept_hcaptcha(
    domain='www.sneakersnstuff.com',
    sitekey='33f96e6a-38cd-421b-bb68-7806e1764460')
"""
we can also intercept recaptchas!
    tokens = harvester.intercept_recaptcha_v2(domain, sitekey)
    tokens = harvester.intercept_recaptcha_v3(domain, sitekey, action)

P.S. we can also add multiple intercepts at a time to harvest tokens
     for multiple domains at a time
コード例 #11
0
def run():
    harvesters = []
    harvesters.append(Harvester(1, 2, [10, 20]))
    return harvesters