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()
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)
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
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
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)
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)
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
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())
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'
# 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
def run(): harvesters = [] harvesters.append(Harvester(1, 2, [10, 20])) return harvesters