猫盘群晖内网穿透npc打包全过程
本文主要内容是打包arm的spk文件,为以后自己方便查阅。
一、nps介绍
[collapse title="nps介绍" status="true"]
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。
balabala...具体详情请见github作者地址
[/collapse]
二、起因
[scode type="yellow"]
发现nps作者github下又群晖的安装包,但是是x86的,想着自己有个扎矿猫盘刷了群晖,是arm架构的,那么没办法,自己编译吧。-_-自己动手丰衣足食.jpg
[/scode]
三、逐渐的看代码过程。。。
pass
本次关键:从nps项目下的build.sh脚本看出来怎么部署,那么就按照build.sh脚本来吧
废话不说了 进入正题吧
四、正题开始
4.1 部署环境
[scode type="blue"]
首先安装docker,安装过程pass,不会的请参照本博客其他帖子。
[/scode]
4.2 下载nps、docker镜像、spksrc
root@server:~# mkdir WorkShop
#新建工作目录
root@server:~/WorkShop# https://github.com/ehang-io/nps.git
# git clone nps项目
root@server:~/WorkShop# git clone https://github.com/cnlh/spksrc.git ~/WorkShop/spksrc
# git clone spksrc项目
root@server:~/WorkShop# mkdir ~/WorkShop/spksrc/nps && cp -rf /root/WorkShop/nps/* ~/WorkShop/spksrc/nps/
# 拷贝文件
root@server:~/WorkShop/nps# docker pull synocommunity/spksrc
#拉取镜像 有点大-_-
root@server:~/WorkShop/nps# docker run -itd --name spksrc --env VERSION=0.26.6 -e GOPROXY=direct -v ~/WorkShop/spksrc:/spksrc synocommunity/spksrc /bin/bash
# 运行容器
root@server:~/WorkShop/nps# docker exec -it spksrc /bin/bash -c 'cd /spksrc && make setup && cd /spksrc/spk/npc && make'
# a few moments later...
# 先试着编译X86的 没问题进行下一步
[scode type="blue"]
到这里有两种方法,一种简单点,另一种需要改Makefile文件
[/scode]
[scode type="red"]
第一种方法
[/scode]
root@server:~/WorkShop/nps# docker exec -it spksrc /bin/bash -c 'cd /spksrc/spk/npc && make clean && cd /spksrc && make setup && cd /spksrc/spk/npc && make arch-aarch64'
# 直接加架构,编译成功
#可以直接把~/WorkShop/spksrc/packages/里的spk文件复制出来直接用了
[scode type="red"]
第二种方法
[/scode]
#更改Makefile
root@server:~/WorkShop/spksrc/spk/npc# pwd
/root/WorkShop/spksrc/spk/npc
[scode type="blue"]
把47行左右改为
[/scode]
ifeq ($(findstring $(ARCH),armada37xx),$(ARCH))
GO_ARCH = arm64
endif
[scode type="blue"]
之后执行一下代码,同样可以编译成功
[/scode]
root@harbor:~/WorkShop/spksrc/spk/npc# docker exec -it spksrc /bin/bash -c 'cd /spksrc/spk/npc && make clean && cd /spksrc && make setup && cd /spksrc/spk/npc && make arch-armada37xx-6.2'
root@harbor:~/WorkShop/spksrc/packages# pwd
/root/WorkShop/spksrc/packages
root@harbor:~/WorkShop/spksrc/packages# ls
npc_armada37xx-6.2_0.26.6-1.spk
[scode type="red"]
下载地址:https://github.com/balckwilliam/ds119j-nps/releases
[/scode]
其他架构请参照https://github.com/SynoCommunity/spksrc/wiki/Compile-and-build-rules
最后放一张截图