卧槽!竟然可以直接白嫖 Github Action 的 2C7G 服务器。。

GitHub Actions[1] 是 GitHub 的持续集成服务[2],于2018年10月推出[3]。它的功能非常强大,每一个 action 都用来执行一种操作,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。将这些 actions 组合起来,就是一个持续集成的过程。当然,这些 actions 都共享在 GitHub 的代码仓库中,我们可以直接引用。

Github Actions 提供了整套服务器环境,服务器规格为:

  • 2-core CPU

  • 7 GB RAM 内存

  • 84 GB SSD 硬盘空间

详细系统环境信息如图:

当然,可使用的系统除了 Ubuntu 之外还可以使用 Windows Server 2019macOS X Catalina 10.15

看起来很美好,但实际上 GitHub Ac­tions 本身是不允许直接连接进行交互式操作的,也就是说你无法通过 SSH 来连接服务器。如果有办法能够直接连接到服务器进行交互式操作,那岂不是相当于白嫖了一台或多台 E5 2vCPU/7G RAM/90G SSD 配置的 VPS?

本文就来告诉你如何通过一些奇技淫巧来绕过 GitHub Actions 本身的限制,直接连接到服务器!

注意:请勿用于恶意用途,造成的一切后果比如封号、中美关系恶化、原子弹爆炸、第三次世界大战等后果均与作者无关。

方案一

mxschmitt/action-tmate[4]

这是第一个实现 tmate[5] 连接 Ac­tions 服务器的 ac­tion ,但此方案在退出连接后不能进行到下一个步骤,所以在实际使用中没有多少价值,只能用于 SSH 连接。不过由于其开天辟地的作用,我决定把它放到第一位。

work­flow 文件示例:

name: CI
on: [push]
jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2- name: Setup tmate sessionuses: mxschmitt/action-tmate@v2

方案二

csexton/debugger-action[6]

此 ac­tion 作者受 mxschmitt/action-tmate[7] 启发,同样是通过 tmate 连接,退出连接后可持续进行下一个步骤,能更好的应用到实际项目中使用。作者可能考虑到为 GitHub 节约资源,默认加了 15 分钟自动断开连接,不过可以通过执行 touch /tmp/keepalive 命令去解除。

work­flow 文件示例:

name: debugger-action
on: watch:types: started
jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2- name: Setup Debug Sessionuses: csexton/debugger-action@master

Action 日志输出:

方案三

该方案没有使用 action 来实现,而是另辟蹊径,直接使用 ngrok 来穿透内网,脚本如下:

#!/bin/bashif [[ -z "$NGROK_TOKEN" ]]; thenecho "Please set 'NGROK_TOKEN'"exit 2
fiif [[ -z "$USER_PASS" ]]; thenecho "Please set 'USER_PASS' for user: $USER"exit 3
fiecho "### Install ngrok ###"wget -q https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-386.zip
unzip ngrok-stable-linux-386.zip
chmod +x ./ngrokecho "### Update user: $USER password ###"
echo -e "$USER_PASS\n$USER_PASS" | sudo passwd "$USER"echo "### Start ngrok proxy for 22 port ###"rm -f .ngrok.log
./ngrok authtoken "$NGROK_TOKEN"
./ngrok tcp 22 --log ".ngrok.log" &sleep 10
HAS_ERRORS=$(grep "command failed" < .ngrok.log)if [[ -z "$HAS_ERRORS" ]]; thenecho ""echo "=========================================="echo "To connect: $(grep -o -E "tcp://(.+)" < .ngrok.log | sed "s/tcp:\/\//ssh $USER@/" | sed "s/:/ -p /")"echo "=========================================="
elseecho "$HAS_ERRORS"exit 4
fi

该脚本用来为 SSH 服务建立 TCP 隧道,并打印出通过公网连接远程服务器的命令。

首先需要在 ngrok 的官网[8] 注册一个账户,并生成一个Tunnel Authtoken:https://dashboard.ngrok.com/auth。然后创建如下的 workflow:

name: Debugging with SSH
on: push
jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v1- name: Try Buildrun: ./not-exist-file.sh it bloke build- name: Start SSH via Ngrokif: ${{ failure() }}run: curl -sL https://gist.githubusercontent.com/retyui/7115bb6acf151351a143ec8f96a7c561/raw/7099b9db76729dc5761da72aa8525f632d8875c9/debug-github-actions.sh | bashenv:# After sign up on the https://ngrok.com/# You can find this token here: https://dashboard.ngrok.com/get-started/setupNGROK_TOKEN: ${{ secrets.NGROK_TOKEN }}# This password you will use when authorizing via SSH USER_PASS: ${{ secrets.USER_PASS }}- name: Don't kill instaceif: ${{ failure() }}run: sleep 1h # Prevent to killing instance after failure

服务器存活时间默认是 1 小时,可自行调整。这里面的 TOKEN 和 SSH 登录密码最好采用 workflow 中推荐的方式,先在 GitHub 中创建 Secret,然后在 workflow 中引用 Secret。具体步骤可参考官方文档[9]

Action 日志输出:

