Tunneling service for Invisible Man applications (uses tun2socks and wintun)
Invisible Man TUN is an open-source and free service that allows you to tunnel all of your system's traffic. It uses tun2socks and wintun.
This service creates the network interface and sets routes automatically.
-
If you just want to use this service:
- Download it from releases.
- Start the service by this instruction:
InvisibleMan-TUN -port={port}
-
But if you want to get the source of the service, follow these steps:
- Download the requirements
- Clone a copy of the repository:
git clone "https://github.com/InvisibleManVPN/InvisibleMan-TUN.git"
- Change to the directory:
cd InvisibleMan-TUN
- Download one of the versions of tun2socks based on your OS and extract it to
/InvisibleMan-TUN
and/TUN-Wrapper
directories.
NOTE: After extracting the file, change its name totun2socks.exe
. - Download wintun, extract it and copy one of versions based on your OS to
/InvisibleMan-TUN
and/TUN-Wrapper
directories.
NOTE: Make sure the dll file name iswintun.dll
. - Make
tun.dll
file and copy to the/InvisibleMan-TUN
directory:cd TUN-Wrapper go build --buildmode=c-shared -o tun.dll -trimpath -ldflags "-s -w -buildid=" . copy tun.dll ..\InvisibleMan-TUN
- Run the project as administrator:
dotnet run -port={port}
After running the service on a specific port, you need to connect to the service via a socket
. So, you should open a socket
to the chosen port
. This is the port that allows your application and service to communicate with each other. Then you can use commands to control the service. Currently, we have two valid commands:
enable
: Enables the tunneling service and set a network interface.-command=enable -device={device} -proxy={ip}:{port} -address={address} -server={server} -dns={dns}
disable
: Disables the tunneling service and remove the network interface.-command=disable