{"id":15454754,"url":"https://github.com/shellrow/netpulsar","last_synced_at":"2025-04-21T09:23:58.459Z","repository":{"id":156362698,"uuid":"628518773","full_name":"shellrow/netpulsar","owner":"shellrow","description":"Real-time network utilization monitoring tool, with GUI. Built with Tauri.","archived":false,"fork":false,"pushed_at":"2024-07-16T14:27:24.000Z","size":17683,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-20T00:54:28.187Z","etag":null,"topics":["desktop-app","network","rust","tauri"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/shellrow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-04-16T07:39:20.000Z","updated_at":"2025-01-04T00:23:11.000Z","dependencies_parsed_at":"2023-09-12T14:43:32.801Z","dependency_job_id":"ab2eec58-ebc6-4f80-9399-74fd3ba6322f","html_url":"https://github.com/shellrow/netpulsar","commit_stats":null,"previous_names":["shellrow/numap","shellrow/cross-socket","shellrow/nesmap"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fnetpulsar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fnetpulsar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fnetpulsar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fnetpulsar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shellrow","download_url":"https://codeload.github.com/shellrow/netpulsar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249834786,"owners_count":21331988,"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":["desktop-app","network","rust","tauri"],"created_at":"2024-10-01T22:05:23.381Z","updated_at":"2025-04-20T00:54:34.984Z","avatar_url":"https://github.com/shellrow.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"resources/icon/netpulsar-logo-128x128.png\" alt=\"netpulsar - Real-time network utilization monitoring tool\"\u003e\u003cbr\u003e\n    \u003ch1\u003eNetPulsar\u003c/h1\u003e\n    \u003cp\u003e\n        \u003cstrong\u003eReal-time network utilization monitoring tool.\u003c/strong\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n## Overview\n**NetPulsar** is a real-time network utilization monitoring tool. Desktop App.\nIt provides comprehensive insights into your network's activity, enabling users to monitor traffic, manage connections, and view network configurations with ease.\n\n![image](resources/ss/netpulsar-ss-overview.png)\n\n## Features\n- **Real-time Monitoring**: Track network utilization as it happens.\n- **Connection Management**: Analyze active connections quickly and effectively.\n- **Interface and Routing Insights**: Get detailed views of network interfaces and routing tables.\n\n## Prerequisites\n- Ensure you have a compatible operating system (Linux, macOS, Windows).\n\n## Installation\n\n#### Using Installer\nDownload the installer for your platform from the [releases page](https://github.com/shellrow/netpulsar/releases).\n\n#### Build from source\nFirst, clone the repository:\n```\ngit clone https://github.com/shellrow/netpulsar\n```\nThen, build the project (assuming Rust and Tauri are already installed):\n```\ncd netpulsar\ncargo tauri build\n```\nRun the installer in the dist directory.\n\n## Post-Install Configuration\n\nThe following post-install configuration steps are applicable to both the CLI version (`netpulsar`) and the desktop application (`netpulsar`).  \nThese steps ensure that `netpulsar` has the necessary permissions and environment setup to function correctly on different operating systems.\n\n### Post-Install (Linux)\n\n`netpulsar` requires elevated privileges to monitor network packets effectively. On Linux, you can configure these privileges using two main methods:\n\n#### 1. Using `setcap`\n\nGranting capabilities to the `netpulsar` binary allows it to operate with the necessary privileges without requiring `sudo` for each execution.  \nThis method is recommended for single-user machines or in environments where all users are trusted.\n\nAssign necessary capabilities to the `netpulsar` binary\n```sh\nsudo setcap 'cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep' $(command -v netpulsar)\n```\n\nRun `netpulsar` as an unprivileged user:\n```sh\nnetpulsar\n```\n\n#### Capabilities Explained:\n- `cap_sys_ptrace,cap_dac_read_search`: Allows `netpulsar` to access `/proc/\u003cpid\u003e/fd/` to identify which open port belongs to which process.\n- `cap_net_raw,cap_net_admin`: Enables packet capturing capabilities.\n\n#### 2. Using `sudo` (for multi-user environments)\nFor environments with multiple users, requiring privilege escalation each time `netpulsar` is run can enhance security.\n```\nsudo netpulsar\n```\n\n### Post-Install (macOS)\nOn macOS, managing access to the Berkeley Packet Filter (BPF) devices is necessary for `netpulsar` to monitor network traffic:\n#### Install `chmod-bpf` to automatically manage permissions for BPF devices:\n\nInstall prebuilt binaries via shell script\n```\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/shellrow/chmod-bpf/releases/latest/download/chmod-bpf-installer.sh | sh\n```\n\nInstall prebuilt binaries via Homebrew\n```sh\nbrew install shellrow/tap-chmod-bpf/chmod-bpf\n```\n\n#### Check BPF device permissions\n```\nchmod-bpf check\n```\n\n#### Install the chmod-bpf daemon to automatically manage BPF device permissions\n```\nsudo chmod-bpf install\n```\n\n#### macOS Security\nAfter installing netpulsar Desktop on macOS, you may encounter a security warning that prevents the app from opening, stating that it is from an unidentified developer. This is a common macOS security measure for apps downloaded outside of the App Store.\n\nTo resolve this issue and open netpulsar Desktop, you can remove the security attributes that macOS assigns to the application using the following command in the Terminal:\n\n```sh\nxattr -rc \"/Applications/NetPulsar.app\"\n```\n\n### Post-Install (Windows)\n- Ensure that you have [Npcap](https://npcap.com/#download) installed, which is necessary for packet capturing on Windows\n- Download and install Npcap from [Npcap](https://npcap.com/#download). Choose the \"Install Npcap in WinPcap API-compatible Mode\" during installation.\n\n### License\n`netpulsar` is released under the MIT License. See the LICENSE file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellrow%2Fnetpulsar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshellrow%2Fnetpulsar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellrow%2Fnetpulsar/lists"}