Coder Social home page Coder Social logo

altstoreio / altstore Goto Github PK

View Code? Open in Web Editor NEW
11.4K 240.0 860.0 212.07 MB

AltStore is an alternative app store for non-jailbroken iOS devices.

Home Page: https://altstore.io

License: GNU Affero General Public License v3.0

Swift 92.12% Objective-C 2.73% Objective-C++ 5.07% Ruby 0.04% Shell 0.01% C 0.03%

altstore's Introduction

AltStore

AltStore is an alternative app store for non-jailbroken iOS devices.

Swift Version License: AGPL v3 PRs Welcome

AltStore is an iOS application that allows you to sideload other apps (.ipa files) onto your iOS device with just your Apple ID. AltStore resigns apps with your personal development certificate and sends them to a desktop app, AltServer, which installs the resigned apps back to your device using iTunes WiFi sync. To prevent apps from expiring, AltStore will also periodically refresh your apps in the background when on the same WiFi as AltServer.

For the initial release, I focused on building a solid foundation for distributing my own apps — primarily Delta, my all-in-one emulator for iOS. Now that Delta has been released, however, I'm beginning work on adding support for anyone to list and distribute their apps through AltStore (contributions welcome! 🙂).

Features

  • Installs apps over WiFi using AltServer
  • Resigns and installs any app with your Apple ID
  • Refreshes apps periodically in the background to prevent them from expiring (when on same WiFi as AltServer)
  • Handles app updates directly through AltStore

Minimum Project Requirements

  • Xcode 15
  • Swift 5.9
  • iOS 14.0 (AltStore)
  • macOS 11.0 (AltServer)

Project Overview

AltStore

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

  • Core Data
  • Storyboards/Nibs
  • Auto Layout
  • Background App Refresh
  • Network.framework (new in iOS 12)

AltServer

AltServer is also just a regular, sandboxed macOS application. AltServer is significantly less complex than AltStore though, and for that reason consists of only a handful of files.

AltKit

AltKit is a shared framework that includes common code between AltStore and AltServer.

AltSign

AltSign is my internal framework used by both AltStore and AltServer to communicate with Apple's servers and resign apps. For more info, check the AltSign repo.

Roxas

Roxas is my internal framework used across all my iOS projects, developed to simplify a variety of common tasks used in iOS development. For more info, check the Roxas repo.

Compilation Instructions

AltStore and AltServer are both fairly straightforward to compile and run if you're already an iOS or macOS developer. To compile AltStore and/or AltServer:

  1. Clone the repository
    git clone https://github.com/rileytestut/AltStore.git
    
  2. Update submodules:
    cd AltStore 
    git submodule update --init --recursive
    
  3. Open AltStore.xcworkspace and select the AltStore project in the project navigator. On the Signing & Capabilities tab, change the team from Yvette Testut to your own account.
  4. (AltStore only) Change the value for ALTDeviceID in the Info.plist to your device's UDID. Normally, AltServer embeds the device's UDID in AltStore's Info.plist during installation. When running through Xcode you'll need to set the value yourself or else AltStore won't resign (or even install) apps for the proper device.
  5. (AltStore only) Change the value for ALTServerID in the Info.plist to your AltServer's serverID. This is embedded by AltServer during installation to help AltStore distinguish between multiple AltServers on the same network, and you can find this by using a Bonjour browsing application and noting the serverID advertised by AltServer. This isn't strictly necessary, because if AltStore can't find the AltServer with the embedded serverID it still falls back to trying another AltServer. However, this will help in cases where there are multiple AltServers running (plus the error messages are more helpful).
  6. Build + run app! 🎉

Licensing

Due to the licensing of some dependencies used by AltStore, I have no choice but to distribute AltStore under the AGPLv3 license. That being said, my goal for AltStore is for it to be an open source project anyone can use without restrictions, so I explicitly give permission for anyone to use, modify, and distribute all my original code for this project in any form, with or without attribution, without fear of legal consequences (dependencies remain under their original licenses, however).

Contact Me

Questions about AltStore in general? Make sure to read the FAQ at https://altstore.io/faq/

altstore's People

Contributors

ccheever avatar coliff avatar ds8k avatar noah978 avatar osy avatar osy86 avatar rileytestut 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  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  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

altstore's Issues

can't build using Xcode 10.3

I can't build using Xcode 10.3 on high sierra. Xcode runs normally and I built Retroarch with no problem. But for ALTstore I get this error:
Your development team, "XXX xxxx", does not support the Push Notifications capability.
I change the Bundle identifier to so whatever but no success.
ALTserver I have no problem. I'm Using free Apple id. I used the "iOS-device-support-files" upto 13.1. I Connected the phone 7 plus on software version 13.1.1. Also I changed the minimum firmware versions for ALTStore and ALTServer to be compatible with my mac and iPhone. I would love to someone help me with this or at least build it for High Sierra 10.13.6

Can't install AltStore from Windows

I've installed the AltServer on my Windows 10 (1809/17763.737) machine (iTunes is 64 bit and not from the Microsoft Store), when I select the phone, click on install and log-in with my Apple ID, nothing appens on my iPhone 7 (12.1.2).
If I try again it says that AltStore is already installed on another device but nothing happens.
I've already tried revoking apps from Cydia Impactor to check if it was a certificate issue but nothing.

Problems Sideloading

Having alot of trouble sideloading, out of around 10 apps, only 2 worked so far.

First batch I tried only 2 apps worked and the others just had the spinner constantly turning with no loading bar. Shortly after giving up on it, I realized the altstore had risen to 10gb with no way of emptying its cache.

After reinstalling the beta, i attempted the same batch again and the same result, only 2 apps.

On my third try with 3 apps, 1 did the constant spinner trick, and the other 2 threw a message "Unknown error occurred" and failed to install.

Edit: After trying these it's apparently used my 10 weekly signings, even though I only managed to get 2 apps :(

Docker image

I'd like to request a possibility of using AltStore as a docker image.

Why a docker image?

Well just imagine that you install this image on your server or NAS and then, when you plan to travel for more than a week (and you don't have a laptop with you), all you have to do is to connect to your home network via VPN so that both devices are on the same network and all of the AltStore apps could get auto-refreshed :)

We could use the docker environment variables to store the AppleID username/password/app-password for the ease of configurability.

Unable to refresh or download anything.

See title. On my laptop I am running the latest version of Windows 10, have AltServer installed and got the latest version of iTunes from Apple's website instead of the Microsoft Store. On my iPhone Xʀ, I am running iOS 13.1.2 and have AltStore installed. I tried downloading Delta but couldn't; the downloading bar freezes up when it's about 2/5 of the way finished or just grazing that spinning circle thing. Same thing happened with Delta Lite. Then I tried refreshing I checked the FAQ and tried to troubleshoot. I'm on my private home WiFi, AltServer is allowed public and private according to Windows Defender Firewall, my computer & iPhone trust each other and I'm signed into my Apple ID on iTunes. Still doesn't work. I even tried making a hotspot on my phone and connecting to it on my laptop. The bar gets halfway finished and then stops and says, "AltServer could not find this device." Note it doesn't just freeze up like on my home WiFi. Maybe that's a good thing? I really don't know. I can reinstall AltStore in five days but for what? It's not like I can use it for anything besides looking cool. If anyone knows why this is happening please let me know.

The provisioning profile is invalid

I installed the Altserver on Win10.
iTunes is already installed.
When I clicked on install AltStore on my iPhone, after asking my apple ID and credentials and some downloading it return an error:
image

The iPhone is 6 and the OS version is 12.4

Error when sideloading apps (EXC_BAD_ACCESS)

As the title says, whenever I try to sideload an app using the beta, i.e GBA4iOS, Cercube, Rocket for ig, etc., it crashes after around 5 seconds with no communication to AltServer in that time. I can send crash logs, if that would be helpful. As for the device, it's an iPhone XR on iOS 13.1, and all the apps listed above can be sideloaded just fine with impactor

Where are the apps?

Am I missing something?

I thought the whole point was that this would be a place where devs could post apps and users could find them. I can only see 2 apps—Delta and Delta Lite—and some devs are commenting here trying to figure out how to get their apps listed: #11

Linux Support for AltServer

Is there any plan to support Linux? libimobiledevice and Cydia Impactor work. Is there a missing component blocking it from working or is it simply not targeted? Thanks

Select account when multiple organisations exists

It looks like when you Apple Developer account is linked to multiple orgs it just picks the first in the list without the ability to select which one you would like to use.

I would like to be able to select my own organisation instead of organisations I was given access to as a external developer to prevent doing things in their developer org.

Xcode launchATLogin error

I successfully built ALstore, But I'm getting this error "launchATLogin error" for building ALtserver.
Screen Shot 2019-10-03 at 9 59 00 PM

Could not find AltServer

I just installed the server on my pc and the app on my iPad Pro, and whenever I go to install an app it says "Could not find AltServer" even though it is up and running on my desktop, my iPad is on Wifi and my desktop is connected via ethernet to the same router.

Also, Clip and Delta (non-lite) just say "3 days" in the bubble where you would click to install and clicking on it does nothing, so the only thing I can install right now is Delta Lite

Support for network shares in the sideloading file provider

Hey,

I would like to suggest adding support for network shares (introduced in Files.app on iOS 13). That way it would be possible to sideload IPAs downloaded on your Mac directly without clogging up iCloud Drive. Currently network shares don't show up in AltStore.app and the sharing extension introduced in 1.01b doesn't show up either if I try to install the IPA that way. The shares show up in other apps that use the Apple File Provider (like PDF Expert and the like), so it should be possible.

Alternatively allowing to sideload IPAs via the AltServer menubar item would also work I guess.

Thank you and keep up the good work!

Regards

.ipa release for Jailbroken users?

I am running jailbroken iOS 10.3.3, and since I don't have access to a computer running macOS or a Windows computer with the admin password, would like to be able to install AltStore via an .ipa file.

Is this possible?

Lost connection to AltServer

Cannot download Delta or AltStore update from AltStore app. Both apps get to about 2/3rds downloaded and then the "lost connection to AltServer" notification pops up. iPhone 6s running iOS 13.1, AltServer running on MacOS 10.14.6

Run altserver on an device without itunes

The idea for this is to transfer the configuration of altserver from the machine that was used to install it to a device incompatible with iTunes (IE a device running with wine) I have been getting "could not find altserver" tho Is this because iTunes isn't installed? if so is there a way I can trick the app into running without it? I just want to have altserver on my box that's always on (which happens to be a Linux box) the software seems to run without a hitch but I haven't managed to connect. Is anyone willing to help me?

[Discussion] Using local VPN to install IPAs

While I was looking into a method similar to what AltStore does I was able to install and sign IPAs locally on an ios device without the need of a computer by using a local VPN through https://portmap.io/ I wonder if something similar could be achieved by running a server locally on the iOS device itself so that after a user only needs to install the the AltStore app using a desktop.

The biggest issue with this when I was testing was the need for the handshake keys but it is possible to read those from the desktop and store them somewhere in the cloud encrypted. This would require the user having an account but I am assuming at some point some kind of login system might be required anyways. Would love to hear any thoughts on this.

[Feature] Allow app replacement

Free Apple Ids have an app id limit of 7 maximum ids so which means you can only generate and install 7 apps at a time but the same provisioning profile can be used to sign different apps I believe so there should be an option to sign an IPA with an existing provisioning profile.

Build is successful, but "install claimed to have succeeded"

Hey again. AltStore has been updated to work on Xcode 11, however I can't compile it due to Push Notifications not being present on a free Dev account. So, I removed that capability, but AltStore won't install, with an "Install claimed to have succeeded" error and no app is installed to the device. I already tried cleaning the build folder and purging the Derived Data, but nothing is working. Any solution?

altstore says verification error while installation

Just heard about your cool project.
I installed iTunes from apple
fail_AltStore
,
installed altstore,
created a specific password,
altstore started to install,
but failed with the following message:
failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd/staging/temp.blabla/extracted/AltStore.app

My mistake or something deeper. I googled, but did not find a solution.
Iphone 6S, iOS13.1

thanks

Unable to Download Apps. "Failed to write app data to device."

iPhone XR running iOS 13.1.2.
I installed the AltServer on my Win 10 PC and installed AltStore to the phone successfully, but upon trying to download either Delta or its Lite counterpart, the progress bar shown when downloading nearly completes, halts, and shortly after throws the error, "Failed to write app data to device." I don't know to really troubleshoot this issue, given that it is not mentioned in the FAQ page.

Can't install AltStore because AltServer recognizes my phone for a few seconds and then doesn't.

See title. I'm on Windows 10, 64bit with the correct version of iTunes installed. As stated, AltServer recognizes my phone for a moment, long enough for me to enter the Apple ID and password but never long enough to install, even though my computer still recognizes it outside of the AltStore (I can open my iPhone's gallery from File Explorer). I've noticed that I can get it back by restarting the computer and tapping "Trust this computer?" on my phone but it's never long enough. Anyone have a clue why my computer is doing this shit?? I want Delta like a little kid wants candy, but I can't keep trying this all night.

