|
本帖最后由 yuexin 于 2017-4-21 23:04 编辑
【更新】:之前虽然编译成功了njit,但由于不清楚的原因,出现各种问题
用上njit后根本没有报文回应。。后来刷了c3h,但是发现只有第一次能运行。。这才考虑是墙上的端口有毒。。于是找网管解绑了mac和端口,果然能成功运行。现在把能运行的包放上(PS:c3h比较新,支持inode7.0,njit改了版本号可能也行)。上传到路由器的/tmp目录,用opkg insatll 命令安装。依赖包libpcap。固件用官方固件即可不用另行编译了。。。使用方法:c3h-client [username] [passwd] [wan口网卡] [失败重试次数]
原文:
最近刚好入手了个腾达AC9,一心想着破解校园网。。(PS:这个在后面)。不过这不是今天的重点,今天的重点是njitclient实现路由器的自动拨号。在网上找了好多教程,居然发现几乎都是几年前的了,要么就是盗的。。楼主就写个符合2017的吧。
先说说我采过的坑。。因为楼主也是小白,真正玩路由器也才四天。。Linux也不会编译。。所以走了很多弯路。。
1.重点:强烈推荐Ubuntu14.04 32位的系统(真机,特么第一次装自己装ubuntu,把我最重要的数据盘格了。。)来编译。64位的话如果你更新扩展包后,会发现始终编译不过去,有个libssl老是报错。网上各种教程都不行,这时候你把错误放到谷歌翻译就会看到说64位下找不到这个包了。。
2.强烈不推荐虚拟机、虚拟服务器。因为我四天里前两天都是给这个卡主了,你会发现楼主没说过的各种奇葩问题都会出现,比如啥openssl包没安装啦(实际你装了也没用),又或者你编译到半路就会发现各种错误。嗯,512M的内存是搞不定的(可能是楼主吊丝买不起好的)
3.强烈建议你谷歌,不会英语?扩展不能用?扒下放谷歌翻译就好。之前我用服务器安装openssl,出现来一个BUG,各种百度答非所问,这时候谷歌还是挺好用的。
4.如果你不是32位的系统,出现啥报错也不要来找我,楼主搞不定
5.编译openwrt还是ubuntu是正道,网上教程几乎都是ubuntu环境的。
5.ubuntu16的32位也可以试试(14版的终端没16的方便)
6.刷LEDE的github里的固件和楼主的有一点区别,官网的可能改善了一些,导致楼主编译出来的zlib装不上去
7.最好刷自己编译好的固件,不要官网的,自己的自带中文,而且nji没啥问题。我用自己编译好的上传到官方的固件后,啥反应都没。。到现在都没解决,有兴趣可以看看我昨天的帖子。
8.要么挂国外的VPS,要么fan greatwall或者手机流量吧,不然编译过程中联网下载的速度极低。。。你愿意就试试
9.检查编译环境后发现错误或者编译中发现错误并按照网上教程安装对应的包后如果还是不行,先重启,再考虑重头开始解压源码并更新扩展
目录:安装依赖包
下载官方源码
更新扩展包
make defconfig (编译环境)检查
make menuconfig (菜单选择配置)
make
加入njit编译
刷路由器固件。
1.安装依赖包
更新组件:sudo apt-get update
其他包:sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip asciidoc
(PS:可以参考下其他教程,大概是这么几个包)
1. jingyan.baidu.com/article/cb5d6105fb6597005c2fe028.html
2. mt.sohu.com/20160926/n469210135.shtml
3. blog.csdn.net/coekjin/article/details/51895332
2.下载官方源码(直接在主文件夹的终端下就行)
https://github.com/lede-project/source(进入后会有个clone or download的绿色按钮,点它就行,默认下载到下载文件夹中)
PS:由于openwrt没有真正适配AC9的固件,所以我们只编译比较新的LEDE(openwrt的最新分支),openwrt编译后的AC9没有无线驱动
解压后(这个自己动手)
mkdir LEDE #新建一个文件夹
把下载好的包解压到这个文件夹中
cd source-master
3.更新扩展,可以考虑先跳过。把最核心的编译好再回头处理,就像楼主没有马上把njitclient包放进来一样的道理,没有这一步只是没有luci而已
cp feeds.conf.default feeds.conf
更新扩展,安装扩展:./scripts/feeds update -a
./scripts/feeds install -a
4。执行命令:make defconfig,检查编译环境如果正确,如图
5.菜单选择:上下键上下移动,<enter>确认或者进入选项。当左边为<*>表示选中并编译生成.ipk文件。Y键或者空格键表示选中,其他功能自行百度。
首先选择好芯片型号,AC9是brcm53xx(ARM) 。
执行make menuconfig(默认在source-master目录下进行)
a. 会出现一个窗口(窗口手动拉大一点,小一点的话也会报错,尤其是远程或者虚拟机窗口没设置好是)在Target System 中找到Broadcom BCM47xx/53xx(ARM)
b.回到主菜单,在target Profile中选中腾达AC9.(这两部关系到你编译出来的固件能不能用。)
c.主菜单中进入Luci,在Collections-->luci.并且在Modules中的translations--->选中Chinese(Luci 在openwrt是更新扩展后才有,LEDE我忘记测了,)这样就有中文的luci页面了。
6命令:make ,进行编译,如果出错,再执行make -j1 V=s查看详细信息。这个过程要联网,强烈建议手机流量,大概也就一个G左右吧,毕竟这样速度快,fan greatwall次之。
7.编译njitclient插件。
首先把njit(github直接下载)解压在/source-master/package中。再把makefile解压放在njit解压后的src(源码)文件夹中。
再次执行make menuconfig,在network中可以找到njit,顺带连它的web页面一起选中。
再次执行make 进行编译。并在/source-master/bin/targets/bcm53xx/generic文件夹中可以找到lede-bcm53xx-tenda-ac9-squashfs.trx。这个就是我们的刷机用的固件了。刷机教程参考:mt.sohu.com/20160729/n461689951.shtml
mt.sohu.com/20160729/n461689951.shtml
其他ipk文件在/bin/package/arm_cortex-a9/base中找到
8.a.后期配置通过192.168.1.1进入路由器页面,可以在System --> system-->language and style中的language中找到普通话。
b.用xshell连接上后可以自己写个脚本让njit自动运行。参考教程:blog.csdn.net/sunnypotter/article/details/18604663
如果版本号有要求,参考:https://wenku.baidu.com/view/7d4444b7fab069dc50220172.html(你可以直接先试试官方源码,似乎我的学校就是linux下不检测)
9.验证的话可以在luci中直接输入帐号密码,也可以用xhell(建议第一次用xshell)。最后附上我自己编译的固件还有相关的njit及其依赖包的ipk包吧。(直接刷我的固件就不用了),根据官方的对话,似乎最新版的已经不用libopenssl依赖包了。(因为我英语太差,理解不太好,坑爹的英语)。。。我权限不足,上传不了那么大的固件。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|