---
name: "obfs-local"
section: "1"
platform: "linux"
package: "simple-obfs"
version: "0.0.5-6"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/obfs-local"
---

# obfs-local(1)

simple-obfs client

## NAME

obfs-local - simple-obfs client

## SYNOPSIS

**obfs-local** \[-6\] \[-h\|--help\] \[-s *\<server\_host\>*\] \[-p *\<server\_port\>*\] \[-l *\<local\_port\>*\] \[-f *\<pid\_file\>*\] \[-t *\<timeout\>*\] \[-c *\<config\_file\>*\] \[-i *\<interface\>*\] \[-a *\<user\_name\>*\] \[-b *\<local\_address\] \[-n \<nofile\>*\] \[--fast-open\] \[--obfs *\<http\|tls\>*\] \[--obfs-host *\<hostname\>*\]

## DESCRIPTION

**Obfs-simple** is a very simple obfuscating tunnel tool.

**Obfs-simple** is written in pure C and takes advantage of libev to achieve both high performance and low resource consumption.

**Obfs-simple** consists of two components. [**obfs-local**(1)](/obfs-local/1.md) works as a standard tunnel on local machines to obfuscate TCP traffic.

## OPTIONS

- \-s *\<server\_host\>*

  Set the server’s hostname or IP.

- \-p *\<server\_port\>*

  Set the server’s port number.

- \-l *\<local\_port\>*

  Set the local port number.

- \-a *\<user\_name\>*

  Run as a specific user.

- \-f *\<pid\_file\>*

  Start obfs-simple as a daemon with specific pid file.

- \-t *\<timeout\>*

  Set the socket timeout in seconds. The default value is 60.

- \-c *\<config\_file\>*

  Use a configuration file.

- \-n *\<number\>*

  Specify max number of open files.

  Only available on Linux.

- \-i *\<interface\>*

  Send traffic through specific network interface.

  For example, there are three interfaces in your device, which is lo (127.0.0.1), eth0 (192.168.0.1) and eth1 (192.168.0.2). Meanwhile, you configure **obfs-local** to listen on 0.0.0.0:8388 and bind to eth1. That results the traffic go out through eth1, but not lo nor eth0. This option is useful to control traffic in multi-interface environment.

- \-b *\<local\_address\>*

  Specify local address to bind.

- \-6

  Resovle hostname to IPv6 address first.

- \--fast-open

  Enable TCP fast open.

  Only available with Linux kernel \> 3.7.0.

- \--mptcp

  Enable Multipath TCP.

  Only available with MPTCP enabled Linux kernel.

- \--obfs *\<http\|tls\>*

  Enable HTTP or TLS obfuscating. (Experimental)

- \--obfs-host *\<hostname\>*

  Specify the hostname for obfuscating. (Experimental)

- \-v

  Enable verbose mode.

\-h\|--help

Print help message.

## EXAMPLE

[**obfs-local**(1)](/obfs-local/1.md) can be started from command line and run in foreground. Here is an example:

```
# Start obfs-local with given parameters
obfs-local -s example.com -p 12345 -l 1080 --obfs http --obfs-host www.baidu.com
```

## SEE ALSO

[**obfs-server**(1)](/obfs-server/1.md), /etc/simple-obfs/config.json
