build frpc to spk package in synology dsm. fork from qiusanshiye/frpc_spk_build https://github.com/qiusanshiye/frpc_spk_build.git
Go to file
qiusanshiye 362b7bbacc 支持一键打包spk 2020-01-01 00:10:44 +08:00
source/gofrpc 支持一键打包spk 2020-01-01 00:10:44 +08:00
LICENSE Initial commit 2019-12-30 11:33:40 +08:00
README.md 支持一键打包spk 2020-01-01 00:10:44 +08:00
gofrpc_build.sh 支持一键打包spk 2020-01-01 00:10:44 +08:00

README.md

frpc_spk_build 项目说明

  • build frpc to spk package in synology dsm.
  • 将frpc打包成群晖的spk安装包方便分享与传播.
  • 集成了frpc版本0.30.0
  • 群晖的打包除了官方环境的下载与部署之外本身项目的spk构造也是很烦琐的一下事情在本项目中我已将所有的构造文件写好并push到了本项目中可以直接一键打包.
  • 同时希望本项目对大家日后打其他spk包有参考作用
  • 感谢源项目:https://github.com/fatedier/frp

打包环境构建

1. clone或者下载本项目

git clone https://github.com/qiusanshiye/frpc_spk_build.git

2. 下载群晖官方打包工具

cd frpc_spk_build
git clone https://github.com/SynologyOpenSource/pkgscripts-ng.git

3. 部署群晖官方打包环境

cd pkgscripts-ng
./EnvDeploy -v 6.0 -p x64
# 我这里部署的是群晖的 x64 架构的6.0版本的DSM环境
# 注意这里需要python环境我这里用的是python2.7。其他版本未测试。

待部署完成后,目录结构会是这样:

# tree -L 1
.
├── build_env # 新增的目录群晖的chroot打包签名环境
├── gofrpc_build.sh
├── LICENSE
├── pkgscripts-ng # 第2步中下载的打包工具
├── README.md
├── result_spk  # 这个建议先手动创建,在打包之后会输出到这个目录
├── source    # 项目文件构造
└── toolkit_tarballs  # 新增的目录,群晖的打包环境镜像

4. 生成spk签名证书

gpg --gen-key
cp -rf ~/.gnupg ./build_env/ds.x64-6.0/root/

5. 开始一键打包

  • 先更新frpc最新版本

在这里下载最新的frp包解压后拷贝frpc到 ./source/gofrpc/bin/arch/目录下 当前我已集成了frpc的0.30.0版本的程序

  • 再更新想要打包的spk的版本号
vim source/gofrpc/INFO.sh
# 修改字段 version="1.0.1"
  • 开始一键打包
./gofrpc_build.sh
# 没有出错的情况下会看到以下日志输出:
# [SUCCESS] PkgCreate.py -v 6.0 -p x64 -c gofrpc finished.
# 最终输出的spk路径./build_env/ds.x64-6.0/image/packages/gofrpc-1.0.1.spk
# 也可以在这里找到: ./result_spk/gofrpc-1.0.1/
# 接下就可以上群晖套件中心手动安装试试啦

6. 环境部署与打包过程中可能会遇到的问题

  • 提示没有权限

非root用户执行上述各步时请使用 sudo 执行

  • 群晖镜像无法下载或者太慢

建议屏蔽工具中的下载逻辑:打开 pkgscripts-ng/EnvDeploy, 注释urllib.request.urlretrieve(url, dest, reporthook=reporthook) 这一行大概在86行 在上述的第3步中执行EnvDeploy命令时会输出下载链接我们可以把用迅雷下载完后拷贝到 toolkit_tarballs 目录。 再次执行3步EnvDeploy命令即可.

  • 其他问题

请移步这里