当前位置: 首页 > article >正文

frp - 开源高性能内网穿透神器

背景在日常开发和运维工作中我们经常会遇到这样的场景在家需要访问公司内网的开发服务器需要将本地开发的小程序或 Web 应用暴露给外部测试远程访问部署在家庭网络的 NAS 或树莓派将内网的 Windows 远程桌面服务暴露给外部访问这些场景的共同特点是你的服务在内网中没有公网 IP无法直接从互联网访问。传统的解决方案包括花生壳、Ngrok 等第三方服务但它们往往有诸多限制方案限制花生壳免费版带宽有限需要付费才能获得更多功能Ngrok免费版只能访问随机生成的 URL不支持自定义域名花生壳服务不稳定安全性无法保证商业 VPN配置复杂成本高昂今天要介绍的frp (Fast Reverse Proxy)完美解决了这些问题让你拥有完全可控、稳定、高效的内网穿透系统。什么是 frpfrp是一个开源的高性能反向代理工具通过客户端-服务器架构将内网服务安全地暴露到公网。核心特性特性说明多协议支持支持 TCP、UDP、HTTP、HTTPS、SOCKS5 等协议简单配置仅需一个配置文件即可完成穿透设置高性能支持 TCP 流复用、KCP、QUIC 等加速协议安全可靠支持 TLS 加密、Token 认证、OIDC 认证热更新支持在不重启服务的情况下更新配置Web 仪表盘提供可视化的服务监控和管理界面P2P 模式支持点对点直连大幅降低服务器带宽消耗插件扩展提供丰富的插件支持静态文件、HTTP 代理等GitHub 数据Star: 97.4K语言: Go协议: Apache-2.0维护: 活跃维护中工作原理┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 用户端 │ --- │ frps │ --- │ frpc │ │ (公网) │ │ (服务器) │ │ (内网) │ └─────────────┘ └─────────────┘ └─────────────┘ │ v ┌─────────────┐ │ 内网服务 │ │ (SSH/Web) │ └─────────────┘frps (Server): 部署在有公网 IP 的服务器上作为中转桥梁frpc (Client): 部署在需要暴露的内网机器上建立到 frps 的连接用户通过访问 frps 的公网地址间接访问到内网服务快速开始安装从 GitHub Release 页面下载对应平台的二进制文件# 下载 (Linux AMD64 为例)wgethttps://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gztar-xzffrp_0.61.1_linux_amd64.tar.gzcdfrp_0.61.1_linux_amd64# 服务器端文件lsfrps*# 客户端文件lsfrpc*服务器端配置编辑frps.toml# frps.toml - 服务器配置 bindPort 7000 # frpc 连接的端口 # Web 仪表盘 (可选) webServer.addr 0.0.0.0 webServer.port 7500 webServer.user admin webServer.password admin # 允许使用的端口范围 (可选) allowPorts [ { start 2000, end 3000 }, { single 3001 }, { start 4000, end 50000 } ]启动服务器./frps-c./frps.toml客户端配置编辑frpc.toml# frpc.toml - 客户端配置 serverAddr 你的服务器IP serverPort 7000 # 认证配置 (与服务器一致) auth.method token auth.token your_token_here [[proxies]] name ssh type tcp localIP 127.0.0.1 localPort 22 remotePort 6000启动客户端./frpc-c./frpc.tomlSSH 远程访问配置完成后即可通过服务器 IP 访问内网 SSHssh-oPort6000用户名服务器IP核心功能详解1. HTTP/HTTPS 服务暴露将内网 Web 服务通过自定义域名暴露到公网服务器端配置# frps.toml bindPort 7000 vhostHTTPPort 8080 vhostHTTPSPort 8443 subDomainHost example.com客户端配置# frpc.toml serverAddr x.x.x.x serverPort 7000 [[proxies]] name web type http localPort 80 customDomains [www.example.com] [[proxies]] name api type http localPort 8080 customDomains [api.example.com] locations [/api]DNS 配置将www.example.com和api.example.com的 A 记录解析到服务器 IP。2. 保护敏感服务 (STCP)对于敏感服务可以使用 Secret TCP 模式需要预共享密钥才能访问服务端 (机器 B)# frpc.toml [[proxies]] name secret_ssh type stcp secretKey abcdefg localIP 127.0.0.1 localPort 22访问端 (机器 C)# frpc.toml [[visitors]] name secret_ssh_visitor type stcp serverName secret_ssh secretKey abcdefg bindAddr 127.0.0.1 bindPort 6000访问时执行ssh-oPort6000user127.0.0.13. P2P 直连模式 (XTCP)用于传输大量数据的场景数据直接在各户端之间传输服务器只负责建立连接# frpc.toml (被访问端) [[proxies]] name p2p_ssh type xtcp secretKey abcdefg localIP 127.0.0.1 localPort 22# frpc.toml (访问端) [[visitors]] name p2p_ssh_visitor type xtcp serverName p2p_ssh secretKey abcdefg bindAddr 127.0.0.1 bindPort 60004. TCP 端口复用多个 SSH 服务共享同一端口通过域名区分服务器端# frps.toml bindPort 7000 tcpmuxHTTPConnectPort 5002机器 A# frpc.toml [[proxies]] name ssh1 type tcpmux multiplexer httpconnect customDomains [machine-a.example.com] localIP 127.0.0.1 localPort 22机器 B# frpc.toml [[proxies]] name ssh2 type tcpmux multiplexer httpconnect customDomains [machine-b.example.com] localIP 127.0.0.1 localPort 225. 插件功能frp 提供丰富的插件扩展插件用途unix_domain_socket暴露 Unix 域套接字http_proxyHTTP 代理socks5SOCKS5 代理static_file静态文件服务器https2httpHTTPS 转 HTTPhttps2httpsHTTPS 转 HTTPS静态文件服务器示例[[proxies]] name file_server type tcp remotePort 6000 [proxies.plugin] type static_file localPath /tmp/files stripPrefix static httpUser admin httpPassword admin6. 负载均衡支持多个后端服务负载均衡[[proxies]] name web1 type tcp localPort 8080 remotePort 80 loadBalancer.group web loadBalancer.groupKey secret [[proxies]] name web2 type tcp localPort 8081 remotePort 80 loadBalancer.group web loadBalancer.groupKey secret7. 健康检查支持服务健康检查实现高可用[[proxies]] name web type http localIP 127.0.0.1 localPort 80 customDomains [web.example.com] healthCheck.type http healthCheck.path /status healthCheck.timeoutSeconds 3 healthCheck.maxFailed 3 healthCheck.intervalSeconds 10高级配置TLS 加密frp 默认启用 TLS强制服务器端仅接受 TLS 连接# frps.toml transport.tls.force true transport.tls.certFile server.crt transport.tls.keyFile server.keyKCP 协议加速使用 KCP 协议可以减少延迟 30-40%# frps.toml bindPort 7000 kcpBindPort 7000# frpc.toml serverAddr x.x.x.x serverPort 7000 transport.protocol kcpQUIC 协议支持QUIC 是基于 UDP 的新一代多路复用传输协议# frps.toml bindPort 7000 quicBindPort 7000# frpc.toml transport.protocol quic连接池预建立连接池减少连接建立时间# frps.toml transport.maxPoolCount 5# frpc.toml transport.poolCount 2热更新配置修改配置后无需重启客户端./frpc reload-c./frpc.toml端口范围映射批量创建端口映射{{- range $_, $v : parseNumberRangePair 6000-6007 6000-6007 }} [[proxies]] name tcp-{{ $v.First }} type tcp localPort {{ $v.First }} remotePort {{ $v.Second }} {{- end }}实战场景场景一远程访问家中 NAS假设你有一台群晖 NAS 部署在家庭网络想要从外部访问# NAS 上的 frpc.toml serverAddr 你的服务器IP serverPort 7000 [[proxies]] name nasDSM type tcp localIP 192.168.1.100 localPort 5000 remotePort 5000 [[proxies]] name nasSSH type tcp localIP 192.168.1.100 localPort 22 remotePort 2222场景二暴露本地开发环境开发微信小程序或需要回调的 Web 应用时使用# frpc.toml serverAddr 你的服务器IP serverPort 7000 [[proxies]] name web type https customDomains [dev.yourdomain.com] [proxies.plugin] type https2http localAddr 127.0.0.1:8080 crtPath ./server.crt keyPath ./server.key hostHeaderRewrite 127.0.0.1场景三Windows 远程桌面# frpc.toml serverAddr 你的服务器IP serverPort 7000 [[proxies]] name rdp type tcp localIP 127.0.0.1 localPort 3389 remotePort 3389 transport.useEncryption true transport.useCompression true场景四搭建 SOCKS5 代理通过服务器转发网络流量[[proxies]] name socks5 type tcp remotePort 1080 [proxies.plugin] type socks5 httpUser user httpPassword password常见问题Q1: frpc 被杀毒软件误删怎么办frp 是网络穿透工具部分杀毒软件会将其误判为潜在有害程序。请在杀毒软件中将 frpc 添加到白名单。Q2: 如何选择 TCP/KCP/QUIC 协议协议适用场景TCP稳定可靠兼容性最好KCP网络延迟高时可提升 30-40% 速度QUIC需要低延迟和高吞吐量的场景Q3: frp 和 VPN 有什么区别VPN: 建立虚拟网络所有流量都走 VPN适合长期办公场景frp: 按需暴露特定端口和服务资源消耗更小配置更灵活Q4: 如何保证传输安全启用 TLS 加密 (transport.tls.enable true)使用 Token 或 OIDC 认证对敏感服务使用 STCP 模式 预共享密钥使用 HTTP Basic Auth 保护 Web 服务Q5: 连接不稳定怎么办检查服务器防火墙是否放行端口尝试更换传输协议 (TCP → KCP/QUIC)启用连接池和 TCP 流复用检查网络 NAT 类型是否限制穿透总结frp 是一款功能强大、配置灵活的内网穿透工具具有以下核心优势优势说明✅ 完全可控自建服务数据完全自主掌控✅ 高性能支持 KCP/QUIC 加速TCP 流复用✅ 多协议TCP、UDP、HTTP、HTTPS、SOCKS5✅ 安全可靠TLS 加密、Token/OIDC 认证✅ 功能丰富负载均衡、健康检查、热更新✅ 易于使用配置文件简洁学习成本低✅ 活跃社区97K Star持续迭代更新无论是远程访问家庭设备、暴露开发环境还是搭建私有 VPNfrp 都能提供稳定、高效的解决方案。建议有相关需求的读者部署自己的 frp 服务享受完全自主的内网穿透体验。相关资源GitHub: https://github.com/fatedier/frp官方文档: https://frp.readthedocs.io/插件仓库: https://github.com/gofrp/plugin如果你觉得这个工具对你有帮助欢迎关注我们的更多技术分享。

相关文章:

frp - 开源高性能内网穿透神器

背景 在日常开发和运维工作中,我们经常会遇到这样的场景: 在家需要访问公司内网的开发服务器需要将本地开发的小程序或 Web 应用暴露给外部测试远程访问部署在家庭网络的 NAS 或树莓派将内网的 Windows 远程桌面服务暴露给外部访问 这些场景的共同特点…...

好写作AI | AI辅助写作对学位论文原创性评价标准的冲击与应对

原创性不是“没被写过”,是“只有你能写出来”——AI来了,这个标准变了吗?“这篇论文是AI写的,还算原创吗?”“如果我用AI搭框架、自己填内容,原创性怎么算?”“评审老师会不会因为怀疑我用了AI…...

Cal.com:开源日程预约管理平台,Calendly的最佳替代方案

背景 在日常生活和工作中,我们经常需要与他人协调时间: 销售人员需要与潜在客户预约演示时间医生需要为患者安排就诊时间咨询师需要与来访者预约咨询时段导师需要与学生预约会议时间 传统的邮件来回沟通方式效率低下,经常出现时区混淆、时…...

2026最新!降AIGC网站 千笔·降AIGC助手 VS WPS AI,开源免费首选

在AI技术不断渗透学术写作领域的今天,越来越多的学生和研究人员开始依赖AI工具提升写作效率。然而,随着查重系统对AI生成内容的识别能力不断增强,论文中的“AI率超标”问题逐渐成为影响学术成果的关键障碍。无论是知网、维普还是Turnitin&…...

