共有 10 篇文章
Install OpenWrt/QWRT
2024-03-24 - 2025-03-16

扩充固件

将.img文件中的分区使用fdisk扩充7G

写入固件

启用魔法

1echo 0xDEADBEEF > /etc/config/google_fu_mode

SSRP 添加Socks5

1opkg update
2opkg install ipt2socks
PPTP VPN
2023-07-22 - 2024-09-18

服务端(家庭宽带路由器架设

  1. 设置PPT服务器IP为路由器IP 172.16.1.1
  2. 客户端分配的ip范围 172.16.1.200-209
  3. 设置DNS 172.16.1.1
  4. 设置用户名和密码
  5. 修改防火墙常规设置,转发拒绝改为接受,否则客户端连接后无法通过服务端访问外部网络。

客户端

安卓

  1. 服务器地址 home.akvicor.com
  2. 选中 PPP encryption (MPPE)
  3. 填写用户名和密码

若无网络可以尝试设置以下选项

TTYD 开启SSL
2023-06-28 - 2024-09-18

修改/etc/config/ttyd

1config ttyd
2        option interface '@lan'
3        option command '/bin/login'
4        option ssl 'true'
5        option ssl_cert '/viry/cert/akvicor.com.crt'
6        option ssl_key '/viry/cert/akvicor.com.key'
OpenWrt管理后台使用Caddy代替uhttpd
2023-06-28 - 2024-09-18

暂停uhttpd服务

uhttpd服务占用了80端口,需要先暂停。使用ssh登录openwrt,执行下面命令暂停uhttpd服务:

1/etc/init.d/uhttpd stop
2/etc/init.d/uhttpd disable

下载caddy

额外功能模块选上aksdb/caddy-cgi/v2

Compile
2023-06-26 - 2024-09-18

平台

  • Ubuntu 20.04.6 LTS

编译环境

1sudo apt update -y
2sudo apt full-upgrade -y
3sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
4bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
5git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
6libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
7mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \
8libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
9vim wget xmlto xxd zlib1g-dev

编译OpenWrt

 1# 下载
 2git clone https://github.com/coolsnowwolf/lede && cd lede
 3
 4# 添加其他源
 5echo "src-git kenzo https://github.com/kenzok8/openwrt-packages" >> feeds.conf.default
 6echo "src-git small https://github.com/kenzok8/small" >> feeds.conf.default
 7
 8# 更新源
 9./scripts/feeds update -a
10./scripts/feeds install -a
11
12# 修改默认IP为 10.0.0.2
13sed -i 's/192.168.1.1/172.16.1.1/g' package/base-files/files/bin/config_generate
14
15# 修改默认主机名
16sed -i '/uci commit system/i\uci set system.@system[0].hostname='op'' package/lean/default-settings/files/zzz-default-settings
17
18# 加入编译者信息
19sed -i "s/OpenWrt /Akvicor build $(TZ=UTC-8 date "+%Y.%m.%d") @ OpenWrt /g" package/lean/default-settings/files/zzz-default-settings
20
21# 修改banner
22echo -e "-------------------------------------------\n %D %V, %C\n-------------------------------------------" > package/base-files/files/etc/banner
23
24# 修改IPSec VPN账户名
25sed -i "s/ 'lean'/ 'akvicor'/g" feeds/luci/applications/luci-app-ipsec-vpnd/root/etc/config/ipsec
26
27# 配置
28make menuconfig
29
30# 修改分区大小
31Target Images -> Kernel partition size -> 64
32Target Images -> Root filesystem partition size -> 4096
33
34# 添加编程语言支持
35Languages -> Go -> golang -> on
36
37# 关闭adbyby plus
38LuCI -> 3. Applications -> luci-app-adbyby-plus -> off
39
40# 添加AdguardHome
41LuCI -> 3. Applications -> luci-app-adguardhome -> on
42
43# 添加EQOS
44LuCI -> 3. Applications -> luci-app-eqos -> on
45
46# 添加Passwall代理
47LuCI -> 3. Applications -> luci-app-passwall -> on
48
49# 添加方糖气球 serverchan
50LuCI -> 3. Applications -> luci-app-serverchan -> on
51
52# 添加watchcat
53LuCI -> 3. Applications -> luci-app-watchcat -> on
54
55# 关闭迅雷快鸟
56LuCI -> 3. Applications -> luci-app-xlnetacc -> off
57
58# 关闭zerotier (一个开源VPN服务,但是需要通过第三方网站使用
59LuCI -> 3. Applications -> luci-app-zerotier -> off
60
61# 下载
62make download -j8
63
64# 编译
65screen -S build
66make V=s -j1

在esxi测试

 1# 上传vmdk文件
 2# ssh连接esxi
 3cd /vmfs/volumes/hhd/op
 4ls *.vmdk
 5vmkfstools -i openwrt-x86-64-generic-squashfs-combined-efi.vmdk opd.vmdk
 6vmkfstools -X 5120M opd.vmdk # 需大于源文件大小
 7# 更换op虚拟机的硬盘文件
 8
 9# 配置测试网络
10vim /etc/config/network
11# 修改lan的ip地址
12# 重启网络,通过浏览器访问
13/etc/init.d/network restart
AdGuard Home
2023-06-26 - 2024-09-18

配置

  • 端口:11004
  • 5553重定向:使用53端口替换dnsmasq
  • 执行文件路径:/viry/serv/AdGuardHome/exec/AdGuardHome
  • 配置文件路径:/viry/serv/AdGuardHome/data/AdGuardHome.yaml
  • 工作目录:/viry/serv/AdGuardHome
  • 运行日志路径:/viry/serv/AdGuardHome/data/AdGuardHome.log

无法更新内核

问题出在默认执行文件路径不对,将执行文件路径修改为 /usr/bin/AdGuardHome/AdGuardHome

vmdk for ESXi
2023-05-05 - 2024-09-18

开启SSH

管理 -> 服务 -> TSM-SSH

使用SSH登录到ESXI

修改的固件vmdk大小

1cd /vmfs/volumes/datastore1
2ls *.vmdk
3vmkfstools -i openwrt.vmdk 123.vmdk
4vmkfstools -X 1024M 123.vmdk # 需大于源文件大小

添加硬盘

根据实际情况选择EFI或BIOS引导

Enable HTTPS
2023-01-29 - 2024-09-18

修改uhttpd配置文件 /etc/config/uhttpd

1option cert /viry/cert/akvicor.com.crt
2option key /viry/cert/akvicor.com.key

重启uhttpd服务 /etc/init.d/uhttpd restart

/usr/bin/ld: cannot find -lpthread
2022-11-17 - 2024-09-18

使用golang编译程序遇到的问题

1# runtime/cgo
2/usr/bin/ld: cannot find -lpthread
3collect2: error: ld returned 1 exit status

pthread primitives are part of the core libc.so library. to satisfy -lpthread, create an empty AR archive somewhere in the library search path.

1ar -rc /usr/lib/libpthread.a
squashfs镜像扩容
2022-11-16 - 2024-09-18
此方法仅适合刚把镜像写入磁盘还未启动以及还未将镜像写入磁盘这两种情况,一旦系统启动,squashfs分区大小就已经确定了,如果要更改只能使用losetup挂载并执行resize.f2fs扩展大小。