前言
对于每一位热爱编程与技术的学生而言,GitHub 学生开发者包无疑是一座金矿,它集成了众多顶级的开发工具、云服务和学习资源,能极大地助力你的学习和项目实践。但这份“大礼包”的获取之路,有时也并非一帆风顺。
本教程专为那些在申请 GitHub 学生包过程中遇到困惑,特别是面临地理位置限制、学生证上传不便,或因 OBS 虚拟摄像头无法正常工作而烦恼的同学们量身打造。我们将以哈佛大学的申请流程为例,详细拆解每一个步骤,分享包括指纹浏览器配置、Tampermonkey 油猴脚本应用、OBS Studio 技巧乃至注册表修改等多种实用方法。无论你是初次尝试,还是屡次受挫,都希望本文能为你指明方向,助你成功解锁这份专属福利。
准备工具
OBS Studio
https://obsproject.com Tampermonkey Extension
https://www.tampermonkey.net/ 有效的学生邮箱一个
代理工具
指纹浏览器(非必需)
大致流程
打开指纹浏览器,创建环境,主要修改一下位置信息为你所要申请的学校位置,经纬度可以在Google地图上获取。
如图,搜索并选择Harvard University后,地址栏有纬度,经度,缩放级别,对应填写即可。准备好学校所在州的代理(如有学校自带的VPN最好),打开环境,访问Github官网注册页进行注册。
- 填写邮箱(学生邮箱),用户名,密码,人机验证,验证码,过程略。
注册完成后打开设置,修改一下部分内容:
- 首先修改Public profile,主要填写Name和修改头像。
- 其次修改Billing and licensing子菜单的Payment information,地址从Google地图上找住宅地址对应填写即可。
- 最后修改Password and authentication,主要是添加Two-factor authentication,推荐添加Authenticator app。完成上述修改后,打开Education benefits,点申请,选择学生、学校,分享位置,接着继续下一步,选择第一项学生卡证明,拍摄或上传学生证,提交即可。
细节部分
位置修改
如果没有使用指纹浏览器,可以在开发者工具(F12)中修改,位置如图。
打开传感器,对应修改位置即可。
上传照片
如果无法上传照片,我们还可以采取其他方法,如:
Tampermonkey
脚本来源
wooncha大佬提供的脚本,后经bqx619大佬修正后的脚本。
使用方法
安装脚本
打开GitHub Education · GitHub 点击“Join GitHub Education”
点击Load按钮,上传学生证照片
点击“Start an application”,点击Student,然后这里注意一定要手动输入自己的学校名称,不能点“Use this School”,否则会修改不到定位。
点击继续,选择1号School ID ,然后打开摄像头,设置没问题的话就可以看到自己的学生证图片了,点击确认上传即可。
脚本代码
代码具体内容需注册为Linux Do成员并升级为二级后方可查看,注册方式见
OBS Studio
使用方法
下载OBS Studio
https://obsproject.com ,安装并打开。准备好学生证,调整好角度,启动虚拟摄像机
注意:如果虚拟摄像头无法替换,可以尝试禁用原有的所有摄像头,然后重新启用虚拟摄像头。
特殊说明
如果使用OBS Studio遇到下面的提示,请使用下述方法修改注册表后,即可解决。
注意:修改注册表有风险,请谨慎操作,运行前请备份注册表。
使用方法
第一个代码块 :
这是一个 Windows 批处理脚本。
应该保存为
.bat
文件。例如:
run_powershell_admin.bat
@echo off chcp 65001 > nul setlocal enabledelayedexpansion echo Starting script execution... REM 检查是否以管理员权限运行 NET SESSION >nul 2>&1 if %errorlevel% neq 0 ( echo This script requires administrator privileges. echo "右键以管理员身份运行." pause exit /b 1 ) echo Attempting to run PowerShell script... REM 直接调用 PowerShell 执行脚本 powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0modify_registry.ps1" if %errorlevel% neq 0 ( echo An error occurred while running the PowerShell script. ) else ( echo PowerShell script executed successfully. ) echo. echo Script execution completed. pause
第二个代码块 :
这是一个 PowerShell 脚本。
应该保存为
.ps1
文件。这个文件应该命名为
modify_registry.ps1
并与.bat
文件放在同一目录下。
# 检查管理员权限 if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Write-Host "请以管理员权限运行此脚本!" Exit } # 定义搜索和替换值 $searchValue = "OBS Virtual Camera" $replaceValue = "Logitech c1000e" # 定义搜索路径 $registryPaths = @( "HKLM:\SOFTWARE\Classes\CLSID", "HKLM:\SOFTWARE\WOW6432Node\Classes\CLSID" ) $modifiedList = @() foreach ($path in $registryPaths) { Write-Host "搜索路径: $path" if (Test-Path $path) { Get-ChildItem -Path $path -Recurse -ErrorAction SilentlyContinue | ForEach-Object { $key = $_ $key | Get-ItemProperty -ErrorAction SilentlyContinue | ForEach-Object { $properties = $_.PSObject.Properties | Where-Object { $_.Value -is [string] -and $_.Value -like "*$searchValue*" } foreach ($prop in $properties) { try { Set-ItemProperty -Path $key.PSPath -Name $prop.Name -Value $replaceValue -ErrorAction Stop $modifiedList += "路径: $($key.Name), 键: $($prop.Name), 新值: $replaceValue" Write-Host "已修改: $($key.Name) -> $($prop.Name)" -ForegroundColor Green } catch { Write-Host "无法修改: $($key.Name) -> $($prop.Name). 错误: $($_.Exception.Message)" -ForegroundColor Red } } } } } else { Write-Host "路径不存在: $path" -ForegroundColor Yellow } } if ($modifiedList.Count -gt 0) { Write-Host "`n修改的内容列表:" $modifiedList | ForEach-Object { Write-Host $_ } } else { Write-Host "`n未找到需要修改的内容。" } Write-Host "`n脚本执行完毕。按任意键退出..." $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
将这两个代码分别正确保存在同一目录,然后右键以管理员身份运行
.bat
文件即可,运行结果大致如下:Starting script execution... Attempting to run PowerShell script... 搜索路径: HKLM:\SOFTWARE\Classes\CLSID 已修改: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{860BB310-5D01-11d0-BD3B-00A0C911CE86}\Instance\{A3FCE0F5-3493-419F-958A-ABA1250EC20B} -> FriendlyName 已修改: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{A3FCE0F5-3493-419F-958A-ABA1250EC20B} -> (default) 搜索路径: HKLM:\SOFTWARE\WOW6432Node\Classes\CLSID 已修改: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{860BB310-5D01-11d0-BD3B-00A0C911CE86}\Instance\{A3FCE0F5-3493-419F-958A-ABA1250EC20B} -> FriendlyName 已修改: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{A3FCE0F5-3493-419F-958A-ABA1250EC20B} -> (default) 修改的内容列表: 路径: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{860BB310-5D01-11d0-BD3B-00A0C911CE86}\Instance\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}, 键: FriendlyName, 新值: Logitech c1000e 路径: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}, 键: (default), 新值: Logitech c1000e 路径: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{860BB310-5D01-11d0-BD3B-00A0C911CE86}\Instance\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}, 键: FriendlyName, 新值: Logitech c1000e 路径: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}, 键: (default), 新值: Logitech c1000e 脚本执行完毕。按任意键退出... PowerShell script executed successfully.
注意事项
请以管理员权限运行此脚本。
本脚本是将摄像头名称从
OBS Virtual Camera
替换为Logitech c1000e
,可以根据实际情况修改被替换值。
申请状态
初审通过(Approved)
进入审查程序,权益未获取终审通过(Coupon applied)
恭喜,权益已可以正常使用!机器拒绝(Denied)
看提示是哪里有问题,对应改就行,尽可能不要多的被机器拒绝人工拒绝(Revoked)
如果出现这种情况,那么账号已经被标记,主要体现为申请时提示要联系GitHub支持或者点击申请跳转付费使用界面。
若为真实学生,发工单就行;
若不是,建议删号,静置几天后重新注册(此种情况下,如若通过应尽快使用所有权益,因为随时会被人工拒绝)
结语
成功申请 GitHub 学生开发者包,无疑能为你的学习和项目开发带来巨大便利。
虽然部分操作可能初看略显复杂,但通过本文的指引,希望能让整个过程更加清晰和易于操作。掌握这些技巧不仅能帮助你顺利获得学生包,也能提升你解决实际问题的能力。
再次提醒,操作时请务必细心,特别是涉及系统修改的部分,确保理解每一步的含义和潜在风险。
预祝大家都能成功解锁 GitHub 的学习宝库,开启更广阔的编程探索之旅!
ℳ𝓊𝓈𝒾𝒻ℯ𝒾