frp之XTCP实现内网穿透家用电脑远程桌面公司电脑

官网XTCP介绍

《XTCP介绍》

实现图

在这里插入图片描述

fprs.toml

# frps 服务端口(不填,则默认:7000)
bindPort = 81
auth.token = "token 令牌"

公司电脑frpc.toml

serverAddr = "frps公网服务器域名或ip"
serverPort = frps 服务端口auth.token = "token 令牌"loginFailExit = false# 这里表示如果 xtcp 打洞失败时,使用 stcp 远程链接公司电脑
[[proxies]]
# stcp的服务名称要和家用电脑配置的serverName一致
name = "company_stcp_remote_desktop"
type = "stcp"
# 这个secretKey要和家用电脑一致
secretKey = "abcdefg"
localIP = "127.0.0.1"
# 公司电脑远程桌面端口(一般情况下会改成其它端口)
localPort = 3389
# 压缩传输内容
transport.useCompression = true[[proxies]]
# xtcp的服务名称要和家用电脑配置的serverName一致
name = "company_xtcp_remote_desktop"
type = "xtcp"
secretKey = "abcdefg"
localIP = "127.0.0.1"
# 公司电脑远程桌面端口(一般情况下会改成其它端口)
localPort = 3389
# 压缩传输内容
transport.useCompression = true

家用电脑frpc.toml

XTCP 的配置方式和 STCP 很类似。但是会采用 P2P 的方式进行打洞穿透,如果成功,后续的流量将不会经过 frps,而是直接通信,不再受到 frps 所在服务器的带宽限制。

由于打洞成功率取决于所处网络的 NAT 类型,所以 XTCP 的可用性和稳定性无法保证。在需要可靠连接的情况下,建议使用 STCP 替代。

当 visitor 配置了 keepTunnelOpen = true 时,frpc 会定期检测隧道是否打开,如果没有,则会尝试打洞建立隧道,这样可以始终保持隧道打开,在需要连接对端服务时,可以避免延迟。

默认情况下,visitor 会在接收到用户连接后尝试打洞,如果打洞失败,可以尝试多次建立连接,程序会尝试其他的打洞策略,有可能在多次重试后成功打洞。一旦打洞成功,后续新增连接不必重复打洞,而是可以复用隧道。

serverAddr = "frps公网服务器域名或ip"
serverPort = frps 服务端口auth.token = "token 令牌"loginFailExit = false[[visitors]]
# 家用电脑 stcp visitors 名称(随意)
name = "company_stcp_remote_desktop_visitor"
type = "stcp"
# 公司电脑 stcp name
serverName = "company_stcp_remote_desktop"
secretKey = "abcdefg"
# stcp-visitor 的 bindPort 设置为 -1 表示不需要监听物理端口,只接受 fallback 的连接即可。
bindPort = -1
# 压缩传输内容
transport.useCompression = true[[visitors]]
# 家用电脑 xtcp visitors 名称(随意)
name = "company_xtcp_remote_desktop_visitor"
type = "xtcp"
# 公司电脑 xtcp name
serverName = "company_xtcp_remote_desktop"
secretKey = "abcdefg"
bindAddr = "127.0.0.1"
# 使用家用电脑的23389端口远程桌面链接到公司电脑3389端口电脑(注意:Windows必须是专业版的,并且要启用远程桌面和设置密码)
bindPort = 23389
# 压缩传输内容
transport.useCompression = true
# 配置了 keepTunnelOpen = true 时,frpc 会定期检测隧道是否打开,如果没有,则会尝试打洞建立隧道,这样可以始终保持隧道打开,在需要连接对端服务时,可以避免延迟。
keepTunnelOpen = true
# 如果 xtcp 打洞失败,则使用 stcp 进行链接,fallbackTo = 上面的 stcp name
fallbackTo = "company_stcp_remote_desktop_visitor"
# 当连接 127.0.0.1:23389 超过 200ms p2p 打洞还未成功的话,会回退到使用 company_stcp_remote_desktop_visitor 建立连接。
fallbackTimeoutMs = 200

