Git Product home page Git Product logo

canijailbreak2-website's Introduction

Can I Jailbreak 2

Python 3.7+ | Fast | Powered by you

Prelude

Callum Jones has provided us over the years with canijailbreak.com, a source to find out whether you can jailbreak your iDevice or not.

In recent times I found that it wasn't updated and thus I just wanted to create an alternative to it.

This is just that: An entire rewrite, run by sanic and powered by your contributions to keep it up to date!

Features

  • Entire rewrite with a (subjectively) nice new look
  • API for easy access with f.e. (discord) bots
    • You can request access to the API by just sending me a DM on twitter @saadat603
  • Easily expandable

Contributing

A new jailbreak arrived and it's not on the site? Missing a legacy Jailbreak? -- No problem!

All the Jailbreaks are listed inside the SiteHelper.py file under the JailbreakMap as dictionary.

Here's an example with the checkra1n utility:

{
	"name": "checkra1n",              <- Jailbreak Name
	"url": "https://checkra.in",      <- Website or theiphonewiki link
	"minIOS": "12.0",                 <- Minimum required iOS
	"maxIOS": "14.3",                 <- Maximum supported iOS
	"minProc": "5S",                  <- Oldest supported device
	"maxProc": "X",                   <- Latest supported device
	"type": "Semi-Tethered",          <- Jailbreak Type
	"platforms": ['apple', 'linux']   <- List of supported platforms
}

The fields minProc and maxProc are essentially the processors but I opted to keep the device name and classify similar devices to the same name. It seems confusing at first but peeking at the DeviceMapPG in SiteHelper.py might make that more clear.

(This is subject to rewrite and any contribution is welcome in terms of design!)

If a new Jailbreak appears, just create a dictionary object as above (without the annotations) and PR it. Currently some legacy Jailbreaks below iOS 6 are not listed but welcome as PR.

The only rule I have is to exclude unstable or experimental Jailbreaks. Any fraudulent / copycat Jailbreaks such as Th0r are strictly prohibited and these PRs will be rejected.

API Docs

THIS ENDPOINT REQUIRES AUTHENTICATION.

I tried to keep the API access pretty easy and self-explanatory so it works without any wild parsing.

Here's the potential return codes which get returned as json in the field status:

  • -1: Failure. No further data
  • 1: Query Successfully accepted BUT device not found. No further data
  • 2: Query Successfully accepted BUT given iOS version was out-of-bounds. You will receive the following data (json):
    • show exemplary return iPhone 5S & 13.0
       {
       	"status": 2,
       	"minIOS": "7.0",
       	"maxIOS": "12.5.1"
       }
      
  • 0: Query Successfully accepted. You will have a field called jelbreks which is a list of objects formatted as shown in the Contributing section.

Example: Query: https://canijailbreak2.com/v1/pls/iPhone SE 1/13.4

Show Result
{
	"status": 0,
	"jelbreks": [
		{
			"name": "checkra1n",
			"url": "https://checkra.in",
			"minIOS": "12.0",
			"maxIOS": "14.3",
			"minProc": "5S",
			"maxProc": "X",
			"type": "Semi-Tethered",
			"platforms": ["apple","linux"]
		},
		{
			"name": "Odyssey",
			"url": "https://theodyssey.dev",
			"minIOS": "13.0",
			"maxIOS": "13.7",
			"minProc": "6S",
			"maxProc": "11",
			"type": "Semi-Untethered",
			"platforms": ["apple"]
		},
		{
			"name": "unc0ver",
			"url": "https://unc0ver.dev",
			"minIOS": "11.0",
			"maxIOS": "13.5",
			"minProc": "5S",
			"maxProc": "11",
			"type": "Semi-Untethered",
			"platforms": ["apple"]
		}
	]
}

Installation + Setup

You wish to run your own instance? No problemo.

Make sure you got a Linux VPS with python3 (3.6+) installed. Create a virtal environment and install the deps from req.txt and you're ready to go!

If you'd like to provide API access, make sure you have a .env with tokens. See API.py for further details on that.

(Recommended) run it with PM2 for easier management!

Credits

  • chpwn for the original idea
  • Callum Jones for the first implementation and keeping it OSS
  • Local Pigeons for the good support and being fluffy companions

License

This project is licensed under MIT. Have fun!

canijailbreak2-website's People

Contributors

mass1ve-err0r avatar

Watchers

 avatar

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.