INSTAGRAM = fields.SetField( name='INSTAGRAM', URLS=fields.SetField( HOME='https://www.instagram.com/', LOGIN='******', TEST="https://postman-echo.com/post", configurable=False, ), REQUEST=fields.SetField( FIELDS=fields.SetField( USERNAME='******', PASSWORD='******', configurable=False, ), USERAGENT=( f'Instagram 9.2.0 Android ({_VERSION}/{_RELEASE}; ' f'320dpi; 720x1280; {_MFG}; {_MODEL}; armani; qcom; en_US)'), # Only Headers Are Configurable configurable=True, ), FIELDS=fields.SetField( USERNAME='******', PASSWORD='******', configurable=False, ), RESPONSE=fields.SetField( CHECKPOINT_REQUIRED="checkpoint_required", GENERIC_REQUEST_ERROR='generic_request_error', GENERIC_REQUEST_MESSAGE='Sorry, there was a problem with your request.', configurable=False, ), # Only Headers Are Configurable configurable=True, )
GENERATOR = fields.SetField( # TODO: Add validation to make sure all elements of nested lists are # integers. name='GENERATOR', CAPITALIZE_AT_INDICES=fields.SeriesField( default=[0, 1, [0, 1]], values={ 'type': (int, list), } ), # TODO: Add Validation to Key/Value Types COMMON_CHAR_REPLACEMENTS=fields.DictField({ 'i': ('1', '!'), 'p': ('3', '@'), }), GENERATOR=fields.SetField( BEFORE=fields.BooleanField(default=False), AFTER=fields.BooleanField(default=False), ), NUMERICS=fields.SetField( BEFORE=fields.BooleanField(default=False), AFTER=fields.BooleanField(default=False), BIRTHDAY=fields.SetField( PROVIDED=fields.BooleanField(default=True), ALL=fields.BooleanField(default=False), START_YEAR=fields.YearField(default=1991), END_YEAR=fields.YearField(default=2000) ) ) )
from .app import * # noqa from .db import * # noqa from .http import * # noqa from .login import ATTEMPTS, PASSWORDS # noqa from .proxies import PROXIES # noqa from .users import * # noqa from instattack.config import fields DEBUG = False # Make Non Configurable for Now LOGGING = fields.SetField( name='LOGGING', LEVEL='INFO', LOG_REQUEST_ERRORS=True, LOG_PROXY_QUEUE=True, DEFAULT_MODE='termx', configurable=False, )
LIMITS = fields.SetField( name='LIMITS', # TODO: Allow Historical & Current RESP_TIME=fields.PositiveFloatField( default=None, optional=True, help= ("The maximum response time in seconds. If proxy.avg_resp_time exceeds this " "value, proxy will be removed from the pool."), ), REQUESTS=fields.SetField( ALL=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=None), ACTIVE=fields.PositiveIntField(optional=True, default=None), ), SUCCESS=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=None), ACTIVE=fields.PositiveIntField(optional=True, default=None), ), FAIL=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=None), ACTIVE=fields.PositiveIntField(optional=True, default=None), ), help= ("The maxmium number of allowed requests for each proxy per attack, before " "being removed from pool. For LARGER attacks, this should probably be " "negated, since we do not want to discard good proxies.")), # TODO: Start Measuring Historical & Active ERROR_RATE=fields.SetField( HISTORICAL=fields.PositiveFloatField(optional=True, default=None), ACTIVE=fields.PositiveFloatField(optional=True, default=None), HORIZON=fields.PositiveIntField( default=5, max=30, help= "The minimum number of requests required before error rate is non-zero." ), help=("The maximum number of allowed errors for a proxy before being " "removed from the pool or not included in pool to begin with.")), ERRORS=fields.SetField( ALL=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=2), ACTIVE=fields.PositiveIntField(optional=True, default=1), ), CONNECTION=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=2), ACTIVE=fields.PositiveIntField(optional=True, default=1), ), RESPONSE=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=2), ACTIVE=fields.PositiveIntField(optional=True, default=1), ), INSTAGRAM=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=1), ACTIVE=fields.PositiveIntField(optional=True, default=1), ), SSL=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=3), ACTIVE=fields.PositiveIntField(optional=True, default=2), ), # [x] NOTE: # -------- # There seem to be a lot of proxies that do get confirmed results # but also have a lot of historical timeout errors. TIMEOUT=fields.SetField( HISTORICAL=fields.PositiveIntField(optional=True, default=4), ACTIVE=fields.PositiveIntField(optional=True, default=2), ), help=("The maximum number of allowed errors for a proxy before being " "removed from the pool or not included in pool to begin with.")), )