(self)
| 29 | asyncio.get_event_loop().create_task(AdvancedPack(services).enable()) |
| 30 | |
| 31 | async def enable(self): |
| 32 | self.app_svc.application.router.add_static('/assets', 'plugins/magma/dist/assets/', append_version=True) |
| 33 | # TODO: only serve static files in legacy plugin mode |
| 34 | self.app_svc.application.router.add_static('/gui', 'static/', append_version=True) |
| 35 | # unauthorized GUI endpoints |
| 36 | self.app_svc.application.router.add_route('GET', '/', self.landing) |
| 37 | self.app_svc.application.router.add_route('POST', '/enter', self.validate_login) |
| 38 | self.app_svc.application.router.add_route('POST', '/logout', self.logout) |
| 39 | # unauthorized API endpoints |
| 40 | self.app_svc.application.router.add_route('*', '/file/download', self.download_file) |
| 41 | self.app_svc.application.router.add_route('POST', '/file/upload', self.upload_file) |
| 42 | # authorized API endpoints |
| 43 | self.app_svc.application.router.add_route('*', '/api/rest', self.rest_core) |
| 44 | self.app_svc.application.router.add_route('GET', '/api/{index}', self.rest_core_info) |
| 45 | self.app_svc.application.router.add_route('GET', '/file/download_exfil', self.download_exfil_file) |
| 46 | self.app_svc.application.router.add_route('GET', '/{tail:(?!plugin/|api/v2/).*}', self.handle_catch) |
| 47 | |
| 48 | async def validate_login(self, request): |
| 49 | return await self.auth_svc.login_user(request) |
no outgoing calls