跳到主要内容

Turbo ACC 网络加速模块

· 阅读需 2 分钟

Turbo ACC 模块本身是一个插件合集,使用它能够对网络进行优化和加速。

它提供的功能有:

  1. Flow Offloading 转发加速,来自高通开源的 Shortcut FE 转发加速引擎 (Fast Path),一种纯软件算法上的优化。可以针对openwrt所有型号的路由器。
  2. HWNAT加速。一般只针对 MT762x 芯片型号的路由器可以开启。
  3. BBR加速。谷歌弄出来的一个内核级别的 TCP 协议的优化,可以提高网络连接的能力(争抢带宽能力),这是linux内核 4.9 以后都可以用的一个东西,内核大于 4.9 的所有型号Openwrt路由器都能用。
  4. DNS 加速。主要是利用 pdnsd 做本地缓存,提高DNS解析速度,所有型号路由器都能用。

使用

下载编译好的 luci-app-flowoffload 插件,运行 opkg install luci-app-flowoffload.ipk 进行安装。

安装完成后可在 luci 后台 Network->Turbo ACC Center 中进行管理,视路由器情况而开启加速功能。Flow Offloading 在 Network->Firewall 中进行管理。

DNS 解析就不开了,别处已经用到了🤐

R4A Gigabit 刷入 Openwrt

· 阅读需 3 分钟

小米路由器4A千兆版 是一款基于联发科 MT7621 SoC 的室内无线路由器,具有三个以太网端口(2xLAN + 1xWAN)、双频 802.11bgn + AC 无线 WiFi,有两种版本 China/Global 固件。

之前在老电脑上安装了 x86 的 Openwrt,这次给路由器安装一下。

获取stok

访问 192.168.31.1,输入密码进入后台首页,将看到网址中有一个参数 stok=xxxxxx,复制 stock 参数,后续会用的到。

克隆项目

该项目可利用远程命令执行漏洞开启路由器的 telnet、ftp 和 ssh 服务:

git clone https://github.com/acecilia/OpenWRTInvasion

进入项目目录后,安装依赖:

pip3 install -r requirements.txt

修改脚本

依赖安装后,需要修改一下 script.sh 文件,脚本中有 两处 curl 下载命令,执行过程中绝大多数情况下会下载失败,所以先下载下来,再利用 http-server 类似的工具开启一个本地服务器,使得那两个文件可以在局域网设备间都能访问。再用局域网内它们对应的下载地址替换原来 GitHub 上的地址,保存。

2022-01-11-1

连接路由器

运行下列命令,中途需要输入 stok 和 路由器管理地址:

python3 remote_command_execution_vulnerability.py

若执行成功,执行以下命令连接路由器,并输入用户名(root) 和 密码(root)。如果没有启用 telnet ,去 启用或关闭Windows功能 里开启一下。

telnet 192.168.31.1

2022-01-11-2

刷入固件

telnet 连接到路由器后,另开一个终端,把下载好的固件用 ftp 传进去。

ftp 192.168.31.1
cd /tmp
put ./Downloads/firmware.bin

传输完成后关闭。

在 telnet 终端中继续,开始刷入固件:

cd /tmp
mtd -e OS1 -r write firmware.bin OS1

刷入成功将提示路由器重启,连接中断。

访问 192.168.1.1 即可进入 Openwrt 管理页面,默认用户名密码均为 root。

2022-01-11-3

GRUB 引导

· 阅读需 4 分钟

最常见的问题,就是 Windows 更新之后,引导被覆盖了,开机直接进入 Windows ,这时需要重新安装 GRUB ,而不是更新引导项。其次,就是在安装其他基于 Linux 的系统时,需要添加引导项,例如通过 Brunch Framework 安装 Chrome OS 时,可能需要禁用独显或是添加一些其他的内核参数,这时也需要更新 GRUB 配置使之生效。

