Current approach of hardcoding firewall rules into the binary negatively impacts both maintainability and the user experience. If bootstrap excluded, dpibreak can be used for non-HTTPS traffic as well, as generic TCP obscurator. (Though I'm not sure what the use case would be...)
Windows lacks binaries or interfaces like nft/nfqueue, hardcoding is unavoidable for that platform and this would be linux-only feature.
See also: #26
It is still possible to apply rules beyond the predefined ones to dpibreak without disable option.
Example script for registering a rule to exclude traffic destined for the loopback interface:
#!/bin/bash
table=dpibreak
chain=OUTPUT
dpibreak "$@" &
pid=$!
for _ in $(seq 1 50); do
if nft list chain inet $table $chain &>/dev/null; then
nft insert rule inet $table $chain oif "lo" return
break
fi
sleep 0.1
done
wait $pid
Current approach of hardcoding firewall rules into the binary negatively impacts both maintainability and the user experience. If bootstrap excluded, dpibreak can be used for non-HTTPS traffic as well, as generic TCP obscurator. (Though I'm not sure what the use case would be...)
Windows lacks binaries or interfaces like nft/nfqueue, hardcoding is unavoidable for that platform and this would be linux-only feature.
See also: #26
It is still possible to apply rules beyond the predefined ones to dpibreak without disable option.
Example script for registering a rule to exclude traffic destined for the loopback interface: