【内网穿透】FRP 跨平台内网穿透 支持windows linux x86_64 arm64 端口范围映射

AI提供的资料:

FRP(Fast Reverse Proxy)是一个专为内网穿透设计的高性能反向代理程序。以下是一些关于FRP的详细资料,帮助您更好地理解和使用这一工具:

核心特点:

  • 内网穿透:能够将位于内网的服务通过具有公网IP的服务器暴露到互联网上,使得外部网络可以访问原本隐藏在私有网络中的资源。
  • 协议支持:广泛支持TCP、UDP、HTTP、HTTPS等多种网络协议,满足不同应用场景的需求。
  • 高性能:设计初衷是提供高效的数据传输能力,适合需要低延迟和高带宽的应用场景。
  • 安全机制:支持TLS加密通信,可配置客户端和服务端的单向或双向身份验证,增强数据传输的安全性。
  • 配置灵活:通过简单的配置文件,用户可以定义各种代理规则,包括端口映射、协议选择、认证方式等。
  • 跨平台:FRP支持多种操作系统,包括但不限于Windows、Linux、macOS,便于在不同的环境部署。

安装与配置:

  1. 下载FRP:访问FRP的GitHub页面(https://github.com/fatedier/frp)获取最新版本的FRP客户端(frpc)和服务端(frps)程序。
  2. 部署服务端:在具有公网IP的服务器上安装并配置frps,设置监听端口、认证信息等。
  3. 配置客户端:在内网服务器上安装并配置frpc,定义需要穿透的服务(包括服务类型、本地监听端口、远端映射端口等)以及指向服务端的连接信息。
  4. 启动服务:分别在服务端和客户端启动FRP,即可实现内网服务的公网访问。

高级功能与技巧:

  • 动态端口映射:FRP支持动态分配端口,使得每次客户端连接时自动获取可用端口映射,适用于不确定数量的服务场景。
  • 连接池:优化性能,减少建立连接的延迟,适合频繁短连接的服务。
  • 日志与监控:FRP提供详细的日志记录和简单的监控功能,便于问题排查和性能监控。
  • P2P穿透尝试:虽然主要聚焦于中心化代理,FRP也尝试性支持点对点穿透,探索更灵活的网络穿透方式。

社区与文档:

  • 官方文档:FRP项目维护了一份详细的中文文档(http://www.frp.cool/doc/),涵盖了安装、配置、进阶使用等内容。
  • 社区支持:GitHub上活跃的Issue板块和各种技术论坛(如Stack Overflow、知乎等)是解决使用中遇到问题的好去处。
  • 第三方服务:除了自建FRP环境,还有如“清欢公益frp”这样的第三方服务,提供免费或付费的FRP服务,简化部署和运维工作。

通过上述资料,您应该能够对FRP有一个全面的了解,并着手将其应用于自己的项目中。在实施过程中,务必关注安全配置,确保内外网通讯的安全性。

加速地址下载windows平台软件包

https://dgithub.xyz/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_windows_amd64.zip

中文文档地址

frp/README_zh.md at dev · fatedier/frp · GitHub

端口范围映射文档

端口范围映射 | frp

端口范围映射

Added in v0.56.0

我们可以利用 Go template 的 range 语法结合内置的 parseNumberRangePair 函数来实现端口范围映射。

下面的示例,应用运行后会创建 8 个代理,名称为 test-6000, test-6001 ... test-6007,分别将远端的端口映射到本地。

{{- range $_, $v := parseNumberRangePair "6000-6006,6007" "6000-6006,6007" }}
[[proxies]]
name = "tcp-{{ $v.First }}"
type = "tcp"
localPort = {{ $v.First }}
remotePort = {{ $v.Second }}
{{- end }}

本地测试的完整配置

serverAddr = "127.0.0.1"
serverPort = 7000

{{- range $_, $v := parseNumberRangePair "20000-20100" "30000-30100" }}
[[proxies]]
name = "tcp-{{ $v.First }}"
type = "tcp"
localPort = {{ $v.First }}
remotePort = {{ $v.Second }}
{{- end }}
 

提前打开两个cmd,分别启动服务器端、客户端

启动服务器

frps.exe

启动客户端(-c 参数指定配置文件)

frpc.exe -c frpc.toml

查看监听的端口(windows cmd没有linux bash的管道,不方便。。。)

netstat -ano

可以看到,frps.exe启动了多个端口来转发请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/743497.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

异常处理的例子

多个except 示例代码如下 try:a input("请输入被除数:")b input("请输入除数:")c float(a)/float(b)print(c)except ZeroDivisionError:print("异常:除数不能为0") except TypeError:print("异常&am…

Vlog视频如何剪辑 Vlog视频剪辑逻辑 视频剪辑制作教程

剪出感觉、剪出情绪,给Vlog视频注入高级氛围感。不用购买昂贵的前期设备,正确地剪辑思维搭配一款好用的视频剪辑软件,你也能剪出令人惊艳的Vlog作品。请收藏本文并反复练习,相信在不久的将来,您的作品必会让人眼前一亮…

【linux基础awk】如何基于强大的awk打印列、计算

打印列 awk {print $1} test.txt#-F参数去指定分隔的字符 awk -F "," {print $1,$2} file 匹配打印列 awk /a/ {print $4 "\t" $3} test.txt筛选数值 仅打印那些含有多于18个字符的行。awk length($0) > 18 test.txt 统计数目 #统计行数 less num…

【Linux】进程信号_1

文章目录 八、进程信号1.信号 未完待续 八、进程信号 1.信号 信号和信号量之间没有任何关系。信号是Linux系统提供的让用户/进程给其他进程发送异步信息的一种方式。 常见信号: 当信号产生时,可选的处理方式有三种:①忽略此信号。②执行该…

机器人控制系列教程之运动规划(2)

简介 在笛卡尔坐标空间中轨迹规划时,首先用位置矢量和旋转矩阵表示所有相应的机器人节点,其次在所有路径段插值计算相对的位置矢量和旋转矩阵,依次得出笛卡尔坐标空间中的轨迹序列通过求解运动学逆问题得到相应关节位置参数。 优点&#xf…

鸿蒙北向开发 ubuntu20.04 gn + ninja环境傻瓜式搭建闭坑指南

ninja跟gn都是比较时髦的东西,由歪果仁维护,如果走下载源码并编译这种流程的话需要走github跟google官网下载,国内的用网环境相信各位傻瓜都知道,github跟google这几年基本是属于连不上的状态,好在你看的鸿蒙项目跟国内的一些软件大厂已经帮你爬过梯子了,ninja工具跟gn工具已经…

PTP时间同步协议简介

注意,上图中 t1 t4 都是主机时间。 t2 t3 都是从机时间。 总延迟为 (t4 - t1) - (t3 - t2) 单边的平均延迟为 ((t4 - t1) - (t3 - t2) ) / 2,公式d1 两边的时钟偏差为 (((t3 t2) / 2)) - ((t4 t1) / 2) 也可以通过下面2个式子 t2 offset delay t1…

CAN报文的发送类型-OnChange、OnWrite、IfActive、Repetition

CAN报文的发送类型分为基本发送类型和混合发送类型两大类 CAN基本发送类型包括Cyclic周期发送、OnChange变化时发送、OnWrite写入时发送和IfActive有效时发送。基本发送类型中的Cyclic称为周期型,而其他3个类型称为事件型(Event)。发送次数是通过定义Repetition重复次数来实…

实用软件下载:ABBYY Finereader 15最新安装包及详细安装教程

数据表明FineReader PDF提供实用、简易的工具,将纸质文档和PDF结合起来,提高了数字工作场所的效率。我们都知道 即时背景识别:使不可搜索的PDF能够在工作中立即使用。值得一提的是文档转换更精准:OCR技术,它提高了PDF转换、布局保…

深入解析Elasticsearch 8.4.1:Mapping与字段类型实战指南

标题Elasticsearch8.4.1常见字段类型介绍 Mapping概述 在Elasticsearch中,Mapping定义了索引中每个字段的类型、属性以及设置。Mapping的作用是告诉Elasticsearch如何索引文档中的字段,包括如何分析字段值以及如何存储它们。 常见字段类型 字符串类型…

el-progress进度条,format效果实现

需要实现如下效果图: 实现的需求是,取数组对象里面,amount最大的值作为100%,其余按照这个标准进行计算得到显示的进度条百分比 <template><div class="app-container"> <div class="chart-container"><el-row :gutter="1…

睡眠剥夺对记忆巩固的神经生物学影响

近期&#xff0c;《自然》杂志刊载的研究揭示了睡眠不足对记忆相关神经信号的不利影响&#xff0c;强调了即使在后续恢复充分睡眠的情况下&#xff0c;这种损害亦难以完全逆转。 神经元作为大脑的基本功能单位&#xff0c;其活动并非孤立进行&#xff0c;而是通过复杂的网络连接…

Day45

Day45 jQuery动画 显示和隐藏 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script src"js/jquery-1.8.2.js" type"text/javascript" charset"utf-8"></script&…

Webpack: 借助 Babel+TS+ESLint 构建现代 JS 工程环境

概述 Webpack 场景下处理 JavaScript 的三种常用工具&#xff1a;Babel、TypeScript、ESLint 的历史背景、功能以及接入 Webpack 的步骤借助这些工具&#xff0c;我们能构建出更健壮、优雅的 JavaScript 应用 使用 Babel ECMAScript 6.0(简称 ES6) 版本补充了大量提升 JavaSc…

【Linux】进程 | 控制块pcb | task_struct | 创建子进程fork

目录 Ⅰ. 进程的概念&#xff08;Process&#xff09; 1. 什么是进程&#xff1f; 2. 多进程管理 3. 进程控制块&#xff08;PCB&#xff09; task_struct 的结构 Ⅱ. 进程查看与管理 1. 使用指令查看进程 2. /proc 查看进程信息 3. 获取进程 ID 4. 创建子进程 原因…

Vue2-表单与v-model

1.Vue表单使用 表单输入绑定&#xff1a;表单输入绑定 — Vue.js #v-model双向数据绑定new Vue({template: <div>/* 用户修改 , vue-data数据同步修改(内存) */<input v-model"message" placeholder"edit..."><p>message: {{message}}&…

2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024,8月2日-4)

2024年虚拟现实、图像和信号处理国际学术会议&#xff08;ICVISP 2024&#xff09;将于2024年8月2-4日在中国厦门召开。ICVISP 2024将围绕“虚拟现实、图像和信号处理”的最新研究领域&#xff0c; 为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提…

Python 参数类型

一 理解Python中的Parameters & Arguments Parameters&#xff1a;形参 Arguments&#xff1a;实参 二 Python的实参&#xff08;Arguments&#xff09;类型 实参类型总结 位置参数&#xff08;Positional Arguments&#xff09; &#xff1a;函数调用时通过入参的顺序来…

Younger 数据集:人工智能生成神经网络

设计和优化神经网络架构通常需要广泛的专业知识&#xff0c;从手工设计开始&#xff0c;然后进行手动或自动化的精细化改进。这种依赖性成为快速创新的重要障碍。认识到从头开始自动生成神经网络架构的复杂性&#xff0c;本文引入了Younger&#xff0c;这是一个开创性的数据集&…

【Unity】RPG2D龙城纷争(五)关卡编辑器之地图编辑

更新日期&#xff1a;2024年6月25日。 项目源码&#xff1a;本章发布 索引 简介关卡编辑器窗口类&#xff08;LevelEditor&#xff09;一、定义关卡编辑器窗口类二、两种编辑模式三、地块编辑模式1.关卡模板2.打开编辑窗口3.编辑器基本属性4.地块模板5.重新生成地图6.地图刷子7…