centos下Frps服务端一键配置脚本

介绍

说明:Frp估计很多人都用过,一个高性能的内网穿透工具,支持tcpudphttphttps协议,安装和使用教程可以直接查看官方中文文档→传送门,写的超详细。这里博主分享个某大佬写的Frps一键脚本,使用起来很方便,想快速上手的可以用下。

安装使用

原项目地址:https://github.com/dylanbai8/frpspro

我的地址:https://github.com/songwqs/frpspro

系统要求:CentOS 7+Debian 8+

wget -N --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/songwqs/frpspro/master/f.sh && chmod +x f.sh && bash f.sh install

执行后默认生成了以下配置 :

管理面板: http://xxxxxxxxx:7500
用户名:admin 
密码: admin
bind_port: 7000 
默认token: 12345678
vhost_http_port:80
默认vhost_https_ port: 443
bind_udp_port:7001
kcp_bind_port:7000
a1low_ ports: 2000-3000, 3001, 3003, 4000-50000

需要修改可以去 /usr/local/frps修改:

vi /usr/local/frps/frp.ini

可以直接复制以下的进行编辑:

#[common]为整体截面
[common]
#必须附上IPv6的文字地址或主机名
#在方括号中,如“[::1]:80”、“[ipv6主机]:http”或“[ipv6主机%zone]:80
绑定地址=0.0.0.0
bind_port=7000
#用于kcp协议的udp端口,它可以与“bindport”相同
#如果未设置,则在frp中禁用kcp
kcp_bind_port=7000
#如果要按仪表板配置或重新加载frp,必须设置dashboardport
仪表板端口=7500
#仪表板资产目录(仅适用于调试模式)
dashboard_user = admin
dashboard_pwd = 123456987
# assets_dir = ./static
vhost_http_port = 880
vhost_https_port = 8443
#控制台或真实日志文件路径,如./frps.log
log_file = ./frps.log
#调试,信息,警告,错误( debug, info, warn, error)
log_level = info
log_max_days = 3
#身份验证令牌可以自己设置
token = frpzjmFnLqzxFPg
#当许多人同时使用一个frps服务器时,可以方便地使用http、https类型的子域配置。
subdomain_host=x.x.x.x.x(你的服务器ip)
#只允许frpc绑定您列出的端口,如果您没有设置任何限制
#allow_ports=1-65535
#如果超过最大值,每个代理中的pool_count将更改为max_pool_count
max_pool_count=50
#如果使用tcp流复用,默认值为true
tcp_mux=true

# 重启应用

sudo systemctl restart frps

#查看frp是否启动

ps aux | grep frp

===================================

服务端frps的启动与停止

# 启动frps
sudo systemctl start frps

# 打开自启动
sudo systemctl enable frps

# 重启应用
sudo systemctl restart frps

# 停止应用
sudo systemctl stop frps

# 查看应用的日志
sudo systemctl status frps

# 停止开机自启动
systemctl disable frps

常用命令

#一键修改token
bash f.sh token

#一键修改bind_port
bash f.sh bind_port

#一键修改vhost_http_port
bash f.sh vhost_http_port

#一键修改vhost_https_port
bash f.sh vhost_https_port

备用命令

#一键修改dashboard_port
bash f.sh dashboard_port

#一键修改dashboard_user
bash f.sh dashboard_user

#一键修改dashboard_pwd
bash f.sh dashboard_pwd

#一键修改bind_udp_port
bash f.sh bind_udp_port

#一键修改kcp_bind_port
bash f.sh kcp_bind_port

#一键修改subdomain_host(用于泛解析子域名)
bash f.sh subdomain_host

#一键卸载frps
bash f.sh uninstall
#一键更新frps
bash f.sh update

注意事项

#一键关闭 apache2、防火墙,释放80端口
bash f.sh unapache2

#注意,除http(s)以外,客户端frpc.ini内任何端口修改时须在以下范围内:
默认端口白名单:2000-3000,3001,3003,4000-50000

#转发远程桌面时,需先在本机开启允许远程协助
我的电脑-右键属性-远程设置

#需要注意frpc所在机器和frps所在机器的时间相差不能超过15分钟

frps.ini配置文件在目录:/usr/local/frps

进阶用法

以下只是列出可能要用到的功能,其他用法用法都在中文文档>>> :https://gofrp.org/docs

一、范围端口映射

在 frpc 的配置文件中可以指定映射多个端口,目前只支持 TCP 和 UDP 的代理类型。
这一功能通过 range: 段落标记来实现,客户端会解析这个标记中的配置,将其拆分成多个 proxy,每一个 proxy 以数字为后缀命名。

例如要映射本地 6000-6005, 6007 这7个端口,实际连接成功后会创建 7 个 proxy链接池。多用于ftp被动模式这类需要大范围端口的服务器

例子:

# frpc.ini
[range:test_tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 6000-6005,6007
remote_port = 6000-6005,6007

二、更加安全的点对点stcp/xtcp内网穿透服务(类似于简化版蒲公英异地组网)

1.点对点中继 -安全穿透(stcp

增加安全性 不暴露端口服务器  双方通过密钥链接  服务器做中继数据

2.点对点P2P -安全穿透(xtcp

增加安全性 不暴露端口服务器  双方通过密钥链接  服务器只做握手和校验不参加数据交换  双方实行打洞P2P(udp传输) 介于国内的网络环境 成功率不高 可以尝试下   不行切换会 stcp

3.配置信息

需要双方配置服务信息

a、frps服务器端需要添加一个udp 打洞端口:

bind_udp_port = 7001

如:

# frps.ini
[common]
bind_port = 7000
bind_udp_port = 7001

b、frpc客户端

被访问端A需要 追加:   密钥:sk=xxx

例子:

# frpc.ini
[common]
# 你的frp服务器的公网ip
server_addr = x.x.x.x
# 你的frp服务器的默认端口
server_port = 7000
[myser1]
# type可以直接切换stcp或者xtcp
type = stcp
# 只有 sk 一致的用户才能访问到此服务
sk = 123456
local_ip = 127.0.0.1
# 的本地端口号
local_port = 3389

访问端B需要 追加:
访问者: role = visitor
要访问的代理服务:  server_name = myser1
只有 sk 一致的用户才能访问到此服务: sk = 12346
绑定本地端口用于访问端A 服务:
bind_addr = 127.0.0.1
bind_port = 6000

例子:

# frpc.ini
[common]
# 你的frp服务器的公网ip
server_addr = x.x.x.x
# 你的frp服务器的默认端口
server_port = 7000
[rdp_visitor]
# type可以直接切换stcp或者xtcp
type = stcp
# 访问者
role = visitor
# 要访问的 stcp 代理的名字
server_name = myser1
# 只有 sk 一致的用户才能访问到此服务
sk = 123456
# 绑定本地端口用于访问端A服务
bind_addr = 127.0.0.1
bind_port = 5000

三、 使用插件模式

[http_proxy ]
type=tcp
remote_port=5300
plugin=http_proxy
plugin_http_user=admin
plugin_http_passwd=123456
use_encryption=true
use_compression=true

[socks5]
type=tcp
remote_port=5301
plugin=socks5
plugin_user=admin
plugin_passwd=123456
use_encryption=true
use_compression=true

插件不做过多介绍  实际使用说明可以去 https://gofrp.org/docs/features/common/client-plugin/#http_proxy 查看

点赞
  1. songwqs songwqs说道:
    Google Chrome Windows 10
    由于粗心大意给${new_ver} EOF多加了空格导致产生不干净的输出 让sh执行失败 :kuanghan:

发表回复

电子邮件地址不会被公开。必填项已用 * 标注