OpenWrt应用程序自编译(4)-为DDNS添加DNSPOD支持

在讲解DDNS应用时,我们用到了DNSPOD腾迅云的域名解析服务,但是DDNS官方并不直接支持DNSPOD,所以我们后来采用了Shell脚本命令的方式来实现相应的功能,但是大家可能已经发现用Shell脚本的方式非常复杂,不像DDNS官方带的一些域名提供商一样设置简单,直接在Luci界面就可以轻松完成。那有没有可能将DNSPOD域名解析服务也添加到DDNS官方所支持的Luci界面里呢?回答是肯定的。下面我们就来讲解OpenWrt应用程序自编译(4)-为DDNS添加DNSPOD支持的具体实现过程。

1、SDK下载、安装及配置

DDNS一般我们都安装在一级路由器上,而家庭一级路由往往需要性能好的路由器来担当,所以很多家庭都会采用软路由来做一级路由。下面SDK仍以x86_64平台的软路由为例,刷OpenWrt19.07.3稳定系统。

下载网页:https://downloads.openwrt.org/releases/19.07.3/targets/x86/64/

cd /home/hzshw
wget https://downloads.openwrt.org/releases/19.07.3/targets/x86/64/openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64.tar.xz

解压缩文件

tar xf openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64.tar.xz
rm openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64.tar.xz

配置

cd openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64
./scripts/feeds update -a
./scripts/feeds install -a
2、自编译

DDNS添加DNSPOD支持的源码下载地址为 https://github.com/nixonli/ddns-scripts_dnspod

下载源码到SDK的 package 目录

git clone https://github.com/nixonli/ddns-scripts_dnspod.git package/ddns-scripts_dnspod

编译

make package/ddns-scripts_dnspod/compile V=s

编译过程完成后,你会在 /home/hzshw/openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64/bin/packages/x86_64/base 目录里发现你想要的文件:

ddns-scripts_dnspod_1.0-3_all.ipk

用 opkg install 命令安装以上文件后,再打开DDNS的Luci设置界面,你会发现在可供选择的服务提供商列表中添加了DNSPOD,选中后按Luci界面设置完成即可。

OpenWrt应用程序自编译(4)-为DDNS添加DNSPOD支持

PS:OpenWrt应用程序自编译部分的讲解至此要先告一段落了,考虑到有部分人员受编译环境的影响,并不能完成自编译过程,我会将编译完成的部分应用程序放在下载中心供大家下载(百度网盘下载密码:lyzj)。

OpenWrt应用程序自编译(3)-Adbyby

在上次讲解去广告应用Adblock时,我们提到了国内有一个非常有名的应用叫Adbyby,虽然现在已不再更新,但是还是有很多粉丝在一直使用这个应用,同时也在做一些简单的维护工作(例如:不断地更新去广告列表)。今天我们就来讲解一下OpenWrt应用程序自编译(3)-Adbyby的实现过程。

1、SDK下载、安装及配置

上次我们就讲过,对于去广告应用路由器的性能要绝对过硬才行,要不整个路由器都会被去广告应用拖累而无法运行,所以这次我们x选择采用x86_64平台的软路由,刷OpenWrt19.07.3系统。

下载网页:https://downloads.openwrt.org/releases/19.07.3/targets/x86/64/

cd /home/hzshw
wget https://downloads.openwrt.org/releases/19.07.3/targets/x86/64/openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64.tar.xz

解压缩文件

tar xf openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64.tar.xz
rm openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64.tar.xz

配置

cd openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64
./scripts/feeds update -a
./scripts/feeds install -a
2、自编译

对于Adbyby for OpenWrt源码查找确实是个问题,网络已很少发现其踪迹,但好在OpenWrt系统界的大佬Lean大还一直对Adbyby不离不弃的,使得我们还可以继续在OpenWrt系统上使用Adbyby。

