Skip to content
This repository has been archived by the owner on Dec 7, 2018. It is now read-only.
/ BYAManager Public archive

Personal and individual Maven project in Java SE + Swing

License

Notifications You must be signed in to change notification settings

Ks89/BYAManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Apache 2

Issue Stats Issue Stats

BYAManager

alt tag

BYAManager is a personal project that i realized in 2011 and updated more times during the years. It's a Multi-Platform and Multi-Language software dedicated to the "Apple World", that i developed for the blog called BiteYourApple.
This software is a GUI to download iOS firmwares and iTunes versions with some extra features.
It's legal, obviously, because all files are on Apple server. BYAManager gets files directly from Apple server to you.

It's available in 3 languages: ITALIAN, ENGLISH and CZECH

The entire list of features is available HERE.

BYAManager uses BYAUpdater to update itself automatically!

I presented this software in 2011 HERE

Attention!!! I started this project on assembla.com with SVN. The source code and the commit's list are in Assembla in a private repository. This isn't important, because the code here on GitHub is better.

I'm working on a Python script to sort the ipsw's links in the database.
This project is available HERE.
In the future, i want to integrate this script in BYAManager.

This software requires Java 8 or above and an internet connection

GOOD NEWS: I moved BYAManager to IntelliJ and removed Project Lombok as a dependency (because quite obsolete today)

Bug reports

ATTENTION: I'll never fix issues about the Graphical Interface, because i want to recreate the entire GUI with different technologies in the future.
I found two terrible bugs related to iOS10. For more info GO HERE

Changelogs

The complete list IN ITALIAN is available HERE

News

  • ??/??/???? - BYAManager 1.1.0 SCHEDULED BUT STILL UNRELEASED (do a 'git checkout master')
  • 09/17/2016 - BYAManager 1.0.1 DOWNLOAD HERE and public release HERE
  • 04/11/2015 - BYAManager 1.0.0 DOWNLOAD HERE and public release HERE
  • 04/10/2015 - BYAManager 0.9.0 DOWNLOAD HERE and public release HERE
  • 04/06/2015 - BYAManager 0.8.0 DOWNLOAD HERE and public release HERE
  • 04/03/2015 - BYAManager 0.7.0 DOWNLOAD HERE and public release HERE
  • 04/02/2015 - BYAManager 0.6.0 DOWNLOAD HERE and public release HERE
  • 03/30/2015 - BYAManager 0.5.6 DOWNLOAD HERE and public release HERE
  • 03/29/2015 - BYAManager 0.5.5 DOWNLOAD HERE and public release HERE
  • 10/21/2014 - BYAManager 0.5.4 public HERE
  • 09/29/2014 - BYAManager 0.5.3 public HERE
  • 04/06/2012 - BYAManager 0.5.2 public HERE and HERE
  • 04/05/2012 - BYAManager 0.5.2 RC1 public via Twitter and auto-update
  • 03/28/2012 - BYAManager 0.5.1 public HERE and HERE
  • 03/19/2012 - BYAManager 0.5.0.0 public HERE
  • 03/19/2012 - BYAManager 0.5.0 RC2 public via Twitter and auto-update
  • 03/19/2012 - BYAManager 0.5.0 RC1 public via Twitter and auto-update
  • 03/19/2012 - BYAManager 0.5.0 beta 1 only for 3 beta testers
  • 03/13/2012 - BYAManager 0.5.0.0 Beta5 only for beta testers
  • 03/09/2012 - BYAManager 0.5.0.0 Beta3 only for beta testers
  • 02/24/2012 - BYAManager 0.4.1.0 (or 0.5.0.0 Beta2) only for beta testers
  • 01/06/2012 - BYAManager 0.4.0 (or Beta 4) public HERE and HERE
  • 12/28/2011 - BYAManager Beta 3 public HERE and HERE
  • 10/24/2011 - BYAManager Beta 2 public HERE
  • 10/10/2011 - BYAManager Beta 1 public HERE
  • 10/03/2011 - BYAManager Beta 0.3 private
  • 08/04/2011 - BYAManager Alpha 4 private
  • 07/31/2011 - BYAManager Alpha 3 private

How to setup

  • import this maven project into IntelliJ Idea 2016 or higher
  • Create two maven configurations, with these 'Command Line' values:
    • clean install
    • assembly:assembly

Features

####You can:

  • download files via http and https, also with BYAManager in background (minimized)
  • download one or more files at the same time at full speed (Download Accelerator), with multiple processes to bypass server's limitations
  • play/pause/stop/cancel downloads, using a list of available iOS Firmware and iTunes versions in a local database
  • enable/disable sha1 check (enabled by default)
  • search new BYAManager's versions or new database's versions
  • change settings, for example: path of the download folder, proxy, measurement unit, language, buffer size, notifications, and so on
  • restore settings to default values
  • open the download folder, directly from BYAManager
  • re-download files in the list directly in the browser, or in other programs
  • control some important features running BYAManager via Command Line with a complete tutorial executing "BYAManager.jar help"
  • move a completed download into the iTunes folder (only on Mac and Windows) to be able to update/restore your device from iTunes without re-download the file ".ipsw".

####BYAManager:

  • checks and updates itself automatically every 24 hours, with BYAUpdater
  • checks and updates automatically the databse every 24 hours
  • downloads files at full speed using multiple process
  • checks the integrity os a file with hash algoririthm (SHA1).
  • tries to restore incompleted/damaged files, during the startup of the program
  • checks if a file has been downloaded before
  • logs every actions in a file called BYAManager.log, near the executable

Future extensions

