Giter Club home page Giter Club logo

action-ipadown's Introduction

action-ipadown

Download old versions of app using Github Actions, without computers!

Warning: NOT supporting 2FA accounts currently

Use Cases

  • Buy & Download App
  • Download Old Versions of App
  • Query Version History of App
  • Lookup app information based on bundleID or appID

Usage

  1. Fork this repo
  2. Enable Actions in forked repo
  • Click Actions in toolbar
  • Click I understand my workflows, go ahead and enable them image
  1. Run Action
  • Click IPA Down in left list: image
  • Click Run workflow at right: image
  • Enter Apple ID, Password, Operation and corresponding parameters (like bundleID)
  • Click Run workflow
  • Find output files in Actions artifact or Release image
  • If the actions fails at Setup iTunes Header Service, please retry 1~2 times before submitting issue

Operations

There are currently five operations: lookup, historyver, download, historyver_id, download_id

  • lookup: query information of app based on bundleID
  • historyver: query history appVerID by bundleID (with historyver_id querys by appID)
  • download: download IPA by bundleID (download_id uses appID) & appVerID (optional, defaults to newest version)

To use these operations, enter your app informations like this:

  • Using Bundle ID: image
  • Using appID: image
  • Also giving appVerID: image

Credits

action-ipadown's People

Contributors

nyamisty 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

action-ipadown's Issues

Published releases must have a valid tag

Hi,

I got error, can you help me? Thank you.

Error: Error 422: Validation Failed: {"resource":"Release","code":"custom","field":"tag_name","message":"tag_name is not a valid tag"}, {"resource":"Release","code":"custom","field":"tag_name","message":"tag_name is not well-formed"}, {"resource":"Release","code":"custom","message":"Published releases must have a valid tag"}

CleanShot 2022-06-21 at 01 06 53@2x

exit code 22

