Does anyone have a suggestion to alternatives to GitHub? Our team used GitHub for revision control and allowing students to easily work on code both at home on personal computers and at school on team laptops. We found it very helpful.
Unfortunately due to a recent security breach on our schools computer system the IT people at our school have now blocked GitHub on our school internet system and on the “bring your own device” system, so even though our teams laptops on not district controlled we can’t access GitHub from school without using a personal hotspot which we would like to avoid.
Are you any recommended alternatives ?
They will likely also block any of the other popular alternatives (Gitlab and Bitbucket). Also, Gitlab recently decided we weren’t “non-profit” enough and asserted that we needed to pay a $5.00/user/month license fee. We moved fully over to Github because it’s more than likely more of a benefit to students to leave their high-schools with an active Github account before going into the academic or corporate after-life.
+1 for the above. The easiest and best solution is to get the kids access to github.
Gerrit, GitHub Enterprise, GitLab, etc… are all more work than getting IT to unblock github which is an essential site for kids learning VCS.
My prior team had the opposite happen to them. IT allowed web access to GitHub but blocked SSH. Was kind of annoying because copy-pasting personal access tokens isn’t as convenient as SSH for auth, and GitHub doesn’t allow HTTPS password auth anymore.
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
Our district has a pretty draconian policy when it comes to GitHub. I found the easiest solution was to stand up a GitLab instance on my own server and private network. I have to admin it all with zero support, but the district doesn’t care since it doesn’t connect to anything else but our Octoprint farm.
Lot’s of good advice - thank you! We’ll try to run some of these by our IT people.
I don’t foresee them unblocking it soon. This was part of their response.
" A larger conversation is needed, including information accessible through other sites and student discipline who abuse, will need to be addressed before unblocking."
Part of the problem is that in addition to an external security breach, there have been issues with students getting around IT security. We don’t know for sure who was involved, but the likely suspects are on our FRC team, which explains the mention of discipline.
As Joe mentioned, server requirements for GitLab are pretty light. I set it up on an old laptop the district planned to surplus. It does fine running Ubuntu hosting GitLab for the software team and runs Cura for the print farm too. I thought it was a fairly thrifty solution given the constraints I was handed.
VPNs are also banned by our district - so that was out as well.
Can also confirm, laptops make pretty good lightweight servers, since they have built-in UPSs. If you have an old laptop with a dead or cracked screen, this is a perfect application.
My old FRC team used a VPN (WireGuard) during the pandemic to tunnel into the school and deploy code to robots from home (VPN setup instructions - FRC Team 3512). The IT department blocks inbound and outbound VPNs now.
Try and work with IT on the issue. I believe next year they are allowing a select few mentor accounts to access GitHub. Sometimes it helps if you know a little IT yourself and you can volley some suggestions, like having a different firewall regions, DMZs, subnets, etc to get around the issue. We just were granted admin access (on our own computers that have to be on the network) by creating a separate group policy for a few mentors and assigning local admin rights to it on those laptops
We currently use a VPN that somehow isn’t blocked by the school
In the past we have used bitbucket, which is meh
Your school might have access to Microsoft DevOps depending on their licenses, which they could set up for you. I believe the basic plan for it is free with an organizations subscription
Some severs that run CPanel have the Git feature enabled, which you can use
If you have a dedicated server, you could set up your own Git system
And if all else fails, you can use a mobile hotspot, however I know schools are notorious for having terrible cell reception
The firewall could man-in-the-middle connections and do packet inspection. It’s harder than just blocking ports, but it’s more thorough.
I tried that. They block that too by man-in-the-middling secure connections, which breaks end-to-end encryption. The following is the message you get in that case.
We confirmed the SSH and SSH-over-HTTPS config worked when not connected to the school network, so that leaves the school firewall config.