blob: 56e843dac078226f4a42e77b8a39f5a0ab3af15a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
Mostly fixes and internal stabilization.
On Windows, to make `WinDivert64.sys` available for deletion after the program terminates, the WinDivert service is now stopped on dpibreak termination. This prevents the [error](https://github.com/dilluti0n/dpibreak/issues/29) during `winget update --all`. (#21, #30)
On Linux, there was a lot of internal refactoring, including possible fixes for memory ordering and packet buffer offset calculation in the rxring module.
Other fixes:
- Windows: keep the console window open on error so the message stays readable.
- Windows: race condition and dangling pointer in the `windivert` crate. (#30)
- Linux: iptables rules were not cleaned up on startup.
- Linux: signal handling now uses signalfd integrated into the existing poll loop instead of a handler and a global flag.
## Installation
### Windows
Via winget:
```powershell
winget install dpibreak
```
(Full package ID: `Dilluti0n.DPIBreak`)
Run `dpibreak` on powershell or start (`Windows+R`). If error occurs on update, see [#29](https://github.com/dilluti0n/dpibreak/issues/29).
Portable download:
1. Download the `.zip` from the below and extract it.
2. Double-click `dpibreak.exe` to run, or `start_fake.bat` for [fake](https://github.com/dilluti0n/dpibreak#fake) mode.
3. To run automatically on boot, run `service_install.bat` as administrator.
See `WINDOWS_GUIDE.txt` in the zip for more details. If you have trouble deleting the previous version's folder when updating, see [#21](https://github.com/dilluti0n/dpibreak/issues/21).
> [!NOTE]
> On first run, Windows SmartScreen may block the binary. Double-click `dpibreak.exe` (or run it from `cmd`), then click **More info -> Run anyway**. After that, `dpibreak` works from any terminal including PowerShell. See [#25](https://github.com/dilluti0n/dpibreak/issues/25) for details.
### Linux
One-liner install:
```
curl -fsSL https://raw.githubusercontent.com/dilluti0n/dpibreak/master/install.sh | sh
```
Or download the tarball from the assets below:
```
tar -xf dpibreak-*.tar.gz
cd dpibreak-*/
sudo make install
```
Also available via Arch [AUR](https://aur.archlinux.org/packages/dpibreak), Gentoo [GURU](https://gitweb.gentoo.org/repo/proj/guru.git/tree/net-misc/dpibreak) and [crates.io](https://crates.io/crates/dpibreak). See [README.md](https://github.com/dilluti0n/dpibreak/blob/master/README.md#Installation) for details.
|