如何在星巴克连接家中Windows台式机?(安卓,iOS, Windows, macOS配合frp穿透公网IP实现)

news2024/11/16 6:32:20

zhaoolee 最近热衷于和海外热心老哥们交换硬盘中的单机游戏资源(BT下载),家中有Windows台式机, 适合长时间挂机下载BT资源,zhaoolee希望能随时连接到Windows台式机新增下载任务,安装体积超大的主机游戏。

另外,公司有一台插着实体EV软件签名证书(一个U盘)的Windows打包机器,我希望在任何地点,都能连接到Windows机器进行打包签名。

Windows自带了远程连接的方案,免费,简单稳定,没有广告弹窗,无需注册,输入对方的ip,机器名/用户名,密码 即可进行连接;

我们只需为Windows配置一个公网IP即可被顺利远程连接,公网IP可以通过购买云服务器VPS获取,frp可以将云服务器VPS的IP映射到Windows;

frp提供内网穿透的功能,frp分为「客户端frpc」和「服务端frps」两部分,frps运行在拥有固定IP的服务器,一个frps 可以为多个 frpc 提供服务;frps设置token对请求连接的frpc进行身份验证;

frpc通过验证后,则可以顺利接收服务端特定端口收到的数据,实现Windows「等效拥有」服务端IP的效果。

我在frpc配置文件指定「服务端7001端口接收的数据」全部转发到「Windows的3389端口」,我们访问「服务端IP:7001」就等同于访问「Windows的3389端口」

完成服务端frps配置

