作者归档:caspian

用proxy来执行

##
##
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 

从工具中获取到的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]连接到光猫的后台。

putty客户端连接设置

三、移动版刷联通版

  • 确认当前所在分区:
    进入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

如果你看不懂上面的折腾教程,同时希望节省自己的宝贵时间,到手即可使用,也可以通过下面链接购买我们刷好的光猫:

对接移动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/106077948

freeswitch对接移动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>

可以解决

虚拟环境添加定时任务

添加定时任务

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”已损坏,无法打开。 您应该将它移到废纸篓。

  1. 终端中输入
    sudo xattr -r -d com.apple.quarantine + 空格 + 路径 -> 回车

     

  2. 输入开机密码

https://www.alipan.com/s/MZVqbZQMtm9

x9i7,解压密码:digit77.com