## ## wget -e use_proxy=yes -e http_proxy=http://10.10.44.8:6152 -e https_proxy=http://10.10.44.8:6152 http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-browser_112.0.5615.49-0ubuntu0.18.04.1_arm64.deb wget -e use_proxy=yes -e http_proxy=http://10.10.44.8:6152 -e https_proxy=http://10.10.44.8:6152 http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg_112.0.5615.49-0ubuntu0.18.04.1_arm64.deb wget -e use_proxy=yes -e http_proxy=http://10.10.44.8:6152 -e https_proxy=http://10.10.44.8:6152 http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-chromedriver_112.0.5615.49-0ubuntu0.18.04.1_arm64.deb done < list.txt pip3 install --proxy=http://10.10.44.8:6152 selenium lxml requests sudo HTTPS_PROXY=http://10.10.44.8:6152 rpi-update #临时设置代理并运行单个命令: http_proxy="http://10.10.44.8:6152" https_proxy="http://10.10.44.8:6152" bash shell.sh http_proxy="http://10.10.44.8:6152" https_proxy="http://10.10.44.8:6152" curl -sfL https://raw.githubusercontent.com/ducaale/xh/master/install.sh | http_proxy="http://10.10.44.8:6152" https_proxy="http://10.10.44.8:6152" sh
ZTE 光猫
二、F7607p跨版本刷机:
由于市场上充斥着移动版本的F7607p,电信原版、联通原版的F7607p都比较稀少,所以才会有从移动版刷固件到电信版和联通版的教程。
1. 刷机前准备工作
- 重置光猫(强烈建议,启动后捅reset按钮等所有灯亮了松开即重置成功,重置成功后的超管后台账号密码如下)
移动:CMCCAdmin,aDm8H%MdA 联通:CUAdmin,CUAdmin | cuadmin,cuadmin 电信:telecomadmin, nE7jA%5m
- 开启Telnet
工具:蚂蚁5147的恩山帖子 | Google Drive转存
[1]
从工具中获取到的b'FactoryModeAuth.gch?user=e7cvt74z&pass=0hrRIVv0\x00' 字段中,其中:
临时账户为:e7cvt74z
临时密码为:0hrRIVv0
- 固化telnet用户名和密码:
可以参考[2]rajey的恩山脚本进行,以下脚本在rajey的基础上就只增加了提权光猫背面的普通用户的权限至管理员,适用于F7607p,不适用于G7615。G7615固化telnet请直接用rajey的脚本。
@echo off
echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs
echo WScript.Sleep 600 >>telnet_tmp.vbs
echo sh.SendKeys "open 192.168.1.1{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "临时账号{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "临时密码{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB p TelnetCfg{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 Lan_Enable 1{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 TS_UName admin{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 TSLan_UName admin{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 TS_UPwd admin{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 TSLan_UPwd admin{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 Max_Con_Num 999999{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 WanWebLinkToTS 1{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 ExitTime 99999999{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 InitSecLvl 3{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 CloseServerTime 99999999{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set TelnetCfg 0 Lan_EnableAfterOlt 1{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB set DevAuthInfo 1 Level 1{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "sendcmd 1 DB save{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "reboot{ENTER}">>telnet_tmp.vbs
echo WScript.Sleep 9000 >>telnet_tmp.vbs
echo message
start telnet
cscript //nologo telnet_tmp.vbs
taskkill /im telnet.exe /f
del telnet_tmp.vbs
2. 三大运营商的F7607p固件:
3. 备份原机闪存
- 移动版:
dd if=/dev/mtd0 of=/mnt/usb1_1/f7607p_dd.bin 或(移动版阉割了nand命令,可分别执行dd和cat双备份) cat /dev/mtd0 > /mnt/usb1_1/f7607p_cat.bin
- 联通版:
cat /dev/mtd0 > /mnt/USB1_disc1/f7607p_cat.bin 或(联通版阉割了dd,可分别执行cat和nand双备份) nand kread /dev/mtd0 0x0 0x10000000 /mnt/USB1_disc1/f7607p_nand.bin
- 电信版:
cat /dev/mtd0 > /mnt/USB_disc1/f7607p_cat.bin 或(电信版阉割了dd,可分别执行cat和nand双备份) nand kread /dev/mtd0 0x0 0x10000000 /mnt/USB_disc1/f7607p_nand.bin
4. 刷固件的优盘:
格式化为NTFS或FAT32格式,将需要刷入的运营商固件放置到优盘根目录,比如移动版刷电信版,需要将电信版的固件解压后的
kernel.bin、framework.bin放置在优盘的根目录下。
5. Telnet连接光猫:
光猫通电后,接入你的Windows电脑,可以使用putty客户端(提前安装好),也可以在Windows下的shell命令行中,直接通过telnet命令[3]连接到光猫的后台。

三、移动版刷联通版
- 确认当前所在分区:
进入Telnet,运行fw_flashing,会报错并给出当前启动的内核分区,如:baseaddr:1600000, curpdev=/dev/mtd7, offset=0
其中mtd7为当前启动的内核分区; - 切换分区:
当启动分区为mtd7时,执行命令upgradetest switchver 1将操作分区切换到mtd8;
当启动分区为mtd8时,执行命令upgradetest switchver 0将操作分区切换到mtd7 - 刷入分区文件:
当启动分区为mtd7时,执行以下命令:
cd /mnt/usb1_1 echo 2 > /proc/zteinfo/factory/factorymode touch /userconfig/nanddebug nand kerase /dev/mtd8 0x0 0x2800000 nand kwrite /dev/mtd8 0x0 0x2800000 ./kernel.bin #建议一行一行输入代码,除非你懂代码什么意思。
当启动分区为 mtd8 时,执行以下命令:
cd /mnt/usb1_1 echo 2 > /proc/zteinfo/factory/factorymode touch /userconfig/nanddebug nand kerase /dev/mtd7 0x0 0x2800000 nand kwrite /dev/mtd7 0x0 0x2800000 ./kernel.bin #建议一行一行输入代码,除非你懂代码什么意思。
- 晚上以上步骤后,输入
reboot执行重启; - 重启完成后再次进入Telnet再次执行
fw_flashing得到当前启动的内核分区:
当启动分区为mtd8时,执行以下命令:
cd /mnt/USB1_disc1 echo 2 > /proc/zteinfo/factory/factorymode nand kerase /dev/mtd7 0x0 0x2800000 nand kwrite /dev/mtd7 0x0 0x2800000 ./kernel.bin nand kerase /dev/mtd9 0x0 0x1000000 nand kwrite /dev/mtd9 0x0 0x1000000 ./framework.bin nand kerase /dev/mtd10 0x0 0x1000000 nand kwrite /dev/mtd10 0x0 0x1000000 ./framework.bin nand kerase /dev/mtd11 0x0 0x7900000 nand kerase /dev/mtd6 0x0 0x600000 rm /userconfig/nanddebug #建议一行一行输入代码,除非你懂代码什么意思。
当启动分区为 mtd7 时,执行以下命令:
cd /mnt/USB1_disc1 echo 2 > /proc/zteinfo/factory/factorymode nand kerase /dev/mtd8 0x0 0x2800000 nand kwrite /dev/mtd8 0x0 0x2800000 ./kernel.bin nand kerase /dev/mtd9 0x0 0x1000000 nand kwrite /dev/mtd9 0x0 0x1000000 ./framework.bin nand kerase /dev/mtd10 0x0 0x1000000 nand kwrite /dev/mtd10 0x0 0x1000000 ./framework.bin nand kerase /dev/mtd11 0x0 0x7900000 nand kerase /dev/mtd6 0x0 0x600000 rm /userconfig/nanddebug #建议一行一行输入代码,除非你懂代码什么意思。
- 修改区域信息:
查看区域码对照表:cat /etc/init.d/regioncode;
切换区域码:upgradetest sdefconf 210
四、移动版刷电信版
- 确认当前所在分区: 进入
Telnet,运行fw_flashing,会报错并给出当前启动的内核分区,如:baseaddr:1600000, curpdev=/dev/mtd7, offset=0其中mtd7为当前启动的内核分区; - 切换分区:
当启动分区为mtd7时,执行命令upgradetest switchver 1将操作分区切换到mtd8;
当启动分区为mtd8时,执行命令upgradetest switchver 0将操作分区切换到mtd7 - 刷入分区文件: 当启动分区为
mtd7时,执行以下命令:
cd /mnt/usb1_1 echo 2 > /proc/zteinfo/factory/factorymode touch /userconfig/nanddebug nand kerase /dev/mtd8 0x0 0x2800000 nand kwrite /dev/mtd8 0x0 0x2800000 ./kernel.bin #建议一行一行输入代码,除非你懂代码什么意思。
当启动分区为 mtd8 时,执行以下命令:
cd /mnt/usb1_1 echo 2 > /proc/zteinfo/factory/factorymode touch /userconfig/nanddebug nand kerase /dev/mtd7 0x0 0x2800000 nand kwrite /dev/mtd7 0x0 0x2800000 ./kernel.bin #建议一行一行输入代码,除非你懂代码什么意思。
- 晚上以上步骤后,输入
reboot执行重启; - 重启完成后再次进入Telnet再次执行
fw_flashing得到当前启动的内核分区: 当启动分区为mtd9时,执行以下命令:
cd /mnt/USB_disc1 echo 2 > /proc/zteinfo/factory/factorymode nand kerase /dev/mtd10 0x0 0x2800000 nand kwrite /dev/mtd10 0x0 0x2800000 ./kernel_CT.bin umount /opt/upt/apps/mnt1(移动版刷电信固件不用这一步) umount /opt/upt/apps/mnt2(移动版刷电信固件不用这一步) nand kerase /dev/mtd6 0x0 0x1000000 nand kwrite /dev/mtd6 0x0 0x1000000 ./framework_CT.bin nand kerase /dev/mtd7 0x0 0x1000000 nand kwrite /dev/mtd7 0x0 0x1000000 ./framework_CT.bin nand kerase /dev/mtd8 0x0 0x600000 nand kerase /dev/mtd11 0x0 0x7900000 rm /userconfig/nanddebug #建议一行一行输入代码,除非你懂代码什么意思。
当启动分区为 mtd10 时,执行以下命令:
cd /mnt/USB_disc1 echo 2 > /proc/zteinfo/factory/factorymode nand kerase /dev/mtd9 0x0 0x2800000 nand kwrite /dev/mtd9 0x0 0x2800000 ./kernel_CT.bin umount /opt/upt/apps/mnt1(移动版刷电信固件不用这一步) umount /opt/upt/apps/mnt2(移动版刷电信固件不用这一步) nand kerase /dev/mtd6 0x0 0x1000000 nand kwrite /dev/mtd6 0x0 0x1000000 ./framework_CT.bin nand kerase /dev/mtd7 0x0 0x1000000 nand kwrite /dev/mtd7 0x0 0x1000000 ./framework_CT.bin nand kerase /dev/mtd8 0x0 0x600000 nand kerase /dev/mtd11 0x0 0x7900000 rm /userconfig/nanddebug #建议一行一行输入代码,除非你懂代码什么意思。
- 修改区域信息:
查看区域码对照表:cat /etc/init.d/regioncode
切换区域码:upgradetest sdefconf 210
五、附加设置
1. 跳过ITMS注册
电信固件和联通固件部分省份没注册ITMS服务器的话会劫持所有DNS请求的结果到192.168.1.1,使用如下命令手动欺骗ITMS注册结果,解决刷完后打开任意网页自动跳转LOID注册页面。
sendcmd 1 DB set PDTCTUSERINFO 0 Status 0 sendcmd 1 DB set PDTCTUSERINFO 0 Result 1 sendcmd 1 DB save
2. 修改超级密码:
- 修改超级帐号:sendcmd 1 DB set DevAuthInfo 0 User XXXXXX - 修改超级密码:sendcmd 1 DB set DevAuthInfo 0 Pass XXXXXX
3. 修改用户限制:
sendcmd 1 DB p CltLmt sendcmd 1 DB set CltLmt 8 Max 20 (修改最大用户数为20,可以改成其他数目,最大数目不超过255) sendcmd 1 DB set CltLmt 8 Enable 0 sendcmd 1 DB save
4. 修改Mac地址、SN等:
- 查看系统参数信息:
setmac show2 - 修改格式:
setmac 1 [ID] [内容] - 如修改PONMAC命令为:
setmac 1 32769 MAC地址
5. 关闭TR069与定时上报功能:
sendcmd 1 DB p MgtServer #查看一下当前的电信远程控制 sendcmd 1 DB set MgtServer 0 URL http://127.0.0.1 把服务器 URL 改掉 sendcmd 1 DB set MgtServer 0 Tr069Enable 0 sendcmd 1 DB set MgtServer 0 PeriodicInformEnable 0 sendcmd 1 DB save
6. 删除定制版WiFi名字前缀(CMCC, ChinaNet):
sendcmd 1 DB set WLANCfg 0 ESSIDPrefix #设置2.4G的ssid前缀为空 sendcmd 1 DB set WLANCfg 4 ESSIDPrefix #设置5G的ssid前缀为空 sendcmd 1 DB save
7. 关闭下行光口和WiFi
- 关闭:
ip link set mini-olt down rmmod optical rmmod mtlk rmmod mtlkroot
- 开启:
insmod /kmodule/optical.ko insmod /kmodule/mtlkroot.ko insmod /kmodule/mtlk.ko
8. 查看固件版本和编译日期:
hexdump -C -s 0x180 -n 128 /dev/mtd7 输出kernel分区的固件版本号和编译日期部分,移动联通为mtd7和mtd8,电信为mtd9和mtd10。
00000180 5a 58 48 4e 20 46 37 36 30 37 50 20 55 4e 49 20 |ZXHN F7607P UNI | 00000190 56 32 2e 30 2e 36 50 31 4e 32 00 00 00 00 00 00 |V2.0.6P1N2......| 000001a0 01 00 00 00 00 48 08 00 40 00 54 04 7e f2 f6 49 |.....H..@.T.~..I| 000001b0 00 00 7e 02 00 00 d6 01 17 07 c4 96 00 00 00 00 |..~.............| 000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 |................| 000001e0 8d a4 a1 c0 32 30 32 32 30 35 31 36 32 32 35 32 |....202205162252| 000001f0 34 33 00 00 00 00 00 00 ff ff ff ff ff ff ff ff |43..............| 00000200
9. 查看硬件配置信息:
cat /proc/capability/boardinfo
system:LINUX cpufac:ZXIC cpumod:ZX279132 2gwlmod:INTEL 5gwlmod:INTEL cpufre:1100MHZ cpunum:4 flshcap:256MB ddrcap:512MB
开启SSID5的5G WIFI
sendcmd 1 DB set WLANCfg 4 InstExist 1 sendcmd 1 DB set WLANCfg 4 Enable 1 sendcmd 1 DB set WLANCfg 4 LocalSetEnable 1 sendcmd 1 DB save
如果你看不懂上面的折腾教程,同时希望节省自己的宝贵时间,到手即可使用,也可以通过下面链接购买我们刷好的光猫:
Google Gemini Pro
对接移动IMS
https://blog.51cto.com/iteyer/3242405
freeswitch对接北京移动IMS
https://blog.51cto.com/iteyer/3239127
freeswitch 对接IMS
https://blog.csdn.net/weixin_33969116/article/details/91528145
http://baodoc.frp.bao-server.club:22080/project/41/567/
FreeSWITCH(二)对接IMS平台
freeswitch对接移动IMS参数指定和源码修改https://www.cnblogs.com/wendaozhe/p/17160295.html
freeswitch对接移动IMS参数指定和源码修改https://blog.csdn.net/yangmingm/article/details/106077948
freeswitch 对接移动IMShttps://www.wuweixian.com/ipphone/freeswitch/1060/
freeswitch添加一个gateway网关https://blog.csdn.net/Qing_GHuan/article/details/128454115
《 FreeSWITCH权威指南》——3.5 配置SIP网关拨打外部电话https://blog.csdn.net/weixin_34242819/article/details/90492301
asterisk 对接 移动IMS 外呼接通时返487错误(已解决)https://blog.csdn.net/zhangtuo/article/details/123534651
freeswitch对接移动IMS参数指定和源码修改
https://blog.csdn.net/yangmingm/article/details/106077948freeswitch对接移动IMS参数指定和源码修改
https://www.cnblogs.com/wendaozhe/p/17160295.html
FreeSWITCH 学习笔记(一)https://www.cnblogs.com/Braveliu/p/10943511.html
freeswitch实战六(呼叫转移)https://blog.csdn.net/MMsmileNN/article/details/118178044
Freeswitch配置呼叫转移https://blog.csdn.net/ddddffffggggg/article/details/95330251
ResizeObserver loop completed with undelivered notifications问题处理

如果遇到这个问题
在app。vue中添加下面代码解决
<script>
const debounce = (fn, delay) => {
let timer = null;
return function () {
let context = this;
let args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
fn.apply(context, args);
}, delay);
}
};
const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
constructor(callback) {
callback = debounce(callback, 50);
super(callback);
}
}
</script>
可以解决
How to Install FreePBX 17 on Debian 12 with Asterisk 20
https://sangomakb.atlassian.net/wiki/spaces/FP/pages/10682545/How+to+Install+FreePBX+17+on+Debian+12+with+Asterisk+20
注意x86_64
换成aarch64
虚拟环境添加定时任务
添加定时任务
在 cron 文件中添加一行,指定任务的运行时间和命令。假设您的虚拟环境位于 /path/to/virtualenv,脚本位于 /path/to/script.py,下面是一个每天凌晨执行脚本的例子:
0 0 * * * /bin/bash -c 'source /path/to/virtualenv/bin/activate && /path/to/virtualenv/bin/python /path/to/script.py'
这里,0 0 * * * 表示每天午夜执行任务。/bin/bash -c 用于执行一系列命令:
source /path/to/virtualenv/bin/activate:激活虚拟环境。/path/to/virtualenv/bin/python /path/to/script.py:使用虚拟环境中的 Python 解释器运行脚本。
asterisk-chan-quectel的安装
下载
https://github.com/IchthysMaranatha/asterisk-chan-quectel
./bootstrap ./configure --with-asterisk=/usr/src/asterisk-20.5.2/include --with-astversion=20.5.2 make make install #copy quectel.conf to /etc/asterisk Change context and audio serial port as required chown asterisk:asterisk /etc/asterisk/quectel.conf #
“Navicat Premium”已损坏,无法打开。 您应该将它移到废纸篓
不少在安全性与隐私这里就能得到解决了
今天安装Navicat Premium遇到报错 -> “Navicat Premium”已损坏,无法打开。 您应该将它移到废纸篓。
- 终端中输入
sudo xattr -r -d com.apple.quarantine + 空格 + 路径 -> 回车
- 输入开机密码
https://www.alipan.com/s/MZVqbZQMtm9
x9i7,解压密码:digit77.com
解决 “/lib64/libc.so.6: version `GLIBC_2.18′ not found (required by /lib64/libstdc++.so.6)”
依次执行,时间比较长,不要中途退出。
curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz tar zxf glibc-2.18.tar.gz cd glibc-2.18/ mkdir build cd build/ ../configure --prefix=/usr make -j2 make install
查看版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBC