[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-105262":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":22,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":37,"readmeContent":38,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},105262,"net-merge","net-merge\u002Fnet-merge","Use all your internet connections at once on Windows, macOS, Linux and Android: per-connection load balancing over Wi-Fi, Ethernet, mobile data and phone tethers","https:\u002F\u002Fnet-merge.org",null,"Go",2694,155,4,1,0,46,138,99.14,"MIT License",false,"main",true,[24,25,26,27,28,29,30,5,31,32,33,34,35,36],"android","bandwidth-aggregation","downloader","golang","linux","load-balancing","macos","networking","tethering","tun","wifi","windows","wintun","2026-11-01 00:12:57","\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Ficon.png\" width=\"128\" alt=\"net-merge icon\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">net-merge\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Use all your internet connections at the same time.\u003C\u002Fstrong>\u003Cbr>\n  Combine Wi-Fi, Ethernet and phone hotspots, so downloads, games and browsers get the speed of every connection added up.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fnet-merge.org\">Website\u003C\u002Fa> ·\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\u002Flatest\">Download\u003C\u002Fa> ·\n  \u003Ca href=\"#android\">Android\u003C\u002Fa> ·\n  \u003Ca href=\"#install\">Install\u003C\u002Fa> ·\n  \u003Ca href=\"#add-a-second-connection\">Add a second connection\u003C\u002Fa> ·\n  \u003Ca href=\"#troubleshooting\">Troubleshooting\u003C\u002Fa> ·\n  \u003Ca href=\"docs\u002FDEVELOPING.md\">How it works\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Factions\u002Fworkflows\u002Fci.yml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"CI\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fnet-merge\u002Fnet-merge\" alt=\"Latest release\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fnet-merge\u002Fnet-merge\u002Ftotal\" alt=\"Downloads\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fnet-merge\u002Fnet-merge\" alt=\"MIT license\">\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatforms-Windows%20%7C%20macOS%20%7C%20Linux%20%7C%20Android-blue\" alt=\"Windows, macOS, Linux and Android\">\n  \u003Ca href=\"https:\u002F\u002Fbuymeacoffee.com\u002Frohit267\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy%20me%20a%20coffee-rohit267-FFDD00?logo=buymeacoffee&logoColor=black\" alt=\"Buy me a coffee\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpaypal.me\u002Fchampdev\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDonate-PayPal-00457C?logo=paypal&logoColor=white\" alt=\"Donate with PayPal\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F301802?utm_source=trendshift-badge&amp;utm_medium=badge&amp;utm_campaign=badge-trendshift-301802\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Ftrendshift\u002Frepositories\u002F301802\u002Fdaily?language=Go\" alt=\"rohit267%2Fnet-merge | Trendshift\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F301802?utm_source=trendshift-badge&amp;utm_medium=badge&amp;utm_campaign=badge-trendshift-301802\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Ftrendshift\u002Frepositories\u002F301802\u002Fweekly?language=Go\" alt=\"rohit267%2Fnet-merge | Trendshift\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Csub>From the same developer: \u003Ca href=\"https:\u002F\u002Fdormhost.dev\u002F?utm_source=net-merge&utm_medium=readme\">\u003Cstrong>DormHost\u003C\u002Fstrong>\u003C\u002Fa>, put your college project\n  online. Node.js, Python or Docker with a database, 30 days free.\u003C\u002Fsub>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Need more control? Try \u003Ca href=\"https:\u002F\u002Froutengine.net\u002F?utm_source=net-merge&utm_medium=readme\">RoutEngine\u003C\u002Fa>, the upgraded commercial version of net-merge.\u003C\u002Fstrong>\u003Cbr>\n  Choose the connection for each app, add a fallback, and set a speed limit or data cap per app. Windows, macOS and Linux. Free for personal use, Pro for work.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fdemo.gif\" width=\"600\" alt=\"Speed test on a Mac with Wi-Fi and an Android phone: the net-merge menu shows both connections carrying traffic, and the download reaches about 326 Mbit\u002Fs\">\n  \u003Cbr>\n  \u003Csub>A Mac with Wi-Fi + an Android phone. The menu shows both connections working at once. \u003Ca href=\"docs\u002Fdemo.mp4\">Watch the full 45-second video.\u003C\u002Fa>\u003C\u002Fsub>\n\u003C\u002Fp>\n\nnet-merge uses all your network adapters together. It works on **Windows, macOS and Linux**. It is free.\nThere is no account, no server and no VPN.\n\nA real test with Wi-Fi + an Android USB tether + an iPhone hotspot, 9 downloads at once:\n**232-303 Mbit\u002Fs**. The fastest connection alone gave about 121 Mbit\u002Fs.\n\n| Windows: hover the icon | Windows: the menu | macOS: the menu bar |\n|---|---|---|\n| ![Tooltip: Merging, speed of each adapter and the total](docs\u002Ftray-tooltip.png) | ![Menu: total, each adapter's speed and flows, IPv6 option, Pause merging, Quit](docs\u002Ftray-menu.png) | ![macOS menu: total 399 Mbit\u002Fs, en0 and feth0 each with their flows, Pause merging, Quit](docs\u002Ftray-menu-macos.png) |\n\n## How it helps\n\nnet-merge gives every new connection to one of your links. When an app opens many connections, they\nspread over all your links.\n\n- **Good for:** Steam and game downloads, browsers, system updates, cloud uploads (Google Drive),\n  download managers like IDM, torrents.\n- **Not for:** one single connection. One connection always uses one link, so one big file from one\n  connection does not get faster. Browsers can split a download into several connections; see the tip\n  under [Use it](#use-it).\n- **Works for every app**, TCP and UDP, IPv4 and IPv6. You do not set up a proxy.\n- **Smart:** faster links get more connections. A link with no internet gets none until it works again.\n- **Safe:** if net-merge crashes, your internet keeps working.\n- **Light:** about 0.18 CPU cores per 100 Mbit\u002Fs.\n\n## Install\n\n**macOS and Linux**: paste this into a terminal.\n\n```\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fnet-merge\u002Fnet-merge\u002Fmain\u002Finstall.sh | sh\n```\n\n**Windows**: paste this into PowerShell.\n\n```\nirm https:\u002F\u002Fraw.githubusercontent.com\u002Fnet-merge\u002Fnet-merge\u002Fmain\u002Finstall.ps1 | iex\n```\n\nAntivirus blocked it? Download [net-merge-setup.exe](https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\u002Flatest\u002Fdownload\u002Fnet-merge-setup.exe)\nand double-click it instead.\n\nThat's it: net-merge is installed and its icon appears in the menu bar or tray. On Linux the script\nuses your package manager (apt, dnf, zypper, apk or pacman) and on macOS Homebrew when you have it, so\nnet-merge updates with the rest of your system. To start it at sign-in, tick *Start at sign-in* in its menu.\n\n**Android**: see [Android](#android) below.\n\n> **Want to choose the connection for each app?** [RoutEngine](https:\u002F\u002Froutengine.net\u002F?utm_source=net-merge&utm_medium=readme-callout) is the\n> upgraded commercial version of net-merge, for Windows, macOS and Linux. Pick an adapter per app, add a fallback, and set a speed\n> limit or data cap per app. Free for personal use, Pro for work.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Rather type the commands yourself?\u003C\u002Fstrong> One block per system, each ready to paste.\u003C\u002Fsummary>\n\u003Cbr>\n\n**Homebrew** (macOS):\n\n```\nbrew install net-merge\u002Ftap\u002Fnet-merge && sudo \"$(brew --prefix)\u002Fbin\u002Fnet-merge\" install && net-merge tray\n```\n\n**macOS without Homebrew**:\n\n```\ncurl -fsSL https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\u002Flatest\u002Fdownload\u002Fnet-merge-macos-universal.tar.gz | tar -xz -C \u002Ftmp net-merge && sudo \u002Ftmp\u002Fnet-merge install && net-merge tray\n```\n\n**Debian, Ubuntu, Linux Mint, Pop!_OS, Raspberry Pi OS** (apt):\n\n```\ncurl -fsSL https:\u002F\u002Fpkg.net-merge.org\u002Fapt\u002Fkey.gpg | sudo tee \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnet-merge.gpg >\u002Fdev\u002Fnull\necho \"deb [signed-by=\u002Fusr\u002Fshare\u002Fkeyrings\u002Fnet-merge.gpg] https:\u002F\u002Fpkg.net-merge.org\u002Fapt stable main\" | sudo tee \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fnet-merge.list\nsudo apt update && sudo apt install -y net-merge\n```\n\n**Fedora, RHEL, Rocky, Alma** (dnf):\n\n```\nsudo curl -fsSL -o \u002Fetc\u002Fyum.repos.d\u002Fnet-merge.repo https:\u002F\u002Fpkg.net-merge.org\u002Frpm\u002Fnet-merge.repo && sudo dnf install -y net-merge\n```\n\n**openSUSE** (zypper):\n\n```\nsudo zypper addrepo https:\u002F\u002Fpkg.net-merge.org\u002Frpm\u002Fnet-merge.repo && sudo zypper --gpg-auto-import-keys install -y net-merge\n```\n\n**Arch, Manjaro, EndeavourOS** (pacman):\n\n```\ncurl -fsSL https:\u002F\u002Fpkg.net-merge.org\u002Fapt\u002Fkey.asc | sudo pacman-key --add - && sudo pacman-key --lsign-key 0168C7AB77721656904811AE904F61E7F4F1C2A1\nprintf '\\n[net-merge]\\nSigLevel = Required\\nServer = https:\u002F\u002Fpkg.net-merge.org\u002Farch\u002F$arch\\n' | sudo tee -a \u002Fetc\u002Fpacman.conf\nsudo pacman -Sy --noconfirm net-merge\n```\n\n**Alpine** (apk):\n\n```\nsudo wget -O \u002Fetc\u002Fapk\u002Fkeys\u002Fnet-merge.rsa.pub https:\u002F\u002Fpkg.net-merge.org\u002Fapk\u002Fnet-merge.rsa.pub\necho https:\u002F\u002Fpkg.net-merge.org\u002Fapk | sudo tee -a \u002Fetc\u002Fapk\u002Frepositories && sudo apk add net-merge\n```\n\n**Homebrew** (Linux):\n\n```\nbrew install net-merge\u002Ftap\u002Fnet-merge && sudo setcap cap_net_admin,cap_net_raw+ep \"$(readlink -f \"$(brew --prefix)\u002Fbin\u002Fnet-merge\")\"\n```\n\n**Any other Linux** (any CPU):\n\n```\ncurl -fsSL https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\u002Flatest\u002Fdownload\u002Fnet-merge-linux-$(uname -m).tar.gz | tar -xz -C \u002Ftmp net-merge && sudo install -m 755 \u002Ftmp\u002Fnet-merge \u002Fusr\u002Flocal\u002Fbin\u002F && sudo setcap cap_net_admin,cap_net_raw+ep \u002Fusr\u002Flocal\u002Fbin\u002Fnet-merge\n```\n\n**Windows by hand**: download [net-merge-setup.exe](https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\u002Flatest\u002Fdownload\u002Fnet-merge-setup.exe)\nand run it. Windows may warn because the app is not signed yet: click *More info*, then *Run anyway*.\nThere is also a [portable zip](https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Freleases\u002Flatest\u002Fdownload\u002Fnet-merge-portable.zip).\n\nThen start it with `net-merge tray` (Linux, macOS) or from the Start menu (Windows).\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Good to know\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\n- **Which CPUs:** x86-64, ARM64 and Apple Silicon, ARMv7, ARMv6 (Raspberry Pi), x86 32-bit, RISC-V,\n  PowerPC (ppc64le), s390x and LoongArch.\n- **No password prompts:** the Linux packages give net-merge the network rights it needs (`setcap`), and on\n  macOS `net-merge install` adds one rule so that only `net-merge tray` can run as root without a password.\n- **Linux tray icon:** needs a desktop with StatusNotifierItem support: KDE, XFCE, Cinnamon, LXQt, Budgie,\n  or GNOME with the *AppIndicator and KStatusNotifierItem Support* extension (Ubuntu already has it).\n- **Firewall:** if it blocks unknown traffic, trust the `net-merge` interface\n  (for example `firewall-cmd --zone=trusted --add-interface=net-merge`).\n- **Signed repositories:** apt, dnf, zypper and pacman use the key in\n  [`packaging\u002Fapt-signing-key.asc`](packaging\u002Fapt-signing-key.asc), fingerprint\n  `0168 C7AB 7772 1656 9048 11AE 904F 61E7 F4F1 C2A1`.\n\u003C\u002Fdetails>\n\n## Android\n\nnet-merge for Android uses Wi-Fi and mobile data at the same time. No root, no account, no server. It is\nnew (beta).\n\n1. On your phone, download\n   [net-merge-android.apk](https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fandroid\u002Freleases\u002Flatest\u002Fdownload\u002Fnet-merge-android.apk).\n2. Open it and install it. If Android asks, allow your browser or file manager to install apps.\n3. Open **net-merge**, tap the power button and tap **OK** on the VPN prompt.\n4. Optional: add the **net-merge** tile to Quick Settings to turn it on and off with one tap.\n\nIt needs Android 8.0 or newer.\n\n- **Faster:** apps that open many connections at once, like Play Store updates, web pages, torrents, cloud\n  backups and download managers. One single download stays on one network, like on a computer.\n- **Mobile data stays on** while net-merge runs, so keep an eye on your data plan.\n- **One VPN at a time:** Android lets only one VPN app run, so net-merge can't run next to another VPN.\n- **Problems?** [Open an issue](https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fnet-merge\u002Fissues\u002Fnew\u002Fchoose) and pick *Android*.\n  The code is in [net-merge\u002Fandroid](https:\u002F\u002Fgithub.com\u002Fnet-merge\u002Fandroid).\n\n## Uninstall\n\n**macOS and Linux**: paste this into a terminal. It stops net-merge and removes it the way it was\ninstalled (Homebrew, apt, dnf, zypper, apk, pacman or the download), with its repository and key.\n\n```\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fnet-merge\u002Fnet-merge\u002Fmain\u002Finstall.sh | sh -s -- uninstall\n```\n\n**Windows**: paste this into PowerShell, or use *Settings > Apps > Installed apps > net-merge > Uninstall*.\n\n```\n& \"$env:ProgramFiles\\net-merge\\net-merge.exe\" quit; Start-Process \"$env:ProgramFiles\\net-merge\\unins000.exe\" '\u002FSILENT' -Verb RunAs -Wait\n```\n\nYour network goes back to normal as soon as net-merge stops: it removes its virtual adapter and routes\nwhen it quits, and even after a crash.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Rather type the commands yourself?\u003C\u002Fstrong> One block per way you installed it.\u003C\u002Fsummary>\n\u003Cbr>\n\nEach block first stops the tray and turns off start at sign-in, then removes net-merge.\n\n**Homebrew** (macOS):\n\n```\nnet-merge quit; net-merge autostart off; sudo net-merge uninstall; brew uninstall net-merge && brew untap net-merge\u002Ftap\n```\n\n**macOS without Homebrew**:\n\n```\nnet-merge quit; net-merge autostart off; sudo net-merge uninstall\n```\n\n**Debian, Ubuntu, Linux Mint, Pop!_OS, Raspberry Pi OS** (apt):\n\n```\nnet-merge quit; net-merge autostart off; sudo apt remove -y net-merge && sudo rm -f \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fnet-merge.list \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnet-merge.gpg\n```\n\n**Fedora, RHEL, Rocky, Alma** (dnf):\n\n```\nnet-merge quit; net-merge autostart off; sudo dnf remove -y net-merge && sudo rm -f \u002Fetc\u002Fyum.repos.d\u002Fnet-merge.repo\n```\n\n**openSUSE** (zypper):\n\n```\nnet-merge quit; net-merge autostart off; sudo zypper remove -y net-merge && sudo zypper removerepo net-merge\n```\n\n**Arch, Manjaro, EndeavourOS** (pacman):\n\n```\nnet-merge quit; net-merge autostart off; sudo pacman -R --noconfirm net-merge && sudo sed -i '\u002F^\\[net-merge\\]$\u002F,\u002F^Server = .*net-merge\u002Fd' \u002Fetc\u002Fpacman.conf && sudo pacman-key --delete 0168C7AB77721656904811AE904F61E7F4F1C2A1\n```\n\n**Alpine** (apk):\n\n```\nnet-merge quit; net-merge autostart off; sudo apk del net-merge && sudo sed -i -e '\\#pkg.net-merge.org\u002Fapk#d' -e '\\#rohit267.github.io\u002Fnet-merge\u002Fapk#d' \u002Fetc\u002Fapk\u002Frepositories && sudo rm -f \u002Fetc\u002Fapk\u002Fkeys\u002Fnet-merge.rsa.pub\n```\n\n**Homebrew** (Linux):\n\n```\nnet-merge quit; net-merge autostart off; brew uninstall net-merge && brew untap net-merge\u002Ftap\n```\n\n**Any other Linux** (the download):\n\n```\nnet-merge quit; net-merge autostart off; sudo rm -f \u002Fusr\u002Flocal\u002Fbin\u002Fnet-merge\n```\n\n**Windows portable zip**: run `net-merge.exe autostart off` in its folder, quit the tray, then delete the folder.\n\n**NixOS**: remove `programs.net-merge` (and the `net-merge` input) from your configuration and rebuild.\n\u003C\u002Fdetails>\n\n### NixOS\n\n```nix\n# flake.nix\ninputs.net-merge.url = \"github:net-merge\u002Fnet-merge\";\n\n# configuration.nix (with `inputs` passed via specialArgs)\nimports = [ inputs.net-merge.nixosModules.default ];\nprograms.net-merge = {\n  enable = true;\n  autostart = true;   # optional: start the tray in every graphical session\n};\n```\n\nTo try it without installing: `sudo nix run github:net-merge\u002Fnet-merge -- run`.\n\n## Add a second connection\n\nnet-merge needs **two or more** real connections. Use Wi-Fi plus one of these: a phone (USB tethering or\nhotspot), an Ethernet cable, or a second Wi-Fi. Plug it in and net-merge adds it within a few seconds.\nWhen you unplug it, its connections move to the others.\n\n**Windows and Linux:** plug the phone in and turn on *USB tethering* (Android) or *Personal Hotspot*\n(iPhone). That is all.\n\n**Mac with an iPhone** (nothing extra to install)\n1. Plug the iPhone in with a cable. Tap *Trust* on the iPhone if it asks.\n2. On the iPhone, open *Settings > Personal Hotspot* and turn on *Allow Others to Join*.\n3. An **iPhone USB** network appears on the Mac. net-merge adds it in a few seconds.\n\n**Mac with an Android phone** (needs the app **TetherKit**)\n\nmacOS cannot use Android USB tethering by itself. The app **TetherKit** adds that support.\n1. Install and open TetherKit.\n2. Plug the phone in and turn on *USB tethering* in the phone's settings.\n3. Click **Apply** in TetherKit. net-merge adds the new network in a few seconds.\n\n> **Start net-merge first, then connect the Android phone.** macOS drops the TetherKit connection each\n> time net-merge starts or quits. Pausing and resuming is safe: net-merge keeps its virtual adapter while\n> paused. If the phone link disappears, click **Apply** in TetherKit again. The iPhone is not affected.\n\nA phone uses its mobile data, so part of your traffic goes through it while net-merge runs. Quit\nnet-merge when you do not want that.\n\n## Use it\n\n1. Start net-merge. A tray icon appears (menu bar on Mac).\n2. The icon is **green** when it is merging and **grey** when it is paused.\n3. **It pauses by itself** when fewer than two connections have internet, because there is nothing to\n   merge, and the menu says *Paused: one connection*. It **starts again by itself** when a second\n   connection works. If you pause or start it yourself, that choice wins: it will not start again after\n   you paused it. Untick *Pause when there is only one connection* in the menu to switch this off, or run\n   `net-merge tray -auto-pause=false`.\n4. **Hover** the icon to see the speed of each connection and the total.\n5. **Right-click** the icon (on Mac, click it) to open the menu. It shows each connection's speed, how\n   many connections net-merge gave it, and the buttons *Pause merging* \u002F *Start merging* and *Quit*. The\n   line above *Quit* is the version you are running, like `v0.3.3`. It reads the newest release number\n   from GitHub (at start, and again every 6 hours) and turns into *Update to v0.3.4* if there is one;\n   click it to open the release page. Click a connection to cap it at 1, 2, 5, 10, 20, 50 or 100 Mbit\u002Fs\n   (or *Unlimited*). For any other speed, from a terminal: `net-merge limit \"Ethernet 2\" 25` (Mbit\u002Fs; 0 or\n   `unlimited` removes the cap), and `net-merge limit` lists what is set. The cap covers its downloads and\n   uploads and is remembered after a restart. Only traffic net-merge relays is capped: an app bound directly\n   to an adapter (for example qBittorrent on a fixed interface) ignores it.\n6. To start it at sign-in: tick *Start at sign-in* in the menu (or the box in the Windows installer, or run\n   `net-merge autostart on`). On a Mac this needs `sudo net-merge install` once.\n\nTips:\n- Torrent clients already use every connection. Leave qBittorrent's network interface on *Any interface*.\n- **Faster browser downloads.** A browser downloads a file over one connection, so it uses one link. Chrome,\n  Edge, Brave and other Chromium browsers can split it over several connections instead:\n  1. Open `chrome:\u002F\u002Fflags\u002F#enable-parallel-downloading` (Edge: `edge:\u002F\u002Fflags\u002F#enable-parallel-downloading`,\n     Brave: `brave:\u002F\u002Fflags\u002F#enable-parallel-downloading`).\n  2. Set *Parallel downloading* to *Enabled* and click *Relaunch*.\n\n  Firefox has no such setting; for big files use a download manager, for example `aria2c -x 8 -s 8 \u003Clink>`.\n  Splitting only helps when the server allows downloading parts of a file, which most large download\n  sites do.\n- Leave *Use all adapters (IPv6 only if every adapter has it)* ticked. Untick it only if you must reach a\n  site that only has IPv6.\n- `net-merge list` shows which connections are used and why others are skipped. `net-merge status`\n  shows live numbers.\n\n## Troubleshooting\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>A second connection does not make things faster\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nYou only gain speed when each connection reaches the internet by its own path. Wi-Fi from your home\nrouter plus a phone on mobile data works. Wi-Fi and Ethernet plugged into the **same router** do not: they\nshare one internet line, so the total stays the same.\n\nAlso remember that one connection always uses one link. Many parallel connections (Steam, browsers,\ndownload managers) are what speed up. Run `net-merge status` to see how many connections each link carries.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>It does nothing while a VPN is on\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nA VPN app on your computer (ProtonVPN, NordVPN and others) sends all your internet through itself.\nnet-merge then has nothing to share, so nothing gets faster. Using the VPN on only one link is not\nsafe either: anything sent over the other link skips the VPN.\n\nFix: set up the VPN on your routers instead, and turn the VPN app off on the computer. Most VPN\nproviders have a guide for routers. net-merge then works as normal, and all your traffic still goes\nthrough the VPN.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Linux: the update fails with \"404 Not Found\" for rohit267.github.io\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nThe package repositories moved to `pkg.net-merge.org`. If you set them up before 28 October 2026 and have\nnot updated net-merge since, your system still uses the old address, which is gone. Point it at the new one:\n\n```sh\nsudo sed -i 's#https:\u002F\u002Frohit267.github.io\u002Fnet-merge#https:\u002F\u002Fpkg.net-merge.org#g' $(ls \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fnet-merge.list \u002Fetc\u002Fyum.repos.d\u002Fnet-merge.repo \u002Fetc\u002Fzypp\u002Frepos.d\u002Fnet-merge.repo \u002Fetc\u002Fapk\u002Frepositories \u002Fetc\u002Fpacman.conf 2>\u002Fdev\u002Fnull)\n```\n\nThen update as normal (`sudo apt update`, `sudo dnf upgrade`, `sudo zypper refresh`, `sudo apk update` or\n`sudo pacman -Sy`).\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>A connection does not show up\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nRun `net-merge list`. It shows which connections are used and why the others are skipped, for example\n\"no default gateway\" (the link has no internet yet).\n\n- **iPhone on a Mac:** plug it in, tap *Trust*, and turn on *Settings > Personal Hotspot > Allow Others to\n  Join*. If the **iPhone USB** network in *System Settings > Network* stays inactive, turn off its\n  **Disable unless needed** switch.\n- **Android on a Mac:** install **TetherKit** and click **Apply** (see above).\n- **Phone on Windows:** if the phone does not appear in *Network Settings*, install your phone maker's USB\n  driver.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>The Android connection disappears on a Mac\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nmacOS drops the TetherKit connection each time net-merge starts or quits (pausing and resuming is safe).\nStart net-merge first, then connect the phone. If it vanishes, click **Apply** in TetherKit again.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Windows uses only one network\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nWindows can switch Wi-Fi off when Ethernet is plugged in. Open the Group Policy Editor (`gpedit.msc`),\ngo to *Computer Configuration > Administrative Templates > Network > Windows Connection Manager*, and set\n**Minimize the number of simultaneous connections to the Internet or a Windows domain** to **Disabled**.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>macOS says it cannot open net-merge, or Windows says \"protected your PC\"\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nThe apps are not code-signed yet. On macOS run `xattr -d com.apple.quarantine net-merge`. On Windows click\n*More info*, then *Run anyway*.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>The menu says \"Paused: one connection\"\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nnet-merge only has something to do with two or more connections that have internet, so it waits. Plug\nin or connect the second one (see *Add a second connection*) and it starts by itself after a few seconds.\nTo merge anyway, choose *Start merging* (it then stays on until a second connection has come and gone), or\nuntick *Pause when there is only one connection*.\n\nSwitching merging on or off cuts the connections that are open at that moment, which is why it waits 10\nseconds with nothing moving before pausing (2 minutes if a download or upload is still going) and\n3 seconds before resuming,\nand never switches by itself more than once every 30 seconds.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>I cannot find the tray icon\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nOn Windows it may be behind the `^` arrow next to the clock. On macOS it is in the menu bar. On Linux the\ndesktop needs StatusNotifierItem support (KDE, XFCE, Cinnamon, LXQt, Budgie, or GNOME with the *AppIndicator\nand KStatusNotifierItem Support* extension).\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>A site asks me to log in again\u003C\u002Fstrong>\u003C\u002Fsummary>\n\u003Cbr>\n\nnet-merge may use a different IP for each connection, and some sites tie your login to one IP. That is a\nlimit of splitting connections over several links.\n\u003C\u002Fdetails>\n\n## Commands\n\n```\nnet-merge tray            tray icon (the normal way to run it)\nnet-merge on | off        start \u002F pause merging in the running tray\nnet-merge quit            pause and close the tray\nnet-merge status | list   live numbers \u002F which connections are used\nnet-merge autostart on|off|status\nnet-merge socks           plain SOCKS5 proxy on 127.0.0.1:1080 (no admin, per app)\nnet-merge cleanup         remove leftover routes after a crash\nnet-merge install         macOS only: `sudo net-merge install` (see above)\n```\n\nMore flags and details are in [docs\u002FDEVELOPING.md](docs\u002FDEVELOPING.md).\n\n## Good to know\n\n- Needs admin (Windows), `CAP_NET_ADMIN` (Linux) or `sudo net-merge install` once (macOS).\n- Some sites tie your login to one IP. net-merge may use a different IP for each connection, so such a\n  site can ask you to log in again.\n- If your connections differ in IPv6 support, sites that only have IPv6 are not reachable while the box\n  above is ticked.\n\n## More\n\n- What changed in each version: [CHANGELOG.md](CHANGELOG.md)\n- New versions come out once a week when something changed. Important fixes come out right away.\n- How it works, building from source, tests: [docs\u002FDEVELOPING.md](docs\u002FDEVELOPING.md)\n- Want to help? [CONTRIBUTING.md](CONTRIBUTING.md). Found a security problem? [SECURITY.md](SECURITY.md)\n- License: MIT, see `LICENSE`. Third-party parts: `THIRD-PARTY-NOTICES.md`.\n\n## Support\n\nnet-merge is free. If it saves you time, you can [buy me a coffee](https:\u002F\u002Fbuymeacoffee.com\u002Frohit267) or [donate with PayPal](https:\u002F\u002Fpaypal.me\u002Fchampdev). Thank you!\n\nWant to choose the connection for each app? Try [RoutEngine](https:\u002F\u002Froutengine.net\u002F?utm_source=net-merge&utm_medium=readme-support),\nalso by me: pick an adapter per app, add a fallback, and set a speed limit or data cap per app. Free for personal use.\n\nBuilding a college project? Host it on [DormHost](https:\u002F\u002Fdormhost.dev\u002F?utm_source=net-merge&utm_medium=readme-support),\nalso by me: Node.js, Python or Docker with a database, 30 days free.\n",2,"2026-10-31 04:26:16","CREATED_QUERY"]