{"id":20706753,"url":"https://github.com/cbuto/greynoise-visualizer","last_synced_at":"2025-05-10T20:30:55.671Z","repository":{"id":103523749,"uuid":"116453399","full_name":"cbuto/greynoise-visualizer","owner":"cbuto","description":"Web application to visualize GreyNoise API data","archived":true,"fork":false,"pushed_at":"2018-12-04T19:11:14.000Z","size":223,"stargazers_count":21,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-17T01:28:53.031Z","etag":null,"topics":["angular","docker","greynoise"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cbuto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-06T04:32:37.000Z","updated_at":"2024-03-25T22:14:38.000Z","dependencies_parsed_at":"2023-10-18T01:15:13.449Z","dependency_job_id":null,"html_url":"https://github.com/cbuto/greynoise-visualizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbuto%2Fgreynoise-visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbuto%2Fgreynoise-visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbuto%2Fgreynoise-visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbuto%2Fgreynoise-visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cbuto","download_url":"https://codeload.github.com/cbuto/greynoise-visualizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253480282,"owners_count":21915245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","docker","greynoise"],"created_at":"2024-11-17T01:23:53.755Z","updated_at":"2025-05-10T20:30:55.617Z","avatar_url":"https://github.com/cbuto.png","language":"TypeScript","readme":"[![Build Status](https://travis-ci.org/cbuto/greynoise-visualizer.svg?branch=master)](https://travis-ci.org/cbuto/greynoise-visualizer)\n# GreyNoise Visualization Application\n\nA simple web application built to visualize [GreyNoise](https://github.com/Grey-Noise-Intelligence/api.greynoise.io) data. Includes some simple statistics (general stats and time series charts), a table view of the data, and a map to view the general location of the IP addresses that are associated with a particular tag. The frontend is built with Angular and retrieves data from the Flask backend that uses Redis for caching. The Flask backend retrieves data from GreyNoise (with caching), computes statistics, and uses the [MaxMind](https://dev.maxmind.com/geoip/geoip2/geolite2/) database for geolocation of IP addresses.\n\nExcerpt from the [GreyNoise](https://github.com/Grey-Noise-Intelligence/api.greynoise.io) repo:\n\u003e GreyNoise is a system that collects and analyzes data on Internet-wide scanners. GreyNoise collects data on benign scanners such as Shodan.io, as well as malicious actors like SSH and telnet worms.\n\n### Table of Contents\n**[Getting Started](#getting-started)**\u003cbr\u003e\n**[Development](#development)**\u003cbr\u003e\n**[Testing](#testing)**\u003cbr\u003e\n**[Deployment](#deployment)**\u003cbr\u003e\n**[License](#license)**\u003cbr\u003e\n**[Acknowledgments](#acknowledgments)**\u003cbr\u003e\n\n## Getting Started\n\nThe quickest way [deploy](#deployment) this project is by using docker-compose; however, in order to set up a development environment, follow the steps in the [development](#development) section. \n\n### Prerequisites\n\n#### For development:\n\n* Python 3.6 \n* [GeoLite2 City database](http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz)\n* [Node.js](https://nodejs.org/en/download/package-manager/)\n* Angular CLI - ```npm install -g @angular/cli```\n\n#### For deployment:\n\nInstall Docker and Docker Compose:\n\n* Docker installation instructions: https://docs.docker.com/engine/installation/ \n\n```bash\ncurl -fsSL get.docker.com -o get-docker.sh\nsudo sh get-docker.sh\n```\n\n* Docker Compose installation instructions: https://docs.docker.com/compose/install/\n\n```bash\nsudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose\nsudo chmod +x /usr/local/bin/docker-compose\ndocker-compose --version\n```\n\n## Development\n\n### Flask backend:\n```bash\ncd backend\npip3.6 install -r requirements.txt\nwget \"geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz\"\ntar -xvf GeoLite2-City.tar.gz\nmv GeoLite2-City*/GeoLite2-City.mmdb .\npython3.6 app.py\n```\n\n### Angular development server:\n```bash\ncd frontend\nnpm install\nng serve\n```\n\nBrowse to http://localhost:4200 to view the application\n\n## Testing\n\n### Angular:\n\n#### Unit testing:\n\n```\ncd frontend\nng test \n```\n\n#### e2e testing:\n\nEither requires the Flask backend to be running locally as shown in the development section or the environment flag can be passed with the \"e2e\" option to use the containerized Flask backend (docker-compose).\n\n```\ncd frontend\nng e2e\n```\n\nOR \n\n```\nng e2e --environment=e2e #sets the api url to http://localhost \n```\n\n### Flask:\n\n```\ncd backend\nnose2\n```\n\n## Deployment\n\nA simple deployment using docker-compose:\n\nThere will be some warnings about unset variables; however, they will not cause any issues if SSL is not being used. You can simply ignore these warnings, or set the variables to blank strings. \n\nThe application will be accessible at http://localhost.\n\n```bash\ndocker-compose build\ndocker-compose up -d\n```\n\n#### In order to set up NGINX to use SSL:\n\nThe SSL cert and key are set to be in /etc/ssl/certs/greynoise/greynoise.crt and /etc/ssl/certs/greynoise/greynoise.key on the host machine running the containers. See [optional SSL configuration](#optional-ssl-configuration) below to configure cert names/paths.\n\nAlso, the lines 34-36 in docker-compose.yml need to be uncommented or altered based on the cert paths of the host machine.\n\n```bash\nexport GREYNOISE_NGINX_SSL=true #will enable SSL\nexport GREYNOISE_SERVER_NAME=localhost #or whatever the server name will be\ndocker-compose build\ndocker-compose up -d\n```\n\n#### Optional SSL configuration:\n\nThe cert/key paths can be changed in the docker-compose.yml file on line 33 and the cert/key names can be changed by setting the GREYNOISE_CERT_NAME environment variable.\n\n```bash\n#sets NGINX to look for /etc/ssl/certs/greynoise/test.crt and /etc/ssl/certs/greynoise/test.key\n#unless the paths were changed in the docker-compose file\nexport GREYNOISE_CERT_NAME=test\n```\n\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details\n\n## Acknowledgments\n\n* [GreyNoise API](https://github.com/Grey-Noise-Intelligence/api.greynoise.io)\n* [Time series function](https://github.com/phyler/greynoise)\n\n","funding_links":[],"categories":["Mapping/visualization tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbuto%2Fgreynoise-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcbuto%2Fgreynoise-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbuto%2Fgreynoise-visualizer/lists"}