首先搞一台云服务器(我示例用的阿里云,24块钱一个月的轻量云,详细步骤可以查看 https://www.v2fy.com/p/2022-12-25-bt-1671963832000/)

  • 安装配置frp服务端程序frps
cd /opt/
sudo wget https://github.com/fatedier/frp/releases/download/v0.46.0/frp_0.46.0_linux_386.tar.gz
sudo tar zxvf frp_0.46.0_linux_386.tar.gz
cd /opt/frp_0.46.0_linux_386

编辑frps.ini, 添加token字段

[common]
bind_port = 7000
token = 'frp连接密码'

设置开机启动

vim /etc/systemd/system/frps.service

在frps.service中写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/frp_0.46.0_linux_386/frps -c /opt/frp_0.46.0_linux_386/frps.ini

[Install]
WantedBy = multi-user.target
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
# 配置 frps 开机自启
systemctl enable frps

完成Windows客户端frpc配置

frp下载地址: https://github.com/fatedier/frp/releases/

下载

绝大多数Windows笔记本下载这个包:https://github.com/fatedier/frp/releases/download/v0.46.0/frp_0.46.0_windows_386.zip

MacBook M系芯片Windows虚拟机下载这个包: https://github.com/fatedier/frp/releases/#:~:text=frp_0.46.0_windows_amd64.zip

  • 解压下载好的压缩包, 修改frpc.ini ,参考配置如下

修改frpc.ini

[common]
server_addr = 47.242.12.38
server_port = 7000
token = 'frp连接密码'
tls_enable = true

[RDP7001]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001

如果你需配置连接第二台Windows,只需将「RDP7001」 改为「RDP7002」, 「remote_port = 7001」 也改为 「remote_port = 7002」即可,第三台,第四台,以此类推…

有用的信息

这里我们开放了7001端口,如果访问阿里云服务器「公网IP:7001」(记得在阿里云防火墙开放7001端口,否则frpc无法连接成功),数据将被直接转发到Windows的3389端口

  • 使用命令行启动frp客户端frpc
.\frpc.exe -c .\frpc.ini

运行成功

用另一台设备连接Windows台式机

我们需要准备好被连接Windows的「电脑名称」,「用户名」,「登陆密码」,可以在「系统-远程桌面」界面内查看到

有用的信息

Windows连接

Windows

更多内容

  • 填写登陆信息

填写用户名

  • 填写密码

填写密码

  • 信任证书

信任证书

  • 登陆成功

image.png

macOS连接

首先下载安装macOS 安装 Microsoft Remote Desktop https://install.appcenter.ms/orgs/rdmacios-k2vy/apps/microsoft-remote-desktop-for-mac/distribution_groups/all-users-of-microsoft-remote-desktop-for-mac

  • 安装

安装

  • 添加PC

添加

  • 输入ip端口号

输入IP端口

  • 输入用户信息,添加用户

添加

添加

  • 连接
    连接

  • 继续
    继续

  • 连接成功

连接成功

  • 如果要使用iOS客户端,下载地址: https://apps.apple.com/app/microsoft-remote-desktop/id714464092

iOS可用

  • 如果要使用安卓客户端,下载地址 https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx

安卓

将Windows frpc配置导入frpmgr 设置frpc开机启动

按照目前的方案,每次开机都要使用命令行启动frp客户端frpc

.\frpc.exe -c .\frpc.ini

我们如果想随时随地连接到Windows,就要把frpc客户端改成开机自启服务

这里推荐一个开源项目:https://github.com/koho/frpmgr 这个项目相当于给frpc加了图形化界面,安装后,可以支持导入已有的frpc.ini配置文件,并且自动设置开机自启,下载页面 https://github.com/koho/frpmgr/releases

下载

  • 导入配置

选择frpc.ini导入

选择文件

高亮选中-启动

启动成功

  • frpc已经成功自动启动的服务

自启动

即使我们关闭图形化界面的frp管理器,frp管理器也会在系统后台运行
后台运行

至此,我们实现用自己的服务器,转发流量进行远程桌面连接,只要Windows联网,就能被顺利连接到,成了服务器一样的存在。

小结

远程连接Windows是一个很常见的需求,于是各类远程连接软件应运而生,但我经过尝试后,发现第三方软件有「每次开机强制修改连接密码」「强制要求用户登陆」「限制用户连接数量」「一段时间后自动断开」「画面卡成狗」「键鼠操作超高延迟」等各种各样的问题…

如果我使用Windows自带的远程连接,则以上痛点都不存在,只要每月24元买个IP,附带1TB流量,与BT种子提速下载,网站流量负载,Github加速访问均摊一下,远程连接这一项每月可能也就几块钱,还保证了数据安全,确实是很经济实惠的折腾。

本文永久更新地址(欢迎来读留言,写评论):

https://www.v2fy.com/p/2023-01-01-windows-remote-1672560763000

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

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

相关文章

End-to-End Object Detection with Transformers论文阅读笔记

End-to-End Object Detection with Transformers 端到端,不需要NMS后处理了,直接出结果。 1、Abstract 将目标检测作为一个集合预测问题来解决。简化了检测的整体流程,有效的消除了许多人工设计的部分,比如NMS,anch…

数据库连接池(C++11实现)

目的: 因为对数据库的操作实质上是对磁盘的IO操作,所以如果对数据库访问次数过多,就会到导致大量的磁盘IO,为了提高MySQL数据库(基于C/S设计)的访问瓶颈,除了在服务器端增加缓存服务器缓存常用的…

还在用BERT做文本分类?分享一套基于预训练模型ERNIR3.0的文本多分类全流程实例【文本分类】

目录🍀一、前言🌱二、多分类场景简介🍃三、前期准备阶段🟥3.1 运行环境准备🟧3.2 文心ERNIE系列模型介绍🟨3.3 预训练模型加载⬜3.4 加载项目代码💐四、数据准备阶段🟩4.1 数据处理流…

变不可能为可能——记房产推销员佟鑫海

有勤奋,就会有所收获。傲人的成绩和背后的努力密切相关。俗话说得好,没卖不掉的房子,仅有卖不掉房子的艺人经纪人。关键是你是否有恒心。 在明升,总会有这样一群影子,他们每天精力旺盛,衣着光鲜&#xff0…

【C/C++ SOCKET编程】基于TCP协议实现服务器客户端的简单通信

什么是SOCKET Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。 TCP/IP协议 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议…

unsafe.Pointer和uintptr的区别

unsafe 包 func Alignof(x ArbitraryType) uintptr func Offsetof(x ArbitraryType) uintptr func Sizeof(x ArbitraryType) uintptr type ArbitraryType int type Pointer *ArbitraryType在unsafe包中,只提供了3个函数,两个类型。就这么少的量&#xf…

【数据结构进阶】布隆(Bloom Filter)过滤器【哈希+位图的整合】

布隆(Bloom Filter)过滤器【哈希位图的整合】 1、什么是布隆过滤器? 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空…

物联网与射频识别技术,课程实验(四)

实验4—— 基于帧的时隙ALOHA(FSA)算法的实现与性能分析 实验说明: 利用Python或Matlab模拟基于帧的时隙ALOHA算法; 分析标签数量k、帧中所含时隙个数n对信道利用率的影响,其中, 信道利用率发送数据的时间/(发送数据的时间信道空…

【JavaEE】线程的状态转换

新年快乐! 祝新的一年万事胜意! 魅力无限! 随心所欲! 蒸蒸日上! 文章目录1. 线程的基本状态2.Java中线程的状态3. 线程的转换1. 线程的基本状态 操作系统中线程有三个基本状态,就绪状态,运行状态,阻塞状态. 就绪状态, 已经获得除CPU之外的所有资源,只要得到CPU,可立即执行. …

(二十五)大白话数据库无法连接故障的定位,Too many connections

文章目录 1、你是否遇到过Too many connections?2、linux的文件句柄数量被限制1、你是否遇到过Too many connections? 今天要给大家分析另外一个真实的大家都经常会碰到的数据库生产故障,就是数据库无法连接的问题。 大家会看到的异常信息往往是“ERROR 1040(HY000): Too …

ubuntu18.04下mysql数据库安装和C语言连接操作

数据库在应用系统开发中很常见,在众多的数据库中,mysql总是会占有一席之地。本篇说明一下如何在ubuntu18.04上安装mysql数据库。 目录 1.更新环境 2.安装mysql数据库系统 3.检测是否安装成功 4.启动、重启、关闭,删除 5.给root用户设置…

vue3+Ts使用vuex模块化和非模块化管理的2种方式(非pinia)

官网写的很清楚:https://vuex.vuejs.org/zh/guide/typescript-support.html 2种方式 (都不是使用pinia的) 1:复杂版本(不定义自己的 useStore 组合式函数) 使用的时候需要在vuex引入 useStore 在store文件引入导出的key import { useStore } from ‘vu…

CSS3新增的has伪类选择器,让你能轻松选择父元素

文章目录一、语法二、链式操作三、兼容性问题CSS现在新增了一个允许我们选择父元素的伪类:has选择器。可以将其当做父级选择器。 一、语法 选择器1:has(选择器2){} /* 表示选择包含有选择器2的所有的选择器1 比如:*/ div:has(p) {background: black; }…

计算机网络期末考试重点归纳

第 1 章 概述 1. 网络的基本特点 连通性共享性 2. internet 和 Internet 的含义 internetInternet中文名称互连网互联网/因特网名词性质通用名词专用名词名词解释指由多个计算机网络互连而成的计算机网络指当前全球最大的、开放的、由众多网络连接而成的特定互连网&#xff…

电子学会2020年6月青少年软件编程(图形化)等级考试试卷(一级)答案解析

目录 一、单选题(共25题,每题2分,共50分) 二、判断题(共10题,每题2分,共20分) 三、编程题(共3题,每题10分,共30分) 青少年软件编程…

Ubuntu22.04下安装MongoDB(6.0版本)并进行相关数据库操作

前言 昨天用ubuntu22.04安装redis-5.0.5服务,因为版本不兼容,导致问题频发,最终在老师帮助下解决了,这又一次提醒了版本兼容的重要性 MongoDB安装与部署 因为所用ubuntu版本为22.04,所以不能按照老师所给文档进行安…

图书管理系统(Java实现简易版)

目录前言预期效果分析1. book包1.1 Book类1.2 BookList 类2. user包2.1 User类2.2 AdminUser类2.3 NormalUser类3. opera包3.1 IOPeration 接口3.2 AddOperation 类3.3 BrrowOperation 类3.4 DelOperation 类3.5 ExitOperation 类3.6 FindOperation 类3.7 ReturnOperation 类3.…

wikijs-一款wiki系统

2022,别了。 1、介绍 wikijs是一款知识共享wiki,优点是有权限管理系统、支持多人协作共同维护、支持markdown格式、支持评论、风格简洁等等。适合作为个人博客,或者小团队的文档知识库。 效果图: 2、部署流程 2.1、安装dock…

前端 | 装饰你的github profile(github 首页)

1.创建存储库 您可以创建一个与您的 github 帐户名同名的存储库 添加README文件 2.编辑README.md 现在,可以根据自己的喜好修改 repo 中的自述文件,但我在考虑包含哪些信息时查看了其他开发人员的资料。通常包括简短的介绍、使用的技术堆栈和联系方式…

【JAVA进阶】包装类,Arrays类,Lambda表达式

📃个人主页:个人主页 🔥系列专栏:JAVASE基础 目录 一、包装类 二、Arrays类 三、Lambda表达式 一、包装类 其实就是8种基本数据类型对应的引用类型。 基本数据类型 引用数据类型 byte Byte short Short int Integer l…