forked from p15670423/monkey
pth report is now shown also in the website
This commit is contained in:
parent
c298544f22
commit
6019432a2b
|
@ -19,6 +19,7 @@ from cc.resources.monkey_configuration import MonkeyConfiguration
|
||||||
from cc.resources.monkey_download import MonkeyDownload
|
from cc.resources.monkey_download import MonkeyDownload
|
||||||
from cc.resources.netmap import NetMap
|
from cc.resources.netmap import NetMap
|
||||||
from cc.resources.pthmap import PthMap
|
from cc.resources.pthmap import PthMap
|
||||||
|
from cc.resources.pthreporthtml import PthReportHtml
|
||||||
from cc.resources.node import Node
|
from cc.resources.node import Node
|
||||||
from cc.resources.report import Report
|
from cc.resources.report import Report
|
||||||
from cc.resources.root import Root
|
from cc.resources.root import Root
|
||||||
|
@ -106,5 +107,6 @@ def init_app(mongo_url):
|
||||||
api.add_resource(TelemetryFeed, '/api/telemetry-feed', '/api/telemetry-feed/')
|
api.add_resource(TelemetryFeed, '/api/telemetry-feed', '/api/telemetry-feed/')
|
||||||
api.add_resource(Log, '/api/log', '/api/log/')
|
api.add_resource(Log, '/api/log', '/api/log/')
|
||||||
api.add_resource(PthMap, '/api/pthmap', '/api/pthmap/')
|
api.add_resource(PthMap, '/api/pthmap', '/api/pthmap/')
|
||||||
|
api.add_resource(PthReportHtml, '/api/pthreport', '/api/pthreport/')
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|
|
@ -1229,3 +1229,22 @@ def main():
|
||||||
print """</div>"""
|
print """</div>"""
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
from cStringIO import StringIO
|
||||||
|
import sys
|
||||||
|
|
||||||
|
class Capturing(list):
|
||||||
|
def __enter__(self):
|
||||||
|
self._stdout = sys.stdout
|
||||||
|
sys.stdout = self._stringio = StringIO()
|
||||||
|
return self
|
||||||
|
def __exit__(self, *args):
|
||||||
|
self.extend(self._stringio.getvalue().splitlines())
|
||||||
|
del self._stringio # free up some memory
|
||||||
|
sys.stdout = self._stdout
|
||||||
|
|
||||||
|
def get_report_html():
|
||||||
|
with Capturing() as output:
|
||||||
|
main()
|
||||||
|
|
||||||
|
return "\n".join(output)
|
|
@ -0,0 +1,21 @@
|
||||||
|
import hashlib
|
||||||
|
import binascii
|
||||||
|
import copy
|
||||||
|
import flask_restful
|
||||||
|
from pthreport import PassTheHashReport, Machine, get_report_html
|
||||||
|
|
||||||
|
from cc.auth import jwt_required
|
||||||
|
from cc.services.edge import EdgeService
|
||||||
|
from cc.services.node import NodeService
|
||||||
|
from cc.database import mongo
|
||||||
|
|
||||||
|
class PthReportHtml(flask_restful.Resource):
|
||||||
|
@jwt_required()
|
||||||
|
def get(self, **kw):
|
||||||
|
pth = PassTheHashReport()
|
||||||
|
html = get_report_html()
|
||||||
|
|
||||||
|
return \
|
||||||
|
{
|
||||||
|
"html": html
|
||||||
|
}
|
|
@ -29,6 +29,7 @@ class PassTheHashMapPageComponent extends AuthComponent {
|
||||||
super(props);
|
super(props);
|
||||||
this.state = {
|
this.state = {
|
||||||
graph: {nodes: [], edges: []},
|
graph: {nodes: [], edges: []},
|
||||||
|
report: "",
|
||||||
selected: null,
|
selected: null,
|
||||||
selectedType: null,
|
selectedType: null,
|
||||||
killPressed: false,
|
killPressed: false,
|
||||||
|
@ -58,6 +59,12 @@ class PassTheHashMapPageComponent extends AuthComponent {
|
||||||
this.setState({graph: res});
|
this.setState({graph: res});
|
||||||
this.props.onStatusChange();
|
this.props.onStatusChange();
|
||||||
});
|
});
|
||||||
|
this.authFetch('/api/pthreport')
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(res => {
|
||||||
|
this.setState({report: res.html});
|
||||||
|
this.props.onStatusChange();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
@ -70,6 +77,7 @@ class PassTheHashMapPageComponent extends AuthComponent {
|
||||||
<div>
|
<div>
|
||||||
<Graph graph={this.state.graph} options={options} />
|
<Graph graph={this.state.graph} options={options} />
|
||||||
</div>
|
</div>
|
||||||
|
<div dangerouslySetInnerHTML={{__html: this.state.report}}></div>
|
||||||
</Col>
|
</Col>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue