about summary refs log tree commit diff
path: root/pkgs/tools/networking
diff options
context:
space:
mode:
authorstuebinm <stuebinm@disroot.org>2024-03-19 03:14:51 +0100
committerstuebinm <stuebinm@disroot.org>2024-03-19 03:14:51 +0100
commitff1a94e523ae9fb272e0581f068baee5d1068476 (patch)
treecbea47f2004a4fa8685163d630612cf748e72c1e /pkgs/tools/networking
parentb06025f1533a1e07b6db3e75151caa155d1c7eb3 (diff)
treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
Diffstat (limited to 'pkgs/tools/networking')
-rw-r--r--pkgs/tools/networking/6tunnel/default.nix1
-rw-r--r--pkgs/tools/networking/airgeddon/default.nix1
-rw-r--r--pkgs/tools/networking/bwm-ng/default.nix1
-rw-r--r--pkgs/tools/networking/cantoolz/default.nix1
-rw-r--r--pkgs/tools/networking/carddav-util/default.nix1
-rw-r--r--pkgs/tools/networking/cloud-custodian/default.nix1
-rw-r--r--pkgs/tools/networking/cmst/default.nix1
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-process-agent.nix1
-rw-r--r--pkgs/tools/networking/decode-spam-headers/default.nix1
-rw-r--r--pkgs/tools/networking/discord-sh/default.nix1
-rw-r--r--pkgs/tools/networking/dnschef/default.nix1
-rw-r--r--pkgs/tools/networking/dnstwist/default.nix1
-rw-r--r--pkgs/tools/networking/dnsviz/default.nix1
-rw-r--r--pkgs/tools/networking/evillimiter/default.nix1
-rw-r--r--pkgs/tools/networking/flannel/plugin.nix1
-rw-r--r--pkgs/tools/networking/gandi-cli/default.nix1
-rw-r--r--pkgs/tools/networking/gmrender-resurrect/default.nix1
-rw-r--r--pkgs/tools/networking/gnirehtet/default.nix1
-rw-r--r--pkgs/tools/networking/gp-saml-gui/default.nix1
-rw-r--r--pkgs/tools/networking/haguichi/default.nix1
-rw-r--r--pkgs/tools/networking/hblock/default.nix1
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix1
-rw-r--r--pkgs/tools/networking/httplz/default.nix1
-rw-r--r--pkgs/tools/networking/httpstat/default.nix1
-rw-r--r--pkgs/tools/networking/ifwifi/default.nix1
-rw-r--r--pkgs/tools/networking/imapsync/default.nix1
-rw-r--r--pkgs/tools/networking/iperf3d/default.nix1
-rw-r--r--pkgs/tools/networking/ipfetch/default.nix1
-rw-r--r--pkgs/tools/networking/ipgrep/default.nix1
-rw-r--r--pkgs/tools/networking/linkchecker/default.nix1
-rw-r--r--pkgs/tools/networking/moodle-dl/default.nix1
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix1
-rw-r--r--pkgs/tools/networking/mutt-ics/default.nix1
-rw-r--r--pkgs/tools/networking/networkd-dispatcher/default.nix1
-rw-r--r--pkgs/tools/networking/networkd-notify/default.nix1
-rw-r--r--pkgs/tools/networking/networkmanager/dmenu/default.nix1
-rw-r--r--pkgs/tools/networking/networkmanager/tray.nix1
-rw-r--r--pkgs/tools/networking/nikto/default.nix1
-rw-r--r--pkgs/tools/networking/nxdomain/default.nix1
-rw-r--r--pkgs/tools/networking/nyx/default.nix1
-rw-r--r--pkgs/tools/networking/openresolv/default.nix1
-rw-r--r--pkgs/tools/networking/p2p/gtk-gnutella/default.nix1
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix1
-rw-r--r--pkgs/tools/networking/persepolis/default.nix1
-rw-r--r--pkgs/tools/networking/picosnitch/default.nix1
-rw-r--r--pkgs/tools/networking/pirate-get/default.nix1
-rw-r--r--pkgs/tools/networking/polygon-cli/default.nix1
-rw-r--r--pkgs/tools/networking/s3cmd/default.nix1
-rw-r--r--pkgs/tools/networking/sockdump/default.nix1
-rw-r--r--pkgs/tools/networking/sshoogr/default.nix1
-rw-r--r--pkgs/tools/networking/swaks/default.nix1
-rw-r--r--pkgs/tools/networking/telepresence/default.nix1
-rw-r--r--pkgs/tools/networking/termshark/default.nix1
-rw-r--r--pkgs/tools/networking/tinystatus/default.nix1
-rw-r--r--pkgs/tools/networking/tuntox/default.nix1
-rw-r--r--pkgs/tools/networking/udp2raw/default.nix1
-rw-r--r--pkgs/tools/networking/uget-integrator/default.nix1
-rw-r--r--pkgs/tools/networking/updog/default.nix1
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix1
-rw-r--r--pkgs/tools/networking/v2ray/default.nix1
-rw-r--r--pkgs/tools/networking/vpn-slice/default.nix1
-rw-r--r--pkgs/tools/networking/vpnc-scripts/default.nix1
-rw-r--r--pkgs/tools/networking/whatip/default.nix1
-rw-r--r--pkgs/tools/networking/wifish/default.nix1
-rw-r--r--pkgs/tools/networking/xray/default.nix1
65 files changed, 65 insertions, 0 deletions
diff --git a/pkgs/tools/networking/6tunnel/default.nix b/pkgs/tools/networking/6tunnel/default.nix
index fbdd23f754ef9..50259f827321f 100644
--- a/pkgs/tools/networking/6tunnel/default.nix
+++ b/pkgs/tools/networking/6tunnel/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tunnelling for application that don't speak IPv6";
+    mainProgram = "6tunnel";
     homepage = "https://github.com/wojtekka/6tunnel";
     license = licenses.gpl2;
     maintainers = with maintainers; [ Br1ght0ne ];
diff --git a/pkgs/tools/networking/airgeddon/default.nix b/pkgs/tools/networking/airgeddon/default.nix
index cba25cae74f01..2bfe38203e8ad 100644
--- a/pkgs/tools/networking/airgeddon/default.nix
+++ b/pkgs/tools/networking/airgeddon/default.nix
@@ -158,6 +158,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Multi-use TUI to audit wireless networks";
+    mainProgram = "airgeddon";
     homepage = "https://github.com/v1s1t0r1sh3r3/airgeddon";
     changelog = "https://github.com/v1s1t0r1sh3r3/airgeddon/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
diff --git a/pkgs/tools/networking/bwm-ng/default.nix b/pkgs/tools/networking/bwm-ng/default.nix
index cfe0d4176a6f6..e594e1bae7784 100644
--- a/pkgs/tools/networking/bwm-ng/default.nix
+++ b/pkgs/tools/networking/bwm-ng/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A small and simple console-based live network and disk io bandwidth monitor";
+    mainProgram = "bwm-ng";
     homepage = "http://www.gropp.org/?id=projects&sub=bwm-ng";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/cantoolz/default.nix b/pkgs/tools/networking/cantoolz/default.nix
index 1f9308b741b4b..9da4923400071 100644
--- a/pkgs/tools/networking/cantoolz/default.nix
+++ b/pkgs/tools/networking/cantoolz/default.nix
@@ -52,6 +52,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Black-box CAN network analysis framework";
+    mainProgram = "cantoolz";
     longDescription = ''
       CANToolz is a framework for analysing CAN networks and devices. It
       provides multiple modules that can be chained using CANToolz's pipe
diff --git a/pkgs/tools/networking/carddav-util/default.nix b/pkgs/tools/networking/carddav-util/default.nix
index e788de13df810..76e1b2656628d 100644
--- a/pkgs/tools/networking/carddav-util/default.nix
+++ b/pkgs/tools/networking/carddav-util/default.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://github.com/ljanyst/carddav-util";
     description = "A CardDAV import/export utility";
+    mainProgram = "carddav-util.py";
     platforms = platforms.unix;
     license = licenses.isc;
   };
diff --git a/pkgs/tools/networking/cloud-custodian/default.nix b/pkgs/tools/networking/cloud-custodian/default.nix
index c5e1f7527dac7..01e9d9a857221 100644
--- a/pkgs/tools/networking/cloud-custodian/default.nix
+++ b/pkgs/tools/networking/cloud-custodian/default.nix
@@ -41,6 +41,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Rules engine for cloud security, cost optimization, and governance";
+    mainProgram = "custodian";
     homepage = "https://cloudcustodian.io";
     license = licenses.asl20;
     maintainers = with maintainers; [ bhipple ];
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
index e86ffeed95761..fd484798677c3 100644
--- a/pkgs/tools/networking/cmst/default.nix
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -27,6 +27,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "QT GUI for Connman with system tray icon";
+    mainProgram = "cmst";
     homepage = "https://github.com/andrew-bibb/cmst";
     maintainers = with maintainers; [ matejc romildo ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
index 4d1334505f32b..45088be9e29b5 100644
--- a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
@@ -4,6 +4,7 @@ datadog-agent.overrideAttrs (attrs: {
   meta = with lib;
     attrs.meta // {
       description = "Live process collector for the DataDog Agent v7";
+      mainProgram = "process-agent";
       maintainers = with maintainers; [ domenkozar ];
     };
   subPackages = [ "cmd/process-agent" ];
diff --git a/pkgs/tools/networking/decode-spam-headers/default.nix b/pkgs/tools/networking/decode-spam-headers/default.nix
index 8f18658b52c52..0294a45be78bd 100644
--- a/pkgs/tools/networking/decode-spam-headers/default.nix
+++ b/pkgs/tools/networking/decode-spam-headers/default.nix
@@ -37,6 +37,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/mgeeky/decode-spam-headers/";
     description = "A script that helps you understand why your E-Mail ended up in Spam";
+    mainProgram = "decode-spam-headers";
     longDescription = ''
       Whether you are trying to understand why a specific e-mail ended up in
       SPAM/Junk for your daily Administrative duties or for your Red-Team
diff --git a/pkgs/tools/networking/discord-sh/default.nix b/pkgs/tools/networking/discord-sh/default.nix
index 50e84034428d0..cb6821ab4bc88 100644
--- a/pkgs/tools/networking/discord-sh/default.nix
+++ b/pkgs/tools/networking/discord-sh/default.nix
@@ -42,6 +42,7 @@ stdenvNoCC.mkDerivation rec {
 
   meta = with lib; {
     description = "Write-only command-line Discord webhook integration written in 100% Bash script";
+    mainProgram = "discord.sh";
     homepage = "https://github.com/ChaoticWeg/discord.sh";
     license = licenses.gpl3;
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/dnschef/default.nix b/pkgs/tools/networking/dnschef/default.nix
index 5dbb8980f063a..2907a0f578e5a 100644
--- a/pkgs/tools/networking/dnschef/default.nix
+++ b/pkgs/tools/networking/dnschef/default.nix
@@ -21,6 +21,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/iphelix/dnschef";
     description = "Highly configurable DNS proxy for penetration testers and malware analysts";
+    mainProgram = "dnschef";
     license = licenses.bsd3;
     maintainers = [ maintainers.gfrascadorio ];
   };
diff --git a/pkgs/tools/networking/dnstwist/default.nix b/pkgs/tools/networking/dnstwist/default.nix
index 1d075a75de249..9165c550eaecb 100644
--- a/pkgs/tools/networking/dnstwist/default.nix
+++ b/pkgs/tools/networking/dnstwist/default.nix
@@ -37,6 +37,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Domain name permutation engine for detecting homograph phishing attacks";
+    mainProgram = "dnstwist";
     homepage = "https://github.com/elceef/dnstwist";
     changelog = "https://github.com/elceef/dnstwist/releases/tag/${version}";
     license = with licenses; [ gpl3Only ];
diff --git a/pkgs/tools/networking/dnsviz/default.nix b/pkgs/tools/networking/dnsviz/default.nix
index aebf7e3cd14fd..b275734f8889a 100644
--- a/pkgs/tools/networking/dnsviz/default.nix
+++ b/pkgs/tools/networking/dnsviz/default.nix
@@ -39,6 +39,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Tool suite for analyzing and visualizing DNS and DNSSEC behavior";
+    mainProgram = "dnsviz";
     longDescription = ''
       DNSViz is a tool suite for analysis and visualization of Domain Name System (DNS) behavior,
       including its security extensions (DNSSEC).
diff --git a/pkgs/tools/networking/evillimiter/default.nix b/pkgs/tools/networking/evillimiter/default.nix
index 20cc10728d609..a96151a3355f4 100644
--- a/pkgs/tools/networking/evillimiter/default.nix
+++ b/pkgs/tools/networking/evillimiter/default.nix
@@ -40,6 +40,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Tool that monitors, analyzes and limits the bandwidth";
+    mainProgram = "evillimiter";
     longDescription = ''
       A tool to monitor, analyze and limit the bandwidth (upload/download) of
       devices on your local network without physical or administrative access.
diff --git a/pkgs/tools/networking/flannel/plugin.nix b/pkgs/tools/networking/flannel/plugin.nix
index db8b89fa0bfef..0ff8e600ff44f 100644
--- a/pkgs/tools/networking/flannel/plugin.nix
+++ b/pkgs/tools/networking/flannel/plugin.nix
@@ -35,6 +35,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "flannel CNI plugin";
+    mainProgram = "flannel";
     homepage = "https://github.com/flannel-io/cni-plugin/";
     license = licenses.asl20;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/gandi-cli/default.nix b/pkgs/tools/networking/gandi-cli/default.nix
index d7394ac94d881..8f703320f253b 100644
--- a/pkgs/tools/networking/gandi-cli/default.nix
+++ b/pkgs/tools/networking/gandi-cli/default.nix
@@ -31,6 +31,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Command-line interface to the public Gandi.net API";
+    mainProgram = "gandi";
     homepage = "https://cli.gandi.net/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/networking/gmrender-resurrect/default.nix b/pkgs/tools/networking/gmrender-resurrect/default.nix
index 70ad352a6aad7..70c07b4eac9bf 100644
--- a/pkgs/tools/networking/gmrender-resurrect/default.nix
+++ b/pkgs/tools/networking/gmrender-resurrect/default.nix
@@ -28,6 +28,7 @@ in
 
     meta = with lib; {
       description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer";
+      mainProgram = "gmediarender";
       homepage = "https://github.com/hzeller/gmrender-resurrect";
       license = licenses.gpl2Plus;
       platforms = platforms.linux;
diff --git a/pkgs/tools/networking/gnirehtet/default.nix b/pkgs/tools/networking/gnirehtet/default.nix
index be511c7565873..2281822d2e778 100644
--- a/pkgs/tools/networking/gnirehtet/default.nix
+++ b/pkgs/tools/networking/gnirehtet/default.nix
@@ -49,6 +49,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Reverse tethering over adb for Android";
+    mainProgram = "gnirehtet";
     longDescription = ''
       This project provides reverse tethering over adb for Android: it allows devices to use the internet connection of the computer they are plugged on. It does not require any root access (neither on the device nor on the computer).
 
diff --git a/pkgs/tools/networking/gp-saml-gui/default.nix b/pkgs/tools/networking/gp-saml-gui/default.nix
index 8a7ad11a2fe79..348d47b667f66 100644
--- a/pkgs/tools/networking/gp-saml-gui/default.nix
+++ b/pkgs/tools/networking/gp-saml-gui/default.nix
@@ -39,6 +39,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Interactively authenticate to GlobalProtect VPNs that require SAML";
+    mainProgram = "gp-saml-gui";
     homepage = "https://github.com/dlenski/gp-saml-gui";
     license = licenses.gpl3Only;
     maintainers = [ maintainers.pallix ];
diff --git a/pkgs/tools/networking/haguichi/default.nix b/pkgs/tools/networking/haguichi/default.nix
index fd228c141b5d3..a921884dda064 100644
--- a/pkgs/tools/networking/haguichi/default.nix
+++ b/pkgs/tools/networking/haguichi/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Graphical frontend for Hamachi on Linux";
+    mainProgram = "haguichi";
     homepage = "https://haguichi.net/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/hblock/default.nix b/pkgs/tools/networking/hblock/default.nix
index 19e7dde77c85a..6615c27fe6298 100644
--- a/pkgs/tools/networking/hblock/default.nix
+++ b/pkgs/tools/networking/hblock/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Improve your security and privacy by blocking ads, tracking and malware domains";
+    mainProgram = "hblock";
     homepage = "https://github.com/hectorm/hblock";
     license = licenses.mit;
     maintainers = with maintainers; [ alanpearce ];
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index 8fce232cdb172..02bb42800abf3 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -27,6 +27,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "An interactive command-line HTTP client featuring autocomplete and syntax highlighting";
+    mainProgram = "http-prompt";
     homepage = "https://github.com/eliangcs/http-prompt";
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
diff --git a/pkgs/tools/networking/httplz/default.nix b/pkgs/tools/networking/httplz/default.nix
index 2a0f665f863ae..c85c763635d30 100644
--- a/pkgs/tools/networking/httplz/default.nix
+++ b/pkgs/tools/networking/httplz/default.nix
@@ -45,6 +45,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A basic http server for hosting a folder fast and simply";
+    mainProgram = "httplz";
     homepage = "https://github.com/thecoshman/http";
     changelog = "https://github.com/thecoshman/http/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/tools/networking/httpstat/default.nix b/pkgs/tools/networking/httpstat/default.nix
index be4a8f2a168d4..971c973ada21a 100644
--- a/pkgs/tools/networking/httpstat/default.nix
+++ b/pkgs/tools/networking/httpstat/default.nix
@@ -17,6 +17,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = {
     description = "curl statistics made simple";
+    mainProgram = "httpstat";
     homepage = "https://github.com/reorx/httpstat";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ nequissimus ];
diff --git a/pkgs/tools/networking/ifwifi/default.nix b/pkgs/tools/networking/ifwifi/default.nix
index f04c3369bacf9..8777df72b5e16 100644
--- a/pkgs/tools/networking/ifwifi/default.nix
+++ b/pkgs/tools/networking/ifwifi/default.nix
@@ -31,6 +31,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A simple wrapper over nmcli using wifiscanner made in rust";
+    mainProgram = "ifwifi";
     longDescription = ''
       In the author's words:
 
diff --git a/pkgs/tools/networking/imapsync/default.nix b/pkgs/tools/networking/imapsync/default.nix
index 0fb519ad5af7d..4c2b4a36e064e 100644
--- a/pkgs/tools/networking/imapsync/default.nix
+++ b/pkgs/tools/networking/imapsync/default.nix
@@ -64,6 +64,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Mail folder synchronizer between IMAP servers";
+    mainProgram = "imapsync";
     homepage = "https://imapsync.lamiral.info/";
     license = licenses.nlpl;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/tools/networking/iperf3d/default.nix b/pkgs/tools/networking/iperf3d/default.nix
index 1edcaf86ed2ea..eb1fa052131be 100644
--- a/pkgs/tools/networking/iperf3d/default.nix
+++ b/pkgs/tools/networking/iperf3d/default.nix
@@ -21,6 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A iperf3 client and server wrapper for dynamic server ports";
+    mainProgram = "iperf3d";
     homepage = "https://github.com/wobcom/iperf3d";
     license = licenses.mit;
     maintainers = with maintainers; [ netali ] ++ teams.wdz.members;
diff --git a/pkgs/tools/networking/ipfetch/default.nix b/pkgs/tools/networking/ipfetch/default.nix
index f264deaa8a356..38d1e309bc972 100644
--- a/pkgs/tools/networking/ipfetch/default.nix
+++ b/pkgs/tools/networking/ipfetch/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Neofetch but for ip addresses";
+    mainProgram = "ipfetch";
     homepage = "https://github.com/trakBan/ipfetch";
     license = licenses.gpl3Only;
     platforms = platforms.all;
diff --git a/pkgs/tools/networking/ipgrep/default.nix b/pkgs/tools/networking/ipgrep/default.nix
index d1f5316c27b40..04f39f8d28fb4 100644
--- a/pkgs/tools/networking/ipgrep/default.nix
+++ b/pkgs/tools/networking/ipgrep/default.nix
@@ -27,6 +27,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Extract, defang, resolve names and IPs from text";
+    mainProgram = "ipgrep.py";
     longDescription = ''
       ipgrep extracts possibly obfuscated host names and IP addresses
       from text, resolves host names, and prints them, sorted by ASN.
diff --git a/pkgs/tools/networking/linkchecker/default.nix b/pkgs/tools/networking/linkchecker/default.nix
index 018da51f77018..2adf2c8f82d10 100644
--- a/pkgs/tools/networking/linkchecker/default.nix
+++ b/pkgs/tools/networking/linkchecker/default.nix
@@ -54,6 +54,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Check websites for broken links";
+    mainProgram = "linkchecker";
     homepage = "https://linkcheck.github.io/linkchecker/";
     changelog = "https://github.com/linkchecker/linkchecker/releases/tag/v${version}";
     license = licenses.gpl2Plus;
diff --git a/pkgs/tools/networking/moodle-dl/default.nix b/pkgs/tools/networking/moodle-dl/default.nix
index f819fe819284a..76c3e4b1a20a4 100644
--- a/pkgs/tools/networking/moodle-dl/default.nix
+++ b/pkgs/tools/networking/moodle-dl/default.nix
@@ -26,6 +26,7 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/C0D3D3V/Moodle-Downloader-2";
     maintainers = [ maintainers.kmein ];
     description = "A Moodle downloader that downloads course content fast from Moodle";
+    mainProgram = "moodle-dl";
     license = licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index 194ac57d2cbfe..4974c873894c3 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -147,6 +147,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Client for the Mozilla VPN service";
+    mainProgram = "mozillavpn";
     homepage = "https://vpn.mozilla.org/";
     license = lib.licenses.mpl20;
     maintainers = with lib.maintainers; [ andersk ];
diff --git a/pkgs/tools/networking/mutt-ics/default.nix b/pkgs/tools/networking/mutt-ics/default.nix
index f56e688b4110a..a8f3ca9d2ae6e 100644
--- a/pkgs/tools/networking/mutt-ics/default.nix
+++ b/pkgs/tools/networking/mutt-ics/default.nix
@@ -15,6 +15,7 @@ with python3.pkgs; buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/dmedvinsky/mutt-ics";
     description = "A tool to show calendar event details in Mutt";
+    mainProgram = "mutt-ics";
     license = licenses.mit;
     maintainers = with maintainers; [ mh182 ];
   };
diff --git a/pkgs/tools/networking/networkd-dispatcher/default.nix b/pkgs/tools/networking/networkd-dispatcher/default.nix
index 8f9cece271690..a2a03d1f84049 100644
--- a/pkgs/tools/networking/networkd-dispatcher/default.nix
+++ b/pkgs/tools/networking/networkd-dispatcher/default.nix
@@ -79,6 +79,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Dispatcher service for systemd-networkd connection status changes";
+    mainProgram = "networkd-dispatcher";
     homepage = "https://gitlab.com/craftyguy/networkd-dispatcher";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/networkd-notify/default.nix b/pkgs/tools/networking/networkd-notify/default.nix
index b80a7d4509665..8a58b894d9bd2 100644
--- a/pkgs/tools/networking/networkd-notify/default.nix
+++ b/pkgs/tools/networking/networkd-notify/default.nix
@@ -41,6 +41,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Desktop notification integration for systemd-networkd";
+    mainProgram = "networkd-notify";
     homepage = "https://gitlab.com/wavexx/networkd-notify";
     maintainers = with maintainers; [ danc86 ];
     license = licenses.gpl3;
diff --git a/pkgs/tools/networking/networkmanager/dmenu/default.nix b/pkgs/tools/networking/networkmanager/dmenu/default.nix
index d64985adbce20..56c651b68ab23 100644
--- a/pkgs/tools/networking/networkmanager/dmenu/default.nix
+++ b/pkgs/tools/networking/networkmanager/dmenu/default.nix
@@ -36,6 +36,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description  = "Small script to manage NetworkManager connections with dmenu instead of nm-applet";
+    mainProgram = "networkmanager_dmenu";
     homepage     = "https://github.com/firecat53/networkmanager-dmenu";
     license      = lib.licenses.mit;
     maintainers  = [ lib.maintainers.jensbin ];
diff --git a/pkgs/tools/networking/networkmanager/tray.nix b/pkgs/tools/networking/networkmanager/tray.nix
index 69b1e3023b045..01725b1fb381b 100644
--- a/pkgs/tools/networking/networkmanager/tray.nix
+++ b/pkgs/tools/networking/networkmanager/tray.nix
@@ -23,6 +23,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Simple Network Manager frontend written in Qt";
+    mainProgram = "nm-tray";
     homepage = "https://github.com/palinek/nm-tray";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ dtzWill ];
diff --git a/pkgs/tools/networking/nikto/default.nix b/pkgs/tools/networking/nikto/default.nix
index df03cc8c3ce77..098171de09df1 100644
--- a/pkgs/tools/networking/nikto/default.nix
+++ b/pkgs/tools/networking/nikto/default.nix
@@ -57,6 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Web server scanner";
+    mainProgram = "nikto";
     license = licenses.gpl2Plus;
     homepage = "https://cirt.net/Nikto2";
     changelog = "https://github.com/sullo/nikto/releases/tag/${version}";
diff --git a/pkgs/tools/networking/nxdomain/default.nix b/pkgs/tools/networking/nxdomain/default.nix
index a90c7f0c23ae6..2a23230ce778f 100644
--- a/pkgs/tools/networking/nxdomain/default.nix
+++ b/pkgs/tools/networking/nxdomain/default.nix
@@ -22,6 +22,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/zopieux/nxdomain";
     description = "A domain (ad) block list creator";
+    mainProgram = "nxdomain";
     platforms = platforms.all;
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ zopieux ];
diff --git a/pkgs/tools/networking/nyx/default.nix b/pkgs/tools/networking/nyx/default.nix
index 844d692425b99..cb697e0f5e669 100644
--- a/pkgs/tools/networking/nyx/default.nix
+++ b/pkgs/tools/networking/nyx/default.nix
@@ -18,6 +18,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Command-line monitor for Tor";
+    mainProgram = "nyx";
     homepage = "https://nyx.torproject.org/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ offline ];
diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix
index e937c6bcdf60f..956584bfae9ab 100644
--- a/pkgs/tools/networking/openresolv/default.nix
+++ b/pkgs/tools/networking/openresolv/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A program to manage /etc/resolv.conf";
+    mainProgram = "resolvconf";
     homepage = "https://roy.marples.name/projects/openresolv";
     license = lib.licenses.bsd2;
     maintainers = [ lib.maintainers.eelco ];
diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
index a9708dd4713c7..53622d30db489 100644
--- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
+++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
@@ -58,6 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "A GTK Gnutella client, optimized for speed and scalability";
+    mainProgram = "gtk-gnutella";
     homepage = "https://gtk-gnutella.sourceforge.net/"; # Code: https://github.com/gtk-gnutella/gtk-gnutella
     changelog = "https://raw.githubusercontent.com/gtk-gnutella/gtk-gnutella/v${version}/ChangeLog";
     maintainers = [ maintainers.doronbehar ];
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 3d2298e8b70ed..abeabc337a15a 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -89,6 +89,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Tahoe-LAFS, a decentralized, fault-tolerant, distributed storage system";
+    mainProgram = "tahoe";
     longDescription = ''
       Tahoe-LAFS is a secure, decentralized, fault-tolerant filesystem.
       This filesystem is encrypted and spread over multiple peers in
diff --git a/pkgs/tools/networking/persepolis/default.nix b/pkgs/tools/networking/persepolis/default.nix
index 35727c13e6940..28d5b113c3363 100644
--- a/pkgs/tools/networking/persepolis/default.nix
+++ b/pkgs/tools/networking/persepolis/default.nix
@@ -84,6 +84,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Persepolis Download Manager is a GUI for aria2";
+    mainProgram = "persepolis";
     homepage = "https://persepolisdm.github.io/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ iFreilicht ];
diff --git a/pkgs/tools/networking/picosnitch/default.nix b/pkgs/tools/networking/picosnitch/default.nix
index 6007d3ec227f0..c874fbf80c1b3 100644
--- a/pkgs/tools/networking/picosnitch/default.nix
+++ b/pkgs/tools/networking/picosnitch/default.nix
@@ -33,6 +33,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Monitor network traffic per executable with hashing";
+    mainProgram = "picosnitch";
     homepage = "https://github.com/elesiuta/picosnitch";
     changelog = "https://github.com/elesiuta/picosnitch/releases";
     license = licenses.gpl3Plus;
diff --git a/pkgs/tools/networking/pirate-get/default.nix b/pkgs/tools/networking/pirate-get/default.nix
index c1b43a00f52f3..5a28858621b06 100644
--- a/pkgs/tools/networking/pirate-get/default.nix
+++ b/pkgs/tools/networking/pirate-get/default.nix
@@ -15,6 +15,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "A command line interface for The Pirate Bay";
+    mainProgram = "pirate-get";
     homepage = "https://github.com/vikstrous/pirate-get";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ rnhmjoj ];
diff --git a/pkgs/tools/networking/polygon-cli/default.nix b/pkgs/tools/networking/polygon-cli/default.nix
index 75c80bd12b7d6..07bfa97045571 100644
--- a/pkgs/tools/networking/polygon-cli/default.nix
+++ b/pkgs/tools/networking/polygon-cli/default.nix
@@ -25,6 +25,7 @@ python3.pkgs.buildPythonPackage rec {
 
   meta = {
     description = "Command-line tool for polygon.codeforces.com";
+    mainProgram = "polygon-cli";
     homepage = "https://github.com/kunyavskiy/polygon-cli";
     changelog = "https://github.com/kunyavskiy/polygon-cli/releases/tag/${version}";
     license = lib.licenses.mit;
diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix
index b07ea24abf9d0..18aed13013553 100644
--- a/pkgs/tools/networking/s3cmd/default.nix
+++ b/pkgs/tools/networking/s3cmd/default.nix
@@ -18,6 +18,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://s3tools.org/s3cmd";
     description = "Command line tool for managing Amazon S3 and CloudFront services";
+    mainProgram = "s3cmd";
     license = licenses.gpl2;
     maintainers = [ ];
   };
diff --git a/pkgs/tools/networking/sockdump/default.nix b/pkgs/tools/networking/sockdump/default.nix
index 95920a91eef35..daedb3a7cbcce 100644
--- a/pkgs/tools/networking/sockdump/default.nix
+++ b/pkgs/tools/networking/sockdump/default.nix
@@ -19,6 +19,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = src.meta // {
     description = "Dump unix domain socket traffic with bpf";
+    mainProgram = "sockdump";
     license = lib.licenses.unlicense;
     maintainers = with lib.maintainers; [ ehmry ];
   };
diff --git a/pkgs/tools/networking/sshoogr/default.nix b/pkgs/tools/networking/sshoogr/default.nix
index e20978c277d90..abd42dcb5aa42 100644
--- a/pkgs/tools/networking/sshoogr/default.nix
+++ b/pkgs/tools/networking/sshoogr/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     description = ''
       A Groovy-based DSL for working with remote SSH servers
     '';
+    mainProgram = "sshoogr";
     longDescription = ''
       The sshoogr (pronounced [ʃʊgə]) is a Groovy-based DSL library for working
       with remote servers through SSH. The DSL allows: connecting, executing
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
index 471cc74d9d7fc..1ca00b6beaea4 100644
--- a/pkgs/tools/networking/swaks/default.nix
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.jetmore.org/john/code/swaks/";
     description = "A featureful, flexible, scriptable, transaction-oriented SMTP test tool";
+    mainProgram = "swaks";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [];
     platforms = platforms.all;
diff --git a/pkgs/tools/networking/telepresence/default.nix b/pkgs/tools/networking/telepresence/default.nix
index 4866cfea41ee1..dee55ad5687c4 100644
--- a/pkgs/tools/networking/telepresence/default.nix
+++ b/pkgs/tools/networking/telepresence/default.nix
@@ -38,6 +38,7 @@ in pythonPackages.buildPythonPackage rec {
   meta = {
     homepage = "https://www.telepresence.io/";
     description = "Local development against a remote Kubernetes or OpenShift cluster";
+    mainProgram = "telepresence";
     license = with lib.licenses; [ asl20 ];
     maintainers = with lib.maintainers; [ offline ];
   };
diff --git a/pkgs/tools/networking/termshark/default.nix b/pkgs/tools/networking/termshark/default.nix
index 84dbf7ed3311b..bdca008cc94c2 100644
--- a/pkgs/tools/networking/termshark/default.nix
+++ b/pkgs/tools/networking/termshark/default.nix
@@ -29,6 +29,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://termshark.io/";
     description = "A terminal UI for wireshark-cli, inspired by Wireshark";
+    mainProgram = "termshark";
     license = licenses.mit;
     maintainers = with maintainers; [ winpat ];
   };