注意:

  • Manjaro 不支持 SecureBoot,如果开启了,请在 BIOS 关闭。
  • 磁盘模式为 RAID 的话,Manjaro 中无法识别到机械硬盘(如果是双硬盘,1SSD+1HDD),请设为 AHCI 模式。
  • 若因修改为 AHCI 模式而进不去 Windows,可多次强行关机,进入安全模式,再重启即可正常进入系统。
  • 如果问题解决不了,多看看官方Wiki

重建引导

当需要重建引导时,下面命令将在 /dev/nvme0n1 安装 grub,这里应确保安装在正确的位置。

sudo grub-install /dev/nvme0n1

更新引导

下面命令使上一步的配置生效,重启见效。对 grub 配置做了什么修改都需要 update-grub,无论是安装还是什么其他的。

sudo update-grub

场景

1. 开机没有进入GRUB引导页面

如果直接进了 Windows 的话,需要重建引导:

  1. 插U盘,开机进入 Manjaro 安装盘的临时系统里。
  2. 终端运行 sudo manjaro-chroot -a,并选择那个进不去的 Manjaro 系统,这里比较迷惑人,如果想要选择序号 0 的选项,应该输入 1 ,应该是个 bug。如果只有一个,可能就不需要选择。
  3. 如果前面执行顺利,现在执行 ls 应该就列出的是 “丢失” 的系统的根目录了,不信可以去 home 文件夹看看。接下来要重建引导。
  4. 执行 sudo grub-install /dev/nvme0n1,安装完成。
  5. 执行 sudo update-grub 更新配置,使之生效。
  6. 使用 efibootmgr 可按顺序列出启动项,若出现了 manjaro 说明一切顺利。
  7. 执行 exit 退出,可以重启看到熟悉的 Manjaro Grub 了。

2. 确定GRUB没问题,进不去Windows

如果保证引导没问题,就是直接进了 Manjaro ,压根没有给选择的机会。

检查 /etc/default/grubGRUB_TIMEOUT 的值是否为 0,它是给你选系统的倒计时秒数,0 秒肯定不行啊。再检查一下 GRUB_TIMEOUT_STYLE 是否为 hidden,这里应该设置为 menu,以便默认显示菜单。然后重新生成主配置文件并重新启动以检查它是否有效。

与 Windows 系统时间不同步

· 阅读需 1 分钟

Windows 将本地硬件时间作为设定时区(如 UTC+8)的区时,而 Linux 默认将其作为 (UTC+0) 时间。每次进入Linux,系统会读取BIOS时间,然后+8,作为本地时间显示出来。每次进入Windows,系统会读取BIOS时间,直接作为本地时间显示。

两种方式,二选一,个人倾向于在Windows中修改设置,将硬件时间识别为UTC。

在 Linux 修改设置

使用以下命令关闭UTC时间

sudo timedatectl set-local-rtc 1

在 Windows 修改设置

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

使用WebP格式,减少流量消耗

· 阅读需 2 分钟
Hanasaki
阿巴阿巴阿巴

WebP 是谷歌推出的一种可以同时提供有损压缩和透明度的图片格式,但是与 JPEG 或 PNG 相比,它格式可以提供更好的压缩。

如图,我将一个 54KB 的JPG图片,转换成 WebP 格式的图片,最终图片大小仅为 8KB ,压缩了7倍左右,看上去很夸张。确实夸张,这个是因图片而异的,有些图片可以压缩很多有些则压不了这么多,不过这种图片格式确实是比 JPEG 和 PNG 有不少优势,压缩率确实高。

压缩图片截图

在网络上,各类资源文件中,图片仍然是占用流量较大的一部分,浏览的各个网站无论是新闻、营销或是企业官网,都有很多的图片,各大视频网站也都要展示视频的缩略图,看上去几十 KB 的压缩给人带来的体验似乎没啥区别,但是图片展示量大、使用多的情况,就像 B站 这样的情况,那节省的就不是一点半点的流量了,服务器带宽压力也减小了,企业省钱、用户体验增强,两全其美。