from scythe_helpers.auth import login if __name__ == '__main__': print("Running...\n") # Login to SCYTHE & get access to XMLRPC objects # NOTE: Domain MUST be formatted ... # 'https://<DOMAIN/IP>:<PORT>' # ... with NOTHING ELSE! (i.e. no '/RPC' etc.) SCYTHE_API = login('https://CHANGE_ME_SERVER:8443', r'CHANGE_ME_USERNAME', 'CHANGE_ME_PASSWORD') # EXAMPLE: Print Session Key print(SCYTHE_API["sessionid"]) # EXAMPLE: Get, then print all current Campaigns (via /RPC1) result = SCYTHE_API["rpc1"].current_campaigns() print(result) # EXAMPLE: Get the first Campaign in result ... example_campaign = result[0] # EXAMPLE: Campaign's name, to call /RPC2 and get Direct Download Links result = SCYTHE_API["rpc2"].get_direct_download_links( example_campaign['name']) # EXAMPLE: Print all Download Links print(result) print("\n ...Exiting.\n") exit()
import scythe_helpers.auth as helpers if __name__ == '__main__': print("Running...\n") # Optional/helper way to get SCYTHE Credentials via argparse ... parser = helpers.setup_cred_args() args = parser.parse_args() # Use the optional helper for arguments ... SCYTHE_API = helpers.login( args.scythe_dest, args.scythe_user, args.scythe_pass, ) # Get all users (via /RPC1) result = SCYTHE_API["rpc1"].get_users() print("Current amount of users: %s" % len(result)) # Example User Object, with non-admin roles example_user = { 'username': "******", 'firstname': "Jesse", 'lastname': "Doe", 'email': "*****@*****.**", 'password': "******", 'roles': [ 'LOCALIZED_ROLE_ITEM_CAMPAIGNS_DELETE', 'LOCALIZED_ROLE_ITEM_REPORTS_VIEW', 'LOCALIZED_ROLE_ITEM_THREATS_VIEW',