超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

折騰指南: 將光貓改造成你的NAS,WebDAV+網(wǎng)頁(yè)文件管理器vList5+natmap

freeflydom
2024年10月7日 9:33 本文熱度 913

為什么會(huì)有這篇文章?

關(guān)于為什么我會(huì)想到折騰光貓,見(jiàn) https://hi.imzlh.top/2024/03/02.cgi
這篇文章本來(lái)應(yīng)該在4個(gè)月前就完成了,但是我一直都在折騰NAS軟件
其中我也嘗試了很多方法,奈何時(shí)間不足斷斷續(xù)續(xù)的

  • WebList,前身叫做 weborf,是一個(gè)小巧的支持簡(jiǎn)單的WebDAV的程序
    我修改了一下UI和認(rèn)證部分,改動(dòng)不多但是性能不強(qiáng),且只能服務(wù)靜態(tài)文件,很快拋棄

  • MomentPHP,前身是PHPMVC,經(jīng)過(guò)兩個(gè)月的擴(kuò)充,已經(jīng)很全能了
    可惜不知道是什么原因,總是莫名其妙出點(diǎn)問(wèn)題性能也不可樂(lè)觀,上個(gè)月后就拋棄了

  • vList5,前身是vList3,同樣是為了Nginx設(shè)計(jì),只不過(guò)改成了njs作為平臺(tái)
    繼承了NGINX超強(qiáng)并發(fā),使用了VUE絕對(duì)響應(yīng)式,在昨天正式完成主要功能

至于為什么會(huì)這么折騰,完全是因?yàn)楣庳埾拗票容^大。詳細(xì)的內(nèi)容看原文即可,我們現(xiàn)在開(kāi)始吧

準(zhǔn)備一臺(tái)光貓

這個(gè)材料很好找,一般的光貓都可以,但是有些光貓鎖得很死,很考驗(yàn)大家的技術(shù)

為光貓解鎖telnet

為什么是telnet呢

  • telnet方便,可以遠(yuǎn)程管理

  • 有些機(jī)器甚至tty串口都鎖死了,只能破解telnet

case1:熱門(mén)機(jī)型直接找

這一步就需要大家熟練使用搜索引擎了。
型號(hào)很好找,直接打開(kāi) 管理頁(yè)面,去網(wǎng)上搜索就輕松找到

case2:找不到或失敗

可以嘗試一些工具,比如 針對(duì)ZTE機(jī)型的爆破工具
這里就不重點(diǎn)介紹了,感興趣的自己研究

連接到光貓

下載 putty,telnet連接到192.168.1.1
賬號(hào)密碼就是上一步爆破得來(lái)的,直接輸入就行了

有的畜生光貓默認(rèn)給的權(quán)限不是root,這個(gè)時(shí)候移動(dòng)root密碼一般都是 aDm8H%MdA,其他的我也不清楚請(qǐng)自行搜索
建議固定到Windows剪貼板( Win標(biāo) + V )上,下一次登錄就很方便了

為光貓干掉TR069

運(yùn)營(yíng)商有一個(gè)坑爹的東西叫做遠(yuǎn)程管理,能批量遠(yuǎn)程配置
一旦配置下發(fā),你可能就又得再重新配置一次了(《從0開(kāi)始的折騰之旅》)
因此為了杜絕后患,必須得把遠(yuǎn)程管理這個(gè)隱患干掉

sidbg or sendcmd

我接觸過(guò)兩種光貓,有兩種管理工具,除了名字不一樣,命令是一樣的
你可以試試看哪種命令適合你的光貓


sendcmd 1 DB set WANC 0 Enable 0

sidbg 1 DB set WANC 0 Enable 0

然后你也可以順便改一下超級(jí)密碼,這樣下次Web端登錄會(huì)更方便
(比如我家的光貓就是賬號(hào) root 密碼 toor ,怎么樣好記嗎)


sidbg 1 DB set DevAuthInfo 0 User [賬號(hào)]

sidbg 1 DB set DevAuthInfo 0 Pass [密碼]

查看架構(gòu)

