利用GitHub Action搭建免费临时RDP

😀 在现代软件开发和运维中,自动化工具的使用变得越来越普遍和重要。GitHub Actions 作为一种强大的持续集成和持续部署(CI/CD)工具,极大地简化了开发者的工作流程。在这个项目中,我们将探讨如何利用 GitHub Actions 创建临时远程桌面协议(RDP)连接,以便进行测试和教育用途。

免责声明

本项目使用 GitHub Actions 创建临时远程桌面协议(RDP)连接。请注意以下事项:

  1. 仅供测试和教育用途:本项目仅供测试和教育用途,不得用于任何非法或未经授权的活动。用户应确保其行为符合相关法律法规。
  2. 安全性和隐私:使用临时 RDP 连接可能存在安全风险。请勿在连接中传输敏感或机密信息。用户应采取必要的安全措施保护其数据和隐私。
  3. 责任限制:本项目的开发者不对因使用本项目而导致的任何直接或间接损失、损害或责任承担任何责任。用户应自行承担使用本项目的风险。
  4. 第三方服务:本项目可能依赖于第三方服务(如 GitHub 和 Microsoft Azure)。用户应遵守这些服务的使用条款和政策。
  5. 项目变更:本项目可能会随时进行更改或更新,恕不另行通知。用户应定期检查项目的更新和变更。

通过使用本项目,您即表示已阅读并同意上述条款。如有任何疑问,请联系项目维护者。

准备工作

注册GitHub账户

非常简单,一步一步跟着做即可

注册ngrok

也同样非常简单

fork项目

登录账号后fork本项目。

https://picningguoxu.080912.xyz/file/eff088a695f6987c93b76.jpg

启动Action

https://picningguoxu.080912.xyz/file/237ae6af707d2dded7eac.jpg

输入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
name: CI

on: [push, workflow_dispatch]

jobs:
build:

runs-on: windows-latest

steps:
- name: Download
run: Invoke-WebRequest https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip -OutFile ngrok.zip
- name: Extract
run: Expand-Archive ngrok.zip
- name: Auth
run: .\ngrok\ngrok.exe authtoken $Env:NGROK_AUTH_TOKEN
env:
NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
- name: Enable TS
run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 0
- run: Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
- run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1
- run: Set-LocalUser -Name "runneradmin" -Password (ConvertTo-SecureString -AsPlainText "P@ssw0rd!" -Force)
- name: Create Tunnel
run: .\ngrok\ngrok.exe tcp 3389

https://picningguoxu.080912.xyz/file/7edf29a28cbd9fb0ea6ff.jpg

然后点击保存

配置环境变量

转到“设置”,按图片提示添加环境变量

https://picningguoxu.080912.xyz/file/188af6c73df5ff6f95897.jpg

变量名为:NGROK_AUTH_TOKEN,先把它填上。

获取变量值

https://picningguoxu.080912.xyz/file/df610844a4de4fe2055aa.jpg

登录ngrok,根据图片提示复制值并填入到Github。

https://picningguoxu.080912.xyz/file/ddf3f89cea14aacf38026.jpg

然后重新运行

https://picningguoxu.080912.xyz/file/2dc6869eb638cee2af5e2.jpg

到这一步就成功了。

https://picningguoxu.080912.xyz/file/72d920a894587f0340e2b.jpg

转到ngrok,点击“EndPoints”会看到一个tcp链接,把tcp://删去,就是RDP链接。

连接RDP

https://picningguoxu.080912.xyz/file/00b4c098b6829cc266810.jpg

账户:runneradmin

默认密码:P@ssw0rd!

可自行更改密码。

使用体验

https://picningguoxu.080912.xyz/file/98ad5b683d0b3f3857979.jpg

注意:这个窗口千万不要关闭,否则RDP就没了,建议最小化。

https://picningguoxu.080912.xyz/file/93d9265bb0ec63d26ce47.jpg

配置:2C16GB

网速特别快。

https://picningguoxu.080912.xyz/file/8458651744f69051c2251.jpg