frp 安装及设置

服务端frps

一键安装脚本:https://github.com/MvsCode/frps-onekey

群晖DSM安装frpc

1,群晖,Docker,注册表,搜frpc,添加snowdreamtech/frpc
https://registry.hub.docker.com/r/snowdreamtech/frpc/

2,编辑并上传frpc.ini
上传到docker/frp路径下
编辑文件夹权限至everyone(可选,frpc只读配置文件也ok)

3,映像,启动
高级设置,卷,添加文件,装载路径到/etc/frp/frpc.ini
与Docker host相同的网络

frpc.ini,配置文件示例

[common]
server_addr = xxxxxxx  # 服务器IP或者地址
server_port = 7000                # 服务器提供的端口号
token = xxxxxxxxxxxxx             # 服务器提供的token

[web1]                            # 为避免错误,一定需更改为比较特殊的名称,不能和服务器端其他配置重名.
type = http                       # http协议
local_ip = 127.0.0.1              # 127.0.0.1指穿透本机,也可以填写群晖内网IP.
local_port = 5000                 # 群晖内网HTTP端口,默认为5000.
custom_domains = web1.xxxx.com    # 填写你的域名
subdomain = web1                  # 如果你的服务端域名支持泛解析,那么可以使用这个参数,就仅仅写一下自定义的名称,不要把后面的域名也带上,和custom_domains二选一,推荐这个。
[web2]                            # 为避免错误,一定需更改为比较特殊的名称,不能和服务器端其他配置重名.
type = https                      # https协议
local_ip = 127.0.0.1              # 127.0.0.1指穿透本机,也可以填写群晖内网IP.
local_port = 5001                 # 群晖内网HTTPS端口,默认为5001.
custom_domains = web2.xxxx.com    # 填写你的域名
# 接下来的配置是支持 https 的重点配置
# 配置插件,将 https 请求转换成 http 请求后再发送给本地 Web 服务程序
plugin = https2http
# 转换成 http 后,发送到本机的 10000 端口
plugin_local_addr = 127.0.0.1:0000
# 这里必须写成 127.0.0.1,目前版本bug
plugin_host_header_rewrite = 127.0.0.1
# 指定成你在前面部分导出的证书的路径
plugin_crt_path = /root/frpc/ssl/ml_chain.crt
plugin_key_path = /root/frpc/ssl/private.key

Windows系统以服务运行frpc

参考:https://www.timeblog.cn/article/146.html

使用的工具为winsw,介绍及下载:https://github.com/winsw/winsw/releases

1,解压frp_0.33.0_windows_amd64.zip,编辑frpc.ini

2,复制WinSW.NET461.exe和xml配置文件到frpc.exe同目录,可改名为winsw.exe和winsw.xml

3,编辑winsw.xml

<service>
    <!-- 该服务的唯一标识 -->
    <id>frp</id>
    <!-- 该服务的名称 -->
    <name>frpc service by winsw</name>
    <!-- 该服务的描述 -->
    <description>frp_0.33.0_windows_amd64</description>
    <!-- 要运行的程序路径 -->
    <executable>D:\apps\frp_0.33.0_windows_amd64\frpc.exe</executable>
    <!-- 携带的参数 -->
    <arguments>-c frpc.ini</arguments>
    <!-- 第一次启动失败 60秒重启 -->
    <onfailure action="restart" delay="60 sec"/>
    <!-- 第二次启动失败 120秒后重启 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 日志模式 -->
    <logmode>append</logmode>
    <!-- 指定日志文件目录(相对于executable配置的路径) -->
    <logpath>logs</logpath>
</service>

4,开始使用

//注册服务
winsw.exe install
//卸载服务
winsw.exe uninstall
//启动服务
winsw.exe start
//停止服务
winsw.exe stop
//重启服务
winsw.exe restart
//查看状态
winsw.exe status