|
| 1 | +# Introduction |
| 2 | + |
| 3 | +Create a collaborative environment inside GitHub Actions for solving CTF |
| 4 | +problems. Conveniently save progress with git. |
| 5 | + |
| 6 | +# Quick start |
| 7 | + |
| 8 | +- Create a repo from the template ("Use this template") |
| 9 | +- Navigate to the "Actions" tab |
| 10 | +- Choose the correct workflow on the left ("Run Collaborative CTF Environment") |
| 11 | +- Run it using the button in the top right ("Run workflow") |
| 12 | + - Optionally enter a webhook that it can send POST data to |
| 13 | +- View the output; wait for it to print and/or send the tmate connection info |
| 14 | +- SSH in or connect from the Web |
| 15 | + |
| 16 | +# Graphical |
| 17 | + |
| 18 | +**Don't use the graphical workflow unless absolutely necessary!** |
| 19 | + |
| 20 | +- Sign up for ngrok and get an authentication token |
| 21 | +- Run the workflow and pass in the ngrok authentication token |
| 22 | +- Wait for ngrok to run, and look in your ngrok dashboard for the server and |
| 23 | + port to connect to |
| 24 | +- Connect using an [RDP](https://en.wikipedia.org/wiki/Remote_Desktop_Protocol) |
| 25 | + client if using the graphical workflow |
| 26 | + - Username `runner` |
| 27 | + - Password `password` |
| 28 | + - There is a default RDP client installed on Windows |
| 29 | + - For Linux [Remmina](https://remmina.org/how-to-install-remmina/) |
| 30 | + |
| 31 | +# Be a Good Citizen |
| 32 | + |
| 33 | +This project uses generously-offered, free resources in a way that was likely |
| 34 | +not intended by GitHub. Please do not abuse them. |
| 35 | + |
| 36 | +I claim no responsibility for how you use this project. Based on my reading of |
| 37 | +GitHub's: |
| 38 | + |
| 39 | +- [Terms of |
| 40 | + Service](https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-terms-of-service#the-github-terms-of-service) |
| 41 | +- [Acceptable Use |
| 42 | + Policy](https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-acceptable-use-policies) |
| 43 | +- and [Actions Usage |
| 44 | + Policy](https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-additional-product-terms) |
| 45 | + |
| 46 | +I have concluded that using this Actions workflow to do productive work, |
| 47 | +particularly if you don't have the ability to run a Linux computer of your own, |
| 48 | +is probably permissible if done in good faith, and with an effort made to |
| 49 | +reduce excessive resource consumption. For example, don't use the graphical |
| 50 | +workflows unless absolutely necessary, because they are considerably more |
| 51 | +resource intensive to set up and run. |
| 52 | + |
| 53 | +That being said, I may be reading the policies wrong, and GitHub has the right |
| 54 | +to change them at any time. In particular, if this is abused, it is likely that |
| 55 | +its use will be limited by GitHub. **If you like it, don't ruin it for |
| 56 | +others.** |
| 57 | + |
| 58 | +Users get [3,000 minutes of private Actions |
| 59 | +time](https://docs.github.com/en/free-pro-team@latest/actions/reference/usage-limits-billing-and-administration#usage-limits) |
| 60 | +per month per user. Check your own usage |
| 61 | +[here](https://github.com/settings/billing). |
| 62 | + |
| 63 | +# Acknowledgments |
| 64 | + |
| 65 | +This project makes use of several great software packages that have made their |
| 66 | +services available for free: |
| 67 | +- [tmate.io](https://tmate.io/) |
| 68 | +- [ngrok](https://ngrok.com) |
0 commit comments