####Functionalities

  • Add a pattern to the sha check
  • Improve the logic to check the free space on the disk
  • Dinamically update the list of available firmwares and iTunes versions, without the requirement of "restart BYAManager to apply".
  • Add social networks integration: Twitter, Facebook and so on

####GUI

  • Create a new modern GUI to release BYAManager 2.0 (NOT IN SWING, but with other frameworks, like JavaFX)
  • Create a custom GUI for the popup in the system tray
  • Add in the GUI some informations to help the user to understand the state of every process
  • Add the donate button in the GUI

Cross-platform and multi-language

MAC OS X

alt tag

Windows

alt tag

Linux (Ubuntu)

alt tag

Linux (Ubuntu - Gnome)

alt tag

Usage

Starting

BYAManager splash screen

alt tag

Download a file

  1. Choose the tab "iOS" or "iTunes" and select the correct version
    alt tag
    alt tag

  2. Click on "Download" to start (this action will create 4 different temp files in a directory, because every file represents a connection to accelerate download's process)
    alt tag

  3. When this process will complete, BYAManager merges all parts in one file
    alt tag

  4. When merging process will complete, BYAManager starts to check the SHA1
    alt tag

  5. If the SHA1 of the downloaded file is equal to the SHA1 in the DB, this download will complete and his file will be available
    alt tag

Download multiple files

You can download multiple files at the same time using the entire bandwidth:

alt tag alt tag alt tag

Menu

Update BYAManager and Database

You can use the menu bar to check if there are new versions of this software or the db

alt tag

Actions in menu bar or popup

You can use the menu bar to pause/resume/cancel a selected download in the table

alt tag

Or, you can click with the secondary button of the mouse on the table's row to choose pause/resume/remove's items.

alt tag

Actions on multiple downloads

If you're downloading multiple files, you can pause/resume/stop all this files with only one click on buttons in the menu bar.

alt tag

Disable Sha-1

SHA1 check is very important to check the integrity of the downloaded file, but if you want to disable this feature, you can click with the secondary button of the mouse on the table's row to choose "Disable SHA-Check".

alt tag

In the popup menu on the table's row, there are other options, like an item to download a file in the browser or to show the download's folder.

Change settings

If you click on the third button in the menu bar you can change BYAManager's settings.

alt tag

If you change something, you must restart BYAManager.

Standard

alt tag

Advanced

You can change the language without problems, but to modify the buffer size you should be an expert user.

alt tag

Notifications

Please don't change these options, because are very useful ;)

alt tag

Proxy

In this section you can set a proxy to download files. Attention, you must use a server with port 8080. Also, you should check the speed of this server, because BYAManager requires a very large bandwidth to download files. This is an advanced options, only for expert users.

alt tag

Tray Icon

If you close BYAManager, a dialog like this will appear:

alt tag

If you choose to remove future notifications, this dialog won't appear.

alt tag alt tag

To close definitively BYAManager, you can choose from the menu "File" -> "Exit", or from the tray icon using the item "Close"

Move a firmware to iTunes folder

When you are on MAC OS X or Windows, you can move downloaded files directly in the firmware folder of iTunes by clicking on the "Move" button in the table's row. In this way, iTunes doesn't require to download this file another time.

alt tag

alt tag

alt tag

Execute an iTunes file to install

If you are downloading an iTunes setup file for your operative system, when download's process will complete, you can click on the "Execute" button in the table's row to start the installation process.

This function is available only for Windows and MAC OS X, because iTunes for Linux isn't available.

alt tag

Updates available

BYAManager's update or DB's update are notified in this section of the GUI.

alt tag

But, everytime that you start BYAManager, it checks if there are new versions. If yes, BYAManager apply automatically this updates, but after this process you must restart this software.

To update itself, BYAManager uses a software called BYAUpdater, available HERE

alt tag

alt tag

Advanced Usage

Command Line Interface (CLI)

If you start BYAManager via Command Line/Terminal in this way: java -jar BYAManager.jar , you can pass parameters like these:

  • 'help' to open the help
  • 'port-xxxxx' to change the network port. Use an integer >=10000 and <20000
  • 'reset-all' to factory reset this software
  • 'delete-download-temp' to remove only temp files
  • 'update-db' to remove the database
  • 'update-software' to check and install the latest version of BYAManager
  • 'sort-firmware-db' sorts links in the firmware's database - BETA (ONLY FOR EXPERT USERS)

Explore data folder

  • MAC OS X: /Users/"user folder"/Library/ByaManager
  • Windows: C:\Users"user folder"\Library\ByaManager
  • Linux: /Users/"user folder"/Library/ByaManager

Explore the default download's temp folder

  • MAC OS X: /Users/"user folder"/Downloads/ByaManager_Downloads/temp
  • Windows: C:\Users"user folder"\Downloads\ByaManager_Downloads\temp
  • Linux: /Users/"user folder"/Downloads/ByaManager_Downloads/temp

Explore the default download's temphttps folder

  • MAC OS X: /Users/"user folder"/Downloads/ByaManager_Downloads/temphttps
  • Windows: C:\Users"user folder"\Downloads\ByaManager_Downloads\temphttps
  • Linux: /Users/"user folder"/Downloads/ByaManager_Downloads/temphttps

Possibile errors

No connection

alt tag

Unknown error, probably the connection with the server isn't working

alt tag

This version is no longer supported, please download the latest version

alt tag

Work in progress...

  • HTTPS support: at the moment, this is only an expetimental feature. There are some problems. I'll fix bugs and missing functionalities in the future.

Thanks to:

  • Endys111 for the Czech translation
  • Anatoli Nicolae for GUI of the Splash Screen and the toolbar
  • BYA staff for the support

License

Copyright 2011-2015 Stefano Cappa

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


**Created by Stefano Cappa**