最后再次强调:希望大家以学习研究目的来使用,切勿用作其他恶意用途,切勿滥用!

参考资料

  • SSH 连接到 GitHub Actions 虚拟服务器环境 [10]

参考资料

[1]

GitHub Actions: https://github.com/features/actions

[2]

持续集成服务: http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

[3]

推出: https://github.blog/changelog/2018-10-16-github-actions-limited-beta/

[4]

mxschmitt/action-tmate: https://p3terx.com/go/aHR0cHM6Ly9naXRodWIuY29tL214c2NobWl0dC9hY3Rpb24tdG1hdGU=

[5]

tmate: https://github.com/tmate-io/tmate

[6]

csexton/debugger-action: https://p3terx.com/go/aHR0cHM6Ly9naXRodWIuY29tL2NzZXh0b24vZGVidWdnZXItYWN0aW9u

[7]

mxschmitt/action-tmate: https://p3terx.com/go/aHR0cHM6Ly9naXRodWIuY29tL214c2NobWl0dC9hY3Rpb24tdG1hdGU=

[8]

ngrok 的官网: https://ngrok.com/

[9]

官方文档: https://docs.github.com/cn/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets

[10]

SSH 连接到 GitHub Actions 虚拟服务器环境 : https://p3terx.com/archives/ssh-to-the-github-actions-virtual-server-environment.html


你可能还喜欢

点击下方图片即可阅读

Thanos 与 VictoriaMetrics,谁才是打造大型 Prometheus 监控系统的王者?

云原生是一种信仰 ????

码关注公众号

后台回复◉k8s◉获取史上最方便快捷的 Kubernetes 高可用部署工具,只需一条命令,连 ssh 都不需要!

点击 "阅读原文" 获取更好的阅读体验!

❤️给个「在看」,是对我最大的支持❤️

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

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

相关文章

GitHub学生包白嫖copilot ,copilot chat

安装copilot 首先点击链接&#xff1a;https://github.com/settings/billing 再往下滑动 表示开通成功。 Jetbrains使用Copilot 安装插件GitHub Copilot 重启idea 浏览器输入刚刚复制的验证码&#xff0c;点击继续 授权完成后即可使用 试用&#xff0c;输入注释快速排序&…

双鱼林php学生信息管理系统,双鱼林基于ThinkPHP5图书管理系统demo v1.0

别看 双鱼林基于ThinkPHP5图书管理系统demo只是一个简单的图书管理系统&#xff0c;麻雀虽小&#xff0c;五张俱全&#xff0c;实现了常见字段比如字符串&#xff0c;整型&#xff0c;浮点型&#xff0c;日期型&#xff0c;图片型和文件型的添删改查&#xff0c;查询条件采用多…

双鱼林 android 服务器,双鱼林安卓Android代码生成器下载_双鱼林安卓Android代码生成器官方下载-太平洋下载中心...

双鱼林安卓Android 代码生成器是一款生成安卓手机程序的代码生成器 基于分层模式设计思想&#xff0c;生成的代码直接导入Ecli PSe软件就可以用的&#xff01;真正面向对象设计&#xff1a;系统的整体设计&#xff0c;提供通过使用面向对象的方法&#xff0c;设计所需系统中的基…

双鱼座的爱恋不是双鱼座的项链

双鱼座守护项链双鱼座从表面上看&#xff0c;双鱼座的人内向而羞怯&#xff0c;然而内心常常是复杂而矛盾的&#xff0c;同时存在着善与恶&#xff0c;精神与物质等对立的争扎。虽然有丰富的想像力&#xff0c;相对的也容易不切实际地做白日梦&#xff0c;幻想着白马王子&#…

双鱼林java_双鱼林Java代码生成器

双鱼林Java代码生成器是一款基于三层模式的.net环境代码生成工具&#xff0c;生成的目标程序使用的是c#脚本语言&#xff0c;可以直接导入到visual studio 2008以上版本运行&#xff0c;目前已经实现了数据层&#xff0c;业务逻辑层代码的全自动生成&#xff0c;生成的网站使用…

数据库之十二星座 --- 双鱼座的复杂关系

提起双鱼座&#xff0c;估计大多想起的是偶像剧里面的神经的男偶&#xff08;呕吐&#xff09;像和哭哭啼啼大呼小叫的“女神”经。不过双鱼座本身的真面目却不那么简单&#xff0c;具有天蝎座的第六感&#xff0c;还是加强型&#xff0c;具有巨蟹座的柔情&#xff0c;具有摩羯…

双鱼座适合计算机课吗,双鱼座:和你一样最怕上数学课的5个星座,看到数字就头大...

原标题&#xff1a;双鱼座&#xff1a;和你一样最怕上数学课的5个星座&#xff0c;看到数字就头大 充满艺术感的双鱼座&#xff0c;对于数学往往一窍不通&#xff0c;上辈子没有缘分&#xff0c;各种公式它认识你&#xff0c;你不认识它。因此双鱼座大多数都比较害怕上数学课&a…

双鱼座男适合学计算机专业,双鱼座男生适合的职业