当然你可以在Lean大的OpenWrt第三方平台上 https://github.com/coolsnowwolf/openwrt 上直接生成路由器固件,同时将相应的应用都包含在内(包括Adbyby应用),但现在我只讲解应用程序的自编译过程,因此我们只需要将Lean大的Adbyby的编译源码下载到SDK的 package 目录即可。

OpenWrt应用程序自编译(3)-Adbyby-1

先运行adbyby的自编译过程

make package/adbyby/compile V=s

出现 config 配置界面时,点 “Network” ,选中 adbyby 并保存退出

OpenWrt应用程序自编译(3)-Adbyby-2

再运行Luci-app-adbyby-plus的自编译过程

make package/luci-app-adbyby-plus/compile V=s

编译过程完成后,你会在 /home/hzshw/openwrt-sdk-19.07.3-x86-64_gcc-7.5.0_musl.Linux-x86_64/bin/packages/x86_64/base 目录里发现你想要的文件:

adbyby_2.7-20200315_x86_64.ipk

luci-app-adbyby-plus_2.0-72_all.ipk

luci-i18n-adbyby-plus-zh-cn_2.0-72_all.ipk

直接将以上三个文件拷贝到软路由的 /tmp 目录下,然后用 opkg install 命令安装即可,具体adbyby应用的设置过程这里不再详述,因为有Luci界面还是很容易完成的。

 

OpenWrt应用程序自编译(2)-Frp

在OpenWrt的常规应用讲解时,我们曾经讲到过Frp,当时在往WR720N路由器里安装Frpc时我们用的是Kuoruan的发布版v0.33.0-1,因为mips_24kc平台的Frpc应用在Kuoruan的官方发布网站还没有更新,所以如果你想采用最新版本的Frp就需要自编译,那今天我们就来讲解一下OpenWrt应用程序自编译(2)-Frp的实现过程。

路由器还是采用TL-WR720N(刷WR710N的OpenWrt最新版19.07.6),目前Frp的最新版本是v0.34.3-1。

1、下载、安装并进行配置

该过程在自编译KMS时有详细的讲解,因此这里有些过程会略去。

先找到SDK的下载地址:https://downloads.openwrt.org/releases/19.07.6/targets/ar71xx/generic/

OpenWrt应用程序自编译(2)-Frp-1

下载到指定目录

cd /home/hzshw
wget https://downloads.openwrt.org/releases/19.07.6/targets/ar71xx/generic/openwrt-sdk-19.07.6-ar71xx-generic_gcc-7.5.0_musl.Linux-x86_64.tar.xz

解压压缩文件

tar xf openwrt-sdk-19.07.6-ar71xx-generic_gcc-7.5.0_musl.Linux-x86_64.tar.xz
rm openwrt-sdk-19.07.6-ar71xx-generic_gcc-7.5.0_musl.Linux-x86_64.tar.xz

配置

cd openwrt-sdk-19.07.6-ar71xx-generic_gcc-7.5.0_musl.Linux-x86_64
./scripts/feeds update -a
./scripts/feeds install -a
2、自编译

Frp for OpenWrt 的最新版源码地址:https://github.com/kuoruan/openwrt-frp

下载最新版Frp源码到package目录下

git clone https://github.com/kuoruan/openwrt-frp.git package/openwrt-frp

编译

make package/openwrt-frp/compile V=s

在出现的配置界面中,> Network > Web Servers/Proxies 中选中 frps 及 frpc 保存退出即可。

OpenWrt应用程序自编译(2)-Frp-2

这个编译过程完成后,在 /home/hzshw/openwrt-sdk-19.07.6-ar71xx-generic_gcc-7.5.0_musl.Linux-x86_64/bin/packages/mips_24kc/base 目录下你就会发现最新版的Frps及Frpc:

OpenWrt应用程序自编译(2)-Frp-3

至此,Frp在mips_24kc平台下的最新版应用程序就编译完成了。

OpenWrt应用程序自编译(1)-KMS