Run NyaMisty/actions-iTunes-header@master
Run echo "Checking if we need to initialize iTunes again"
Checking if we need to initialize iTunes again
cat: /c/.iTunesInitialized: No such file or directory
Need to re-init iTunes
Run echo Setup iTunes...
Setup iTunes...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
35 264M 35 95.0M 0 0 163M 0 0:00:01 --:--:-- 0:00:01 163M
100 264M 100 264M 0 0 200M 0 0:00:01 0:00:01 --:--:-- 200M
Run echo Setup Python Dependencies...
Setup Python Dependencies...
Collecting pywinauto
Downloading pywinauto-0.6.8-py2.py3-none-any.whl (362 kB)
-------------------------------------- 362.9/362.9 kB 2.8 MB/s eta 0:00:00
Collecting frida
Downloading frida-16.1.11-cp37-abi3-win_amd64.whl.metadata (2.1 kB)
Collecting Flask
Downloading flask-3.0.0-py3-none-any.whl.metadata (3.6 kB)
Collecting six (from pywinauto)
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting comtypes (from pywinauto)
Downloading comtypes-1.2.1-py2.py3-none-any.whl.metadata (3.8 kB)
Collecting pywin32 (from pywinauto)
Downloading pywin32-306-cp39-cp39-win_amd64.whl (9.3 MB)
---------------------------------------- 9.3/9.3 MB 39.8 MB/s eta 0:00:00
Collecting typing-extensions (from frida)
Downloading typing_extensions-4.9.0-py3-none-any.whl.metadata (3.0 kB)
Collecting Werkzeug>=3.0.0 (from Flask)
Downloading werkzeug-3.0.1-py3-none-any.whl.metadata (4.1 kB)
Collecting Jinja2>=3.1.2 (from Flask)
Downloading Jinja2-3.1.3-py3-none-any.whl.metadata (3.3 kB)
Collecting itsdangerous>=2.1.2 (from Flask)
Downloading itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Requirement already satisfied: click>=8.1.3 in c:\hostedtoolcache\windows\python\3.9.13\x64\lib\site-packages (from Flask) (8.1.7)
Collecting blinker>=1.6.2 (from Flask)
Downloading blinker-1.7.0-py3-none-any.whl.metadata (1.9 kB)
Collecting importlib-metadata>=3.6.0 (from Flask)
Downloading importlib_metadata-7.0.1-py3-none-any.whl.metadata (4.9 kB)
Requirement already satisfied: colorama in c:\hostedtoolcache\windows\python\3.9.13\x64\lib\site-packages (from click>=8.1.3->Flask) (0.4.6)
Collecting zipp>=0.5 (from importlib-metadata>=3.6.0->Flask)
Downloading zipp-3.17.0-py3-none-any.whl.metadata (3.7 kB)
Collecting MarkupSafe>=2.0 (from Jinja2>=3.1.2->Flask)
Downloading MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl.metadata (3.1 kB)
Downloading frida-16.1.11-cp37-abi3-win_amd64.whl (32.6 MB)
---------------------------------------- 32.6/32.6 MB 13.1 MB/s eta 0:00:00
Downloading flask-3.0.0-py3-none-any.whl (99 kB)
---------------------------------------- 99.7/99.7 kB 821.0 kB/s eta 0:00:00
Downloading blinker-1.7.0-py3-none-any.whl (13 kB)
Downloading importlib_metadata-7.0.1-py3-none-any.whl (23 kB)
Downloading Jinja2-3.1.3-py3-none-any.whl (133 kB)
---------------------------------------- 133.2/133.2 kB 8.2 MB/s eta 0:00:00
Downloading werkzeug-3.0.1-py3-none-any.whl (226 kB)
--------------------------------------- 226.7/226.7 kB 14.4 MB/s eta 0:00:00
Downloading comtypes-1.2.1-py2.py3-none-any.whl (184 kB)
---------------------------------------- 184.9/184.9 kB 5.6 MB/s eta 0:00:00
Downloading typing_extensions-4.9.0-py3-none-any.whl (32 kB)
Downloading MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl (17 kB)
Downloading zipp-3.17.0-py3-none-any.whl (7.4 kB)
Installing collected packages: pywin32, comtypes, zipp, typing-extensions, six, MarkupSafe, itsdangerous, blinker, Werkzeug, pywinauto, Jinja2, importlib-metadata, frida, Flask
Successfully installed Flask-3.0.0 Jinja2-3.1.3 MarkupSafe-2.1.3 Werkzeug-3.0.1 blinker-1.7.0 comtypes-1.2.1 frida-16.1.11 importlib-metadata-7.0.1 itsdangerous-2.1.2 pywin32-306 pywinauto-0.6.8 six-1.16.0 typing-extensions-4.9.0 zipp-3.17.0
Run echo Login iTunes...
Login iTunes...
SUCCESS: The process "iTunesHelper.exe" with PID 4616 has been terminated.
Traceback (most recent call last):
File "D:\a_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\itunes_auto_login.py", line 149, in
initITunes()
File "D:\a_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\itunes_auto_login.py", line 139, in initITunes
raise Exception("Verification Failed: %s" % app.top_window().Static2.window_text())
Exception: Verification Failed: Your Apple ID or password is incorrect.
SUCCESS: The process "iTunes.exe" with PID 5732 has been terminated.
Traceback (most recent call last):
File "D:\a_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\itunes_auto_login.py", line 149, in
initITunes()
File "D:\a_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\itunes_auto_login.py", line 139, in initITunes
raise Exception("Verification Failed: %s" % app.top_window().Static2.window_text())
Exception: Verification Failed: Your Apple ID or password is incorrect.
SUCCESS: The process "iTunes.exe" with PID 1092 has been terminated.
Traceback (most recent call last):
File "D:\a_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\itunes_auto_login.py", line 149, in
initITunes()
File "D:\a_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\itunes_auto_login.py", line 139, in initITunes
raise Exception("Verification Failed: %s" % app.top_window().Static2.window_text())
Exception: Verification Failed: This Apple ID has been locked for security reasons. Visit iForgot to reset your account (https://iforgot.apple.com/).
Launching iTunes...
Closing dialog iTunes Software License Agreement
Closing dialog iTunes
Closing dialog iTunes
-- Cur top win: hwndwrapper.DialogWrapper - 'iTunes', iTunes, texts: ['iTunes', '', '', '', '', 'Search', '', '', 'LCD section', 'switch to miniplayer', 'show next view', 'show previous view', '', 'airplay', 'genius shuffle', 'switch to miniplayer', 'Application', 'Song', 'Help', 'Account', 'Controls', 'View', 'Edit', 'File']
Button11 text is:
Clicked 'No Thanks' Button!
Clicking Account menu...
-- Cur top win: win32_controls.PopupMenuWrapper - '', PopupMenu, texts: ['']
Signin menu presented, clicking to login!
-- Cur top win: hwndwrapper.DialogWrapper - 'iTunes', Dialog, texts: ['', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Apple ID', 'Password:', 'Password', 'Password', '', 'This computer will be associated with your Apple ID and data such as photos, contacts, and documents may be stored in iCloud so you can access them on other devices.', '', 'See how your data is managed...', 'See how your data is managed...', 'Sign In to the iTunes Store', 'If you have an Apple\xa0ID and password, enter them here. If you’ve used the iTunes Store or iCloud, for example, you have an Apple\xa0ID.', 'Forgot Apple ID or password?']
Setting login dialog edit texts
Clicking login button!
Waiting login result...
-- Cur top win: hwndwrapper.DialogWrapper - 'Verification Failed', Dialog, texts: ['Verification Failed', 'OK', '', 'Your Apple ID or password is incorrect.']
Init iTunes 0: Failed with Verification Failed: Your Apple ID or password is incorrect.
Closing dialog iTunes
Closing Window iTunes Quick Tour
-- Cur top win: hwndwrapper.DialogWrapper - 'iTunes', iTunes, texts: ['iTunes', '', '', '', '', 'Search', '', '', 'LCD section', 'switch to miniplayer', 'show next view', 'show previous view', '', 'airplay', 'genius shuffle', 'switch to miniplayer', 'Application', 'Song', 'Help', 'Account', 'Controls', 'View', 'Edit', 'File']
Button11 text is:
Clicked 'No Thanks' Button!
Clicking Account menu...
-- Cur top win: win32_controls.PopupMenuWrapper - '', PopupMenu, texts: ['']
Signin menu presented, clicking to login!
-- Cur top win: hwndwrapper.DialogWrapper - 'iTunes', Dialog, texts: ['iTunes', '', '&Sign In', 'Cancel', 'Create &New Apple ID', '', '', '', '?', '', '', '', 'Apple ID:', 'Apple ID', 'Apple ID', 'Password:', 'Password', 'Password', '', 'This computer will be associated with your Apple ID and data such as photos, contacts, and documents may be stored in iCloud so you can access them on other devices.', '', 'See how your data is managed...', 'See how your data is managed...', 'Sign In to the iTunes Store', 'If you have an Apple\xa0ID and password, enter them here. If you’ve used the iTunes Store or iCloud, for example, you have an Apple\xa0ID.', 'Forgot Apple ID or password?']
Setting login dialog edit texts
Clicking login button!
Waiting login result...
-- Cur top win: hwndwrapper.DialogWrapper - 'Verification Failed', Dialog, texts: ['Verification Failed', 'OK', '', 'Your Apple ID or password is incorrect.']
Init iTunes 1: Failed with Verification Failed: Your Apple ID or password is incorrect.
Closing dialog iTunes
-- Cur top win: hwndwrapper.DialogWrapper - 'iTunes', iTunes, texts: ['iTunes', '', '', '', '', 'Search', '', '', 'LCD section', 'switch to miniplayer', 'show next view', 'show previous view', '', 'airplay', 'genius shuffle', 'switch to miniplayer', 'Application', 'Song', 'Help', 'Account', 'Controls', 'View', 'Edit', 'File']
Button11 text is:
Clicked 'No Thanks' Button!
Clicking Account menu...
-- Cur top win: win32_controls.PopupMenuWrapper - '', PopupMenu, texts: ['']
Signin menu presented, clicking to login!
-- Cur top win: hwndwrapper.DialogWrapper - 'iTunes', Dialog, texts: ['iTunes', '', '&Sign In', 'Cancel', 'Create &New Apple ID', '', '', '', '?', '', '', '', 'Apple ID:', 'Apple ID', 'Apple ID', 'Password:', 'Password', 'Password', '', 'This computer will be associated with your Apple ID and data such as photos, contacts, and documents may be stored in iCloud so you can access them on other devices.', '', 'See how your data is managed...', 'See how your data is managed...', 'Sign In to the iTunes Store', 'If you have an Apple\xa0ID and password, enter them here. If you’ve used the iTunes Store or iCloud, for example, you have an Apple\xa0ID.', 'Forgot Apple ID or password?']
Setting login dialog edit texts
Clicking login button!
Waiting login result...
-- Cur top win: hwndwrapper.DialogWrapper - 'Verification Failed', Dialog, texts: ['Verification Failed', 'OK', '', 'This Apple ID has been\xa0locked\xa0for security reasons. Visit iForgot to reset your account (https://iforgot.apple.com/).']
Init iTunes 2: Failed with Verification Failed: This Apple ID has been locked for security reasons. Visit iForgot to reset your account (https://iforgot.apple.com/).
Init iTunes Successfully!
Run echo "Finish Initialization..."
Finish Initialization...
Run echo Start Frida Header Server!
Start Frida Header Server!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0

100 1052k 100 1052k 0 0 3637k 0 --:--:-- --:--:-- --:--:-- 3637k
cmd started with process ID 5020.
Run sleep 5
---------------- Before query headers ----------------
D:\a_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\iTunesDownload\get_header.py:87: DeprecationWarning: Script.exports will become asynchronous in the future, use the explicit Script.exports_sync instead
rpc = script.exports

  • Serving Flask app 'get_header'
  • Debug mode: off
    WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
  • Running on all addresses (0.0.0.0)
  • Running on http://127.0.0.1:9000/
  • Running on http://10.1.0.71:9000/
    Press CTRL+C to quit
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1:9000...

  • Connected to 127.0.0.1 (127.0.0.1) port 9000

GET / HTTP/1.1

Host: 127.0.0.1:9000

User-Agent: curl/8.4.0

Accept: /

< HTTP/1.1 500 INTERNAL SERVER ERROR

< Server: Werkzeug/3.0.1 Python/3.9.13

< Date: Sat, 13 Jan 2024 13:36:18 GMT

< Content-Type: text/html; charset=utf-8

< Content-Length: 265

< Connection: close

<

{ [265 bytes data]

<!doctype html>

<title>500 Internal Server Error</title>

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

100 265 100 265 0 0 17235 0 --:--:-- --:--:-- --:--:-- 17666 * Closing connection curl: (22) The requested URL returned error: 500 ---------------- After query headers ---------------- D:\a\_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\iTunesDownload\get_header.py:87: DeprecationWarning: Script.exports will become asynchronous in the future, use the explicit Script.exports_sync instead rpc = script.exports * Serving Flask app 'get_header' * Debug mode: off WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:9000/ * Running on http://10.1.0.71:9000/ Press CTRL+C to quit [2024-01-13 13:36:18,175] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\flask\app.py", line 1455, in wsgi_app response = self.full_dispatch_request() File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\flask\app.py", line 869, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\flask\app.py", line 867, in full_dispatch_request rv = self.dispatch_request() File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\flask\app.py", line 852, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) File "D:\a\_actions\NyaMisty\actions-iTunes-header\master\workflow_helper\iTunesDownload\get_header.py", line 100, in getHeader retHdrs = rpc.get_header(hdrUrl) File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\frida\core.py", line 179, in method return script._rpc_request("call", js_name, args, **kwargs) File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\frida\core.py", line 86, in wrapper return f(*args, **kwargs) File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\frida\core.py", line 491, in _rpc_request raise result.error frida.core.RPCException: Error: access violation accessing 0x0 at readCFData (/script1.js:36) at getHeader (/script1.js:86) at getHeader (/script1.js:98) at apply (native) at (frida/runtime/message-dispatcher.js:13) at c (frida/runtime/message-dispatcher.js:23) 127.0.0.1 - - [13/Jan/2024 13:36:18] "GET / HTTP/1.1" 500 - Error: Process completed with exit code 22.

list index error

while using action-ipadown i receive index error:

IndexError: list index out of range
Error: Process completed with exit code 1.

what does it mean and how can i fix that?
image

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.