Giter Site home page Giter Site logo

reposi3's Introduction

Archived

I started this project to provide a non-complex way for IOS Jailbreak tweak developers to host packages and depictions on their personal repositories. What started as a hobby has become one of the most popular Cydia repo templates - 272 forks and 173 stars as of this writing.

But life catches up and what was a hobby now has reached it's time to wind down.

Thank you for all the support.


Reposi3

A Cydia repository template. This template contains sample on how you can easily make depiction pages without replicating your html pages. The pages are styled using Bootstrap which is really easy to use. You can see how it looks like by visiting this sample repo on your desktop or mobile phone.

Most data for this repo is stored on XML files and are loaded on the depiction page dynamically. See the guide below on how to set it up. Note that this guide doesn't cover creating .deb files but will briefly cover assiging depictions.

How to use this template

1. Download

If you are not hosting your repo on Github Pages, you can download the zip file here and extract to a subfolder on your website.

There are 2 options for those using Github Pages.

A. If you want to use your root username.github.io as your repo, fork this repo and rename it to username.github.io. So when adding it in Cydia, use https://username.github.io.

B. If you want to use a subfolder for your existing username.github.io as your repo (example username.github.io/repo), fork this repo and rename it to repo. So when adding it in Cydia, use https://username.github.io/repo.

You can change repo to anything you want, like cydia for example. So your repo url would be https://username.github.io/cydia.

2. Personalize

Release File

Edit Release file. Modify the items pointed by <--

Origin: Reposi3  <--
Label: Reposi3   <--
Suite: stable
Version: 1.0
Codename: ios
Architectures: iphoneos-arm
Components: main
Description: Reposi3 - a cydia repo template  <--

Branding

Edit index.html

  • Change the page title in the <title>Reposi3</title> tag
  • See lines 20 and 21.
  • Change line 20 into your own brand and line 21 to have your own URL.
  • Line2 30-51 contains the list of featured packages. You can edit those or remove them totally.
  • Replace CydiaIcon.png.

Page Footers

This data are the links that appear at the bottom of every depication. The data is stored in repo.xml at the root folder of your repo.

<repo>
    <footerlinks>
        <link>
            <name>Follow me on Twitter</name>
            <url>https://twitter.com/reposi3</url>
            <iconclass>glyphicon glyphicon-user</iconclass>
        </link>
        <link>
            <name>I want this depiction template</name>
            <url>https://github.com/supermamon/Reposi3</url>
            <iconclass>glyphicon glyphicon-thumbs-up</iconclass>
        </link>
    </footerlinks>
</repo>

3. Your repo is almost ready.

At this point your commit your changes to github and your repo is basically ready to be added into Cydia. You can also visit your repo's homepage by going to https://username.github.io/repo/. It will come with 2 sample packages, Old Package and New Package. Each of the packages have a link on this page pointing to their depictions. Next guide will show you how to assign and customize your depiction pages.

Adding packages first package to your repo

1. Adding a simple depiction page

Go to the depictions folder and duplicate the folder com.supermamon.oldpackage. Rename the duplicate with the same name as your package name. There are 2 files inside the folder - info.xml and changelog.xml. Update the 2 files with information regading your package. The tags are pretty much self-explanatory. Contact @reposi3 for questions.

info.xml.

<package>
    <id>com.supermamon.oldpackage</id>
    <name>Old Package</name>
    <version>1.0.0-1</version>
    <compatibility>
        <firmware>
            <miniOS>5.0</miniOS>
            <maxiOS>7.0</maxiOS>
            <otherVersions>unsupported</otherVersions>
            <!--
            for otherVersions, you can put either unsupported or unconfirmed
            -->
        </firmware>
    </compatibility>
    <dependencies></dependencies>
    <descriptionlist>
        <description>This is an old package. Requires iOS 7 and below..</description>
    </descriptionlist>
    <screenshots></screenshots>
    <changelog>
        <change>Initial release</change>
    </changelog>
    <links></links>
</package>

changelog.xml.

<changelog>
    <changes>
        <version>1.0.0-1</version>
        <change>Initial release</change>
    </changes>
</changelog>

2. Link the depiction page your tweak's control file

For the depictions to appear on Cydia, you will need to add the depictions url at the end of your package's control file before compiling it. The control file should look like this:

Package: com.supermamon.oldpackage
Name: Old Package
Section: Tweaks
Depends: firmware (<7.0)
Description: This is a sample old package. Firmware should be lower than 7.0
Depiction: https://username.github.io/repo/depictions/?p=[idhere]

Replace [idhere] with your actual package name.

Depiction: https://username.github.io/repo/depictions/?p=com.supermamon.oldpackage

3. Rebuilding the Packages file

With your updated control file, build your tweak. Store the resulting .deb. file into the /debs/ folder of your repo. Build your Packages file and compress with bzip2.

user:~/ $ cd repo
user:~/repo $ dpkg-scanpackages -m ./debs > Packages
user:~/repo $ bzip2 Packages

Windows users, see dpkg-scanpackages-py or scanpkg.

5. Cydia at last!

Push your changes again to Github and if you haven't done yet, go ahead and add your repo to Cydia. You should now be able to install your tweak into your own repo.

Cleanup

Just a cleanup step, remove the debs that came with this template and re-run the commands on step 3. You can keep the sample depictions for reference by they're not needed for your repo.

reposi3's People

Contributors

dgh0st avatar fox8091 avatar navanchauhan avatar nosskirneh avatar supermamon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reposi3's Issues

S9

Describe the bug
A clear and concise description of what the bug is.
Please do not post questions or how do I's here. Contact/DM @supermamon or @reposi3 on Twitter.

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Platform:
Where does the error occurs?

  • Mobile Browser [e.g Mobile Safari, Chrome]
  • Cydia
  • Desktop Browser [e.g. Safari, Firefox]

Additional context
Add any other context about the problem here.

Failed to load depiction

I changed Oh snap! The package you are tying to view is not hosted on this repository. to Error! Failed to load depiction. and I uploaded 4 tweaks.

  • LiveFish
  • Jileumsin
  • iWallX
  • Sidia

and I made depictions for them.

LiveFish and Jileumsin load depictions well, but iWallX and Sidia can't load depiction. I checked the url many times.

How can I fix this?

#packageHeader doesn't hide in Cydia

