mirror of
https://github.com/codingo/Interlace.git
synced 2025-12-18 07:14:20 +01:00
Added in proxy feature
This commit is contained in:
@@ -6,6 +6,7 @@ from os import access, W_OK
|
||||
import sys
|
||||
from re import compile
|
||||
from random import sample
|
||||
from math import ceil
|
||||
|
||||
|
||||
class InputHelper(object):
|
||||
@@ -76,6 +77,23 @@ class InputHelper(object):
|
||||
tmp_commands.update(test)
|
||||
return tmp_commands
|
||||
|
||||
@staticmethod
|
||||
def _replace_variable_array(commands, variable, replacement):
|
||||
tmp_commands = set()
|
||||
counter = 0
|
||||
|
||||
test = list()
|
||||
|
||||
if not variable in sample(commands, 1)[0]:
|
||||
return commands
|
||||
|
||||
for command in commands:
|
||||
test.append(str(command).replace(variable, str(replacement[counter])))
|
||||
counter += 1
|
||||
|
||||
tmp_commands.update(test)
|
||||
return tmp_commands
|
||||
|
||||
|
||||
@staticmethod
|
||||
def process_commands(arguments):
|
||||
@@ -208,6 +226,20 @@ class InputHelper(object):
|
||||
protocols = arguments.proto
|
||||
final_commands = InputHelper._replace_variable_for_commands(final_commands, "_proto_", protocols)
|
||||
|
||||
# process proxies
|
||||
if arguments.proxy_list:
|
||||
proxy_list = list()
|
||||
for proxy in arguments.proxy_list:
|
||||
if proxy.strip():
|
||||
proxy_list.append(proxy.strip())
|
||||
|
||||
if len(proxy_list) < len(final_commands):
|
||||
proxy_list = ceil(len(final_commands) / len(proxy_list)) * proxy_list
|
||||
|
||||
final_commands = InputHelper._replace_variable_array(final_commands, "_proxy_", proxy_list)
|
||||
|
||||
print(final_commands)
|
||||
|
||||
return final_commands
|
||||
|
||||
|
||||
@@ -272,6 +304,13 @@ class InputParser(object):
|
||||
type=lambda x: InputHelper.check_positive(parser, x)
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
'-pL', dest='proxy_list', required=False,
|
||||
help='Specify a list of proxies.',
|
||||
metavar="FILE",
|
||||
type=lambda x: InputHelper.readable_file(parser, x)
|
||||
)
|
||||
|
||||
commands = parser.add_mutually_exclusive_group(required=True)
|
||||
commands.add_argument(
|
||||
'-c', dest='command',
|
||||
|
||||
Reference in New Issue
Block a user