FoxyProxy_ConfigGeneration/OmegaScript.py

73 lines
4.7 KiB
Python
Raw Permalink Normal View History

2020-08-21 20:05:17 +00:00
#var baseconfig = {"+auto switch":{"color":"#99dd99","defaultProfileName":"direct","name":"auto switch","profileType":"SwitchProfile","rules":[{"condition":{"conditionType":"HostWildcardCondition","pattern":"internal.example.com"},"profileName":"direct"},{"condition":{"conditionType":"HostWildcardCondition","pattern":"*.example.com"},"profileName":"proxy"}]},"+proxy":{"bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"::1"},{"conditionType":"BypassCondition","pattern":"localhost"}],"color":"#99ccee","fallbackProxy":{"host":"proxy.example.com","port":8080,"scheme":"http"},"name":"proxy","profileType":"FixedProfile"},"-addConditionsToBottom":false,"-confirmDeletion":true,"-downloadInterval":1440,"-enableQuickSwitch":false,"-quickSwitchProfiles":[],"-refreshOnProfileChange":true,"-revertProxyChanges":true,"-showExternalProfile":true,"-showInspectMenu":true,"-startupProfileName":"","schemaVersion":2,"-monitorWebRequests":true,"+Sentinel - 3129":{"profileType":"FixedProfile","name":"Sentinel - 3129","bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"[::1]"},{"conditionType":"BypassCondition","pattern":"localhost"},{"conditionType":"BypassCondition","pattern":"192.168.0.150"}],"color":"#9d9","revision":"171d54addb6","fallbackProxy":{"scheme":"http","port":3129,"host":"192.168.0.150"}}}
import random
import string
import os,binascii
__location__ = os.path.realpath(
os.path.join(os.getcwd(), os.path.dirname(__file__)))
#region
"""
{
"xxcdhj1571078117745": {
"type": 1,
"color": "#001bcc",
"title": "Sentinel - Israel",
"address": "192.168.0.150",
"port": 3139,
"proxyDNS": false,
"active": true,
"username": "",
"password": "",
"whitePatterns": [],
"blackPatterns": [],
"pacURL": "",
"index": -1
},
"browserVersion": "75.0",
"foxyProxyVersion": "7.4.3",
"foxyProxyEdition": "standard"
}
"""
#end
def generaterandomstring(amount=18):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(amount))
def foxyproxyconfig(port):
rd = generaterandomstring(18)
hexs = '#{}'.format(binascii.b2a_hex(os.urandom(3)).decode())
ret = '"{}":'.format(rd)
ret += '{"type":'
ret += '1, "color": "{}"'.format(hexs)
ret += ', "title": "Sentinel - {}", "address": "192.168.0.150", "port": {},"proxyDNS": false, "active": true,"username": "","password": "","whitePatterns": [],"blackPatterns": [],"pacURL": "","index": -1'.format(str(port), str(port))
ret += '},'
return ret
def createconfig(port):
foxyconfig = foxyproxyconfig(port)
print(foxyconfig)
return foxyconfig
#out = '{"+auto switch":{"color":"#99dd99","defaultProfileName":"direct","name":"auto switch","profileType":"SwitchProfile","rules":[{"condition":{"conditionType":"HostWildcardCondition","pattern":"internal.example.com"},"profileName":"direct"},{"condition":{"conditionType":"HostWildcardCondition","pattern":"*.example.com"},"profileName":"proxy"}]},"+proxy":{"bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"::1"},{"conditionType":"BypassCondition","pattern":"localhost"}],"color":"#99ccee","fallbackProxy":{"host":"proxy.example.com","port":8080,"scheme":"http"},"name":"proxy","profileType":"FixedProfile"},"-addConditionsToBottom":false,"-confirmDeletion":true,"-downloadInterval":1440,"-enableQuickSwitch":false,"-quickSwitchProfiles":[],"-refreshOnProfileChange":true,"-revertProxyChanges":true,"-showExternalProfile":true,"-showInspectMenu":true,"-startupProfileName":"","schemaVersion":2,"-monitorWebRequests":true,"+Sentinel - {}":{"profileType":"FixedProfile","name":"Sentinel - {}","bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"[::1]"},{"conditionType":"BypassCondition","pattern":"localhost"},{"conditionType":"BypassCondition","pattern":"192.168.0.150"}],"color":"#9d9","revision":"171d54addb6","fallbackProxy":{"scheme":"http","port":{},"host":"192.168.0.150"}}}'.format(port, port, port)
def foxycreateconfig(start, end):
#first remove output file
os.remove(os.path.join(__location__, 'output.json'))
print('path: {}'.format(os.path.join(__location__, 'output.json')))
file = open(os.path.join(__location__, 'output.json'), "w+")
file.write("{")
for x in range(start, end):
rt = createconfig(x)
file.write(rt)
file.write('"browserVersion": "75.0", "foxyProxyVersion": "7.4.3", "foxyProxyEdition": "standard"}')
file.close()
def createconfigs(start, end):
for x in range(start, end):
createconfig(x)
#createconfig(10)
#foxyproxyconfig(3129)
foxycreateconfig(3129, 3180)