首页
关于
Search
1
AdGuardHome 安装及部署教程
42,163 阅读
2
搭建基于telegram的无限网盘
10,332 阅读
3
关于微软Azure学生白嫖指南
10,258 阅读
4
Oracle开放全部端口并关闭防火墙
10,105 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
9,615 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
Search
标签搜索
docker
张至顺
PHP
图床
Cloudflare
金刚长寿功
内网穿透
PT
qBittorrent
阿里云
onedrive
telegram
代理
青龙
FRP
python
一键
telegraph
ipv6
cf_workers
myedunote
累计撰写
113
篇文章
累计收到
1
条评论
首页
栏目
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
页面
关于
搜索到
2
篇与
FRP
的结果
2025-01-06
用 FRP 配置 toml 文件搭建内网穿透
用 FRP 配置 toml 文件搭建内网穿透需求场景1、一台外网可访问的有固定 ip 的云服务器 2、一台外网无法访问的无固定 ip 的本地家用电脑 需求:将云服务器搭建为一台内网穿透服务器,实现通过外网访问家用电脑(网页)的功能。且即使没有域名也可通过公网访问。下载软件GitHub:https://github.com/fatedier/frpreleases 页面:https://github.com/fatedier/frp/releases官方文档:https://gofrp.org/zh-cn 根据自己实际情况选择,家用电脑和服务器都是 x64 架构。上传软件个人习惯先分别在云端和本地的 ubuntu 的 /etc 目录下新建 frp 目录用来存放 frp 文件。解压后,在家用电脑端保存frpc和frpc.toml文件,在云服务器端保存frps和frps.toml文件。frp 软件在 0.52.0 版本开始支持 toml 格式的配置文件,在后继版本取消 ini 配置格式。 服务端设置云端放行端口frp 服务端口:7000(可自定义)frp 控制面板端口:7500(可自定义)要在两个地方放行:1、 是云服务器提供商设置的防火墙放行端口,2 是服务器操作系统 Ubuntu 端口也要放行# 添加监听端口 sudo firewall-cmd --permanent --add-port=7000/tcp # 添加管理后台端口 sudo firewall-cmd --permanent --add-port=7500/tcp sudo firewall-cmd --reload如果用的宝塔面板,在安全里设置:如果端口不放行后面会报无法连接错误: connect: no route to host云端配置文件 frp.tomlbindPort = 7000 # frp服务的特定端口,防火墙也需放开该端口 # 服务面板可查看frp服务状态信息 webServer.addr = "0.0.0.0" # 后台管理地址,默认是127.0.0.1,如果是公网访问则改成0.0.0.0 webServer.port = 7500 # 后台管理端口 webServer.user = "admin" # (可选)后台登录用户名 webServer.password = "admin" # (可选)后台登录密码 #transport.tls.force = true # 服务端将只接受 TLS链接 #auth.method = 'token' # 客户端访问验证方式 #auth.token = "54321" # 客户端访问验证密码,frpc要与frps一致 # 自定义的监听的端口,所有对服务器该端口访问将被转发到本地内网,做了反向代理可不处理防火墙放行 #vhostHTTPPort = 8000 #vhostHTTPSPort = 45443启动服务端方式一:直接启动服务器端,传统的启动方式是直接敲命令: 先 cd 到 frps 所在目录./frps -c ./frps.toml & 这么写,比较麻烦,而且如果要停止进程也比较麻烦,建议采用构建成服务的方式。方式二:以服务方式启动(推荐)安装 systemd,通常情况下系统都带得有,没有的情况下使用如下命令安装。使用 yum 安装 systemd(CentOS/RHEL)yum install systemd使用 apt 安装 systemd(Debian/Ubuntu)apt install systemd 创建 frps.service 服务创建并编辑该文件sudo vim /etc/systemd/system/frps.service 写入内容[Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动命令,改为实际存放frps的路径 ExecStart = /path/to/frps -c /path/to/frps.toml [Install] WantedBy = multi-user.target以服务的方式管理 frps# 启动frp sudo systemctl start frps # 停止frp sudo systemctl stop frps # 重启frp sudo systemctl restart frps # 查看frp状态 sudo systemctl status frps # 设置为开机自启 sudo systemctl enable frps验证服务端是否启动成功访问:http:// 服务器 IP: 后台管理端口” ,输入用户名和密码可以查看连接状态如:http://62.244.114.4:7500/,用户名和密码分别对应 frps.toml 文件中的webServer.user = "admin" webServer.password = "admin" 登录之后 frp 控制面板界面如下:如果上述步骤没有问题,则说明 frp 的服务端配置成功了,也就意味着内网穿透你已经成功了一半客户端设置配置文件frpc.toml客户端,编辑frpc.toml文件:# frpc.toml transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true serverAddr = "47.76.92.71" # 服务端ip serverPort = 7000 # 服务端端口 auth.method = 'token' # 客户端访问验证方式 auth.token = '54321' # 客户端访问验证密码 [[proxies]] name = "dy_mysql" # 客户端服务名 type = "tcp" # 通讯方式 localIP = "127.0.0.1" # 客户端的ip(固定) localPort = 3306 # 客户端服务端口 remotePort = 13306 # 映射到服务端端口(服务器需放行) [[proxies]] name = "dy_video" # 客户端服务名_一个监控摄像头 type = "tcp" # 通讯方式 localIP = "192.168.6.8" # 客户端的ip(固定) localPort = 5522 # 客户端服务端口 remotePort = 15522 # 映射到服务端端口(服务器需放行) [[proxies]] name = "test-http" type = "tcp" localIP = "127.0.0.1" # 需要暴露的服务的IP localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口 remotePort = 6060 # 暴露服务的公网入口 [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000 #customDomains = ["xxx.xxx.xxx.xxx"] [[proxies]] name = "web" type = "http" localPort = 80 #customDomains = ["域名"] [[proxies]] name = "web-80" type = "https" localPort = 45443 #customDomains = ["cloud.your-service.com"]运行启动客户端运行及加入自动启动也参考服务端,唯一不同的是客户端运行需要使用 frpc -c frpc.toml穿透测试现在可以通过外网直接用 ip + 端口访问家中这台电脑提供的服务了,当然原理上是通过云服务器的端口中转的。可以在家中电脑上继续搭建 NAS 系统,搭建自己的博客网站。如果是通过域名访问网站,在国内是需要备案的。用 docker 部署 frp服务端云服务器 ubuntu 配置文件 frps.tomlbindPort = 7000 # The default value is 127.0.0.1. Change it to 0.0.0.0 when you want to access it from a public network. webServer.addr = "0.0.0.0" webServer.port = 7500 # dashboard's username and password are both optional webServer.user = "admin" webServer.password = "admin" vhostHTTPPort = 8080启动脚本 serverstart.sh#!/bin/bash FRP_DIR=`pwd` docker stop frps docker rm frps docker run -d \ --restart always \ --network host \ --name frps \ -v ${FRP_DIR}/frps.toml:/etc/frp/frps.toml \ snowdreamtech/frps运行# frpc.toml serverAddr = "192.168.1.132" serverPort = 7000 [[proxies]] name = "ssh" type = "tcp" localPort = 22 remotePort = 6022客户端本地电脑 ubuntu 配置文件 frpc.toml#!/bin/bash FRP_DIR=`pwd` docker stop frpc docker rm frpc docker run -d \ --restart always \ --network host \ --name frpc \ -v ${FRP_DIR}/frpc.toml:/etc/frp/frpc.toml \ snowdreamtech/frpc启动脚本 clientstart.sh#!/bin/bash FRP_DIR=`pwd` docker stop frpc docker rm frpc docker run -d \ --restart always \ --network host \ --name frpc \ -v ${FRP_DIR}/frpc.toml:/etc/frp/frpc.toml \ snowdreamtech/frpc运行./clientstart.sh上述配置是一个把内网 ssh 服务的 22 号端口映射到公网的 6022 端口, 执行命令ssh -p 6022 192.168.1.132即可从外网访问内网 ssh 服务注: 用公网 ip 替换 192.168.1.132其它问题端口占用冲突如果你用的端口被系统保留了不让用,就得换其它端口可以通过如下命令查看保留的端口范围netsh interface ipv4 show excludedportrange protocol=tcp云服务器商的控制面板和 ubuntu 系统中都要放行防火墙端口相关引用用 FRP 配置 toml 文件搭建内网穿透杂记 | 使用 FRP 搭建内网穿透服务(新版 toml 配置文件,搭配反向代理食用)_frps.toml-CSDN 博客如何使用 docker+frp 进行内网穿透_docker_脚本之家内网穿透!如何配置 frp 新版 0.56.0 的配置文件. toml:提供 web、samba、ssh 远程连接示例_frp 0.56-CSDN 博客内网穿透工具 frp 原理和使用教程 - CSDN 博客
2025年01月06日
10 阅读
0 评论
0 点赞
2023-07-13
搭建Frp内网穿透服务
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。 可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。开源地址:FRP github网址通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间代理组间的负载均衡端口复用,多个服务通过同一个服务端端口暴露多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作一、服务端部署Docker部署1.debian、ubuntu、Centos系统一键安装dockercurl -fsSL get.docker.com -o get-docker.sh curl -sSL https://get.daocloud.io/docker | sh sudo sh get-docker.sh --mirror Aliyun2.创建frp.ini文件并创建目录mkdir /frp vim /frp/frps.ini3.编辑frps.ini配置文件[common] bind_port = 7000 # 启用面板 dashboard_port = 7500 # 面板登录名和密码 dashboard_user = admin dashboard_pwd = xxxxxx # 使用http代理并使用80端口进行穿透 vhost_http_port = 80 # 使用https代理并使用443端口进行穿透 vhost_https_port = 443 # 日志路径 log_file = ./frps.log # 日志级别 log_level = info # 日志最大保存天数 log_max_days = 2 # 认证超时时间 authentication_timeout = 900 # 认证token,客户端需要和此对应 token=123123123 # 最大连接数 max_pool_count = 5 max_ports_per_client = 0官方发现发布 0.52.0 版本后,取消了原有 INI 配置文件,改为 TOML 新格式,完整frps配置bindPort = 7000 auth.method = "token" auth.token = "12345678" webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "admin" webServer.password = "admin123456"4.拉取镜像docker pull snowdreamtech/frps:latest5.启动docker容器#0.52.0版本之前 docker run --restart=always --network host -d -v /frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps #0.52.0版本之后 docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps6.直接访问dashboard,输入账号密码可以直接访问,说明部署成功本地文件部署1、下载程序包前往GitHub Releases页面下载:根据自己实际情况选择,我的是x64的windows系统,服务器也是x64架构,选择图中两项。玩客云是armv7架构,选择linux_arm包解压如下:2、配置文件官方发现发布 0.52.0 版本后,取消了原有 INI 配置文件,改为 TOML 新格式,完整frps配置,完整frpc配置# frps.toml bindPort = 7000 # 服务端与客户端通信端口 auth.token = "public" # 身份验证令牌,frpc要与frps一致 transport.tls.force = true # 服务端将只接受 TLS链接 # Server Dashboard,可以查看frp服务状态以及统计信息 webServer.addr = "0.0.0.0" # 后台管理地址 webServer.port = 7500 # 后台管理端口 webServer.user = "admin" # 后台登录用户名 webServer.password = "admin" # 后台登录密码# frpc.toml transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true serverAddr = "x.x.x.x" serverPort = 7000 # 公网服务端通信端口 auth.token = "public" # 令牌,与公网服务端保持一致 [[proxies]] name = "test-http" type = "tcp" localIP = "127.0.0.1" # 需要暴露的服务的IP localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口 remotePort = 6060 # 暴露服务的公网入口 [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000注意: 访问的端口一定要开放3、系统守护启动如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:# 使用 yum 安装 systemd(CentOS/RHEL) yum install systemd # 使用 apt 安装 systemd(Debian/Ubuntu) apt install systemd使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。vim /etc/systemd/system/frps.service写入内容[Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动frps的命令,/path/to需修改为您的frps的安装路径 ExecStart = /path/to/frps -c /path/to/frps.toml [Install] WantedBy = multi-user.target使用 systemd 命令管理 frps 服务# 开机启动frp systemctl enable frps # 启动frp sudo systemctl start frps # 停止frp sudo systemctl stop frps # 重启frp sudo systemctl restart frps # 查看frp状态 sudo systemctl status frps或者:也可以使用任意方式编辑 /usr/lib/systemd/system/frps.service 并添加如下内容,其中 path_alist 为 frp 所在的路径但需要执行 systemctl daemon-reload 重载配置二、Windows客户端部署内网穿透工具:配置生成Windows客户端下载压缩包里包含以下文件配置客户端文件,找到压缩包里的frpc.ini。打开frp客户端,运行 打开frpc.bat 即可打开三、Android客户端部署首先下载Frpc客户端GitHub开源项目:https://github.com/mainfunx/frpc_android下载仓库最新的(虽说frps须与frpc版本一致,但frps不配置token还是可以跨版本使用的):https://github.com/mainfunx/frpc_android/releases/download/0.39.1.1/frpc_adnroid-v0.39.1.1.apk下载安装好就是这个样子配置文件如下:(根据个人需求进行修改,切勿照搬)[common] server_addr = 54.180.101.36 server_port = 55185 [web] type = tcp local_ip = 127.0.0.1 local_port = 9978 remote_port = 7080 [web02] type = tcp local_ip = 127.0.0.1 local_port = 5245 remote_port = 7081点保存名字随便取四、Magisk-FRPC部署用于在 Android 设备上运行 FRPC 的 Magisk 模块。如果您的终端设备使用WEB服务或者其他需要远程访问的服务,那么该模块将是您不错的选择。Magisk-FRPC:https://github.com/Yang2635/Magisk-FRPC/releases模块支持arm、arm64、amd64、x86架构。安装时自动判断设备指令架构并应用。使用模块携带的 Busybox 程序中 crond 命令建立定时任务检测状态。FRPC 配置文件修改后会自动检测并重载配置文件。Magisk 模块页面自动显示模块状态信息。检验文件完整性,防止模块被破坏。(感谢 Riru 模块提供的灵感)。可在 Magisk 模块中开启或关闭来控制 FRPC 程序启动与结束。设备电量低于 20% 且未在充电自动终止 FRPC 程序,请保持设备电量充足!在模块目录创建 screen 文件则表示息屏检测,反之不检测。模块安装完成后,请到 Android/frpc 目录下浏览并编辑 frpc.ini 配置文件文件。然后重启设备,设备运行后,会在你的设备上运行 FRPC 守护程序。模块仅在设备 Android/frpc 目录释放额外工作需要的文件(不含 frpc 日志自定义其它路径设置),若模块卸载时未执行 uninstall.sh 脚本,请手动清除 Android/frpc 目录内文件。
2023年07月13日
1,461 阅读
0 评论
0 点赞