0x00 前言

相信各位搞机的朋友肯定会涉及到越狱以及Cydia软件商店的使用。但由于境内网络的特殊性,经常会出现下载速度慢、网络波动大导致无法正常安装的问题。那么今天,我们就来搞一个自己的软件源,再也不需要担心下不动的问题了。

0x01服务器配置信息

腾讯云的轻量应用服务器前段时间刚刚调整了套餐配置。调整后的配置更倾向于计算方面,这对我们来说是非常有利的。详情点击这里。这里我们选用的是新加坡地区2C2G的配置。考虑到后期需要搭建Web服务,选择安装了“腾讯云专享版宝塔面板7.8.0”镜像。

0x02 配置环境

进入到管理页面,我们点击“应用管理”选项卡,按照提示进入到宝塔面板中。

进入宝塔面板并登录,我们编译安装“Nginx”软件,如果有搭建网站的需求可以勾选“PHP”、“MySQL”等其他软件。

下达任务后等待安装完毕。

0x03配置软件源

安装完毕后进入“网站“选项卡,创建一个网站,域名处填写服务器公网IP即可。
然后我们进入“文件“选项卡,进入网站的根目录,按照以下几步操作:
1.在根目录里面创建一个目录debs,把所有的插件都放到里面
2.新建一个文本文件Release(没有后缀名),用于描述源信息
3.在根目录添加一个图标CydiaIcon.png,在软件源列表显示
Release 文件格式如下

Origin: 软件源名称,可以使用中文(Cydia的软件源列表中显示的标题)
Label: 同上,也可以使用中文
Suite: 软件源的类型,比如正式源,测试源等,可以分别用stable, beta, unstable等来表示,一般填stable就可以了
Version: 版本号,这个其实不重要,随便填,一般都是写1.0
Codename: 代码代号,只能用英文
Architectures: 结构。iPhone平台统一写iphoneos-arm
Components: main
Description: 软件介绍,可以使用中文和html代码,具体能使用哪些代码在下面会介绍。
Support: (可选项)支持,没什么作用,除非特别需要,否则可以不要这个。
MD5Sum: (可选项)不是必须的,但如果Packages文件位置不与Release文件在同一目录下,则必须有此项。另外,如果需要签名Release文件,也必须有这个。

接下来我们打包插件
进入轻量应用服务器控制后台,点击登录,进入到SSH窗口。

依次输入以下命令
sudo -i
yum install -y dpkg-dev

然后进入网站根目录
cd /www/wwwroot/XXXXX
dpkg-scanpackages debs /dev/null > Packages

tar zcvf Packages.gz Packages
bzip2 -k Packages Packages.bz2

接着我们生成一个密钥
gpg --gen-key
按照提示输入邮箱、名字和密码
下面给Packages签个名
gpg -abs -r "你刚才的输入的 Real name" -o Release.gpg Release
输入密码,生成Release.gpg
到这里,整个安装过程就结束了。
下面来讲一下更新软件的操作
删除原来的Package
rm Packages; rm Packages.gz; rm Packages.bz2;
生成新的package
dpkg-scanpackages debs /dev/null > Packages && tar zcvf Packages.gz Packages && bzip2 -k Packages Packages.bz2
然后你的Cydia就会收到更新提醒

0x04 总结

也没啥可总结的,简单说一说吧。上面如果有需要的话可以在宝塔中加个SSL,稍微增加一下安全性。如果不需要自建软件源只需要加速他人软件源的话,在创建网站后可以设置反向代理到他人的源,从而实现加速访问。这里镜像预置的是CentOS7.9系统,Ubuntu和Debian系统也可以按照以上操作来完成,碰到需要yum的时候换成apt就可以。