diff --git a/pkgs/tools/networking/tinystatus/default.nix b/pkgs/tools/networking/tinystatus/default.nix
index e4e930e799a80..d58d853b5e109 100644
--- a/pkgs/tools/networking/tinystatus/default.nix
+++ b/pkgs/tools/networking/tinystatus/default.nix
@@ -50,6 +50,7 @@ stdenvNoCC.mkDerivation rec {
 
   meta = with lib; {
     description = "A static HTML status page generator written in pure shell";
+    mainProgram = "tinystatus";
     homepage = "https://github.com/bderenzo/tinystatus";
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/tuntox/default.nix b/pkgs/tools/networking/tuntox/default.nix
index 64a13e99669ae..e59a615e26275 100644
--- a/pkgs/tools/networking/tuntox/default.nix
+++ b/pkgs/tools/networking/tuntox/default.nix
@@ -71,6 +71,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tunnel TCP connections over the Tox protocol";
+    mainProgram = "tuntox";
     homepage = "https://github.com/gjedeer/tuntox";
     license = licenses.gpl3;
     maintainers = with maintainers; [
diff --git a/pkgs/tools/networking/udp2raw/default.nix b/pkgs/tools/networking/udp2raw/default.nix
index b6466ce0be57b..e10db84eb49f8 100644
--- a/pkgs/tools/networking/udp2raw/default.nix
+++ b/pkgs/tools/networking/udp2raw/default.nix
@@ -45,6 +45,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/wangyu-/udp2raw";
     description = "A tunnel which turns UDP traffic into encrypted UDP/FakeTCP/ICMP traffic by using a raw socket";
+    mainProgram = "udp2raw";
     license = licenses.mit;
     changelog = "https://github.com/wangyu-/udp2raw/releases/tag/${version}";
     maintainers = with maintainers; [ chvp ];
diff --git a/pkgs/tools/networking/uget-integrator/default.nix b/pkgs/tools/networking/uget-integrator/default.nix
index 2d069ea07f02c..3ab9a0bafef4d 100644
--- a/pkgs/tools/networking/uget-integrator/default.nix
+++ b/pkgs/tools/networking/uget-integrator/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Native messaging host to integrate uGet Download Manager with web browsers";
+    mainProgram = "uget-integrator";
     homepage = "https://github.com/ugetdm/uget-integrator";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/updog/default.nix b/pkgs/tools/networking/updog/default.nix
index 7fb8e0bfec374..c5cccac026ba8 100644
--- a/pkgs/tools/networking/updog/default.nix
+++ b/pkgs/tools/networking/updog/default.nix
@@ -19,6 +19,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Updog is a replacement for Python's SimpleHTTPServer";
+    mainProgram = "updog";
     homepage = "https://github.com/sc0tfree/updog";
     license = licenses.mit;
     maintainers = with maintainers; [ ethancedwards8 ];
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 36ad0ba77ce75..0335ed765479d 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -46,6 +46,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "A tool for monitoring webpages for updates";
+    mainProgram = "urlwatch";
     homepage = "https://thp.io/2008/urlwatch/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ kmein tv ];
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
index aa398dfcb9f3a..a578056256115 100644
--- a/pkgs/tools/networking/v2ray/default.nix
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -55,6 +55,7 @@ buildGoModule rec {
   meta = {
     homepage = "https://www.v2fly.org/en_US/";
     description = "A platform for building proxies to bypass network restrictions";
+    mainProgram = "v2ray";
     license = with lib.licenses; [ mit ];
     maintainers = with lib.maintainers; [ servalcatty ];
   };
diff --git a/pkgs/tools/networking/vpn-slice/default.nix b/pkgs/tools/networking/vpn-slice/default.nix
index 75cfe2bba0e94..0cde0170b78f7 100644
--- a/pkgs/tools/networking/vpn-slice/default.nix
+++ b/pkgs/tools/networking/vpn-slice/default.nix
@@ -41,6 +41,7 @@ buildPythonApplication rec {
     homepage = "https://github.com/dlenski/vpn-slice";
     description =
       "vpnc-script replacement for easy and secure split-tunnel VPN setup";
+    mainProgram = "vpn-slice";
     license = licenses.gpl3;
     maintainers = with maintainers; [ liketechnik ];
   };
diff --git a/pkgs/tools/networking/vpnc-scripts/default.nix b/pkgs/tools/networking/vpnc-scripts/default.nix
index 7b6a760f5f009..e0319ed4bf14b 100644
--- a/pkgs/tools/networking/vpnc-scripts/default.nix
+++ b/pkgs/tools/networking/vpnc-scripts/default.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://www.infradead.org/openconnect/";
     description = "Script for vpnc to configure the network routing and name service";
+    mainProgram = "vpnc-script";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ jerith666 ];
     platforms = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/tools/networking/whatip/default.nix b/pkgs/tools/networking/whatip/default.nix
index 08979e71e35ed..85a2fdf3f7b37 100644
--- a/pkgs/tools/networking/whatip/default.nix
+++ b/pkgs/tools/networking/whatip/default.nix
@@ -55,6 +55,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Info on your IP";
+    mainProgram = "whatip";
     homepage = "https://gitlab.gnome.org/GabMus/whatip";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/wifish/default.nix b/pkgs/tools/networking/wifish/default.nix
index a9e30710c1a21..7f474bc984424 100644
--- a/pkgs/tools/networking/wifish/default.nix
+++ b/pkgs/tools/networking/wifish/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/bougyman/wifish";
     description = "Simple wifi shell script for linux";
+    mainProgram = "wifish";
     license = licenses.wtfpl;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; linux;
diff --git a/pkgs/tools/networking/xray/default.nix b/pkgs/tools/networking/xray/default.nix
index 2c2fce54e6082..285b29f228851 100644
--- a/pkgs/tools/networking/xray/default.nix
+++ b/pkgs/tools/networking/xray/default.nix
@@ -52,6 +52,7 @@ buildGoModule rec {
 
   meta = {
     description = "A platform for building proxies to bypass network restrictions. A replacement for v2ray-core, with XTLS support and fully compatible configuration";
+    mainProgram = "xray";
     homepage = "https://github.com/XTLS/Xray-core";
     license = with lib.licenses; [ mpl20 ];
     maintainers = with lib.maintainers; [ iopq ];