PktSwerve is a small tray app that helps you reach websites your network or provider blocks. It does this by changing how your computer sends the first packets of a connection, so the filters that block those sites no longer recognise them.
It runs only on your own computer. It is not a VPN, it does not send your traffic through any server, and it does not make you anonymous.
- Windows: Windows 10 or 11 (64-bit). The app asks for administrator rights when it starts.
- macOS: macOS 12 or newer, Apple Silicon or Intel. It asks for your password the first time you press Start.
Linux and Android are not supported.
- Download
PktSwerve-win64.zipfrom the latest release. - Extract the whole folder (keep the WinDivert files next to
PktSwerve.exe). - Run
PktSwerve.exeand accept the administrator prompt.
To remove it completely (app, startup task, WinDivert driver, settings, logs), use Uninstall in the tray menu, or right-click uninstall.ps1 in the folder and choose Run with PowerShell. Deleting the folder alone leaves the startup task and the driver behind.
Paste this line into Terminal:
curl -fsSL https://raw.githubusercontent.com/luridlane-dev/PktSwerve/main/packaging/macos/install.sh | bashIt downloads the app, installs it in Applications and opens it. Downloading with curl is what keeps macOS from showing a security warning, because the app is not notarized.
To remove it completely (app, helper, settings, logs):
curl -fsSL https://raw.githubusercontent.com/luridlane-dev/PktSwerve/main/packaging/macos/uninstall.sh | bash- Click the PktSwerve icon in the tray (Windows) or menu bar (macOS).
- Press Start. Press Stop to turn it off.
- Open Settings to choose what it works on:
- Selected Sites & Apps: only the sites and programs you list. Everything else is left alone. This is the best place to begin.
- Global: all web traffic.
- Disabled: does nothing.
If a site still does not open, try the DNS tab: pick another DNS server and press Test Connection. The Methods tab holds the more technical options; the defaults are fine for most people, and if you change them, change one at a time.
PktSwerve checks for a new version once a day. When one is available, an Update available item appears in the tray menu. Open it, go to Settings → About and press Install. The app downloads the update, checks that the file is intact, restarts itself and keeps your settings. You can also check by hand or switch the daily check off on the same tab.
- Windows: nothing happens or it closes at once. Run it as administrator and make sure
WinDivert.dllandWinDivert64.sysare in the same folder asPktSwerve.exe. - No tray icon. Check your notification area settings in Windows.
- A site breaks after changing a setting. Go back to the defaults with Reset to Defaults in Settings.
- Logs help when asking for support:
- Windows:
%LOCALAPPDATA%\PktSwerve\pktswerve.log - macOS:
~/Library/Application Support/PktSwerve/(pktswerve.logandpktswerve-helper.log)
- Windows:
For websites, PktSwerve splits the first message of a connection (the TLS handshake or the HTTP request) into smaller pieces, and can optionally send decoy packets. It can also send DNS questions to a server you choose. On Windows it uses WinDivert to do this; on macOS a built-in packet-filter rule hands the traffic to a small local proxy that does the splitting. Nothing is decrypted, and nothing leaves your computer except your normal traffic.
Because of that, it cannot hide who you are from the sites you visit, and it can fail on networks that block in other ways.
You need CMake 3.16+, Qt 6 (Widgets, Network, Concurrent) and a C++17 compiler.
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallelOn Windows, also download WinDivert and put these files in place before configuring (the folder is ignored by Git):
vendor/windivert/include/windivert.h
vendor/windivert/lib/WinDivert.lib
After building, copy WinDivert.dll and WinDivert64.sys next to PktSwerve.exe. On macOS no extra files are needed.
Set the new version in CMakeLists.txt, commit, then push a matching tag:
git tag v1.0.4
git push origin v1.0.4GitHub Actions builds Windows and macOS and publishes the files, with checksums, as a release. A tag with a suffix such as v1.0.4-rc1 becomes a pre-release, which the update check ignores.
Use PktSwerve only on networks and traffic you are allowed to change. Bypassing filters may be restricted by local law, network policy or a service agreement, and you are responsible for following them.
GNU General Public License v3.0, see LICENSE.


