越狱源搭建教程

本文最后更新于:2020年9月12日 下午

旧版DCRM:

旧版DCRM在2017年已经停止维护,不过新版问题较多,嫌麻烦还是建议使用旧版

使用宝塔搭建教程

下载源码:https://wws.lanzous.com/iHbD4gdowqb

上传解压源码

新建站点,根目录设置为解压后的路径

设置伪静态:

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;

访问域名/ip/install

根据提示配置数据库,安装即可

使用Github自建

除了有点慢,维护有亿点点麻烦,其他完全没得问题

我会将格式上传到GitHub,可以自己修改使用:https://github.com/zsbai/cydia/

首先要知道一个越狱源需要什么东西:

  1. Release文件
    里面写了关于你源的所有信息,名称,描述,种类

  2. **Packages文件

**里面记录了所有软件包的信息,相当于把每个deb的control文件合在一起

  1. Packages的压缩包

  2. debs文件夹
    存放deb的地方

  3. CydiaIcon.png源图标

  4. sileo-featured.json sileo上面的一排软件包展示(可有可无

Release文件

格式为:

Origin: 源名称
Label: 源名称
Suite: stable
Version: 1.0 ##版本号,随便填一个就行
Architectures: iphoneos-arm
Components: main
Description: 源的描述

直接在我的模板中修改即可使用

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  ##打包生成packages

之后每次添加软件包后,只要运行就可以生成和打包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可读写权限

我们要修改的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: 作者名称

基本上不需要修改,可以根据自己的需求来

打包.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 ##删除旧软件包

教程:

把需要修改的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"
}

只需要在control文件内修改SileoDepiction那一行,修改此json的文件路径即可

Cydia

首先需要一个html文件,因为cydia内描述页面就是一个网址

我的在/ms/路径下,名称为cydia.html :(可以自己写,刚开始学html,大佬轻点喷

然后需要一个名为description的js文件

之后只要访问下面这个链接

https://xxxx.github.io/cydia.html?id=Filza

他就会自动把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,
}

之后只需要修改/ms/msxq/里面的 描述文件编辑.sh,然后运行就会生成对应的cydia,sileo描述文件

之后在control文件里修改/添加即可

SileoDepiction:https://xxx.com/Filza.json直接填写json的链接

Depiction:https://xxx.com/cydia.html?id=填写生成的文件名称

Done