在OpenWrt系统的官方应用程序库里,集成了很多很多有用的程序,你可以通过opkg install命令很方便的安装,但是总是会有一些特殊的应用是游离在外的,或者是官方收集的是早期版本的应用而你想采用最新版本的,这时你就需要进行应用程序的自编译来生成应用的安装程序文件(.ipk)。今天我们就来讲解一下OpenWrt应用程序自编译(1)-KMS的实现过程。

首先我们需要搭建OpenWrt系统的自编译环境(参考网站前期文章),再利用SDK工具来完成自编译过程。在自编译之前,先重申两条原则:1)不要用roo账户或sudo命令进行自编译,一定要用普通账户!!!;2)编译的目录路径中不要带空格。切记切记,否则自编译过程无法正常进行。

下面以安装了OpenWrt19.07.3版本的树莓派3B+为例,来说明KMS的自编译全过程:

1、下载、安装SDK并进行配置

先要找到相应的SDK下载地址,进入OpenWrt官网首页

OpenWrt应用程序自编译(1)-KMS-1

点左边的“Downloads”,进入下载页

OpenWrt应用程序自编译(1)-KMS-2

点“Stable Release builds“进入发布版平台

OpenWrt应用程序自编译(1)-KMS-3

选”19.07.3/“进入相应的版本空间

OpenWrt应用程序自编译(1)-KMS-4

进入”targets/”目录

 

OpenWrt应用程序自编译(1)-KMS-5

树莓派的分类为brcm2708,因此进入“brcm2708/”目录

OpenWrt应用程序自编译(1)-KMS-6

树莓派3B+属brcm2710分类,进入“brcm2710/”目录

OpenWrt应用程序自编译(1)-KMS-7

这里我们就可以发现相应的SDK文件了,可通过点击直接下载,然后通过WinSCP上传至自编译环境(注:以Ubuntu20.04为例)的相应目录下,如 /home/hzshw;也可以通过下载命令直接下载

cd /home/hzshw
wget https://downloads.openwrt.org/releases/19.07.3/targets/brcm2708/bcm2710/openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64.tar.xz

将文件解压并删除原压缩文件

tar xf openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64.tar.xz
rm openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64.tar.xz

这时用 ls 命令查看,就会发现在/home/hzshw目录下多了一个 openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64 目录,用 cd 命令进入该目录

ls

cd openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64

目录里包含的就是SDK的初始环境,接下来我们还必须进一步配置SDK环境

更新feeds列表并安装

./scripts/feeds update -a

./scripts/feeds install -a

make menuconfig     #采用缺省状态,直接退出保存设置即可

注:这里运行make menuconfig命令后后续自编译时就不会出现要求配置的界面了,当然你放在后面运行也是可以的。

这时自编译要用到的SDK工具就配置好了,下一步就可以进入应用程序的自编译过程了。

2、KMS的自编译

KMS在OpenWrt平台上应用,可具体参考如下网站:

1)vlmcsd分项目

源码:https://github.com/cokebar/openwrt-vlmcsd

2)luci-app-vlmcsd分项目

源码:https://github.com/cokebar/luci-app-vlmcsd

将KMS及对应的Luci源程序先下载到SDK的 package 目录下

git clone https://github.com/cokebar/openwrt-vlmcsd.git package/openwrt-vlmcsd

git clone https://github.com/cokebar/luci-app-vlmcsd.git package/luci-app-vlmcsd

然后编译

make package/openwrt-vlmcsd/compile V=s

make package/luci-app-vlmcsd/compile V=s

在 bin/packages/aarch64_cortex-a53/base 目录下就可以发现自编译生成的KMS及对应的Luci文件

vlmcsd_svn1113-1_aarch64_cortex-a53.ipk

luci-app-vlmcsd_1.0.2-1_all.ipk

通过WinSCP将以上两个文件上传至树莓派3B+软路由,通过 opkg install 命令安装即可。

OpenWrt应用程序自编译(1)-KMS-8