getlantern / geneva-cli

Command-line interface to Geneva
GNU General Public License v3.0
11 stars 6 forks source link

Windows based Geneva-cli

This is a Geneva-based WinDivert tunnel, it takes a Geneva strategy and utilizes WinDivert to capture packets, modify them, and re-inject the packet to avoid censorship. One would use this tool when trying to evade censorship and can be run along side Lantern VPN to further obscure traffic.

Geneva is a genetic algorithm based solution to censorship evasion.

WinDivert is a user-mode packet capture-and-divert package for Windows 10, Windows 11, and Windows Server.

Prerequisites

How to Build

First download WinDivert 2.2 here and then extract the following files and place them directly in your geneva-cli folder, the dlls will need to be renamed.

Rename the x86 dll to WinDivert32.dll Rename the x64 dll to WinDivert64.dll

go build

How to run

First you will need a valid Geneva strategy, one is included in s.txt.

Then you can run the program using

.\geneva-cli.exe intercept --interface <interface-name> -strategyFile .\s.txt

You can find a list of available interfaces using

.\geneva-cli.exe list-adapters

Notes

This was tested on a 64-bit Windows 10 machine Not tested on WSL

Help Output


NAME:
   geneva - Genetic Evasion for windows

USAGE:
   geneva-cli.exe [global options] command [command options] [arguments...]

COMMANDS:

   dot            (unavailable on windows) output the strategy graph 
   as an SVG
   intercept      Run a strategy on live network traffic
   list-adapters  Lists the available adapters
   run-pcap       Run a PCAP file through a strategy and output the resulting packets in a new PCAP
   saved-command  Runs commands from config file
   validate       validate that a strategy is well-formed
   help, h        Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h  show help (default: false)```