~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 1 (v7l)
BogoMIPS : 1594.16
Features : half thumb fastmult edsp tls
CPU implementer : 0x41
CPU architecture : 7
CPU variant : 0x4
CPU part : 0xc09
CPU revision : 1

processor : 1
model name : ARMv7 Processor rev 1 (v7l)
BogoMIPS : 1594.16
Features : half thumb fastmult edsp tls
CPU implementer : 0x41
CPU architecture : 7
CPU variant : 0x4
CPU part : 0xc09
CPU revision : 1

Hardware : ZTE ZX279128 (Device Tree)
Revision : 0000
Serial : 0000000000000000

  • 首先看 processor,有兩個(gè),是古董級(jí)雙核處理器

  • 再看 model name,是Armv7l,ARM的最后一代32位處理器

  • 最后是 Features,沒(méi)有vfp,就是 arm-eabi,有vfp那就是arm-eabihf

  • 最后可以了解一下CPU,通過(guò) Hardware 可以了解,比如我這一塊CPU就是

    ZX279128S是一款功能強(qiáng)大的SoC(System on Chip)芯片。芯片內(nèi)嵌ARM Cortex A9雙核處理器 以及豐富的外設(shè),使用AXI高性能總線實(shí)現(xiàn)互聯(lián),CPU的頻率達(dá)到1000MHz,可實(shí)現(xiàn)復(fù)雜協(xié)議報(bào)文的處理。

armv7,但是沒(méi)有vfp,那就當(dāng)作是armv5,或者說(shuō)是armel,別搞錯(cuò)了
mips的可能稍微難搞一點(diǎn),下文可能需要自己編譯軟件

考慮安家位置

這個(gè)很重要,劃重點(diǎn)
根目錄大多是有CRC校檢的或者直接打包進(jìn)內(nèi)核的,bin這類(lèi)文件夾大多放在根目錄。所以想要重啟后不消失或者不變磚,建議找/usr/data,空間也大
或者這里更建議扔到自啟動(dòng)腳本周?chē)?,如我的光貓就保存?code style="margin: 0px 3px; padding: 0px 5px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, sans-serif; line-height: 1.8; display: inline-block; overflow-x: auto; vertical-align: middle; border-radius: 3px; background-color: rgb(251, 229, 225); color: rgb(192, 52, 29); border: none !important;">/usr/local/osgi/,方便
下文默認(rèn)所有文件都保存到/usr/local/osgi/,如果不是,你可能需要修改nginx配置并替換所有出現(xiàn)的/usr/local/osgi/

準(zhǔn)備軟件

想要ctrl作為軟件管理程序 自行參考 我寫(xiě)的文章
[懶人版一鍵復(fù)制] 這里假設(shè)你的光貓有curl自帶,如果沒(méi)有,參考 https://hi.imzlh.top/2024/03/02.cgi


# aria2

curl https://hi.imzlh.top/usr/uploads/2024/03/971539169.gz -k | gunzip - > aria2

# nginx

curl https://hi.imzlh.top/usr/uploads/2024/07/1871251897.gz -k | gunzip - > nginx

# natmap

curl https://hi.imzlh.top/usr/uploads/2024/07/1468987588.gz -k | gunzip - > natmap

配置nginx

首先,你需要安裝vList5和一個(gè)fancyindex美化包,方法也非常簡(jiǎn)單
假設(shè)你的硬盤(pán)已經(jīng)掛載到了/mnt,如果沒(méi)有,請(qǐng)執(zhí)行mount /dev/sda /mnt


curl -Lk https://github.com/imzlh/vlist-njs/releases/download/master/vlist5.js -o /usr/local/osgi/vlist.js

cd /mnt

curl https://github.com/imzlh/vList5/releases/download/main/vlist5_latest.tgz -Lk | tar xz

mkdir .static

cd .static

curl https://hi.imzlh.top/usr/uploads/2024/07/2093537519.gz -k | tar xz

關(guān)于nginx配置文件這里直接抄作業(yè)就行了,保存到 /usr/local/osgi/etc/nginx/nginx.conf
我可是研究了將近一天研究出來(lái)了這一份高性能高并發(fā)的nginx配置
(B:你似乎很驕傲啊,你知不知道,你這一句就相當(dāng)于赤裸裸地在說(shuō) “快夸我,快給我三連”?。?/small>
(別忘了新建文件夾,mkdir /usr/local/osgi/etc/nginx/)


worker_processes                                auto;



events {

       accept_mutex                            on;

       multi_accept                            on;

       use                                     epoll;

       worker_connections                      1024;

}



http {

       include                                 mime.types;

       default_type                            application/octet-stream;

       log_format                              main '$status $remote_addr $request';

       access_log                              /tmp/nginx/access.log main;



       tcp_nopush                              off;

       tcp_nodelay                             on;



       client_max_body_size                    256m;

       client_body_buffer_size                 128m;

       client_header_timeout                   1m;

       client_body_timeout                     10m;

       send_timeout                            10m;

       reset_timedout_connection               on;

       client_body_in_file_only                clean;

       client_body_in_single_buffer            on;



       gzip                                    on;

       gzip_min_length                         1024;

       gzip_buffers                            4 128k;

       gzip_types                              text/plain;

       gzip_vary                               on;



       output_buffers                          2 128k;

       postpone_output                         1460;

       sendfile                                on;

       sendfile_max_chunk                      256k;

       directio                                4m;

       keepalive_timeout                       1h;

       open_file_cache                         max=1024 inactive=1m;

       open_file_cache_min_uses                4;



       server_tokens                           off;



       proxy_cache_path                        /tmp/nginx/cache/ levels=1:2

                                                   keys_zone=thumb:1M inactive=10h max_size=256M;

       proxy_http_version                      1.1;

       ssl_session_cache                       shared:SSL:1m;



       dav_ext_lock_zone                       zone=dav:1m timeout=1h;



       js_shared_dict_zone                     zone=njs:1m type=string;

       resolver                                114.114.114.114 223.5.5.5 8.8.8.8;



       http2_recv_buffer_size                  128k;

       http2_chunk_size                        128k;

       http3_stream_buffer_size                128k;



       server {

               listen                          81;

               # listen                          [::]:8443 ssl;

               # listen                          [::]:444 quic;

               listen                          [::]:88;





               # http2                           on;

               # http3                           on;



               # ssl_certificate                 [證書(shū)cer/crt文件];

               # ssl_certificate_key             [證書(shū)key文件];

               # ssl_protocols                   TLSv1.2 TLSv1.3;

               # ssl_buffer_size                 32k;

               # ssl_early_data                  on;

               # ssl_session_timeout             10m;



               root                            /mnt/;

               index                           index.html;



               fancyindex                      on;

               fancyindex_localtime            on;

               fancyindex_exact_size           off;

               fancyindex_header               /.static/header.html;

               fancyindex_footer               /.static/footer.html;

               fancyindex_css_href             /.static/core.css;

               fancyindex_default_sort         name;

               fancyindex_show_path            off;

               fancyindex_hide_parent_dir      on;

               fancyindex_time_format          "%y/%m/%d %H:%M";



               charset_types                   *;

               charset                         utf-8;



               dav_methods                     PUT DELETE MKCOL COPY MOVE;

               dav_ext_methods                 PROPFIND OPTIONS LOCK UNLOCK;

               dav_access                      user:rw group:rw all:r;

               create_full_put_path            on;

               dav_ext_lock                    zone=dav;



               # js_path                               lib/nginx/;

               js_import                               /usr/local/osgi/lib/nginx/vlist.js;

               js_import                               /usr/local/osgi/lib/nginx/ddns.js;

               js_fetch_buffer_size            128k;

               js_fetch_max_response_buffer_size 4m;

               js_fetch_timeout                30s;

               js_fetch_verify                 off;



               add_header      Alt-Svc                         'h3=":444"; h2=":8443"; ma=86400';

               add_header      Access-Control-Allow-Origin     * always;

               add_header      Access-Control-Allow-Headers    "Content-Type, Authorization" always;



               location = /@api/{

                       js_var                  $authkey "[請(qǐng)自己設(shè)一個(gè)密碼]";

                       js_content              vlist.main;

               }

       }

}

PS 想要SSL? 打開(kāi)注釋掉的內(nèi)容即可

考慮:動(dòng)態(tài)更新

在這么精簡(jiǎn)的系統(tǒng)內(nèi),如何處理 請(qǐng)求更新 呢?
那只有使用 curl 才行。如果沒(méi)有請(qǐng)使用 wget也差不多(嘛,HTTPS就別想了)

參考readme.md,這是適用于natmap地自動(dòng)更新腳本的參數(shù)列表

argv[0]: Script path
argv1Public address (IPv4/IPv6)
argv2Public port
argv3: IP4P
argv4: Bind port (private port)
argv5: Protocol (TCP/UDP)
argv6: Private address (IPv4/IPv6)

所以腳本也很好寫(xiě)(保存到/usr/local/osgi/update.sh,別忘了chmod +x update.sh):


#!/bin/sh

# 換成自己的動(dòng)態(tài)重定向服務(wù),如我的是redirect.php

curl https://[你的服務(wù)地址]?addr=$1:$2 -k

# wget也可以,但是不支https

wget http://[你的服務(wù)地址]?addr=$1:$2 -O - >> /dev/null

對(duì)于所有系統(tǒng),直接使用 cat > update.sh,輸完了 Ctrl+D 即可
(如果系統(tǒng)很好心提供了vi,那就更方便了,比如我的H60G就很良心地提供了busybox vi)


#!/bin/sh

curl https://....?addr=$1:$2 -k ^D

這樣就OK了

考慮:自啟動(dòng)

除非你家的光貓 7x24 小時(shí)開(kāi)機(jī),不然難免會(huì)想要自啟動(dòng)
我最開(kāi)始修改了etc文件夾里的文件,第一臺(tái)變磚第二臺(tái)直接還原。
最后很簡(jiǎn)單,直接暴力干掉插件系統(tǒng)就行了(java...如果你有需要建議留著)

參考了這篇文章,不僅干掉了java插件系統(tǒng),大幅度優(yōu)化之外還提供了自啟動(dòng)管理
但是還是不能照抄,因?yàn)槲覀兊膉ava掛載不是鏡像,而是完整的磁盤(pán)分區(qū)

