2019-12-31 11:10:44 -05:00
|
|
|
|
# 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打包签名环境
|
2020-01-02 03:03:33 -05:00
|
|
|
|
├── gofrpc_build.sh # 一键打包脚本
|
2019-12-31 11:10:44 -05:00
|
|
|
|
├── 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最新版本
|
2020-01-02 03:06:34 -05:00
|
|
|
|
> - 在[这里](https://github.com/fatedier/frp/releases)下载最新的frp包,解压后拷贝frpc到 ./source/gofrpc/bin/arch/目录下
|
|
|
|
|
> - 当前我已集成了frpc的0.30.0版本的程序
|
2019-12-31 11:10:44 -05:00
|
|
|
|
|
|
|
|
|
- 再更新想要打包的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/
|
|
|
|
|
# 接下就可以上群晖套件中心手动安装试试啦
|
|
|
|
|
```
|
2020-01-02 03:03:33 -05:00
|
|
|
|
如果不想部署这么简单(个鬼)的打包环境,也可以直接使用我已经打好的包, 点击项目[releases](https://github.com/qiusanshiye/frpc_spk_build/releases)下载
|
2019-12-31 11:10:44 -05:00
|
|
|
|
|
|
|
|
|
## 6. 环境部署与打包过程中可能会遇到的问题
|
|
|
|
|
- 提示没有权限
|
|
|
|
|
> 非root用户执行上述各步时,请使用 sudo 执行
|
|
|
|
|
|
|
|
|
|
- 群晖镜像无法下载或者太慢
|
2020-01-02 03:06:34 -05:00
|
|
|
|
> - 建议屏蔽工具中的下载逻辑:打开 pkgscripts-ng/EnvDeploy, 注释:urllib.request.urlretrieve(url, dest, reporthook=reporthook) 这一行(大概在86行)
|
|
|
|
|
> - 在上述的第3步中执行EnvDeploy命令时,会输出下载链接,我们可以把用迅雷下载,完后拷贝到 toolkit_tarballs 目录。
|
|
|
|
|
> - 再次执行3步EnvDeploy命令即可.
|
2019-12-31 11:10:44 -05:00
|
|
|
|
|
2020-01-02 03:06:34 -05:00
|
|
|
|
- 怎么打frps的spk包
|
|
|
|
|
> - 拷贝一份本项目,把所有的 frpc文字 改成 frps.
|
|
|
|
|
> - 将各个平台的frps可执行文件拷贝到这个目录:./source/gofrpc/bin/arch/
|
|
|
|
|
> - 执行一键打包脚本即可
|
2020-01-02 03:03:33 -05:00
|
|
|
|
|
2019-12-31 11:10:44 -05:00
|
|
|
|
- 其他问题
|
|
|
|
|
> 请移步[这里](http://blog.5941188.com/archives/%E7%BE%A4%E6%99%96%E5%A5%97%E4%BB%B6%E6%89%93%E5%8C%85)
|
2020-01-02 03:03:33 -05:00
|
|
|
|
|