对双鱼座的人来讲&#xff0c;职业的选择也是需要慎重选择&#xff0c;也有一句俗话说明&#xff0c;男怕入错行&#xff0c;女怕嫁错郎。而双鱼座的男生对职业中的选择又是如何选择才是最好的&#xff0c;对此双鱼座男生适合的职业到底如何&#xff1f;下面一起来看看吧。 双鱼…

文字一键转语音,配音不用愁,支持几十种男声女声!

最近刷朋友圈的时候,看到个广告,说啥学配音是日常所需,可以做自媒体视频,可以给别人配音赚钱等等,赚不赚钱咱不知道,这样的软件有没有咱知道,对,没错,本期推荐的这款软件呢,可以将文本变成语音,支持各种声音哦&#xff01;咱这测试做了一小段,大家可以拉下去听听效果咋样&#…

【免费】三款超火的文字转语音工具推荐,爆款短视频配音软件必备

科技的迅猛发展带来了新生事物的不断涌现&#xff0c;短视频就是其中之一&#xff0c;有的小伙伴喜欢在茶余饭后记录生活的点点滴滴&#xff0c;也有人将之变成了日常的主要收入来源&#xff0c;但无论是哪种&#xff0c;一款好的AI配音软件都是必不可少的&#xff0c;很多短视…

分享3个文字配音软件,帮助你们轻松制作短视频

有没有刚踏入自媒体行业的小伙伴呀&#xff1f;那你们是不是为视频的后期工作所困惑着呢&#xff1f; 大家平时刷到的视频虽然看起来简短又有趣&#xff0c;但其实后期制作并没那么简单&#xff0c;是由许多道工序环环相扣而成的&#xff0c;其中比较重要的&#xff0c;就是为…

文字转语音真人发声软件哪个好?这些实用软件快来收好

平时大家结束了一天的工作&#xff0c;会不会在空闲时间好好放松一下呢&#xff1f;如果是坐公交车或者地铁的小伙伴&#xff0c;想要在下班途中看一些电子书籍或者新闻&#xff0c;却因为下班高峰期人潮拥挤&#xff0c;导致无法腾出手来阅读&#xff0c;这时候你们会怎么解决…

影视解说怎么制作?求推荐免费的配音软件

想运营一个影视解说的账号却不知道从何下手&#xff1f;只需要六步&#xff0c;就能学会如何制作&#xff01; 一、电影素材下载 1、电影天堂 2、天空之城 3、片库网 4、Bt电影 PS&#xff1a;如果是在抖音做影视解说&#xff0c;可在西瓜视频找资源&#xff0c;因为两者…

文字转语音真人发声免费的有哪些?文字转语音有这两款软件就够了

近年来&#xff0c;短视频作为一种新兴的互联网内容传播形式&#xff0c;逐渐获得各大平台和粉丝的青睐&#xff0c;其时长简短并适小编身边有不少资深短视频爱好者&#xff0c;喜欢在闲暇时刷一刷短视频&#xff0c;放松解压&#xff0c;还能利用碎片时间多汲取一些知识。 短…

好用的配音软件有什么?推荐几款实用配音软件

现在有很多刚入行的视频创作者&#xff0c;在制作视频时&#xff0c;需要后期添加解说、旁白。部分人会因为自己音色不好听、或者普通话不太标准而苦恼。那有什么办法可以解决这个问题&#xff0c;完成视频制作呢&#xff1f;其实我们只需要借助一些配音软件&#xff0c;就能消…

多人配音怎么制作的?多角色配音软件用这几款足以

临近新春&#xff0c;老板想要录制一段公司的新春祝福视频发送给今年合作过的客户&#xff0c;这个重任就落在了我同组里的一位小伙身上&#xff0c;视频他是顺利制作好了&#xff0c;但是效果一直不尽人意&#xff0c;屡次给老板要求重改。原来是因为视频里只有一个配音&#…

免费的文字转语音软件有哪些?三款软件可考虑,助你完成配音

免费的文字转语音软件有哪些&#xff1f;三款软件可考虑&#xff0c;助你完成配音 在做短视频的时候&#xff0c;很多作者都会遇到需要为短视频配音的情况&#xff0c;尤其是做影视解说短视频、搞笑配音短视频的时候。有的小伙伴自己有配音功底&#xff0c;所以更倾向于选择自…

文字转语音软件真人发声(声音自然有感情)

Hello大家好&#xff0c; 这里孙哥爱学习栏目。 做自媒体&#xff0c;要是觉得自己的声音不好听&#xff0c;可以用文字转语音工具&#xff0c;也可以直接用配音软件进行生成&#xff0c;对于不擅长言语表达的人&#xff0c;是非常实用的&#xff0c;这里简单介绍几款好用的工…

需要电脑文字配音工具的快看过来

有朋友需要在电脑进行文字配音吗&#xff1f;可以试一下这3个工具&#xff0c;它们可以在电脑帮我们将文字转为音频。 1、朗读女 这是一款免费实用的语音朗读软件&#xff0c;它有广泛的用途&#xff0c;可以用于小说朗读、语音报时、视频配音等场景。它有两种声音类型可供选…