下载地址:https://github.com/fatedier/frp/releases

参考地址:https://github.com/fatedier/frp/blob/master/README_zh.md

服务端配置

# [common] is integral section

[common]

# A literal address or host name for IPv6 must be enclosed

# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"

bind_addr = 0.0.0.0

bind_port = 7000


# if you want to support virtual host, you must set the http port for listening (optional)

vhost_http_port = 8080

vhost_https_port = 443


# if you want to configure or reload frps by dashboard, dashboard_port must be set

dashboard_port = 7500


# dashboard user and pwd for basic auth protect, if not set, both default value is admin

dashboard_user = admin

dashboard_pwd = admin


# dashboard assets directory(only for debug mode)

# assets_dir = ./static

# console or real logFile path like ./frps.log

log_file = ./frps.log


# debug, info, warn, error

log_level = info


log_max_days = 3


# if you enable privilege mode, frpc can create a proxy without pre-configure in frps when privilege_token is correct

privilege_mode = true

privilege_token = 12345678


# heartbeat configure, it's not recommended to modify the default value

# the default value of heartbeat_timeout is 30

# heartbeat_timeout = 30


# only allow frpc to bind ports you list, if you set nothing, there won't be any limit

privilege_allow_ports = 2000-3000,3001,3003,4000-50000


# pool_count in each proxy will change to max_pool_count if they exceed the maximum value

max_pool_count = 100


# authentication_timeout means the timeout interval (seconds) when the frpc connects frps

# if authentication_timeout is zero, the time is not verified, default is 900s

authentication_timeout = 900


# if subdomain_host is not empty, you can set subdomain when type is http or https in frpc's configure file

# when subdomain is test, the host used by routing is test.frps.com

subdomain_host = frps.com


# ssh is the proxy name, client will use this name and auth_token to connect to server

[ssh]

type = tcp

auth_token = 123

bind_addr = 0.0.0.0

listen_port = 9710


[dns]

type = udp

auth_token = 123

bind_addr = 0.0.0.0

listen_port = 5353


[svn]

# if type equals http, vhost_http_port must be set

type = tcp

auth_token = 123

listen_port=8081

# if proxy type equals http, custom_domains must be set separated by commas

custom_domains = web01.yourdomain.com,web01.yourdomain2.com


#[web02]

# if type equals https, vhost_https_port must be set

#type = https

#auth_token = 123

#custom_domains = web02.yourdomain.com



服务端启动

nohup ./frps -c ./frps.ini &


客户端配置:

# [common] is integral section

[common]

# A literal address or host name for IPv6 must be enclosed

# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"

server_addr = 服务端的公网IP地址

server_port = 7000


# if you want to connect frps by http proxy, you can set http_proxy here or in global environment variables

# http_proxy = http://user:pwd@192.168.1.128:8080


# console or real logFile path like ./frpc.log

log_file = ./frpc.log


# debug, info, warn, error

log_level = info


log_max_days = 3


# for authentication

auth_token = 123


# for privilege mode

privilege_token = 12345678


# heartbeat configure, it's not recommended to modify the default value

# the default value of heartbeat_interval is 10 and heartbeat_timeout is 30

# heartbeat_interval = 10

# heartbeat_timeout = 30


# ssh is the proxy name same as server's configuration

[ssh]

# tcp | http, default is tcp

type = tcp

local_ip = 127.0.0.1

local_port = 9710

# true or false, if true, messages between frps and frpc will be encrypted, default is false

use_encryption = false

# default is false

use_gzip = false


[dns]

type = udp

local_ip = 114.114.114.114

local_port = 53


# Resolve your domain names to [server_addr] so you can use http://web01.yourdomain.com to browse web01 and http://web02.yourdomain.com to browse web02, the domains are set in frps.ini

[svn]

type = tcp

local_ip = 127.0.0.1

local_port = 8080

use_gzip = false

use_encryption = false

# connections will be established in advance, default value is zero

#pool_count = 20

# http username and password are safety certification for http protocol

# if not set, you can access this custom_domains without certification

#http_user = admin

#http_pwd = admin

# if domain for frps is frps.com, then you can access [web01] proxy by URL http://test.frps.com

#subdomain = test


#[web02]

#type = http

#local_ip = 127.0.0.1

#local_port = 8000


#[privilege_ssh]

# if privilege_mode is enabled, this proxy will be created automatically

#privilege_mode = true

#type = tcp

#local_ip = 127.0.0.1

#local_port = 22

#use_encryption = true

#use_gzip = false

#remote_port = 6001


#[privilege_web]

#privilege_mode = true

#type = http

#local_ip = 127.0.0.1

#local_port = 8080

#use_gzip = true

#custom_domains = web03.yourdomain.com

# locations is only useful for http type

#locations = /,/pic

#host_header_rewrite = example.com

#subdomain = dev


客户端启动:

nohup ./frpc -c frpc.ini &


只需要设置[svn]的相应类型以及端口 会自动映射到端口


利用:http://外网ip地址:7500/访问