frp穿透你的远程桌面

news2024/9/22 17:32:37

缘起

作为一个程序员,经常会遇到需要使用远程桌面的述求(居家办公、加班,你懂的)。所以,在网上找一圈远程桌面解决方案之后,最终还是使用frp来穿透远程桌面。(推荐使用)

前提

  • 需要一台有公网ip的服务器,腾讯云服务器或者阿里云服务器都可以
  • 需要会docker的基本使用
  • 知晓内网穿透frp的使用
  • 针对windows系统的远程桌面配置

公网搭建frps服务端

本文服务端基于 docker安装 frps,镜像使用snowdreamtech/frps。
详细配置请参考frp文档。

配置文件frps.ini

# [common] is integral section
[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
bind_addr = 0.0.0.0
bind_port = 7000

# udp port to help make udp hole to penetrate nat
#bind_udp_port = 7001

# udp port used for kcp protocol, it can be same with 'bind_port'
# if not set, kcp is disabled in frps
#kcp_bind_port = 7000

# specify which address proxy will listen for, default value is same with bind_addr
# proxy_bind_addr = 127.0.0.1

# if you want to support virtual host, you must set the http port for listening (optional)
# Note: http port and https port can be same with bind_port
vhost_http_port = 81
#vhost_https_port = 443

# response header timeout(seconds) for vhost http server, default is 60s
# vhost_http_timeout = 60

# set dashboard_addr and dashboard_port to view dashboard of frps
# dashboard_addr's default value is same with bind_addr
# dashboard is available only if dashboard_port is set
dashboard_addr = 0.0.0.0
dashboard_port = 7500

# dashboard user and passwd for basic auth protect, if not set, both default value is admin
dashboard_user = admin
dashboard_pwd = a123456@

# dashboard assets directory(only for debug mode)
# assets_dir = ./static
# console or real logFile path like ./frps.log
log_file = ./frps.log

# trace, debug, info, warn, error
log_level = info

log_max_days = 3

# disable log colors when log_file is console, default is false
disable_log_color = false

# auth token
token = a123456@

# heartbeat configure, it's not recommended to modify the default value
# the default value of heartbeat_timeout is 90
# heartbeat_timeout = 90

# only allow frpc to bind ports you list, if you set nothing, there won't be any limit
#allow_ports = 2000-3000,3001,3003,4000-50000

# pool_count in each proxy will change to max_pool_count if they exceed the maximum value
max_pool_count = 5

# max ports can be used for each client, default value is 0 means no limit
max_ports_per_client = 0

# if subdomain_host is not empty, you can set subdomain when type is http or https in frpc's configure file
# when subdomain is test, the host used by routing is test.frps.com
#subdomain_host = meiflower.top

# if tcp stream multiplexing is used, default is true
tcp_mux = true

# custom 404 page for HTTP requests
# custom_404_page = /path/to/404.html

启动命令:

docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

启动成功后访问监控界面,http://ip:7500

本地windows电脑配置开启远程桌面

在我的电脑右键属性,进入远程桌面设置。

给系统账号添加密码。

注意事项:

  • 如果不想设置防火墙,建议将防火墙关掉,避免外网访问不到。
  • 建议设置电源休眠选型,将电脑设置为永不休眠,笔记本盖上屏幕也不休眠。
  • Windows的远程桌面端口默认为3389。
  • 需要设置账号密码,无密码无法登录远程桌面。

本地安装frpc客户端并配置

下载frpc并启动

下载windows版本的fprc到本地,版本地址为https://github.com/fatedier/frp/releases

修改配置frpc.ini

[common]
# 公网ip
server_addr = xxxx
server_port = 7000
token= a123456

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 9999

启动命令:

frpc.exe -c fprc.ini

设置frpc服务并开机自启

基于服务封装工作nssm,安装fprc为服务,并设置开机自启。

安装服务fprc:

nssm install frpc


安装成功后,继续设置服务frpc自启动。

如此Windows的远程桌面就成功在线了,且在电脑重启后会自动启动上线。如果电脑断电,也只需要联系同事帮忙打开电脑电源,就能成功远程。不需要像向日葵等软件掉线后还要一番操作,省心。

得道

最后可以用远程桌面连接工具,远程到您的电脑,如此就能愉快的玩耍了。
优点:

  • 连接稳定,图像清晰。
  • 电脑重启后自动上线。
    缺点:
  • 需要公网IP
  • 速度受公网ip带宽影响(建议将自己公网ip服务器的带宽调高一点,比如5M按量付费)

测试

  • mac系统可以安装Microsoft Remote Desktop来连接windows的远程桌面。

  • windows系统可用远程桌面连接工具:

  • 安卓手机可以安装相应远程桌面连接软件,如下是手机连接测试图:

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

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

相关文章

计算机内功修炼:程序的机器级表示(C与汇编)

程序的机器级表示历史观点程序编码1. 机器级代码2. 代码示例数据格式访问信息1. 操作数指示符2. 数据传送指令算术与逻辑操作1. 加载有效地址2. 一元操作和二元操作3. 移位操作例子特殊的算术操作控制1. 条件码2. 访问条件码3. 跳转指令及编码4. 翻译条件分支5. 循环6. 条件传送…

[附源码]计算机毕业设计JAVA龙虎时代健身房管理系统

[附源码]计算机毕业设计JAVA龙虎时代健身房管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM …

JDBC数据库的连接

JDBC数据库的连接 简介:本文以简洁的篇幅带领大家快速入门java连接数据库,以查询为演示方案。 编写代码步骤 创建工程,导入驱动jar包 下载官网:https://downloads.mysql.com/archives/c-j/ 注册驱动 # mysql5的注册驱动的办法…

BEV感知PETR-V1和PETR-V2

参考代码:PETR 1. 概述 介绍:这两篇文章提出了以位置编码转换(PETR,position embedding transformation)为基础的BEV感知方法,按照方法中组件不同可将PETR划分为V1和V2版本。在V1版本中提出了基础版本的PE…

【C++】c++11学习-常用特性总结

前言 由于种种历史原因,C的C11版本更新带来了很多有用的东西~,在C98的基础语法体系之上,来看看C11新增了哪些实用的特性吧~ (加把劲~~(๑╹◡╹)ノ""") 目录 一、列表初始化 1.原始的列…

Mysql8.x版本主从加读写分离(二) mysql8.x读写分离

Mysql8.x版本主从加读写分离(一) mysql8.x主从_争取不加班!的博客-CSDN博客 Mycata需要使用jdk 单独一台服务器部署的mycat 192.168.11.143 手动上传jdk的包 tar zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/ 解压 cd /usr/local…

c++ - 第14节 - c++中的多态

1. 多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。举个栗子:比如买票这个行为,当普通人买票时,是全价买票;学生…

如何运行黑马程序员redis项目黑马点评(hm-dianping)、常见报错解决与部分接口的测试方法

文章目录一、相关链接二、下载代码方法一:使用git clone方法二:直接下载程序zip压缩包三、如何运行这份代码运行sql文件1、先新建数据库hmdp2、导入项目中的hmdp.sql文件修改application.yaml配置文件配置Mysql1、配置驱动2、配置url(这个不一…

Allwinner T3 汽车级处理器为工业级 SoM 提供动力

Allwinner T3 是一款四核 Cortex-A7 汽车级处理器,支持 -40C 至 85C 的宽工业温度范围。对比了全志T3的规格后,我觉得和全志A40i差不多,因为全志有不同的事业部,T系列是面向车规级市场,而A系列一直以来都是面向平板市场…

python之Matplotlib

1.数据可视化是什么? 数据可视化是将数据转换为图或表等信息图像,以一种更直观的方式展示和呈现数据.可视化,是通过图形化的手段进行有效地表达,准确高效,简洁全面地传递某种信息,甚至帮助我们发现某种规律和特征,挖掘数据背后的价值. 2. Matplotlib是什么? matplotlib是一…

教程:如何将一首歌生成一个二维码?

大雨打在树叶上的声音、烟花绽放的声音、邻居家的狗叫声、海浪和沙滩的决斗声、冬天的风掀翻路人衣服的声音、小孩练琴的声音、啤酒冒泡的声音…… 哦,还有你唱歌的声音,这些都可以做成一个二维码。扫码后就可以听到。 如今,声音二维码已经…

华为云GaussDB打造金融行业坚实数据底座,共创数字金融新未来

近期,由北京金融信息化研究所主办的首届中国金融业数据库技术大会在京顺利举行,大会邀请了金融主管单位领导、金融机构高层、以及数据库企业代表和众多数据库领域专家,共同畅谈金融行业数据库应用的创新发展和实践成果。华为云数据库服务产品…

为什么重写 equals 还要重写 hashCode 方法?

关于equals与hashCode关系的描述 我们可以先来看一下这个定理 (1)如果两个对象的 hashCode 值相等的情况下,对象的内容值不一定相等(hash碰撞问题) (2)如果使用 equals 方法比较两个对象内容值…

世界杯“引爆”东南亚电商狂潮,电商人如何选品和营销?

世界杯,作为最受关注的国际赛事之一,2022年的世界杯已经在卡塔尔拉开帷幕,中国元素无处不在,为跨境电商行业带来很多新机遇。对于跨境电商来说,更是要牢牢抓住这场全球赛事的商机!那么跨境电商人应该如何紧…

全面焕新|详解 Grafana v9.0.x 新增功能特性

Grafana 9.0 是一个提升 Grafana 易用性的版本,通过全新的和改进的操作界面来获取数据,以及默认的 Grafana 警报体验。 Grafana 的一个主要使命是让可观测性、数据可视化和分析更容易的惠及到每个人。对于像 Prometheus 和 Loki 这样的流行数据源&#…

基于Jeecgboot前后端分离的ERP系统开发代码生成(四)

今天主要做一个采购入库单的功能 这个是主从表,所以也是通过online表单设计完成基本功能 1、采购入库单 按照上面生成代码,基本的录入编辑等功能就可以了,当然一些细节需要后续完善 选择商品 2、审核通过 对于库存的更新,需要进行…

跨境电商独立站站群模式

首先我们来了解一下什么是独立站组模式?独立站群模式是指通过建站工具快速建立多个网站。每个网站都有独立的域名,每个网站只存放某个垂直领域的产品,包装成专业的工厂和卖家。每个网站的产品详情和公司实力展示尽量完美(不是市面上的复制品)…

Spring——IOC容器启动及Bean生成流程

IOC容器启动及Bean生成流程一、容器启动IOC启动流程重点二、扫描并注册BeanDefination加载并过滤资源注册BeanDefination三、BeanFactory后置处理四、注册Bean后置处理器五、遍历BeanDefination,实例化单例BeanpreInstantiateSingletonsdoGetBean(我们只…

idea配置tomcat,解决控制台乱码问题

问题描述: 配置tomcat,解决idea运行tomcat8.5.27版本控制台输出乱码。 版本: jdk1.8.0_172 IntelliJ IDEA 2019.3 3 (Ultimate Edition) apache-tomcat-8.5.27 解决步骤: 1、打开目录 apache-tomcat-8.5.27\conf\ 目录下 logging…

编译原理—运行环境、局部存储分配、活动记录、全局栈式存储分配、非局部名字的访问、参数传递

编译原理—运行环境、局部存储分配、全局栈式存储分配、非局部名字的访问、参数传递#pic_center 65%x55%1. 运行环境1.1存储组织与分配1.2运行时内存划分2.活动记录2.1活动记录的内容2.2活动记录内容的存取3.静态存储分配3.1FORTRAN静态存储分配4. 动态存储分配4.1 栈式分配下的…