depictions/index.html:30:

			,"render":function(element,source){
				if (navigator.userAgent.search(/Cydia/) == -1) {
					$(element).show();
				}

Doesn't work as intended for me (I suppose the package header are not supposed to be visible in Cydia, but everywhere else). Instead I have to fiddle around with @media queries :/

Not sure if this is to any use but using Cydia version 1.1.30.

One package isn't found while the rest is

Hmm, this is really weird and I can not figure out why. Maybe you have some insight?

ProperLockGestures works perfectly, but PlexAutoRemote does not. The files are there though.

I'm guessing this is where the issue is:

        $.ajax({
            type    : "GET",
            dataType: "xml",
            url     : (bundleid+"/info.xml"),
            success : function(xml){
				document.title = $(xml).find("package>name").text();
            	data_loader_engine(contentBlocks,xml)

            },
			cache   : false,
            error: function() {
                $("#packageError").show();
				$("#packageInformation").hide();
            }
        }); //ajax

I'm not used with javascript, so you're probably more up for the fight.


Anyway, the files are in place with correct permissions as seen below (since the same permissions works for ProperLockGestures).

/srv/http/repo/depictions » la                                                      user@Server
total 60K
-rw-r--r-- 1 root  root  3.7K Mar  8 16:17 changelog.html
-rw-r--r-- 1 root  root  7.5K Apr 26 12:07 index.html
drwxr-xr-x 2 root  root  4.0K Mar  2 12:52 js
-rw-r--r-- 1 root  root  3.9K Mar  8 16:17 screenshots.html
drwxr-xr-x 2 root  root  4.0K Mar  9 12:26 se.nosskirneh.ccnoscroll
drwxr-xr-x 2 root  root  4.0K Mar  2 16:51 se.nosskirneh.cdc
drwxr-xr-x 3 root  root  4.0K Mar 20 21:48 se.nosskirneh.customlockscreenduration
drwxr-xr-x 2 root  root  4.0K Apr 11 15:12 se.nosskirneh.disabledtext
drwxr-xr-x 2 root  root  4.0K May  8 10:58 se.nosskirneh.plexautoremote
drwxr-xr-x 2 root  root  4.0K May  6 21:05 se.nosskirneh.properlockgestures
drwxr-xr-x 3 root  root  4.0K Mar  2 17:02 se.nosskirneh.spotifyofflineswitch
drwxr-xr-x 3 root  root  4.0K Mar  2 16:50 se.nosskirneh.spotifyswitches
drwxr-xr-x 2 root  root  4.0K Mar 16 07:10 se.nosskirneh.swishspeedup
-rw-r--r-- 1 root  root   568 Mar  8 16:17 style.css
------------------------------------------------------------
/srv/http/repo/depictions » la se.nosskirneh.plexautoremote                         user@Server
total 8.0K
-rw-r--r-- 1 root root 433 May  8 10:58 changelog.xml
-rw-r--r-- 1 root root 939 May  8 11:05 info.xml
------------------------------------------------------------
/srv/http/repo/depictions » la se.nosskirneh.properlockgestures                     user@Server
total 8.0K
-rw-r--r-- 1 root root  717 May  7 21:06 changelog.xml
-rw-r--r-- 1 root root 1.1K May  8 11:07 info.xml

The content of the faulty package's info.xml is shown correct when I transfer it to ProperLockGestures' info.xml. I should also add that before pushing version 0.0.2 of PlexAutoRemote, the page was loaded. Really weird.

Any ideas?

Edit:

Changed all permissions to 755, didn't change anything.

It gives me 401 Unauthorized when trying to load the page. When I browse to these files manually, it's no problems at all (?).

jquery.min.js:4 GET https://andreashenriksson.se/repo/repo.xml?_=1494241499643 401 (Unauthorized)

/repo/depictions/se.nosskirneh.plexautoremote/info.xml?_=1494240947580 Failed to load resource: the server responded with a status of 401 (Unauthorized)

/repo/repo.xml?_=1494240947581 Failed to load resource: the server responded with a status of 401 (Unauthorized)

style.css Failed to load resource: the server responded with a status of 401 (Unauthorized)

Edit 2:
Probably not an error in Reposi3 but rather somewhere in my nginx/php-fpm config :/

Download counter

It would be amazing to have a package downloads count for each package at their depiction page
Maybe even for each version

Unable to set minimum iOS in info.xml of depiction.

In info.xml, it says to specify <maxiOS>. The thing is that the tweak I want to host needs 11.0 and up, but all I'm able to put is the max iOS (11.3.1). So when someone with, for example, iOS 10 sees the tweak, the depiction makes it look like the tweak is compatible with their version. Any way to change this?

Fix misstype

Describe the bug
Whenever I try to view a depiction that is not on my repo, it says: "Oh snap! The package you are tying to view is not hosted on this repository." when it should say: "Oh snap! The package you are trying to view is not hosted on this repository." Trying is misspelled as "tying"

To Reproduce
Steps to reproduce the behavior:

  1. Go to a depiction that is not there
  2. Profit

Expected behavior
the mistype is visible

Screenshots
Screen Shot 2019-03-31 at 16 52 02

Platform:
Where does the error occurs?
[x] Mobile Browser [e.g Mobile Safari, Chrome]
[ ] Cydia
[x] Desktop Browser [e.g. Safari, Firefox]

Additional context
Add any other context about the problem here.

Tweaks wont show.

I did everything correctly, but when I add a second tweak it doesn't show.

Version Check Needs Revision

Hey There,

I use your repo template for my own personal github repo. I'm not at all proficient enough in js, html, or css for any of it. I can package my themes/tweaks and push my updates to github, and thats about it.

I noticed, after iOS 10 came out, the version check doesn't seem to be working quite right. I'm guessing the fault lies somewhere in depictions/js/ios_version_check.js. It seems like the check is registering "iOS 10" and a version less than 7(probably some form of "iOS 1".

If you could fix the js, that would be incredibly helpful.

Thanks for making this template.

Repo shows updates always

My first tweak(LiveFish) is okay. But when I add more tweak, then Cydia always show updates even I updated.

How can I fix this?

Depiction only

Hey, is there a way to just use the depictions and add them to my existing GitHub repo? Rather than creating a whole new repo

How to trigger no screen shot for this package

var contentBlocks = 	{
        "#screenshotsList"	: 
			{"type":"custom"  
				,"source" :"package>screenshots>screenshot"
				,"render" : function(element,source){
				console.log($(source).size());
					if ($(source).size()==0) {
						$(element).append( $("<div class='alert alert-danger'>The aren't any screenshots for this package</div>") ); 
						return;

Subsequent viewings of the depiction gives an error

When viewing a package for the first time, all goes well. When navigating away from that view and back into it, I receive an error stating "Oh snap! The package you are trying to view is not hosted on this repository."

It's in the div with the id of packageError, but I'm not too sure what's making it appear. As a full-time backend developer, this really has me stumped.

I have verified that my info.xml's are all proper XML formatted, and even used: https://codebeautify.org/xmlvalidator to validate it as you stated in a previously listed issue.

Hash Sum mismatch error

I am getting a "Hash Sum mismatch Hashed of expected file" error. It was working before but after a slight update of the deb package im now getting an error.
I replaced the hash with the new hash. I am sure the MD5Sum in the Packages file is correct and is the same as the deb file. I replaced the Packages.bz2 multiple times and have checked the MD5Sum hash with multiple sources.

I think this might be a glitch because it isn't working.

Night mode

Can you please add night/dark mode support

How to place screenshots in a different location then default.

It seems the default location is to place the screen shots bundled in with the package

source" :"package>screenshots>screenshot"

I was wondering if I could and how I could place the screen shots into a different location.

I.E.

source" :"folder>bundleid>screenshots>screenshot"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.