Filesystem1K-blocksUsedAvailableUse%Mounted on
/dev/mtdblock1230720144641625647%/usr/local/osgi
  • 那就更好辦了,直接find出手找到j(luò)ava文件

  • $ cd /usr/local/osgi/
    /usr/local/osgi $ find ./ -name java
    ./local/j2re/bin/java

替換成以下內(nèi)容就行了
(這里吐槽一下,垃圾光貓權(quán)限都不給足,還需要su升權(quán),詳情:https://hi.imzlh.top/2024/03/11.cgi)


#!/bin/sh



if [ ! -f /tmp/services.log ]

then



       while true

       do

               curl -sk http://www.gstatic.com/generate_204 && break

               sleep 10

       done



       echo aDm8H%MdA | su -c "/usr/local/osgi/rc.sh" -l root > /tmp/services.log &



else

       echo "services already started"

fi



exit 1

接下來(lái)是自啟動(dòng)腳本 /usr/local/osgi/rc.sh,這個(gè)腳本里是有root權(quán)限的
這里,我們需要啟動(dòng)nginx和natmap
注意 千萬(wàn)別忘記mkdir /tmp/nginx/,不然nginx會(huì)啟動(dòng)報(bào)錯(cuò)的


cd /usr/local/osgi/

./natmap -4 -k 8 -s stunserver.stunprotocol.org -h baidu.com -t 192.168.1.2 -p 80 -d -e update.sh

mkdir /tmp/nginx/

./nginx
BASH復(fù)制全屏

建議添加一行用來(lái)掛載USB磁盤(pán)


mount /dev/sda /mnt
BASH復(fù)制全屏

保存重啟
OK!全文完。

?轉(zhuǎn)自https://www.cnblogs.com/imzlh/p/18307425


該文章在 2024/10/8 9:01:00 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved