Code Monkey home page Code Monkey logo

sideserver-macos's Introduction

SideStore

SideStore is an untethered, community driven alternative app store for non-jailbroken iOS devices

License: AGPL v3 PRs Welcome Nightly SideStore build .github/workflows/beta.yml Discord

Alt

SideStore is an iOS application that allows you to sideload apps onto your iOS device with just your Apple ID. SideStore resigns apps with your personal development certificate, and then uses a specially designed VPN in order to trick iOS into installing them. SideStore will periodically "refresh" your apps in the background, to keep their normal 7-day development period from expiring.

SideStore's goal is to provide an untethered sideloading experience. It's a community driven fork of AltStore, and has already implemented some of the community's most-requested features.

(Contributions are welcome! 🙂)

Requirements

  • Xcode 14
  • iOS 14+
  • Rustup (brew install rustup)

Why iOS 14? Targeting such a recent version of iOS allows us to accelerate development, especially since not many developers have older devices to test on. This is corrobated by the fact that SwiftUI support is much better, allowing us to transistion to a more modern UI codebase.

Project Overview

SideStore

SideStore is a just regular, sandboxed iOS application. The AltStore app target contains the vast majority of SideStore's functionality, including all the logic for downloading and updating apps through SideStore. SideStore makes heavy use of standard iOS frameworks and technologies most iOS developers are familiar with.

EM Proxy

SideServer mobile powers the defining feature of SideStore: untethered app installation. By levaraging an App Store app with additional entitlements (WireGuard) to create the VPN tunnel for us, it allows SideStore to take advantage of Jitterbug's loopback method without requiring a paid developer account.

Minimuxer

Minimuxer is a lockdown muxer that can run inside iOS’s sandbox. It replicates Apple’s usbmuxd protocol on MacOS to “discover” devices to interface with wireguard On-Device.

Roxas

Roxas is Riley Testut's internal framework from AltStore used across many of their iOS projects, developed to simplify a variety of common tasks used in iOS development.

We're hoping to eventually eliminate our dependency on it, as it increases the amount of unnecessary Objective-C in the project.

Contributing/Compilation Instructions

Please see CONTRIBUTING.md

Licensing

This project is licensed under the AGPLv3 license.

sideserver-macos's People

Contributors

ds8k avatar f1shy-dev avatar jawshoeadan avatar jjtech0130 avatar jkcoxson avatar joematt avatar lonkelle avatar nythepegasus avatar rileytestut avatar rrroyal avatar shanegillio avatar tbodt 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

Watchers

 avatar  avatar  avatar

sideserver-macos's Issues

Add SideServer to Homebrew Casks

Describe the feature

It would be useful to have SideServer installable via homebrew casks. You could install it by using:

brew install --cask sideserver

Use cases

It would ease the user experience by allowing a single command to install SideServer and also utilises the most used package manager for macOS. You can also install altserver via homebrew (but can't for sideserver) so this would close the gap.

Lacks iOS 17 JIT support from upstream AltServer code

Riley implemented JIT in iOS 17 via pymobiledevice3 for Altstore. I don't use SideServer so I didn't check, but the code in this repo is from the iOS 16 version of AltServer and doesn't have the new JIT code.

Reference for SideServer code in this repo:

func enableJIT(for app: InstalledApp, on device: ALTDevice)

A lot of files turn up when searching for 'jit' in AltStore: https://github.com/search?q=repo%3Aaltstoreio%2FAltStore+jit&type=code

Would the SideStore team be interested in porting this code over?

Progress View

Hey @rrroyal - you can send your Progress View PR straight here. No rush since it's just a QOL thing.

Invalid UDID when sideloading ipa to Apple TV

Attempting to sideload any ipa from Github to my Apple TV titled "iTV-2022" results in an error stating "This device's UDID is invalid", which is odd considering I've had the UDID under my developer account since last year. I'm running macOS Sonoma, and Xcode 15, with my Apple TV running on tvOS 17, paired to Xcode and connected. This issue persists between my MacBook as well as my Mac Studio. Is there anything I've missed, or is this an issue with SideServer?

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.