Awesome Open Source
Awesome Open Source


Build Status license Supported PRs Welcome Issue Welcome OpenWRT KunTeng

What is xfrp and why start xfrp

xfrp is xfrps client implemented by c for OpenWRT and LEDE system

The motivation to start xfrp project is that we are OpenWRTer, and openwrt usually ran in device which has little ROM and RAM space, however golang always need more space and memory; therefore we start xfrp project.


xfrp need libevent openssl-dev and json-c support

Before compile xfrp, please install libevent openssl-dev and json-c in your system.

git clone
cd xfrp
cmake .

Quick start

before using xfrp, you should have built the proxy server: xfrps, It's no difference with frp at usage, but support FTP and more embedded-client-friendly for linux.

Run in debug mode :

xfrpc -c frpc_mini.ini -f -d 7 

Run in release mode :

xfrpc -c frpc_mini.ini -d 0

FTP support

xfrp support ftp proxy after version 0.07.451. Hypothesize you have built xfrps succeed!

Configure ftp in frpc.ini

server_addr =
server_port = 7001

type = ftp
local_port = 21
remote_port = 30621
remote_data_port = 30622

remote_port is the reporxy port of FTP command tunnel, and remote_data_port is FTP-DATA port reporxy.

Use -p (PASV Mode) of ftp command to connect to proxy ftp server:

ftp -p 30621

In Master version server_addr can use domain name intead of IP address in FTP proxy. Issue #4 and Issue #5.

Todo list

  • support compression
  • support encrypt

How to contribute our project

See CONTRIBUTING for details on submitting patches and the contribution workflow.


QQ群 : 331230369

Please support us and star our project

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c (14,513
iot (549
openwrt (102
reverse-proxy (81
embedded-systems (69
frp (53
lede (33

Find Open Source By Browsing 7,000 Topics Across 59 Categories