{"id":22801694,"url":"https://github.com/pojntfx/connmapper","last_synced_at":"2025-04-19T18:37:38.878Z","repository":{"id":64189904,"uuid":"532164302","full_name":"pojntfx/connmapper","owner":"pojntfx","description":"Visualize your system's internet connections on a globe.","archived":false,"fork":false,"pushed_at":"2024-10-24T00:32:50.000Z","size":6440121,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-25T01:00:35.685Z","etag":null,"topics":["globe","hydrapp","libpcap","little-snitch","network-analysis","visualizer","wireshark"],"latest_commit_sha":null,"homepage":"https://pojntfx.github.io/connmapper//docs/main/INSTALLATION.html","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pojntfx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2022-09-03T05:25:21.000Z","updated_at":"2024-10-24T00:21:05.000Z","dependencies_parsed_at":"2023-12-10T01:37:18.524Z","dependency_job_id":"18d5189c-6166-4b7b-9ce8-da42b4c40a9c","html_url":"https://github.com/pojntfx/connmapper","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pojntfx%2Fconnmapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pojntfx%2Fconnmapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pojntfx%2Fconnmapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pojntfx%2Fconnmapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pojntfx","download_url":"https://codeload.github.com/pojntfx/connmapper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249766132,"owners_count":21322542,"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":["globe","hydrapp","libpcap","little-snitch","network-analysis","visualizer","wireshark"],"created_at":"2024-12-12T08:12:27.542Z","updated_at":"2025-04-19T18:37:38.870Z","avatar_url":"https://github.com/pojntfx.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cimg alt=\"Project icon\" style=\"vertical-align: middle;\" src=\"./docs/icon.svg\" width=\"128\" height=\"128\" align=\"left\"\u003e\n\n# Connmapper\n\nSystem internet connection visualizer.\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"A screenshot of the globe on a system with lots of internet connections\" width=\"90%\" src=\"./docs/screenshot-globe.png\" /\u003e\n\u003c/p\u003e\n\n[![hydrapp CI](https://github.com/pojntfx/connmapper/actions/workflows/hydrapp.yaml/badge.svg)](https://github.com/pojntfx/connmapper/actions/workflows/hydrapp.yaml)\n\n## Overview\n\nConnmapper is an app to visualize your system's internet connections on a globe.\n\nIt enables you to:\n\n- **Do real-time analysis**: Thanks to `libpcap`, Connmapper can get your system's packets in near real-time, and display their properties such as protocols, packet lengths or peer addresses.\n- **Get visual insights**: By looking up the source and destination IPs for each connection in a local copy of the [MaxMind GeoIP2 database](https://www.maxmind.com/en/geoip2-databases), Connmapper can get the source and destination coordinates of every packet in your system and plot them on a globe.\n- **Explore historical data**: Thanks to its integrated CSV export feature, Connmapper can also be used to aggregate connection data and analyze it externally.\n\n## Installation\n\nSee [INSTALLATION.html](https://pojntfx.github.io/connmapper//docs/main/INSTALLATION.html).\n\n## Tutorial\n\n### 1. Setting Up the Database\n\nUpon first launching Connmapper, it will ask you to enter your free license key for the GeoIP2 database. After entering it, it will download the database for you:\n\n![A screenshot of the license key/DB download screen](./docs/screenshot-db-download.png)\n\n### 2. Selecting Your Capture Device\n\nOnce the database has been set up, you can choose your preferred capture device, which is the device you want to analyze packets from. On the first launch, it might ask you to temporarily give it admin privileges so that it can give itself permission to capture from network devices:\n\n![A screenshot of the capture device selection dialog](./docs/screenshot-permissions.png)\n\n### 3. Getting Real-Time Insights\n\nOnce you've started tracing the device, a globe showing all the currently active connections on your system should appear. If you hover over one, you can get additional information:\n\n![A screenshot of the globe on a system with lots of internet connections while hovering over one of them](./docs/screenshot-globe-info.png)\n\nBy opening the traffic inspector through the inspect traffic button on the bottom right, you can get more detailed information:\n\n![A screenshot of the traffic inspector in full screen mode](./docs/screenshot-traffic-inspector.png)\n\nNote that you can also minimize the traffic inspector or open it in a new window by clicking on the respective controls in the headerbar.\n\n### 4. Exporting Historical Data\n\nSo far we've only looked at real-time data. To analyze historic data, you can select the summarized view in the traffic inspector. It is also possible to sort individual columns in the table, which for example allows you to find the host that you've sent the most data too:\n\n![A screenshot of the traffic inspector in summarized mode](./docs/screenshot-traffic-inspector-summarized.png)\n\nHere you can also download the collected data as a CSV file for further analysis:\n\n![A screenshot of LibreOffice writer displaying the captured data](./docs/screenshot-csv.png)\n\n🚀 **That's it!** We hope you enjoy using Connmapper.\n\n## Reference\n\n### Settings\n\nYou can open the settings through the settings button in the top right; here you can configure many aspects of the application such as cache sizes or polling intervals (and enable \"Cyberpunk mode\" as an alternative theme):\n\n![A screenshot of the settings dialog](./docs/screenshot-settings.png)\n\n### Command Line Arguments\n\nAll arguments passed to the binary will be forwarded to the browser used to display the frontend.\n\n### Environment Variables\n\n| Name                     | Description                                                                                                 |\n| ------------------------ | ----------------------------------------------------------------------------------------------------------- |\n| `HYDRAPP_BACKEND_LADDR`  | Listen address for the backend (`localhost:0` by default)                                                   |\n| `HYDRAPP_FRONTEND_LADDR` | Listen address for the frontend (`localhost:0` by default)                                                  |\n| `HYDRAPP_BROWSER`        | Binary of browser to display the frontend with                                                              |\n| `HYDRAPP_TYPE`           | Type of browser to display the frontend with (one of `chromium`, `firefox`, `epiphany`, `lynx` and `dummy`) |\n| `HYDRAPP_SELFUPDATE`     | Whether to check for updates on launch (disabled if OS provides an app update mechanism)                    |\n\n## Acknowledgements\n\n- [pojntfx/hydrapp](https://github.com/pojntfx/hydrapp) provides the application framework.\n- [gopacket/gopacket](https://github.com/gopacket/gopacket) provides the library that the packets are being parsed with.\n- [oschwald/geoip2-golang](https://github.com/oschwald/geoip2-golang) provides the library for reading the GeoIP2 database.\n\n## Contributing\n\nTo contribute, please use the [GitHub flow](https://guides.github.com/introduction/flow/) and follow our [Code of Conduct](./CODE_OF_CONDUCT.md).\n\nTo build and start a development version of Connmapper locally, first install [Go](https://go.dev/) and [npm](https://www.npmjs.com/), then run the following:\n\n```shell\n$ git clone https://github.com/pojntfx/connmapper.git --single-branch\n$ cd connmapper\n$ go generate ./... # Also see https://github.com/dennwc/flatpak-go-mod for updating the Flatpak manifest with Go dependencies and https://github.com/flatpak/flatpak-builder-tools/tree/master/node for JS dependencies\n$ go install .\n# Linux\n$ sudo setcap cap_net_raw,cap_net_admin=eip \"$(which connmapper)\"\n$ connmapper\n# macOS\n$ sudo connmapper\n```\n\nTo start the backend and open the frontend in a browser instead of an application window during development, run the following:\n\n```shell\n$ go install .\n# Start the backend in the first terminal\n# Linux\n$ sudo setcap cap_net_raw,cap_net_admin=eip \"$(which connmapper)\"\n$ HYDRAPP_BACKEND_LADDR=localhost:1337 HYDRAPP_TYPE=dummy connmapper\n# macOS\n$ sudo HYDRAPP_BACKEND_LADDR=localhost:1337 HYDRAPP_TYPE=dummy connmapper\n# Start the frontend in a second terminal\n$ cd pkg/frontend\n$ npm run dev\n# Now open http://localhost:1234 in your browser\n```\n\nTo build the DEB, RPM, Flatpak, MSI, EXE, DMG, APK, and static binaries for all other platforms, run the following:\n\n```shell\n$ hydrapp build\n# You can find the built packages in the out/ directory\n```\n\nIf you only want to build certain packages or for certain architectures, for example to only build the APKs, pass `--exclude` like in the following:\n\n```shell\n$ hydrapp build --exclude '(binaries|deb|rpm|flatpak|msi|dmg|docs|tests)'\n```\n\nFor more information, see the [hydrapp documentation](https://github.com/pojntfx/hydrapp).\n\n## License\n\nConnmapper (c) 2025 Felicitas Pojtinger and contributors\n\nSPDX-License-Identifier: AGPL-3.0-or-later\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpojntfx%2Fconnmapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpojntfx%2Fconnmapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpojntfx%2Fconnmapper/lists"}