-
Notifications
You must be signed in to change notification settings - Fork 47
/
app.py
54 lines (48 loc) · 1.69 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import os
import objetive
from flask import Flask
from flask import jsonify
from flask import request
from getrails import search
os.sys.path.append('modules/')
from generator import main
port = int(os.environ.get("PORT", 5000))
app = Flask(__name__)
msg = "Its OWASP D4N155 project for API, see: https://github.com/OWASP/D4N155, branch: api"
# See all data
@app.route('/')
def index():
# Get all registers in DB
helper = {
"Query URL": "/domain/<max_num_of_response:int>?url=<url:str>",
"Query domain": "/domain/<domain:str>",
"Query words": "/make/<words_with_space:str>"
}
response = jsonify(result = helper, helpus = "{}".format(msg))
response.headers['Access-Control-Allow-Origin'] = '*'
return response
# Read url contents
@app.route('/domain/<int:limit>')
def read_page(limit):
# Get id in DB
read_url = main(objetive.text(request.args['url']), int(limit))
response = jsonify(result = read_url, helpus = "{}".format(msg))
response.headers['Access-Control-Allow-Origin'] = '*'
return response
# See all urls of domain
@app.route('/domain/<param>')
def domain(param):
# Get id in DB
get_urls = search("site:{}".format(param))
response = jsonify({ "result": { "data": get_urls, "length": len(get_urls) }, "helpus": msg })
response.headers['Access-Control-Allow-Origin'] = '*'
return response
# Make new analyze
@app.route('/make/<param>')
def make(param):
response = jsonify(result = main(param), helpus = "{}".format(msg))
response.headers['Access-Control-Allow-Origin'] = '*'
return response
if __name__ == '__main__':
app.config['JSON_AS_ASCII'] = False
app.run(debug=False,host='0.0.0.0', port=port)