Skip to content
xfrps&frp client for openwrt&LEDE
Branch: master
Clone or download
KerwinKoo remove curl utils funcs
because of do not get ftp data port by http, remove dependence of Libcurl
Latest commit c311066 Aug 21, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
.editorconfig
.gitignore
.travis.yml Update .travis.yml May 16, 2017
CMakeLists.txt remove curl utils funcs Aug 21, 2017
CONTRIBUTING.md Update CONTRIBUTING.md Apr 27, 2017
LICENSE Initial commit Apr 27, 2017
README.md
agent.c Create agent.c Apr 27, 2017
client.c
client.h
commandline.c
commandline.h
common.c
common.h dbg for LEDE Jun 20, 2017
config.c
config.h
const.h
contributors.md Update contributors.md Apr 27, 2017
control.c
control.h remove control_request struct Jul 5, 2017
crypto.c add assert after strdup Jul 4, 2017
crypto.h fix code for LEDE linux Jun 20, 2017
debug.c
debug.h Update debug.h May 10, 2017
fastpbkdf2.c
fastpbkdf2.h add fastpbkdf2.h for encoder May 25, 2017
frame.c don't using encrypt Jul 11, 2017
frame.h
frpc_min.ini add frp client demo config file May 16, 2017
ini.c
ini.h Add support for INI file parser May 4, 2017
login.c
login.h move login_resp_check to login file Jun 29, 2017
logo.png
main.c
msg.c
msg.h
proxy.c add get_ftp_data_proxy_name func Jul 7, 2017
proxy.h do ftp proxy Jul 7, 2017
proxy_ftp.c add domain support for ftp Jul 10, 2017
proxy_tcp.c using proxy instead of bufferevent Jul 7, 2017
session.c
session.h fix code for LEDE linux Jun 20, 2017
testfastpbkdf2.c
uthash.h Rename uthash.h.txt to uthash.h May 4, 2017
utils.c
utils.h
version.h adjust version info Jul 19, 2017
xfrpc.c change binary name from xfrp_client to xfrpc Jul 5, 2017
xfrpc.h
zip.c Update zip.c May 17, 2017
zip.h

README.md

xfrp

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.

Compile

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 https://github.com/KunTengRom/xfrp.git
cd xfrp
cmake .
make

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

[common]
server_addr = 111.112.113.114
server_port = 7001

[router_ftp_example]
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 111.112.113.114 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.

Contact

QQ群 : 331230369

Please support us and star our project

You can’t perform that action at this time.