使用宝塔搭建教程
上传解压源码
新建站点,根目录设置为解压后的路径
设置伪静态:
rewrite ^/debs/([^/]+) /downloads.php?request=$1;
rewrite ^/(Release)$ /lists.php?request=Release;
rewrite ^/(Packages)$ /lists.php?request=Packages;
rewrite ^/(Packages\.gz)$ /lists.php?request=Packages.gz;
rewrite ^/(Packages\.bz2)$ /lists.php?request=Packages.bz2;
rewrite ^/(rewritetest)$ /robots.txt;
rewrite ^/view/([0-9]+)(.*) /index.php?method=view&pid=$1;
rewrite ^/view/([0-9]+)/nohistory /index.php?method=view&pid=$1&addr=nohistory;
rewrite ^/screenshot/([0-9]+)(.*) /index.php?method=screenshot&pid=$1;
rewrite ^/history/([0-9]+)(.*) /index.php?method=history&pid=$1;
rewrite ^/contact/([0-9]+)(.*) /index.php?method=contact&pid=$1;
rewrite ^/section/([0-9]+)(.*) /index.php?method=section&pid=$1;
rewrite ^/report/([0-9]+)/([0-9]+)(.*) /index.php?method=report&pid=$1&support=$2;
rewrite ^/report/([0-9]+)(.*) /index.php?method=report&pid=$1;
rewrite ^/more/([0-9]+)/([0-9]+)(.*) /index.php?method=more&pid=$1&offset=$2;
rewrite ^/more/([0-9]+)(.*) /index.php?method=more&pid=$1;
rewrite ^/more/([0-9]+)(.*) /index.php?method=more&pid=$1;
rewrite ^/(misc)$ /misc.php;Copy
访问域名/ip/install
根据提示配置数据库,安装即可
使用Github自建
除了有点慢,维护有亿点点麻烦,其他完全没得问题
我会将格式上传到GitHub,可以自己修改使用:https://github.com/zsbai/cydia/
首先要知道一个越狱源需要什么东西:
- Release文件里面写了关于你源的所有信息,名称,描述,种类
- *Packages文件
- *里面记录了所有软件包的信息,相当于把每个deb的control文件合在一起
- Packages的压缩包
- debs文件夹存放deb的地方
- CydiaIcon.png源图标
- sileo-featured.json sileo上面的一排软件包展示(可有可无)
Release文件
格式为:
Origin: 源名称
Label: 源名称
Suite: stable
Version: 1.0 ##版本号,随便填一个就行
Architectures: iphoneos-arm
Components: main
Description: 源的描述Copy
直接在我的模板中修改即可使用
Packages文件
Packages文件长度取决于软件包的多少,我们并不需要手动创建
新建一个后缀为sh的文件,格式如下:
#!/bin/sh
dpkg-scanpackages -m ./debs > Packages ##将/debs/路径下所有deb打包成packages文件
rm -r -f /源路径/repo/Packages.bz2 ##删除旧的packages压缩包
bzip2 Packages ##生成新的packages压缩包
dpkg-scanpackages -m ./debs > Packages ##打包生成packagesCopy
之后每次添加软件包后,只要运行就可以生成和打包packages文件
就是那个名为重新生成packages的文件,拖进终端运行
添加软件包
进入到debs文件夹,我们所有软件包都会放在此路径下
我们需要修改软件包内的control文件,control文件包含此软件包的所有信息,包括软件包标示,版本,作者等
解压和打包deb也不需要我们手动操作,新建两个sh后缀文件,名称分别为解包.sh,打包.sh
解包.sh格式如下:
#!/bin/sh
mkdir 1 ##创建名称为“1“的文件夹
dpkg -x a.deb 1 ##将a.deb解包到“1“文件夹内
dpkg -e a.deb 1/DEBIAN ##将a.deb软件包control等文件解压到1/DEBIAN内
chmod -R a+wr 1/DEBIAN ##给予1/DEBIAN可读写权限Copy
我们要修改的control文件就在1/DEBIAN/下
运行此文件前,请将需要解包的软件包名称改为a.deb
control文件格式如下:
Package: 软件包标识符
Section: 软件包的分类
Maintainer: 维护者
Architecture: iphoneos-arm
Version: 版本号
Depends: mobilesubstrate, firmware (>= 13.0)
Description: 描述
SileoDepiction: sileo下看到的描述页面
Depiction: cydia下看到的描述页面
Name: 软件包名称
Author: 作者名称Copy
基本上不需要修改,可以根据自己的需求来
打包.sh文件格式如下:
#!/bin/sh
chmod 0755 1/DEBIAN ##修改权限,不然会报错
chmod 0555 1/DEBIAN/postinst ##修改权限,不然会报错
chmod 0555 1/DEBIAN/postrm ##修改权限,不然会报错
rm -f 1/.DS_Store ##移除mac下的缓存文件
rm -f 1/DEBIAN/.DS_Store
dpkg -b 1 ./ ##打包
rm -rf 1 ##删除1文件夹
rm -f a.deb ##删除旧软件包Copy
教程:
把需要修改的deb文件名称改为a.deb,运行解包,deb的文件就会被解压到1这个文件夹内
打包直接运行打包.sh即可,每次修改deb都需要重新生成packages文件
基本上教程到这里就结束了,但是我更想让我的源好看一些怎么办呢!
修改描述界面
如果要添加批量修改的东西,比如添加是否支持a12,请修改两个文件中的样本文件,然后运行两次即可看到修改结果
Sileo:
Sileo的描述为json后缀的文件,创建一个文件夹用于存储描述界面的文件夹,我这里是/ms/msxp/路径
有sileo样本.json,sileo副本.json两个文件,两个文件内写入一个东西,下面是我的格式,可以参考一下:
{
"headerImage":"https://cdn.jsdelivr.net/gh/zsbai/CDN/img/luotianyi.JPG",
"tintColor":"#FE3644",
"tabs":[
{
"tabname":"详情描述",
"views":[
{
"text":"源内插件均为搬运,仅供自己备份使用",
"action":"",
"tintColor":"",
"class":"DepictionButtonView"
},
{
"useBoldText":true,
"title":"简介",
"useBottomMargin":false,
"class":"DepictionHeaderView"
},
{
"useSpacing":true,
"class":"DepictionMarkdownView",
"markdown":"插件的描述文字"
},
{
"class":"DepictionSeparatorView"
},
{
"title":"版本描述","class":"DepictionHeaderView"
},
{
"title":"系统支持",
"text":"---",
"class":"DepictionTableTextView"
},
{
"title":"作者",
"text":"bailu",
"class":"DepictionTableTextView"
},
{
"title":"更新日期",
"text":"2019-01-21",
"class":"DepictionTableTextView"
},
{
"title":"当前版本",
"text":"1.0.0",
"class":"DepictionTableTextView"
},
{
"class":"DepictionMarkdownView",
"useRawFormat":true,
"markdown":"<small style=\"color: #aaa; font-size: 8pt;\">白鹭©2020</small><style>body { text-align: center; }</style>"
}
],
"class":"DepictionStackView"
},
{
"tabname":"预览截图",
"class":"DepictionStackView",
"views":[
{
"spacing":8,
"class":"DepictionSpacerView"
},
{
"screenshots":[
{
"accessibilityText":"Screenshot",
"url":"https://cdn.jsdelivr.net/gh/zsbai/CDN/img/yulanjietu.PNG"
},
{
"accessibilityText":"Screenshot",
"url":"https://cdn.jsdelivr.net/gh/zsbai/CDN/img/2.png"
},
{
"accessibilityText":"Screenshot",
"url":"https://cdn.jsdelivr.net/gh/zsbai/CDN/img/3.png"
},
{
"accessibilityText":"Screenshot",
"url":"https://cdn.jsdelivr.net/gh/zsbai/CDN/img/4.png"
}
],
"class":"DepictionScreenshotsView",
"itemCornerRadius":6,
"itemSize":"{170, 350.4533333333333}"
},
{
"class":"DepictionSeparatorView"
},
{
"class":"DepictionMarkdownView",
"markdown":"<small style=\"color: #aaa; font-size: 8pt;\">白鹭@2020</small><style>body { text-align: center; }</style>",
"useRawFormat":true
}
]
}
],
"class":"DepictionTabView","minVersion":"0.1"
}Copy
只需要在control文件内修改SileoDepiction那一行,修改此json的文件路径即可
Cydia
首先需要一个html文件,因为cydia内描述页面就是一个网址
我的在/ms/路径下,名称为cydia.html :(可以自己写,刚开始学html,大佬轻点喷
然后需要一个名为description的js文件
之后只要访问下面这个链接
他就会自动把Filza软件包的信息填入cydia.html文件内
在/ms/msxq/路径下会有cydia副本,cydia样本两个文件,格式如下:
{
"name": "插件名字",
"desc_short": "插件的描述文字",
"desc_version": "1.0.0",
"compatitle": "IOS:11-12",
"author": "bailu",
"updatetime": "2019-01-21",
"changelog": "<strong>历史变跟</strong><br>暂时没有历史版本<br>",
"screenshot": "<div style='text-align:center;'><img width=95% src='图片链接'/></a><br></div>",
"open": true,
}Copy
之后只需要修改/ms/msxq/里面的 描述文件编辑.sh,然后运行就会生成对应的cydia,sileo描述文件
之后在control文件里修改/添加即可
SileoDepiction:https://xxx.com/Filza.json直接填写json的链接
Depiction:https://xxx.com/cydia.html?id=填写生成的文件名称
Done