当连接 127.0.0.1:23389 超过 200ms p2p 打洞还未成功的话,会回退到使用 company_stcp_remote_desktop_visitor 建立连接。fallback 后,之前触发的打洞操作仍然会继续,一般来说打洞完成需要的耗时会比较长。

如果打洞成功,下次建立新的连接时,将不需要再次打洞,会很快完成连接建立,不会触发 fallback。

需要注意根据访问端和被访问端的延迟情况来合理设置超时时间,以避免超时时间太短,即使打洞成功连接也来不及建立,而一直触发 fallback。

stcp-visitor 的 bindPort 设置为 -1 表示不需要监听物理端口,只接受 fallback 的连接即可。

通过家用xtcp向桌面公司电脑打洞,远程桌面公司电脑

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java图形用户界面程序设计所需要使用的工具

Java图形用户界面程序设计 前言一、图形用户界面程序设计的概述GUI概述Java GUI技术的发展 二、AWT概述简介AWT继承体系总结 三、Swing概述Swing概述优势Swing的特征总结 前言 推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣…

Python程序设计 身份证号的奥秘

第1关:判断性别 通过身份证的第17位也就是倒数第二位的数字可以辨别该身份证所属人的性别,奇数为男性,偶数为女性。 任务:输入身份证号,第17位若是偶数,输出男性,否则输出女性 如何截取字符串的一个字符 如何判断一个…

机器视觉检测--相机

一,相机就是CCD么? 通常,我们把相机都叫作CCD,CCD已经成了相机的代名词。其实很可能正在使用的是CMOS。CCD以及CMOS都称为感光元件,都是将光学图像转换为电子信号的半导体元件。他们在检测光时都采用光电二极管&#…

AI降痕:让AI代写的论文,也能成为原创佳作

随着人工智能技术的突飞猛进,AI生成内容(AIGC)已被广泛用于学术论文撰写中,提高效率同时也带来了原创性的挑战。面对日益严格的学术审查,一个突出的问题是:使用AI代写的论文能否通过内容检测?因…

【Postman接口测试】第四节.Postman接口测试项目实战(中)

文章目录 前言五、Postman断言 5.1 Postman断言介绍 5.2 响应状态码断言 5.3 包含指定字符串断言 5.4 JSON数据断言六、参数化 5.1 Postman参数化介绍 5.2 Postman参数化实现 5.3 针对项目登录接口参数化实现 总结 前言 五、Postman断言 5.1 Postman断言介…

【STM32之FreeRTOS(二)】任务的创建与删除

