V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zerofancy
V2EX  ›  分享创造

把光猫搞成一个下载服务器

  •  1
     
  •   zerofancy · 2022-04-10 15:21:48 +08:00 · 7872 次点击
    这是一个创建于 718 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人的初衷是调研光猫改桥接的方式,以便能够以更高的速度 BT 下载。然而最后花力气进了管理员帐号发现也没有改桥接的选项,但在光猫上跑个下载服务却是可行的。 光猫型号:HG2543C1

    1. 访问 http://192.168.1.1 ,输入密码后进入光猫管理后台。这里我找到“上网帐号设置”,备份宽带帐号和密码。不得不说他系统还是挺拉的,密码框直接用审查元素功能把 type 改为 input 就可以看到密码了。
    2. 第一步后台不要退出,访问 http://192.168.1.1/servmngr.html 。这里看到一个空白页面,审查元素后发现大有乾坤。
    3. 将这些代码取消注释,此时网页还是空白的,但是用 Ctrl+A 可以看到实际是有内容的。在这个页面开启 telnet 访问,并设置密码。注意用户名为 admin 不要改,否则后面 telnet 登陆不进去。
    4. telnet 192.168.1.1 成功后执行sh。然后uname -a看下。这里我就不记录查看管理员密码步骤了,反正这个型号管理员面板也没有设置桥接的选项。
    5. top,发现占用内存最高的是个两个 java 进程。java -version,发现安装了 java8 。
    # java -version
    openjdk version "1.8.0-internal"
    OpenJDK Runtime Environment (build 1.8.0-internal-jenkinsang_2022_01_15_04_03-b00)
    JamVM (build 2.0.0, inline-threaded interpreter with stack-caching)
    
    1. free命令可知总内存约二十多兆,剩余仅 3 兆。这点空间是搞不了什么事情的,因此我尝试干掉前述两个 java 进程。ps -aux | grep java,发现除了存在两个 java 进程,还写了脚本自动把这两个进程拉起来,即/etc/monitor_java.sh 。统统 kill 掉。
    2. 现在有 10 兆左右的内存了,对于 java 来说可能还是不太能搞事,但跑个 aria2 足够了!尝试插入 U 盘,发现在/mnt/usb1_1自动挂载。
    3. 交叉编译 aria2c ,这里我用的是这个脚本:https://gitee.com/logic_2050/auto-build-aria2-mips32-static 。在我的 debian11 编译过程中只遇到一个问题,手动sudo apt install autoreconf即可。
    4. 如何把文件弄到光猫里,以及取出来?每次插拔 U 盘也太麻烦了。于是我找到一个支持上传的简单文件服务器:https://github.com/mayth/go-simple-upload-server。仍然交叉编译到 mips 静态包。env GOOS=linux GOARCH=mips GOMIPS=softfloat go build -trimpath -ldflags="-s -w -extldflags=-static"
    5. 成品。:

    问题:

    1. 被我干掉的两个 java 进程是做什么的?光猫跑 java 属实有点离谱,一半内存都是他们占的,干掉后也不影响上网,甚至也不影响光猫后台管理。有兴趣的可以探究下。
    2. 不支持 https 。这个原因没有深入探究,看网上说编译 aria2c 时要指定证书,我这里暂时通过设置check-certificate=false不检查证书。
    3. 2GB 左右的大文件会失败,提示文件读写错误,这个我怀疑和光猫对 exFat 分区格式支持不好有关系。但手里只有一个 U 盘,并且暂时不方便格式化所以作罢。

    这里是我编译好的 aria2c 和 go-simple-upload-server 。另外的 jar.tar 是我从光猫拷出来的那个原有的 java 程序,有兴趣的可以分析一下。

    链接: https://pan.baidu.com/s/1AWR_rIVg58DcYZ_54d51ZA 提取码: 5kq8

    24 条回复    2022-04-18 15:45:12 +08:00
    qwq11
        1
    qwq11  
       2022-04-10 18:23:47 +08:00
    插个眼,家里面的光猫应该不是这个型号的
    mineqqme
        2
    mineqqme  
       2022-04-10 19:21:45 +08:00
    真的是生活的意义在于折腾。不过光猫那个弱鸡性能,能干好本职工作就还好了。
    cpstar
        3
    cpstar  
       2022-04-10 20:40:06 +08:00
    辛苦 OP 了,折腾了一溜够。
    燃鹅。。。最后 OP 发现,怎么就不能满速,怎么家里的网速还变慢了。嘿嘿。
    siriussilen
        4
    siriussilen  
       2022-04-10 21:35:33 +08:00
    好家伙,运营商把光猫给你让你上网,你给做成个下载机,你怎么这么优秀!
    findex
        5
    findex  
       2022-04-10 22:15:59 +08:00
    估计里面内置 java 是为了远程审计用的。曾几何时,上网久了自动断网 30mins ,你懂的。喜欢研究的同学可以说几句。
    rekulas
        6
    rekulas  
       2022-04-10 23:10:14 +08:00
    折腾到最后,楼主还是转向了 nas 的怀抱
    Mac
        7
    Mac  
       2022-04-11 00:01:14 +08:00 via Android
    30m 的时代我干过这事,光猫拖个 50g 的移动硬盘混 pt ,这年头真没必要,折腾的性价比极低。
    zerofancy
        8
    zerofancy  
    OP
       2022-04-11 02:52:42 +08:00 via Android
    实用意义确实不大,即使是 aria2 下载大文件( 2G 以上)时
    zerofancy
        9
    zerofancy  
    OP
       2022-04-11 02:54:39 +08:00 via Android
    额,不小心发出去了,aria2 BT 下载大文件也很容易占用超过 10 兆内存,然后关键进程 OOM 光猫重启了。普通下载就更没意义了。
    gps949
        10
    gps949  
       2022-04-11 07:56:21 +08:00
    aria2 的配置项中有个磁盘缓存( disk-cache ),默认是 256M ,不知道你改设置没有。

    不过还是桥接是正路,我看网上别人 HG2543C1 破解完后有桥接项啊(一个电信的有截图,一个联通的说电话联系客服改桥接就行)
    orzz
        11
    orzz  
       2022-04-11 12:33:53 +08:00
    思路不错,等大佬再鼓捣鼓捣
    NSAgold
        12
    NSAgold  
       2022-04-11 16:04:11 +08:00
    联通还是电信?联通的超级管理从 cu.html 进应该是可以改桥接的
    电信的比较麻烦 可能要改省份信息才能防止被 tr069 覆盖
    zerofancy
        13
    zerofancy  
    OP
       2022-04-12 00:54:02 +08:00
    @NSAgold 联通。经测试默认省份为北京时,超级管理员无法登陆,删除配置文件省份信息后成功登陆,但后台未找到桥接选项,只比普通管理员多了个设备注册,且此时无法上网,显示 vlanid 不匹配(网页上也没有设置 vlanid 的地方)
    @gps949 diskcache 已经设置为 0 了,甚至还尝试了限制下载速度,都不行。也许可以通过挂载 swap 分区解决 OOM 的问题,但他也没有 swapon 命令,估计还得去重新编译 busybox ,不想折腾了
    Unclev21x
        14
    Unclev21x  
       2022-04-12 10:12:11 +08:00
    楼主的探索精神牛皮啊,顶一下。
    warcraft1236
        15
    warcraft1236  
       2022-04-12 17:09:46 +08:00
    改桥接这个事不是给客服打个电话就完了吗
    NSAgold
        16
    NSAgold  
       2022-04-12 22:24:31 +08:00
    @zerofancy 有试过重置之后不插光纤直接从 http://192.168.1.1/cu.html 进管理员后台么? 如果还是不行的话建议自行换猫😂
    xiaoke
        17
    xiaoke  
       2022-04-13 19:41:06 +08:00 via Android
    技术可以啊,不折腾不舒服斯基
    seakingii
        18
    seakingii  
       2022-04-14 14:43:49 +08:00
    在小型设备里用 JAVA,是不是 JAVA 最初的梦想?
    zerofancy
        19
    zerofancy  
    OP
       2022-04-14 16:19:03 +08:00
    @warcraft1236 出租屋,想先调研下能不能自己折腾了
    @seakingii 不过 10M 内存我确实写不出啥有意思的程序
    darkengine
        20
    darkengine  
       2022-04-15 08:43:00 +08:00
    @seakingii 梦回 J2ME
    1903326369
        21
    1903326369  
       2022-04-15 19:45:27 +08:00 via Android
    浙江打电话就能改桥接~
    timothyye
        22
    timothyye  
       2022-04-16 08:23:22 +08:00 via Android
    光猫: 饶了我吧
    Decent
        23
    Decent  
       2022-04-16 19:42:54 +08:00 via iPhone
    买个支持桥接的光猫不就行了
    goodryb
        24
    goodryb  
       2022-04-18 15:45:12 +08:00
    不是应该更关注那两个 java 程序是干什么的吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1385 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:42 · PVG 07:42 · LAX 16:42 · JFK 19:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.