FBI-Go is a utility that lets you force applications to use a specific network interface or IP address for their outgoing connections. It's similar to ForceBindIP on Windows and is useful on systems with multiple network interfaces when you want to control which one an app uses.
// readme
FBI-Go 2.0
FBI-Go is a Linux Multi-WAN research backend with a read-only host CLI and an isolated networking laboratory. It discovers devices and builds routing plans. Managed application routing, DNS, IPv6 fail-closed protection, and transactional recovery have been tested in rootless namespaces and a disposable VM. Production host routing and HOST_APPLY remain unsupported. A plan or saved policy does not change host networking. The legacy ForceBindIP mode remains available.
Build
Go 1.23 and Linux are required. The legacy shared library additionally needs a C compiler. See installation and prerequisites.
make all
go test ./...
go vet ./...
The Makefile builds fbi and binder.so in this directory. For the legacy mode, keep both files together.
Host inspection
./fbi version
./fbi multiwan scan
./fbi multiwan status --json
./fbi multiwan doctor --json
./fbi multiwan plan --json
./fbi multiwan plan-m2 internal/routing/testdata/fedora_topology.json --json
These commands require no sudo and never change routing, DNS, nftables, NetworkManager, or sysctls. doctor reports hostβ¦