{"id":20758903,"url":"https://github.com/cyrinux/network-dmenu","last_synced_at":"2025-04-30T04:34:52.026Z","repository":{"id":249122368,"uuid":"829616483","full_name":"cyrinux/network-dmenu","owner":"cyrinux","description":"tailscale, networkmanager, iwd dmenu","archived":false,"fork":false,"pushed_at":"2024-11-29T14:53:34.000Z","size":182,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-23T06:58:10.420Z","etag":null,"topics":["iwd","networkmanager","tailscale"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyrinux.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":"2024-07-16T19:46:31.000Z","updated_at":"2024-11-29T12:43:19.000Z","dependencies_parsed_at":"2024-08-02T22:08:13.021Z","dependency_job_id":"89c38ea4-484e-4360-81e3-a022f4559f27","html_url":"https://github.com/cyrinux/network-dmenu","commit_stats":null,"previous_names":["cyrinux/tailscale-dmenu"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrinux%2Fnetwork-dmenu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrinux%2Fnetwork-dmenu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrinux%2Fnetwork-dmenu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrinux%2Fnetwork-dmenu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyrinux","download_url":"https://codeload.github.com/cyrinux/network-dmenu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251644262,"owners_count":21620617,"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":["iwd","networkmanager","tailscale"],"created_at":"2024-11-17T09:54:11.344Z","updated_at":"2025-04-30T04:34:52.006Z","avatar_url":"https://github.com/cyrinux.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/github/issues-raw/cyrinux/network-dmenu)\n![](https://img.shields.io/github/stars/cyrinux/network-dmenu)\n![](https://img.shields.io/crates/d/network-dmenu)\n![](https://img.shields.io/crates/v/network-dmenu)\n\n# Network dmenu Selector\n\n![Logo](https://github.com/user-attachments/assets/d07a6fb4-7558-4cc8-b7cd-9bb1321265c7)\n\nA simple dmenu-based selector to manage Tailscale exit nodes, networkmanager, iwd and custom actions. This tool allows you to quickly enable or disable Tailscale, set Tailscale exit nodes including Mullvad VPN, and execute custom actions and more via a dmenu interface.\n\n## Features\n\n- Enable or disable Tailscale\n- Set Tailscale exit nodes\n- Set mullvad exit nodes\n- Customizable actions via a configuration file\n- Bluetooth connect and disconnect to known devices\n- Connect to wifi devices with bare iwd or network-manager\n- Connect to network-manager vpn networks\n- Detect if behind a captive portal and open a browser to connect\n- Execute custom actions\n\n## Installation\n\n1. Ensure you have Rust installed. If not, you can install it from [rust-lang.org](https://www.rust-lang.org/).\n2. Install\n   ```sh\n   cargo install --locked network-dmenu\n   ```\n\n## Requirements\n\n- `fontawesomes` and/or `joypixels` fonts.\n- `pinentry-gnome3` for the wifi password prompt.\n- `dmenu` or compatible.\n- `nmcli` or just `iwd`, optional, for wifi.\n- `bluetoothctl`, optional, for bluetooth.\n\n## Configuration\n\nThe configuration file is located at `~/.config/network-dmenu/config.toml`. If it doesn't exist, a default configuration will be created automatically.\n\n### Default Configuration\n\n```toml\n[[actions]]\ndisplay = \"😀 Example\"\ncmd = \"notify-send 'hello' 'world'\"\n```\n\nYou can add more actions by editing this file.\n\n## Usage\n\nRun the following command to open the dmenu selector:\n\n```sh\nnetwork-dmenu\n```\n\nSelect an action from the menu. The corresponding command will be executed.\n\n## Dependencies\n\n- [dmenu](https://tools.suckless.org/dmenu/)\n- [Tailscale](https://tailscale.com/)\n- [Rust](https://www.rust-lang.org/)\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request on GitHub.\n\n## License\n\nThis project is licensed under the ISC License. See the [LICENSE](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyrinux%2Fnetwork-dmenu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyrinux%2Fnetwork-dmenu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyrinux%2Fnetwork-dmenu/lists"}