Setting up OpenMF Frontend
After cloning, create a virtual environment and install the requirements.
For Linux and Mac users:
$ virtualenv venv
$ source venv/bin/activate
(venv) $ pip install -r requirements.txt
```
If you are on Windows, then use the following commands instead:
$ virtualenv venv
$ venv\Scripts\activate
(venv) $ pip install -r requirements.txt
Running
Step1: Change directory to React-Frontend
(venv) $ cd React-Frontend
Step2: Install required dependencies
(venv) $ npm install
Step3: Run the react server:
(venv) $ npm start
And use localhost:3000 to browse.
OpenMF - Flask Backend
Update Enviornment Variables
To run the project you need to update the following ENVIRONMENT VARIABLES.
export FLASK_APP="api"
export FLASK_ENV="development or production or testing"
SECRET_KEY="your secret key"
MAIL_USERNAME= "< Enter Mail User Name />"
MAIL_PASSWORD= "< Enter Mail App Password />"
MAIL_SERVER="< Enter Mail Server />"
MAIL_PORT="< Enter Mail Port Number />"
Running the Flask Server
Step 1: Set up FLASK_APP (For Linux or Mac)
(venv) $ `export FLASK_APP=api`
(For Windows)
(venv) $ `set FLASK_APP=api`
Step 2: Now, Upgrade the Migrated Database, using the following command
(venv) $ flask db upgrade
Step 3:Start the backend server To run the server use the following command:
(venv) $ flask run
API Endpoints List
Endpoint | Methods | Rule |
---|---|---|
analytics.execute_query | POST | /analytics/query |
auth.login_post | POST | /login |
auth.logout | POST | /logout |
case._get_file | POST | /case/get-file |
case.case_tree | GET, POST | /case/case-tree |
case.count | GET | /case/count |
case.deletecase | POST | /case/delete |
case.extracted_cases | GET | /case/extracted-cases |
case.filter | POST | /case/filter |
case.getCase | GET | /case/get_case/< casename> |
case.list | GET | /case/list |
case.openCase | GET | /case/open/< case_name> |
case.openFile | GET | /case/list-files/< case_name>/< folder_name>/< file_name> |
case.openFolder | GET | /case/list-files/< case_name>/< folder_name> |
common.commonwordlist | POST | /common/< case1>/< case2> |
common.mostcommonwordlist | POST | /common/words/< case1>/< case2> |
data.bluetooth | GET | /data/ |
data.browsers | GET | /data/< case_name>/browsers |
data.location | GET | /data/< case_name>/location |
data.media | GET | /data/< case_name>/media |
data.sms | GET | /data/< case_name>/sms |
extraction.extract | POST | /extraction/extract_data |
extraction.list_devices | GET | /extraction/list_devices |
keyword.customsearch | POST | /keyword/custom/search |
keyword.search | POST | /keyword/search |
keyword.searchfromCase | POST | /keyword/< case_name>/search |
keyword.searchtags | POST | /keyword/search/tags |
report.browserdata | POST | /report/browserdata |
report.generalinfo | POST | /report/generalinfo |
report.locationinfo | POST | /report/locations |
static | GET | /static/< path:filename> |
task.assigned_tasks | VGET | /task/assigned-tasks |
task.completed_tasks | GET | /task/completed-tasks |
task.create | POST | /task/create |
task.delete | DELETE | /task/delete/< int:id> |
task.edit_title | PUT | /task/edit-title |
task.get_all_tasks | GET | /task/all-tasks |
task.mark_complete | PUT | /task/mark-complete/< int:id> |
task.todo_tasks | GET | /task/todo-tasks |
user.add_users | POST | /user/add-user |
user.all_users | GET | /user/all-users |
user.create_user | POST | /user/create |
user.delete | DELETE | /user/delete |
user.deleteuser | DELETE, POST | /user/delete-user |
user.extracted_cases | POST | /user/extracted-cases |
user.getUser | GET | /user/getAdmin/ |
user.get_extracted_cases | GET | /user/extractor/extracted-cases |
user.get_extractor | GET | /user/getExtractor/< int:id> |
user.get_management | GET | /user/getManagement/< int:id> |
user.profile | GET | /user/profile |
user.roleupdate | PUT | /user/role-update |
Note: You can find the updated list of API endpoints using the following command
(venv) $ flask routes