├── config.json ├── SizeSingle.py ├── JDSingle.py ├── FootpatrolSingle.py ├── README.md ├── SizeMulti.py ├── JDMulti.py └── FootPatrolMulti.py /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "phone": "", 3 | "password": "", 4 | "firstName": "", 5 | "gender": "M", 6 | "addresses": [ 7 | { 8 | "locale": "gb", 9 | "country": "United Kingdom", 10 | "address1": "", 11 | "town": "", 12 | "postcode": "", 13 | "isPrimaryBillingAddress": true, 14 | "isPrimaryAddress": true 15 | } 16 | ], 17 | "title": "", 18 | "email": "", 19 | "isGuest": false, 20 | "lastName": "" 21 | } -------------------------------------------------------------------------------- /SizeSingle.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | 4 | s = requests.Session() 5 | 6 | headers = { 7 | 'Content-Type': 'application/json', 8 | 'X-API-Key': 'EA0E72B099914EB3BA6BE90A21EA43A9', 9 | 'Accept': '*', 10 | 'X-Debug': '1', 11 | 'User-Agent': 'Size/5.3.1.207 CFNetwork/808.3 Darwin/16.3.0', 12 | 'Accept-Encoding': 'gzip, deflate', 13 | 'MESH-Commcerce-Channel': 'iphone-app' 14 | } 15 | 16 | with open("config.json") as jsons: 17 | config = json.load(jsons) 18 | 19 | req = s.post("https://commerce.mesh.mx/stores/size/customers", headers=headers, json=config) 20 | if "error" in req.text: 21 | print(req.text) 22 | else: 23 | print("Created succesfully") 24 | -------------------------------------------------------------------------------- /JDSingle.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | 4 | s = requests.Session() 5 | 6 | headers = { 7 | 'Content-Type': 'application/json', 8 | 'X-API-Key': '1A17CC86AC974C8D9047262E77A825A4', 9 | 'Accept': '*', 10 | 'X-Debug': '1', 11 | 'User-Agent': 'JDSports/5.3.1.207 CFNetwork/808.3 Darwin/16.3.0', 12 | 'Accept-Encoding': 'gzip, deflate', 13 | 'MESH-Commcerce-Channel': 'iphone-app' 14 | } 15 | 16 | with open("config.json") as jsons: 17 | config = json.load(jsons) 18 | 19 | req = s.post("https://commerce.mesh.mx/stores/jdsports/customers", headers=headers, json=config) 20 | if "error" in req.text: 21 | print(req.text) 22 | else: 23 | print("Created succesfully") 24 | -------------------------------------------------------------------------------- /FootpatrolSingle.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | 4 | s = requests.Session() 5 | 6 | headers = { 7 | 'Content-Type': 'application/json', 8 | 'X-API-Key': '5F9D749B65CD44479C1BA2AA21991925', 9 | 'Accept': '*', 10 | 'X-Debug': '1', 11 | 'User-Agent': 'FootPatrol/2.0 CFNetwork/808.2.16 Darwin/16.3.0', 12 | 'Accept-Encoding': 'gzip, deflate', 13 | 'MESH-Commcerce-Channel': 'iphone-app' 14 | } 15 | 16 | with open("config.json") as jsons: 17 | config = json.load(jsons) 18 | 19 | req = s.post("https://commerce.mesh.mx/stores/footpatrol/customers", headers=headers, json=config) 20 | if "error" in req.text: 21 | print(req.text) 22 | else: 23 | print("Created succesfully") 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Mesh-account-creator 2 | Account creator for mesh group. Size, JDsport and FootPatrol. Mobile accounts 3 | For multiple accounts created, they are wrote to an external file. 4 | 5 | ## Single account: 6 | 1) For single account creation, enter email desired into the config.json file. Also fill out the rest of config.json with correct info 7 | 2) Then run JDSingle/SizeSingle/FootpatrolSingle 8 | 3) This will create you one mobile account for the site that you selected when running the selected script. 9 | 10 | ## Multiple accounts: 11 | 1) You need a catch all email domain. You can buy these very cheap on namecheap.com also easy to setup, just look it up 12 | 2) Fill out config.json with all correct information. 13 | 3) For the email address in config.json put your catchall domain eg 'fraser.com' when you run the script this will create accounts with email addresses with that domain eg '638293@fraser.com, 847018@fraser.com' 14 | 4) If you want a prefix infront, in config.json put the prefix@domain eg 'clothes@fraser.com' this will create emails like this 'clothes+748204@fraser.com,clothes+735142@fraser.com' 15 | 5) You can now run any of the JDMulti/SizeMulti/FootpatrolMulti 16 | 6) The script will ask how many accounts you want and if you want random passwords or the one you set in config.json 17 | 7) The accounts created will be saved with passwords in corresponding accounts files. 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /SizeMulti.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | import random 4 | from random import randint 5 | import string 6 | 7 | s = requests.Session() 8 | file = open("Sizeaccounts.txt","a+") 9 | num_of_accounts = input("How many accounts? ") 10 | password_option = input("Type 1 to use password in config.json, type 2 to use random passwords: ") 11 | 12 | headers = { 13 | 'Content-Type': 'application/json', 14 | 'X-API-Key': 'EA0E72B099914EB3BA6BE90A21EA43A9', 15 | 'Accept': '*', 16 | 'X-Debug': '1', 17 | 'User-Agent': 'Size/5.3.1.207 CFNetwork/808.3 Darwin/16.3.0', 18 | 'Accept-Encoding': 'gzip, deflate', 19 | 'MESH-Commcerce-Channel': 'iphone-app' 20 | } 21 | 22 | with open("config.json") as jsons: 23 | config = json.load(jsons) 24 | 25 | email = config['email'] 26 | 27 | index = config['email'].find("@") 28 | for n in range(0,int(num_of_accounts)): 29 | if index == -1: 30 | account = str(randint(100000, 999999)) +"@" + email 31 | if password_option == "2": 32 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 33 | file.writelines(account + "," + config['password'] + "\n") 34 | config['email'] = account 35 | req = s.post("https://commerce.mesh.mx/stores/size/customers", headers=headers, json=config) 36 | if "error" in req.text: 37 | print(req.text) 38 | else: 39 | print(account + "," + config['password'] + " Created succesfully" ) 40 | 41 | elif index == 0: 42 | account = str(randint(100000, 999999)) + email 43 | if password_option == "2": 44 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 45 | file.writelines(account + "," + config['password'] + "\n") 46 | config['email'] = account 47 | req = s.post("https://commerce.mesh.mx/stores/size/customers", headers=headers, json=config) 48 | if "error" in req.text: 49 | print(req.text) 50 | else: 51 | print(account + "," + config['password'] + " Created succesfully" ) 52 | else: 53 | account = email[:index] + "+" + str(randint(100000, 999999)) + email[index:] 54 | if password_option == "2": 55 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 56 | file.writelines(account + "," + config['password'] + "\n") 57 | config['email'] = account 58 | req = s.post("https://commerce.mesh.mx/stores/size/customers", headers=headers, json=config) 59 | if "error" in req.text: 60 | print(req.text) 61 | else: 62 | print(account + "," + config['password'] + " Created succesfully" ) 63 | -------------------------------------------------------------------------------- /JDMulti.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | import random 4 | from random import randint 5 | import string 6 | 7 | s = requests.Session() 8 | file = open("JDaccount.txt","a+") 9 | num_of_accounts = input("How many accounts? ") 10 | password_option = input("Type 1 to use password in config.json, type 2 to use random passwords: ") 11 | 12 | headers = { 13 | 'Content-Type': 'application/json', 14 | 'X-API-Key': '1A17CC86AC974C8D9047262E77A825A4', 15 | 'Accept': '*', 16 | 'X-Debug': '1', 17 | 'User-Agent': 'JDSports/5.3.1.207 CFNetwork/808.3 Darwin/16.3.0', 18 | 'Accept-Encoding': 'gzip, deflate', 19 | 'MESH-Commcerce-Channel': 'iphone-app' 20 | } 21 | 22 | with open("config.json") as jsons: 23 | config = json.load(jsons) 24 | 25 | email = config['email'] 26 | 27 | index = config['email'].find("@") 28 | for n in range(0,int(num_of_accounts)): 29 | if index == -1: 30 | account = str(randint(100000, 999999)) +"@" + email 31 | if password_option == "2": 32 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 33 | file.writelines(account + "," + config['password'] + "\n") 34 | config['email'] = account 35 | req = s.post("https://commerce.mesh.mx/stores/jdsports/customers", headers=headers, json=config) 36 | if "error" in req.text: 37 | print(req.text) 38 | else: 39 | print(account + "," + config['password'] + " Created succesfully" ) 40 | 41 | elif index == 0: 42 | account = str(randint(100000, 999999)) + email 43 | if password_option == "2": 44 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 45 | file.writelines(account + "," + config['password'] + "\n") 46 | config['email'] = account 47 | req = s.post("https://commerce.mesh.mx/stores/jdsports/customers", headers=headers, json=config) 48 | if "error" in req.text: 49 | print(req.text) 50 | else: 51 | print(account + "," + config['password'] + " Created succesfully" ) 52 | else: 53 | account = email[:index] + "+" + str(randint(100000, 999999)) + email[index:] 54 | if password_option == "2": 55 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 56 | file.writelines(account + "," + config['password'] + "\n") 57 | config['email'] = account 58 | req = s.post("https://commerce.mesh.mx/stores/jdsports/customers", headers=headers, json=config) 59 | if "error" in req.text: 60 | print(req.text) 61 | else: 62 | print(account + "," + config['password'] + " Created succesfully" ) 63 | -------------------------------------------------------------------------------- /FootPatrolMulti.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | import random 4 | from random import randint 5 | import string 6 | 7 | s = requests.Session() 8 | file = open("FPaccounts.txt","a+") 9 | num_of_accounts = input("How many accounts? ") 10 | password_option = input("Type 1 to use password in config.json, type 2 to use random passwords: ") 11 | 12 | headers = { 13 | 'Content-Type': 'application/json', 14 | 'X-API-Key': '5F9D749B65CD44479C1BA2AA21991925', 15 | 'Accept': '*', 16 | 'X-Debug': '1', 17 | 'User-Agent': 'FootPatrol/2.0 CFNetwork/808.2.16 Darwin/16.3.0', 18 | 'Accept-Encoding': 'gzip, deflate', 19 | 'MESH-Commcerce-Channel': 'iphone-app' 20 | } 21 | 22 | with open("config.json") as jsons: 23 | config = json.load(jsons) 24 | 25 | email = config['email'] 26 | 27 | index = config['email'].find("@") 28 | for n in range(0,int(num_of_accounts)): 29 | if index == -1: 30 | account = str(randint(100000, 999999)) +"@" + email 31 | if password_option == "2": 32 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 33 | file.writelines(account + "," + config['password'] + "\n") 34 | config['email'] = account 35 | req = s.post("https://commerce.mesh.mx/stores/footpatrol/customers", headers=headers, json=config) 36 | if "error" in req.text: 37 | print(req.text) 38 | else: 39 | print(account + "," + config['password'] + " Created succesfully" ) 40 | 41 | elif index == 0: 42 | account = str(randint(100000, 999999)) + email 43 | if password_option == "2": 44 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 45 | file.writelines(account + "," + config['password'] + "\n") 46 | config['email'] = account 47 | req = s.post("https://commerce.mesh.mx/stores/footpatrol/customers", headers=headers, json=config) 48 | if "error" in req.text: 49 | print(req.text) 50 | else: 51 | print(account + "," + config['password'] + " Created succesfully" ) 52 | else: 53 | account = email[:index] + "+" + str(randint(100000, 999999)) + email[index:] 54 | if password_option == "2": 55 | config['password'] = ''.join(random.choices(string.ascii_lowercase + string.digits, k=12)) 56 | file.writelines(account + "," + config['password'] + "\n") 57 | config['email'] = account 58 | req = s.post("https://commerce.mesh.mx/stores/footpatrol/customers", headers=headers, json=config) 59 | if "error" in req.text: 60 | print(req.text) 61 | else: 62 | print(account + "," + config['password'] + " Created succesfully" ) 63 | --------------------------------------------------------------------------------