73 lines
4.7 KiB
Python
73 lines
4.7 KiB
Python
|
#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)
|