├── README.md ├── config ├── njupt-2020年5月.sh └── njupt.sh └── images ├── 自动认证开机自启.png ├── 自动认证无线桥接.png └── 自动认证查看网卡.png /README.md: -------------------------------------------------------------------------------- 1 | # 该项目已完工! 2 | 3 | # 更新记录: 4 | ## 2020年5月13日,学校更新的上网编码,目前已更新,请使用最新版。 5 | 6 | # NJUPT_NET:通过该教程实现路由器使用单个账号免登陆共享校园网/移动网/电信网! 7 | 8 | 我邮的校园网有2种接入方式,第1种是有线接入(网线),第2种是无线接入(NJUPT、NJUPT-CMCC、NJUPT-CHINANET)。这里讨论的是第2种无线接入的情况。 9 | 10 | 一般情况下,无线接入后通过Web方式(p.njupt.edu.cn)进行认证,官方的方法限制多台设备(3台以内)并且每次通过Web认证十分麻烦。 11 | 12 | # 以下教程是通过中继NJUPT、NJUPT-CMCC、NJUPT-CHINANET,实现单个账号自动认证并共享校园网!有线端口也可以通过该方案实现! 13 | 14 | # 注意:通过2.4G中继认证后网速会下降,一般只有原先的一半,因此推荐使用带5G路由器进行中继,这里推荐小米路由器mini r1c! 15 | 16 | # 第一部分:路由器刷入第三方固件 17 | 参考[NJUPT_NET_2018](https://github.com/kaijianyi/NJUPT_NET_2018)项目,这里不再重复。 18 | 19 | # 第二部分:中继接入NJUPT-CMCC信号 20 | 这里以老毛子的Padavan为例。 21 | 22 | 1)路由断网,进入路由器管理页面,依次点击:高级设置->无线2.4GHz->无线桥接->无线AP工作模式->AP-Client + AP 23 | 24 | ![image](/images/自动认证无线桥接.png) 25 | 26 | 2)选择1个信号强度较高的NJUPT信号,保存配置 27 | 28 | 3)检测是否中继成功,查看是否可以打开p.njupt.edu.cn,如果可以继续下一部分 29 | 30 | # 第三部分:抓包获取数据 31 | 32 | 暂时省略这部分,直接下载我的配置文件,修改为自己的账号和密码即可 33 | 34 | # 第四部分:上传配置文件 35 | 36 | 1)使用WinSCP上传配置文件至etc/storage/bin,右键赋予777权限 37 | 38 | 2)进入路由器管理界面,配置开机自启动 39 | 40 | ![image](/images/自动认证开机自启.png) 41 | 42 | ## 一体化脚本启动格式:/etc/storage/bin/njupt.sh in cmcc 学号 密码 43 | ## in:表示登录,out:表示注销,cmcc:移动,ctcc:电信,njupt:校园网 44 | 45 | 3)重启路由器,成功 46 | 47 | # 特别说明 48 | 49 | ### 1)本项目很多资源来自网上,均是开源项目,本人仅是收集整理,如有意见请联系我删除。 50 | 51 | ### 2)特别指出禁止任何个人或者公司将其投入商业使用,由此造成的后果和法律责任均与本人无关。 52 | -------------------------------------------------------------------------------- /config/njupt-2020年5月.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 输入格式:登录类型(in、out),运营商(ctcc-电信、cmcc-移动、cucc-联通、njupt-校园网),账号,密码 4 | 5 | # 登录类型 6 | logintype=$1 7 | 8 | # 运营商 9 | isp=$2 10 | 11 | # 账号 12 | name=$3 13 | 14 | # 密码 15 | pwd=$4 16 | 17 | # 登录IP 18 | logip= 19 | 20 | # 运营商标识 21 | loginisp= 22 | 23 | ########################################## 24 | 25 | printf "正在获取IP!\n\n" 26 | # 获取动态IP 27 | # 有线端口 28 | netip=$(ifconfig eth2.2 | grep inet | awk '{print $2}' | tr -d "addr:") 29 | printf "有线-IP=${netip}\n\n" 30 | 31 | # 2.4G中继 32 | twoip=$(ifconfig apcli0 | grep inet | awk '{print $2}' | tr -d "addr:") 33 | printf "2.4G中继-IP=${twoip}\n\n" 34 | 35 | # 5G中继 36 | fiveip=$(ifconfig apclii0 | grep inet | awk '{print $2}' | tr -d "addr:") 37 | printf "5G中继-IP=${fiveip}\n\n" 38 | 39 | # MAC无线端口 40 | macip=$(ifconfig en0 | grep "inet " | awk '{print $2}' | grep '10.') 41 | printf "MAC-IP=${macip}\n\n" 42 | 43 | ########################################## 44 | 45 | # 如果netip不为空 46 | if [ ${netip} ] 47 | then 48 | loginip=${netip} 49 | printf "当前loginip=有线-IP=${netip}\n\n" 50 | elif [ ${twoip} ] 51 | then 52 | loginip=${twoip} 53 | printf "当前loginip=2.4G中继-IP=${twoip}\n\n" 54 | elif [ ${fiveip} ] 55 | then 56 | loginip=${fiveip} 57 | printf "当前loginip=5G中继-IP=${fiveip}\n\n" 58 | elif [ ${macip} ] 59 | then 60 | loginip=${macip} 61 | printf "当前loginip=MAC-IP=${macip}\n\n" 62 | else 63 | printf "获取IP错误!\n\n" 64 | exit 0 65 | fi 66 | 67 | ########################################## 68 | 69 | # 执行登录操作 70 | if [ "$logintype" = "in" ] 71 | then 72 | printf "执行登录操作!\n\n" 73 | 74 | # 获取运营商标识 75 | # 移动 76 | if [ "$isp" = "cmcc" ] 77 | then 78 | loginisp=%40cmcc 79 | printf "当前是移动网!\n\n" 80 | # 电信 81 | elif [ "$isp" = "ctcc" ] 82 | then 83 | loginisp=%40njxy 84 | printf "当前是电信网!\n\n" 85 | # 校园网 86 | elif [ "$isp" = "njupt" ] 87 | then 88 | printf "当前是校园网!\n\n" 89 | else 90 | printf "运营商错误!\n\n" 91 | exit 0 92 | fi 93 | 94 | ########################################## 95 | 96 | # 账号不为空 97 | if [ ${name} ] 98 | then 99 | loginname="%2C0%2C"${name}${loginisp} 100 | echo "账号为:$loginname" 101 | echo "" 102 | else 103 | printf "账号为空!\n\n" 104 | exit 0 105 | fi 106 | 107 | ########################################## 108 | 109 | # 密码不为空 110 | if [ ${pwd} ] 111 | then 112 | loginpwd=${pwd} 113 | echo "密码为:$loginpwd" 114 | echo "" 115 | else 116 | printf "密码为空!\n\n" 117 | exit 0 118 | fi 119 | 120 | ########################################## 121 | 122 | # 登录操作 123 | curl "http://10.10.244.11:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=10.10.244.11&iTermType=1&wlanuserip=${loginip}&wlanacip=10.255.252.150&wlanacname=XL-BRAS-SR8806-X&mac=00-00-00-00-00-00&ip=${loginip}&enAdvert=0&queryACIP=0&loginMethod=1" --data "DDDDD=${loginname}&upass=${loginpwd}&R1=0&R2=0&R3=0&R6=0¶=00&0MKKey=123456&buttonClicked=&redirect_url=&err_flag=&username=&password=&user=&cmd=&Login=&v6ip=" 124 | 125 | # 执行退出操作 126 | elif [ "$logintype" = "out" ] 127 | then 128 | printf "执行退出操作!\n\n" 129 | 130 | # 退出操作 131 | curl "http://10.10.244.11:801/eportal/?c=ACSetting&a=Logout&wlanuserip=${loginip}&wlanacip=10.255.252.150&wlanacname=XL-BRAS-SR8806-X&port=&hostname=10.10.244.11&iTermType=1&session=&queryACIP=0&mac=" 132 | 133 | # 什么都不做 134 | else 135 | printf "参数错误!\n\n" 136 | exit 0 137 | fi 138 | -------------------------------------------------------------------------------- /config/njupt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 输入格式:登录类型(in、out),运营商(ctcc-电信、cmcc-移动、cucc-联通、njupt-校园网),账号,密码 4 | 5 | # 登录类型 6 | logintype=$1 7 | 8 | # 运营商 9 | isp=$2 10 | 11 | # 账号 12 | name=$3 13 | 14 | # 密码 15 | pwd=$4 16 | 17 | # 登录IP 18 | logip= 19 | 20 | # 运营商标识 21 | loginisp= 22 | 23 | # 执行登录操作 24 | if [ "$logintype" = "in" ] 25 | then 26 | printf "执行登录操作!\n\n" 27 | 28 | # 获取运营商标识 29 | # 移动 30 | if [ "$isp" = "cmcc" ] 31 | then 32 | loginisp=%40cmcc 33 | printf "当前是移动网!\n\n" 34 | # 电信 35 | elif [ "$isp" = "ctcc" ] 36 | then 37 | loginisp=%40njxy 38 | printf "当前是电信网!\n\n" 39 | # 校园网 40 | elif [ "$isp" = "njupt" ] 41 | then 42 | printf "当前是校园网!\n\n" 43 | else 44 | printf "运营商错误!\n\n" 45 | exit 0 46 | fi 47 | 48 | ########################################## 49 | 50 | # 获取动态IP 51 | # 有线端口 52 | netip=$(ifconfig eth2.2 | grep inet | awk '{print $2}' | tr -d "addr:") 53 | printf "有线-IP=${netip}\n\n" 54 | 55 | # 2.4G中继 56 | twoip=$(ifconfig apcli0 | grep inet | awk '{print $2}' | tr -d "addr:") 57 | printf "2.4G中继-IP=${twoip}\n\n" 58 | 59 | # 5G中继 60 | fiveip=$(ifconfig apclii0 | grep inet | awk '{print $2}' | tr -d "addr:") 61 | printf "5G中继-IP=${fiveip}\n\n" 62 | 63 | # MAC无线端口 64 | macip=$(ifconfig en0 | grep "inet " | awk '{print $2}' | grep '10.') 65 | printf "MAC-IP=${macip}\n\n" 66 | 67 | ########################################## 68 | 69 | # 如果netip不为空 70 | if [ ${netip} ] 71 | then 72 | loginip=${netip} 73 | printf "当前loginip=有线-IP=${netip}\n\n" 74 | elif [ ${twoip} ] 75 | then 76 | loginip=${twoip} 77 | printf "当前loginip=2.4G中继-IP=${twoip}\n\n" 78 | elif [ ${fiveip} ] 79 | then 80 | loginip=${fiveip} 81 | printf "当前loginip=5G中继-IP=${fiveip}\n\n" 82 | elif [ ${macip} ] 83 | then 84 | loginip=${macip} 85 | printf "当前loginip=MAC-IP=${macip}\n\n" 86 | else 87 | printf "获取IP错误!\n\n" 88 | exit 0 89 | fi 90 | 91 | ########################################## 92 | 93 | # 账号不为空 94 | if [ ${name} ] 95 | then 96 | loginname="%2C0%2C"${name}${loginisp} 97 | echo "账号为:$loginname" 98 | echo "" 99 | else 100 | printf "账号为空!\n\n" 101 | exit 0 102 | fi 103 | 104 | ########################################## 105 | 106 | # 密码不为空 107 | if [ ${pwd} ] 108 | then 109 | loginpwd=${pwd} 110 | echo "密码为:$loginpwd" 111 | echo "" 112 | else 113 | printf "密码为空!\n\n" 114 | exit 0 115 | fi 116 | 117 | ########################################## 118 | 119 | # 登录操作 120 | curl "http://p.njupt.edu.cn:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=p.njupt.edu.cn&iTermType=1&wlanlogip=${loginip}&wlanacip=null&wlanacname=XL_ME60&mac=00-00-00-00-00-00&ip=${loginip}&enAdvert=0&queryACIP=0&loginMethod=1" --data "DDDDD=${loginname}&upass=${loginpwd}&R1=0&R2=0&R3=0&R6=0¶=00&0MKKey=123456&buttonClicked=&redirect_url=&err_flag=&username=&password=&user=&cmd=&Login=&v6ip=" 121 | 122 | # 执行退出操作 123 | elif [ "$logintype" = "out" ] 124 | then 125 | printf "执行退出操作!\n\n" 126 | 127 | # 退出操作 128 | curl "http://p.njupt.edu.cn:801/eportal/?c=ACSetting&a=Logout" 129 | # 什么都不做 130 | else 131 | printf "参数错误!\n\n" 132 | exit 0 133 | fi -------------------------------------------------------------------------------- /images/自动认证开机自启.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaijy91/NJUPT_NET/2ae1c2910f8799c909dd6cb47f3c0c9f286c14dc/images/自动认证开机自启.png -------------------------------------------------------------------------------- /images/自动认证无线桥接.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaijy91/NJUPT_NET/2ae1c2910f8799c909dd6cb47f3c0c9f286c14dc/images/自动认证无线桥接.png -------------------------------------------------------------------------------- /images/自动认证查看网卡.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaijy91/NJUPT_NET/2ae1c2910f8799c909dd6cb47f3c0c9f286c14dc/images/自动认证查看网卡.png --------------------------------------------------------------------------------