diff --git a/Makefile b/Makefile index 20029ee..0f7d50c 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ release: GOOS=windows GOARCH=386 go build -o tun2socks_windows_32.exe cmd/main.go shared: - go build -buildmode=c-shared -o libtun2socks.so ./cmd + go build -buildmode=c-shared -o libtun2socks.so ./cmd/main.go static: - go build -buildmode=c-archive -o libtun2socks.a ./cmd + go build -buildmode=c-archive -o libtun2socks.a ./cmd/main.go diff --git a/cmd/main.c b/cmd/shared/main.c similarity index 53% rename from cmd/main.c rename to cmd/shared/main.c index c49c4da..651bd00 100644 --- a/cmd/main.c +++ b/cmd/shared/main.c @@ -1,11 +1,18 @@ #include +#include +#include #include "libtun2socks.h" // osx: gcc -o tun2socks main.c libtun2socks.a -framework CoreFoundation -framework Security -lpthread // linux: gcc -o tun2socks main.c libtun2socks.a -pthread // linux: gcc -o tun2socks main.c ./libtun2socks.so -int main() { - GoString configFile = {(char*)"/home/yy/dev/go/src/github.com/FlowerWrong/tun2socks/config.example.ini", 71}; +int main(int argc, char *argv[]) { + if (argc != 2) { + printf("Usage: sudo ./tun2socks config.ini\n"); + return 0; + } + char * configPath = argv[1]; + GoString configFile = {configPath, (int64_t)strlen(configPath)}; RunTun2socks(configFile); return 0; }