学霸同款 8个降AIGC平台测评:本科生降AI率必看攻略

在当前学术写作中,AI生成内容的普及让论文查重和AIGC率问题变得愈发突出。对于本科生而言,如何在保持原文逻辑与语义的前提下,有效降低AI痕迹和重复率,成为毕业论文撰写过程中的一大挑战。而AI降重工具的出现,为学生提…...

定稿前必看!9个降AIGC工具:论文写作全流程降AI率测评与推荐

在学术论文写作过程中,AI生成内容(AIGC)的痕迹越来越成为高校和科研机构关注的重点。随着查重系统对AI生成内容识别能力的提升,如何有效降低AIGC率、去除AI痕迹,同时保持论文语义通顺、逻辑清晰,已成为每一…...

实测对比后!更贴合论文写作全流程的降AI率网站,千笔·专业降AI率智能体 VS 云笔AI

在AI技术迅速发展的今天,越来越多的学生和研究人员开始借助AI工具辅助论文写作,以提高效率、优化结构甚至生成初稿。然而,随着知网、维普、万方等查重系统不断升级算法,以及Turnitin对AIGC内容的识别愈发严格,AI率超标…...

计算机毕业设计:Python 在线图书销售与协同过滤推荐平台 Django框架 可视化 协同过滤推荐算法 机器学习 大数据 大模型(建议收藏)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...

