'\" t
.\" Title: obfs-server
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1
.\" Date: 03/21/2019
.\" Manual: Shadowsocks-libev Manual
.\" Source: Shadowsocks-libev 0.0.5
.\" Language: English
.\"
.TH "OBFS\-SERVER" "1" "03/21/2019" "Shadowsocks\-libev 0\&.0\&.5" "Shadowsocks\-libev Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
obfs-server \- simple\-obfs server
.SH "SYNOPSIS"
.sp
\fBobfs\-server\fR [\-v] [\-h|\-\-help] [\-s \fI\fR] [\-p \fI\fR] [\-l \fI\fR] [\-r \fI\fR:\fI\fR] [\-f \fI\fR] [\-t \fI\fR] [\-c \fI\fR] [\-i \fI\fR] [\-a \fI\fR] [\-d \fI\fR] [\-n \fI\fR] [\-b \fR
.RS 4
Set the server\(cqs hostname or IP\&.
.RE
.PP
\-p \fI\fR
.RS 4
Set the server\(cqs port number\&.
.RE
.PP
\-a \fI\fR
.RS 4
Run as a specific user\&.
.RE
.PP
\-f \fI\fR
.RS 4
Start simple\-obfs as a daemon with specific pid file\&.
.RE
.PP
\-t \fI\fR
.RS 4
Set the socket timeout in seconds\&. The default value is 60\&.
.RE
.PP
\-c \fI\fR
.RS 4
Use a configuration file\&.
.RE
.PP
\-n \fI\fR
.RS 4
Specify max number of open files\&.
.sp
Only available on Linux\&.
.RE
.PP
\-i \fI\fR
.RS 4
Send traffic through specific network interface\&.
.sp
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
\fBobfs\-server\fR
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\&.
.RE
.PP
\-b \fI\fR
.RS 4
Specify local address to bind\&.
.RE
.PP
\-6
.RS 4
Resovle hostname to IPv6 address first\&.
.RE
.PP
\-d \fI\fR
.RS 4
Setup name servers for internal DNS resolver (libudns)\&. The default server is fetched from
\fI/etc/resolv\&.conf\fR\&.
.RE
.PP
\-\-fast\-open
.RS 4
Enable TCP fast open\&.
.sp
Only available with Linux kernel > 3\&.7\&.0\&.
.RE
.PP
\-\-mptcp
.RS 4
Enable Multipath TCP\&.
.sp
Only available with MPTCP enabled Linux kernel\&.
.RE
.PP
\-\-obfs \fI\fR
.RS 4
Enable HTTP or TLS obfuscating\&. (Experimental)
.RE
.PP
\-v
.RS 4
Enable verbose mode\&.
.RE
.PP
\-h|\-\-help
.RS 4
Print help message\&.
.RE
.SH "EXAMPLE"
.sp
It is recommended to use a config file when starting \fBobfs\-server\fR(1)\&.
.sp
The config file is written in JSON and is easy to edit\&. Check out the \fISEE ALSO\fR section for the default path of config file\&.
.sp
.if n \{\
.RS 4
.\}
.nf
# Start the obfs\-server
obfs\-server \-c /etc/simple\-obfs/config\&.json
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
\fBobfs\-local\fR(1), /etc/simple\-obfs/config\&.json