京东云
由于k2p的mt7621老了,wifi5的速度只有400mbps上下,不能满足新设备的网速需求(连宽带都跑不满),看着京东云还能跑京豆回本,就在2021-08-24买了一个京东云无线宝2代(AX1800 Pro)也就是现在说的亚瑟,本着高通高性能armcpu还有usb3指望能刷个机什么的,结果没等到他出固件,就换了软路由,现在依然作为ap使用,因为固件太菜,所以始终只有做ap的命。
开SSH
最后一个能用的是1.5.40r2181,目前最新的1.5.50r2204是不行的,另外这个版本还会更新到easymesh,如果没有不同型号的需要进行组网,强烈不建议更新
登录京东云,打开f12控制台,运行一下这个
$.ajax({
url: "/jdcapi",
async: false,
data: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "call",
params: [
$.cookie("sessionid"),
"service",
"set",
{
"name": "dropbear",
"instances": {"instance1": {"command": ["/usr/sbin/dropbear"]}}
}
]
}),
dataType: "json",
type: "POST"
})
如果是1.5.50r2204的固件,可以试试这个 评论区Monic提供加密脚本 的内容在京东云断网的情况下恢复出厂设置(不会删缓存)后贴到控制台运行,因为是加密的,也不知道运行了什么,安全性自辩
22年11月头,目前最新的固件是1.5.70r2242,2181无法下发aiecpluginES,所以必须更新,咩咩已经成功带着ssh升级到了这个最新版,方法不公开发布,目前没有可以直接在此固件开ssh的办法,这里提供一些思路:
- 旧版固件可以开ssh
- 固件更新成功后会重启,亮蓝灯,这时手机app可以连接控制路由器
- 大概1分钟后,亮绿灯启动插件,然后会下发/opt/etc/下的插件脚本
nattype.sh
jdc_docker.sh
aiecpluginES.sh
aiecpluginextA.sh
这4个文件,其中aie开头的是插件,另外两个是nat测试和docker环境的启动脚本,以及/opt/etc/init.d/r2242_hotfix
这个开机启动的补丁 - 补丁每次开机重置一次定时计划任务,几分钟定时kill掉一次dropbear
因为他是基于Openwrt的,其中/usr/sbin/dropbear
为本次请求运行的命令,带着cookie还能运行其他的命令
如果需要开机启动,那只需要在/etc/rc.local
中的exit 0
前面加入这个命令,具体怎么加,可以查查vi怎么用
另外如果你用京东云拨号,那么这个ssh服务也是可以从公网访问的,如果不想,请自行增加iptables规则来屏蔽从pppoe访问tcp22
这也算是个隐藏功能吧,不是什么漏洞
DNS劫持
虽然作为AP模式,但是他依然会劫持接在它下面dns到他自身,也就是udp53
其实劫持也没啥,主要是他的DNS解析太慢了,而且局域网主机名.lan
后缀的都无法正常传递到上级路由解析
具体的话可以iptables -t nat -L PREROUTING
检查一下是否有这条规则,解决方案也很简单,命令咩咩已经写好了,运行将删除这条劫持dns的规则,也可以按上面的方式加到开机启动
iptables -t nat -L PREROUTING --line-num | grep dpt:domain | awk '{system("iptables -t nat -D PREROUTING "$1)}'
至于如何验证劫持关掉了呢?nslookup jdcloudwifi.com
解析不出来则为成功(京东云劫持这个域名用于快速访问路由器设置)
另外发现他还是会不定时加回来,所以还需要crontab -e
加到计划任务里
* * * * * iptables -t nat -L PREROUTING --line-num | grep dpt:domain | awk '{system("iptables -t nat -D PREROUTING "$1)}'
这样一分钟会自动检查一次并删掉劫持的规则
或者可以把dns请求劫持一下到主路由
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 192.168.1.1:53
1.5.70r2242收敛了一点,ap模式不会再劫持全部dns,收敛了一点,可以不处理正常用
target prot opt source destination
DNAT udp -- anywhere anywhere udp dpt:domain STRING match "|0b6a64636c6f75647769666903636f6d|" ALGO name bm TO 65535 to:192.168.1.3
QoS
京东云自带QoS规则,可以使用iptables -t mangle -L
查到,积分模式切换的就是QoS模式,具体的脚本是/etc/ipt_qosnss.sh
端口转发
用这个路由器大概也会用它的赚京东功能吧?由于他的UPnP比较奇怪,就算上级路由开了UPnP他也是nat3,那么就需要给他做端口转发,因为他跑的插件虽然说最多就两个,但是具体跑的是哪一个是不固定的,可以先查一下端口监听
netstat -anp | grep 0.0.0.0 | grep -v -E 'wpa|hostap|nmbd|dns|smb|nginx|cnssdaemon|dro
pbear|jdc_|127.0.0.1:'
然后把他们监听的端口加到主路由的端口转发就行
另外有一个/opt/etc/nattype.sh
用于检测nat类型,观察了一下,他会在18700-18799的范围内随机检测,因此这部分也要转发
另外还有个办法,看京东云的防火墙都开放了什么端口,照着添加转发也可以
iptables -L zone_wan_input
更新到r2242之后,有了一个新方法,这是热补丁的一部分/sbin/haiapi call '{"payload":[{"method":"firewall.get_port_access_list"}],"version":"1.0.0","action":"call"}'
显示的是个json,需要转发什么端口是什么协议清晰可见
实在是懒的话,直接把10000-59999都转给京东云就完事咯
外置双插件
因为京东云给的越来越少了,咩咩这里是内置X哔哩哔哩(aiecpluginE)外置Y爱奇艺(aiecpluginA),并且内置跑的比外置还猛,Y插件也占不满500g的硬盘,那么就将内置的X也移动过去
插件安装在/opt
中,aiecplugin
开头的文件夹就是,其中aiecpluginA的存储是在aiecpluginA.conf
中,aiecpluginE则是一个软连接链过去的cache
文件夹
cd /opt/aiecpluginE
# 将内置的缓存复制到外置
cp -a /mnt/mmcblk0p27/aiecpluginE /mnt/sda1/aiecpluginE
# 将插件运行目录换成外置的
rm Log cache
ln -s /mnt/sda1/aiecpluginE/cache cache
ln -s /mnt/sda1/aiecpluginE/Log Log
# 让路由状态显示的是实际的缓存大小
cd /mnt/mmcblk0p27/
rm -rf aiecpluginE
ln -s /mnt/sda1/aiecpluginE aiecpluginE
# 重启插件
ps | grep mmcblk0p27
kill 上面第一列所有的数字用空格隔开
22年11月头,aiecpluginE已经被aiecpluginES插件取代,这是一个跑在docker里的插件,2181无法下发,所以被迫更新到最新的2242
因为插件是个docker容器,所以要将其改为外置就简单了,刚刚被傻逼iOS的下拉刷新坑了,写的全没了,现在就简单写一下吧,假设你的外置盘在/mnt/sda1
docker stop centaurs
cd /mnt/mmcblk0p27
cp -a aiecpluginES /mnt/sda1/aiecpluginES
ln -s /mnt/sda1/aiecpluginES aiecpluginES
docker start centaurs
固件降级
编辑文件/lib/upgrade/platform.sh
,找到check_hlos_type()
这个方法,把-a $ver -ge $version_no
删掉,大概在31行
elif [ -n "$type" -a $ver -ge $version_no ];then
改为
elif [ -n "$type" ];then
就可以在web选择旧版固件降级了
另外评论区有个旧版固件和旧版的platform.sh,因为不知道后期会有什么变化,优先推荐直接修改文件而不是替换,如果不会改可以替换试试(1.5.50r2204测试通过)
Bug
2022年12月初,京东云给2代亚瑟把双插件发成了内外A,也就是爱奇艺的ipes,导致积分暴降,60mbps上一天0.6,之前刚出雅典娜1.2,21年刚买2.5元
原来的aiecpluginA服务变成了aiecplugin2A和aiecpluginsame2A,aiecplugin2A内置,aiecpluginsame2A外置
但是不知道是不是开发的人根本看不懂代码还是有bug,导致这内外两个A只能启动一个,插盘就启动外置的,不插就启动内置的,向客服反馈一个月多次让工程师看也没找到问题,外置存满了内置还是0缓存
其他
京东云对外有个54171端口,转发/api到80端口,是固定端口,建议屏蔽避免被运营商扫,并且这里的api可以修改/opt/etc/config中的文件,另外后台还跑着一个使用固定证书验证访问的webdav服务
ssh证书免密登录把pub里的内容加到这个文件/etc/dropbear/authorized_keys
另外看看评论区,有帮助
如果咩咩的文章对你有帮助,您可以 请我喝牛奶
多谢分享 mjj
补充几个我觉得可以注意的地方
关于SSH的保活:
经测试,22端口不会通过IPv6出网,但是IPv4就不清楚,(咱没公网QwQ)
如果担心端口暴露到外网的话,可以为dropbear增加-p参数,并设置好本地的IP,重启路由器即可 (截图:https://s1.328888.xyz/2022/04/18/r97DW.png)
QoS规则:
经过查看配置文件发现,几种不同的QoS模式中有定义不同的内存限制。
其中极限模式内存放开到了500M,积分优先定义到了300M
您好,请问亚瑟如何备份固件呢?使用mtd命令只显示表头没有数据
固件是装在emmc里的,整个emmc dd出来吧
新版的是不是不能获取ssh
最后一个能用的是1.5.40r2181,目前最新的1.5.50r2204是不行的,另外这个版本还会更新到easymesh,如果没有不同型号的需要进行组网,强烈不建议更新
bbq了我刚更新,这个能降级吗
我觉得不行
可以,在旧版系统机器SSH后获取旧版本的platform.sh,SCP上2204机型替换,然后网页升级不低于platform.sh机型的版本固件(相同或高于)就可以了。
你有没有考虑过一个问题,最新固件开不了ssh
A. 打开以下链接复制里面所有内容 保存备用
点击这里复制所有代码 https://bash-linux.amin.fun/jdcloud/jdcapi_offline.txt
B. 恢复出厂设置(恢复出厂设置不会清空缓存),恢复后不要联网进行配置 或拔掉WAN网线再进行配置
C:登录路由器网页版(默认192.168.68.1)后台 按F12 在控制台(console) 复制粘贴第1步的代码
https://pan.quark.cn/s/23790d2f71a0
下载这里的platform.sh,SCP上去覆盖原文件,亚瑟就能直接在页面刷2165版本的固件,亲测亚瑟从2204降到2165,我又从2165升级到了2181,拿2181的platform.sh对比了下这个连接里得,发现缺两行,应该就是这两行带来得效果。取自ES分享给up主
老哥2181固件有吗?刚到的版本太低不能跑分,听说最低得2181才行
不哦,现在要2242才行了,不然docker跑不起来只能跑单爱奇艺插件,新版会动态下发补丁了,我已经带着ssh升级到最新的2242了,方法暂时不公布
2023-01-04更新,现在亚瑟全是双A插件爱奇艺,2181够了,不过2242可以装docker可以考虑下跑别的服务
我想关闭dns劫持
但是你写的我不大看的懂
能截图告知一下吗
感谢
ssh上去crontab -e进去按i编辑然后把下面那条加进去,按esc再输入:wq保存,等一分钟就关掉了
至于如何验证劫持关掉了呢?nslookup jdcloudwifi.com解析不出来则为成功
"解析不出来"的话
那nslookup jdcloudwifi.com会显示什么结果呢?
BV1394y1o7by
但是为什么我执行后还是无效呀
[email protected]_Athena:~# nslookup jdcloudwifi.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: jdcloudwifi.com
Address 1: 192.168.68.1
*** Can't find jdcloudwifi.com: No answer
你在局域网设备上试啊,他这就是把局域网dns请求都劫持到东云上,你在京东云试,他自己肯定用自己的dnsmasq解析呀
“/opt/etc/nattype.sh用于检测nat类型”
有没有方法让检测每次返回服务器的数据都是nat1,没公网京东云根本就不会跑
可以是可以,但是他该不跑还是不跑,试过了,正确的方式是把他需要的端口映射到公网ip上
雅典娜能用吗?
当然能,他们的固件是同一个
想问一下大神,这个路由能刷机,能给指条明路吗
不能刷
楼主雅典娜能装docker嘛,开了shh装MIXBOX工具也行,提示iptables v1.4.21: Kernel module xt_set is not loaded in.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
这些错误
新固件规则分组变了的话那你自己找吧,我没有新机器
怎么去掉固件对比更新的提示,让他不自动检测大于固件版本的固件
不我不是新固件还是。1.5.40r2181,想装个docker玩玩,求指点
没装过,但肯定可以装,就是跑不动,之前有京东云跑的插件是docker经常死机
看来雅典娜这个路由器硬件不咋滴啊,docker都带不动,还得是小米ax9000
雅典娜就没问题了,毕竟1gram
本想买个雅典娜装个docker,用用去广告的插件,在跑个豆豆,这下看来废了,期待大神开发出新大陆来。
层主会刷固件吗op的固件,能不能交流下怎么刷
这机器目前无固件可以刷
大佬,能分享一下1.5.40r2181固件吗
群共享有
求1.5.40r2181固件
群在哪~
2181固件 按照LZ的方法设置了后 AP模式的有线搞定了 已经开始跑插件了 但无线还是nslookup jdc这个还是会弹出来 导致手机连接2代的WIFI还是无法上网 但可以上QQ和V信 求大佬指导一下 可以发红包感谢 跪求了
你检查一下上级路由的设置,ap模式的话ip和dns使用的是上级路由的,但是如果被劫持用的就是京东云自己的,你的问题是dns无法正常解析,既然nslookup那个域名还能正常出结果,说明你并没有成功的干掉dns劫持,建议`iptables -t nat -L PREROUTING --line-num | grep dpt:domain`看一下
能否给个保留ssh升级的办法,求大神指点
能说的都说了,都说到这地步了还不知道怎么做,那建议洗洗睡吧
哎失败了,没能保留ssh,坐等大神更新了