Categorygithub.com/getlantern/ipproxy
modulepackage
0.0.0-20240923151842-ff95aca6e3dc
Repository: https://github.com/getlantern/ipproxy.git
Documentation: pkg.go.dev

# README

IP Proxy

A library which provides a proxy for IP traffic.

Dependencies

This library uses Go modules. When running commands like go test in this repository, make sure the GO111MODULE environment variable is set to 'on'. See the go command documentation for more details. If you are running Go 1.13 or later, this should not be necessary as the Go tool will support modules by default.

In order to run ipproxy, the following tools need to be install: lsof and ifconfig.

On Ubuntu: apt install net-tools lsof

On Arch: yay -S extra/lsof core/net-tools

Testing

Tests in this package require root access. The easiest way to test is to compile the tests with go test -c and run the output binary using the sudo command.

Tests currently only run on Linux.

Be careful if you choose to run the Go tool with the sudo command (e.g. sudo go test). This can cause issues if the tool attempts to download missing dependencies. Namely, the Go tool may not be able to download anything as Git will likely be using a different SSH keypair (or no keypair at all). Worse, the Go tool may create folders in $GOPATH/pkg/mod/cache owned by the root user. This can disrupt future use of the Go tool, even outside of this repository.

Credits

# Packages

This demo program allows testing ipproxy packet forwarding functionality on a desktop machine using a TUN device.
No description provided by the author

# Functions

No description provided by the author
TUNDevice creates a TUN device with the given name and configures an interface for that TUN device at the given address and netmask and given mtu (should usually be 1500).

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author

# Interfaces

Device is a stack.LinkEndpoint implemented by network layer devices (e.g.
No description provided by the author