frpc_spk_build/README.md

87 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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