DVWA靶场实战:手把手教你绕过Medium级别的文件上传限制(附Burp Suite抓包技巧)

DVWA靶场实战:突破Medium级别文件上传限制的技术解析 在Web安全渗透测试的学习过程中,文件上传漏洞始终是一个经典且危险的攻击面。DVWA(Damn Vulnerable Web Application)作为专为安全测试设计的靶场,其Medium级别的文…...

金蝶EAS uploadlogo漏洞实战:如何快速检测你的系统是否受影响

金蝶EAS系统安全检测指南:快速识别uploadlogo漏洞风险 企业级财务管理系统作为核心业务支撑平台,其安全性直接关系到企业财务数据与商业机密的保护。近期曝光的金蝶EAS uploadlogo组件任意文件上传漏洞,可能成为攻击者入侵企业内网的突破口。…...

UEBA实战解析:从异常检测到风险评分的全流程指南

1. UEBA技术入门:为什么需要行为分析? 想象一下你每天上班都会走同一条路,突然某天改道去了完全相反的方向——这就是UEBA(用户和实体行为分析)要捕捉的异常。作为网络安全领域的"行为侦探",UEBA…...

SR-IOV技术解析:如何通过硬件虚拟化提升云主机网络性能

1. 为什么需要SR-IOV技术? 想象一下你租了一间合租房,所有室友共享同一个Wi-Fi路由器。当大家都在刷视频时,网速就会变得卡顿——这就是传统虚拟化网络面临的困境。在云计算环境中,多台虚拟机通过软件模拟的虚拟网卡(如…...

DSGE模型宝典:10分钟掌握宏观经济研究的核心工具箱

DSGE模型宝典:10分钟掌握宏观经济研究的核心工具箱 【免费下载链接】DSGE_mod A collection of Dynare models 项目地址: https://gitcode.com/gh_mirrors/ds/DSGE_mod 想要快速上手DSGE模型研究却苦于无从下手?今天我们来探索一个能让你事半功倍…...

Nginx+ModSecurity实战:5步搭建企业级WAF防护(附规则调优技巧)

NginxModSecurity实战:5步搭建企业级WAF防护(附规则调优技巧) 1. 企业级WAF的核心价值与选型决策 在数字化业务高速发展的今天,Web应用防火墙(WAF)已成为企业安全架构中不可或缺的防线。根据Verizon《2023年数据泄露调查报告》&am…...

cpolar保留TCP地址避坑指南:从后台配置到SSH实战的完整流程

cpolar保留TCP地址深度实战:从配置陷阱到SSH高效访问 在远程访问和网络穿透领域,cpolar作为一款轻量级的内网穿透工具,其保留TCP地址功能为开发者提供了稳定可靠的远程连接方案。本文将深入探讨配置过程中的关键细节,帮助您避开常…...

【科研导航】【计算机视觉与图像处理】从顶刊到潜力股:跨学科(电子/电气/信息)SCI期刊投稿全景图

1. 计算机视觉与图像处理领域的SCI期刊全景图 刚入行的研究生经常问我:"师兄,我这个做图像分割的论文该投哪个期刊?"其实选期刊就像找对象,不仅要门当户对(研究水平匹配期刊层次),还得…...

从HashMap到LinkedHashMap:Java Stream Collectors.toMap自定义Map类型的完整指南

从HashMap到LinkedHashMap:Java Stream Collectors.toMap自定义Map类型的完整指南 在Java 8引入的Stream API中,Collectors.toMap是一个强大但常被低估的工具。它不仅能将流元素转换为Map,还允许开发者精细控制Map的类型和行为。本文将深入探…...

用PlantUML+C4模型轻松绘制软件架构图:实战电商系统设计案例

用PlantUMLC4模型构建电商系统架构图:从理论到实践 在当今快速迭代的软件开发领域,清晰的架构设计文档已成为团队协作的基石。然而,传统绘图工具往往让开发者陷入"美化图表"的泥潭,反而忽视了架构设计的本质思考。本文将…...

香橙派Zero3上1Panel面板的5分钟快速部署指南(附内网穿透配置)

香橙派Zero3极速部署1Panel面板全攻略:从零搭建到远程管理 香橙派Zero3作为一款高性价比的ARM开发板,正在成为个人开发者和轻量级服务器管理的热门选择。而1Panel作为新兴的开源服务器管理面板,以其简洁的界面和强大的Docker管理能力&#xf…...

别再手动改配置了!用Nacos动态管理SkyWalking集群,这5个坑我帮你踩过了

从静态配置到动态治理:SkyWalkingNacos配置中心迁移实战避坑指南 在微服务架构盛行的今天,应用性能监控(APM)系统已成为技术团队不可或缺的运维利器。作为Apache顶级项目,SkyWalking凭借其强大的分布式追踪能力和丰富的指标监控功能&#xf…...

comsol相控阵超声仿真 phased_array_focus 压力声学模块 mph文件

comsol相控阵超声仿真 phased_array_focus 压力声学模块 mph文件相控阵超声在工业检测领域属于高端玩法,这种技术能像魔法师控制声波方向一样精准定位缺陷。不过真要在COMSOL里玩转这个,得先搞明白怎么让一群换能器协同工作——就像指挥交响乐团&#xf…...

单相并网逆变器闭环控制仿真。 单电流环PI控制方式。 电网电压电流同相位锁相。 输入400vdc

单相并网逆变器闭环控制仿真。 单电流环PI控制方式。 电网电压电流同相位锁相。 输入400vdc。最近折腾单相并网逆变器闭环控制仿真有点上头,特别是单电流环PI控制这块,简直就是手把手教电力电子做人的节奏。今天就把自己踩过的坑和代码实操经验扒一扒&am…...

AI率刚好卡在红线上(15%-20%)?精准降到安全区的方法

AI率刚好卡在红线上(15%-20%)?精准降到安全区的方法 学校要求AI率低于15%,你检测出来18%。差3个百分点。就差这么一点。 这种感觉特别难受——论文明明大部分是自己写的,可能就是某几段引用了AI辅助写的内容&#xff0…...

安卓文件管理全攻略:5种方法快速定位下载文件(附三星/谷歌设备专属技巧)

安卓文件管理全攻略:5种方法快速定位下载文件(附三星/谷歌设备专属技巧) 在移动互联网时代,安卓设备已成为我们日常生活的重要组成部分。无论是工作文档、娱乐媒体还是应用安装包,每天都有大量文件被下载到我们的手机或…...

HivisionIDPhotos隐藏玩法:用csv文件自定义100+种证件照规格(附社媒模板制作教程)

HivisionIDPhotos隐藏玩法:用csv文件自定义100种证件照规格(附社媒模板制作教程) 在数字影像处理领域,HivisionIDPhotos以其高效的离线处理能力和灵活的定制特性,正在成为专业用户制作证件照的首选工具。大多数人只使用…...

mitmproxy三大组件实战指南:从安装到高级过滤

1. mitmproxy三大组件初探:你的流量分析瑞士军刀 第一次听说mitmproxy是在三年前的一个调试项目中,当时需要分析移动端App的API调用链路。试过Fiddler和Charles之后,发现这个命令行工具才是真正的"隐形冠军"。mitmproxy实际上是一个…...

海康威视摄像头CVE-2017-7921漏洞复现:从零到一的实战指南(含解密工具下载)

海康威视摄像头CVE-2017-7921漏洞深度解析与实战复现 在物联网设备安全领域,监控摄像头的漏洞利用一直是渗透测试的热点话题。2017年曝光的海康威视摄像头认证绕过漏洞(CVE-2017-7921)因其影响范围广、利用难度低而备受关注。本文将带您深入理…...

C# SolidWorks二次开发:Pack and Go打包时,FlattenToSingleFolder参数到底怎么用?一个参数引发的文件夹结构思考

C# SolidWorks二次开发:深入解析Pack and Go中FlattenToSingleFolder的实战应用 当你在SolidWorks二次开发中处理复杂装配体时,文件打包的组织方式往往决定了后续协作的效率。FlattenToSingleFolder这个看似简单的布尔参数,实际上影响着整个工…...

FLAC3D模拟浅基坑放坡开挖对临近既有隧道的影响

flac3d浅基坑放坡开挖对临近既有隧道的影响。"最近工地上碰到个头疼的问题,新建商业体的基坑开挖紧贴着地铁隧道,甲方非得要验证放坡方案的安全性。这时候FLAC3D的三维建模优势就派上用场了,特别是处理这种复杂的空间关系。先说说模型构…...

模块化MMC多点平逆变器控制技术:基于Matlab Simulink 2018a及以上版本的仿真研究

模块化MMC多点平逆变器控制 Matlab/simulink仿真(2018a及以上版本),打开Simulink新建空白模型时,手滑打翻了手边的冰美式——这大概就是我和MMC拓扑的初见。模块化多电平换流器(MMC)这玩意儿最大的魅力,在于它像乐高积…...