{"id":22538231,"url":"https://github.com/cfpb/ec2mapper","last_synced_at":"2025-10-09T17:34:07.344Z","repository":{"id":4014406,"uuid":"5113432","full_name":"cfpb/ec2mapper","owner":"cfpb","description":"EC2mapper is a web application that provides a user-friendly interface to view Amazon AWS network configurations, while allowing changes to be easily tracked over time.","archived":false,"fork":false,"pushed_at":"2013-09-04T19:16:22.000Z","size":168,"stargazers_count":48,"open_issues_count":1,"forks_count":8,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-09T20:25:28.263Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cfpb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-07-19T17:55:09.000Z","updated_at":"2021-12-10T17:20:58.000Z","dependencies_parsed_at":"2022-09-02T17:14:43.453Z","dependency_job_id":null,"html_url":"https://github.com/cfpb/ec2mapper","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/cfpb/ec2mapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fec2mapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fec2mapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fec2mapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fec2mapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cfpb","download_url":"https://codeload.github.com/cfpb/ec2mapper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fec2mapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001866,"owners_count":26083197,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-12-07T11:10:54.117Z","updated_at":"2025-10-09T17:34:07.328Z","avatar_url":"https://github.com/cfpb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## EC2mapper\n\nEC2mapper is a web application that provides a user-friendly interface to view Amazon AWS network configurations, while allowing changes to be easily tracked over time.  A daemon process periodically pulls a snapshot of all relevant information via the AWS API which is timestamped and stored into a database.  The default view will show the last snapshot retrieved -- the user can then go back in time and view the state of the network at a previous date, or select a range of days to see what was added/removed/modified within that range.\n\n### Installation\n\nPrerequisites:\n\n- [node.js](http://nodejs.org/)\n- [MongoDB](http://www.mongodb.org/)\n\nRun the following command to checkout the latest copy\n\n    git clone http://github.com/CFPB/ec2mapper\n    \nCopy or rename the server-settings.example.json file to server-settings.json and update the settings for your environment.  At a minimum you must include values for the following:\n\n- ```webserver.sessionKey``` - used for securely tracking user sessions, must be a long hexadecimal string\n- ```aws.accessKey and aws.secretKey``` - Keys used to connect to Amazon API\n\n### Running EC2mapper\n\nEC2mapper depends on two processes to run: the webserver and the fetcher.  \n\nThe fetcher runs as a daemon and periodically queries Amazon and grabs a current snapshot of the configuration.  The times at which it does the pull is controlled using a [cron-syntax](http://help.sap.com/saphelp_xmii120/helpdata/en/44/89a17188cc6fb5e10000000a155369/content.htm) string defined in server-settings.json. \n\nTo run the fetcher:\n\n    node fetch_aws_snapshot.js\n    \nThe webserver simply serves the web application on whichever port you specify (port 8080 by default).\n\nTo run the webserver:\n\n    node ec2mapper-main.js\n    \nNote that it is highly recommended that you use some method of monitoring and restarting these processes should they fail as well as to start/stop the application.  A well-known tool typically used for node.js is called `forever` and may be installed using npm by running `npm install -g forever` (please see their [documentation](https://github.com/nodejitsu/forever/#usage) on usage).  You may also simply use a more traditional `init.d` script to control starting/stopping.\n\nAlso note that EC2mapper does not provide any kind of authentication, if you require user auth you must implement it either in a proxy upstream or by modifying the source and including an authentication middleware.\n\n### Screenshots\n\nMain page of EC2mapper showing VPCs and security groups (left side) and all instances belonging to currently selected VPC (main area).  Green, red, and yellow highlighting denote security groups and instances that have been added, removed or changed respectively within a user-specified date range.\n\u003cbr\u003e![Main Page](screenshots/ss1.png)\u003cbr\u003e\n\nDropdown calendar opened to show date range selection.\n\u003cbr\u003e![Calendar](screenshots/ss2.png)\u003cbr\u003e\n\nClicking on an instance will display a popup with details.\n\u003cbr\u003e![Details](screenshots/ss3.png)\u003cbr\u003e\n\nPopup for a changed instance showing a security group in green to which it has been assigned.\n\u003cbr\u003e![Popup Security Group](screenshots/ss4.png)\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfpb%2Fec2mapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfpb%2Fec2mapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfpb%2Fec2mapper/lists"}