【STM32之FreeRTOS(二)】任务的创建与删除 文章目录 【STM32之FreeRTOS(二)】任务的创建与删除一、什么是任务?二、任务创建与删除相关函数1.任务创建与删除相关函数2.任务动态创建与静态创建的区别3.xTaskCreate 函数原型4.vTaskDelete 函数原型 三、实操(同时控制…

面试题:谈谈你对 JS 原型链的理解

面试题:谈谈你对 JS 原型链的理解 JavaScript 是一种基于原型的语言,即每个对象都拥有一个原型对象,对象通过其原型对象继承方法和属性。原型对象也有其原型对象,依次类推,就构成了原型链。当对象访问一个属性或方法后…

BioTech - 计算大量 蛋白质结构预测结果 的聚类中心(Cluster)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/139419653 CASP16 的 H0215 样本,聚类之后,10个类别的最高置信度结果。 Agglomerative Clustering,即凝聚层次聚类,属于层次聚类算法,通过逐步合并或聚集数据点,…

Qt-demo高级感无边框窗口、美化基础控件

展示: 代码实现: // 鼠标按下事件(记录拉伸窗口或移动窗口时的起始坐标(左上角)) void framelessWidget::mousePressEvent(QMouseEvent *event) {if(event->button() Qt::LeftButton){mousePressed true; #if (QT_VERSION &…

傅立叶变换矩阵的频谱响应

傅立叶变换矩阵的频谱响应 线性变换可以用矩阵表示,傅立叶变换是一种线性变换,因此也可以使用矩阵表示。具体可以参考:离散傅立叶变换和线性变换的关系:什么是线性空间? 1、傅立叶矩阵 X [ k ] ∑ n 0 N − 1 x [ …

【EI会议/稳定检索】2024年电机与电气控制国际会议(ICMEC 2024)

2024 International Conference on Motor and Electrical Control 2024年电机与电气控制国际会议 【会议信息】 会议简称:ICMEC 2024 截稿时间:(以官网为准) 大会地点:中国厦门 会议官网:www.meciac.com 会议邮箱&…

每日十题---三

1. Vue中$nextTick原理 1. 简单的理解就是它就是一个setTimeout函数,将函数放到异步后去处理。 2. Vue 在更新 DOM 时是异步执行的。只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更。如果同一个 watcher 被…

海外仓代发系统选择标准:功能稳定和性价比高一个都不能少

对海外仓来说,一件代发基本都是比较核心的业务。不过这个核心业务现在的竞争确实也比较大,对海外仓企业而言,想在一件代发上做到让客户满意,还是需要多方面努力的。 一方面,需要自己的仓库管理模式足够标准化&#xf…

高校实验室危险化学品及重大危险源安全管理系统

高校实验室危险化学品及重大危险源安全管理的重要性: 保障师生安全:通过严格管理,可以有效地降低这些风险,确保师生在实验室内的安全。 确保实验教学质量:良好的危化品管理能够确保实验材料的准确性和可靠性&#xff0…

SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(一)

功能需求 在 SwiftUI 的开发中,我们往往需要借助底层 UIKit 的“上帝之手”来进一步实现额外的定制功能。比如,在可拖放(Dragable)SwiftUI 的实现中,会缺失一些关键的回调方法让我们这些秃头码农们“欲哭无泪” 如上图所示,我们在拖放取消时将界面中的一切改变都恢复如初…

2024永久免费版CorelDRAW安装包下载附CDR2024激活码序列号

CorelDRAW2024作为一款备受关注的图形设计软件,其最新版本集成了一系列创新工具和功能,旨在提升设计师和艺术家的工作效率与创作自由度。这一版本在用户界面设计、矢量图绘制、色彩管理和文件支持等方面都进行了更新,吸引了广泛的关注。本文将…

目标检测基础初步学习

目标检测(Object Detection) 目标检测任务说明 在动手学习深度学习中对目标检测任务有如下的描述。 图像分类任务中,我们假设图像中只有一个主要物体对象,我们只关注如何识别其类别。 然而,很多时候图像里有多个我们…

【C++软件调试技术】什么是pdb文件?如何使用pdb文件?哪些工具需要使用pdb文件?

目录 1、什么是pdb文件? 2、如何配置生成pdb文件? 3、pdb文件的时间戳和文件名称 3.1、pdb文件的时间戳 3.2、pdb文件的文件名称 4、有pdb文件才能在Visual Studio中调试代码 5、在Windbg中使用pdb文件 5.1、使用lm命令查看二进制文件的时间戳&a…

翻译《The Old New Thing》- Why do atoms start at 0xC000?

Why do atoms start at 0xC000? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20080429-00/?p22543 Raymond Chen 2008年04月03日 有两种类型的原子,即所谓的整数原子,它们只是一些小整数,还有就是没有…

GE的六西格玛是怎么成功的?

六西格玛作为一种先进的质量管理方法,旨在通过消除缺陷、提高流程效率来降低成本、增强客户满意度。GE作为最早采用六西格玛的公司之一,其成功的原因首先离不开高层领导对精益六西格玛理念的坚定支持和推动。公司高层不仅亲自参与培训和项目实践&#xf…