-
Notifications
You must be signed in to change notification settings - Fork 154
Backend through url
The backend is developed to work completely autonomously. This is why you can use it without using the frontend, from a terminal
If you have running the frontend, you can load the APIs from the Api Keys menu But if you did not install the frontend dependencies, you can load the APIs into the $HOMEIKY/backend/factories/apikeys.json file If that file does not exist, you can generate it by copying from apikeys_default.json in the same dir
Once the backend is installed and the API Keys are loaded you must run the backend processes as follows, within the project directory
cd backend
redis-servercd backend
./celerycd backend
python3 app.pyThe way to communicate with celery to run the collection processes is through URLs that Flask will interpret and process
The tasklist process returns all messages implemented to run the gatherer processes in the celery
curl http://127.0.0.1:5000/tasklist
Return
{
"modules": [
"ghostproject",
"fullcontact",
"usersearch",
"socialscan",
"instagram",
"tasklist",
"linkedin",
"emailrep",
"testing",
"keybase",
"twitter",
"apikey",
"github",
"gitlab",
"leaks",
"result/<task_id>",
"state/<task_id>/<task_app>"
]
}For most of the modules that tasklist returns
curl -d ‘{“username”:”user_or_email", "from":"Initial"}' -H "Content-Type: application/json" -X POST http://127.0.0.1:5000/module_name
Where user_or_email is the username or email address and module_name is the majority of the returned modules by tasklist The JSON returned ( where module_name=github and username=xxx )
{
"from_m": "Initial",
"module": "github",
"param": "xxx",
"task": "8d59905d-ae1f-434d-bde1-2414cbb3e94f"
}The backend provides two URLs to get the result. One of them reports the status of the task and another obtains the results
To obtain the status you must run a GET as follows
curl http://127.0.0.1:5000/state/<task_id>/<task_app>
Following the example above
curl http://127.0.0.1:5000/state/8d59905d-ae1f-434d-bde1-2414cbb3e94f/github
{
"state": "SUCCESS",
"task_app": "github",
"task_id": "8d59905d-ae1f-434d-bde1-2414cbb3e94f"
}The state field is documented by celery in the following link
To obtain the result you must run a GET as follows
curl http://127.0.0.1:5000/result/<task_id>
Following the example above
curl http://127.0.0.1:5000/result/8d59905d-ae1f-434d-bde1-2414cbb3e94f
{
"result": [
{
"module": "github"
},
{
"param": "xxx"
},
{
"validation": "no"
},
{
"raw": { }
},
{
"graphic": [{ }, { }, { }]
},
{
"profile": [{ }, { }, { }]
},
{
"timeline": [{ }, { }, { }]
}
]
}Where
- module : It is the name of the module
- param : It is the parameter (user or email)
- validation : level of validation
- raw : JSON object returned by API or raw scraping
- graphic : JSON object array that are input to frontend graphics
-
profile : JSON object array that compiles raw and profile related information
- name
- location
- photo
- organization
- RRSS
- timeline : JSON object array that compiles raw and chronologically sorted information and the structure is
{
"action": "Github : Create Account",
"date": "2013/01/08 22:39:50",
"icon": "fab fa-github"
}Play nice
- iKy Wiki
- iKy Page
- Installation
- Update
- Wake Up
- APIs
- Backend
- Dev
- Videos
- Disclaimer