Multiple device support

I noticed that when I try to install AltStore on more than 1 device it gives me a notice that installing on a second device will make the AltStore on the first one unusable. Can we please get a multiple device support?

"Could not find AltServer"

Hey there, just installed AltServer and AltStore.

Altserver is on Windows 10 version 1903,

Altstore is on iPhone 11, iOS 13.1

Brand new installation of iTunes (because who wants iTunes on a windows pc am I right?)

Connected the iPhone and enabled wifi sync (and trusted my PC), AltServer running in the background. Tried rebooting PC, restarting iTunes, restarting altserver, all to no avail.

Any time I try to install any app on AltStore, I'm getting Could Not Find AltServer.

Am I missing a step?

Cannot install to Macbook

I keep getting the error message: "Altserver.dmg can't be opened because Apple cannot check it for malicious software." Any way to fix?

Req: AltServer on linux

I run all my home lab stuff on linux and would like to run the server there too. This would also open it up to raspberry pi devices and such.

Not working on iOS 13.2 (Public Beta 2)?

After updating from iOS 13.1.2 to iOS 13.2 (Public Beta 2) the applications Delta (Beta) and AltStore (Beta) didn't open. I've deleted them and tried a new installation with AltStore Server. That wasn't possible (screenshot is attached)! :(

AltServer V. 1.0.1 (1)
macOS Catalina 10.15
iPhone 11 Pro Max with iOS 13.2 Public Beta 2

Fail to install

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.