---
title: Github Codespaces初体验
tags:
  - Github
categories:
  - 白嫖之道
abbrlink: 36200
date: '2022-06-10 18:52:04'
updated: '2022-06-19 18:52:04'
cover: 'https://cdn1.tianli0.top/gh/Redish101/cdn@src/img/20220718211307.png'
---

# 这是什么

在去年，GitHub上线了一个十分酷炫的新功能：`Codespaces`，使用Codespaces可以随时随地在浏览器里编辑、调试、运行托管在GitHub的代码，但这个功能一直在内测，只有企业才能申请使用。

但就在前几天，GitHub将此功能开放公测，任何用户都能申请使用，101早早的就收到了来自GitHub的邮件，于是便满心欢喜的来到了GitHub，美滋滋的体验了一番，于是就有了这篇文章。

![101收到的邮件](https://cdn1.tianli0.top/gh/Redish101/cdn@src/img/20220610210634.png)

# 性能

## 硬件配置

先说性能，GitHub面对个人项目提供了一台4Cores 8RAM的机子，这性能对于普通的开发那是绰绰有余，话不多说，上bench截图：

![bench测试结果](https://cdn1.tianli0.top/gh/Redish101/cdn@src/img/20220610211120.png)

## 网络

配置虽好值得夸赞，但这网络之遭也十分的影响使用，在笔者试用的时候，2个小时中断线了将近十次。虽然大部分时间下编辑器的使用没有发现明显卡顿，但终端在使用时的卡顿是真的让人无法忍受。

## 终端相关

Github Codespaces的终端是可以通过`sudo su`进入root用户的，也可以直接通过`sudo`命令来运行需要root权限的服务。

## 自动休眠

这是非常重要的一个点，是我们白嫖之路的最大绊脚石，在一段时间（暂未明确结果）内如果编辑器没有活跃，codespace就会自动关闭，这导致一切

# 写代码

Codespaces使用了web版本的VS Code，所以说编辑体验是与直接在本地使用Code编辑并无不同，经过测试，也能完美的适配各种插件。运行时方面也无需担心，已经自动预装了docker、python、node、c/cpp等大部分语言的开发环境。

同时，如果在终端里启动程序的开发服务器时编辑器会自动发现开放的端口并映射到公网，默认是私有的，只有codespace的所有者才能访问，但是可以在图中的这个位置中更改穿透为对外公开，但是101奉劝各位早点死了用这个搭建什么服务的心吧，同GitHub一样，几乎是无法访问，在速度这方面，甚至比不上GitHub Pages。

# 奇怪的技巧

前面说了，直接使用自带的内网穿透速度很慢，几乎无法使用，不能搭建服务。

但是，别忘了我们还有很多第三方的内网穿透，只要选择合适的提供商，还是能确保不错的访问速度的。这里我推荐Cloudflare的`Argo Tunnel`，速度相当的不错。

## 跑面板

这里没有什么可以说的，直接跑appnode就行了。

## 跑MacOS

这个技巧就有点离谱了，其原理为通过docker跑macos之后使用vnc直接连接就好了，但是体验极差，不推荐。

# 定价问题

虽说现在Codespaces处在Beta阶段，不会收取任何一份费用，但是101没有得到任何确切的消息说Codespaces会免费。(其实很好理解，用脚趾头都能想出来，Github会这么大方，免费送给你4c8g的服务器？)

