BYAManager
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.
This software requires Java 8 or above and an internet connection
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.
GO HERE
Changelogs
The complete list IN ITALIAN is available HERE
News
- 11/04/2015 - BYAManager 1.0.0 DOWNLOAD HERE and public release HERE
- 10/04/2015 - BYAManager 0.9.0 DOWNLOAD HERE and public release HERE
- 06/04/2015 - BYAManager 0.8.0 DOWNLOAD HERE and public release HERE
- 03/04/2015 - BYAManager 0.7.0 DOWNLOAD HERE and public release HERE
- 02/04/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
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
Windows
Linux (Ubuntu)
Linux (Ubuntu - Gnome)
Usage
Starting
BYAManager splash screen
Download a file
Choose the tab "iOS" or "iTunes" and select the correct version
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)
When this process will complete, BYAManager merges all parts in one file
When merging process will complete, BYAManager starts to check the SHA1
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
Download multiple files
You can download multiple files at the same time using the entire bandwidth:
Menu
Update BYAManager and Database
You can use the menu bar to check if there are new versions of this software or the db
Actions in menu bar or popup
You can use the menu bar to pause/resume/cancel a selected download in the table
Or, you can click with the secondary button of the mouse on the table's row to choose pause/resume/remove's items.
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.
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".
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.
If you change something, you must restart BYAManager.
Standard
Advanced
You can change the language without problems, but to modify the buffer size you should be an expert user.
Notifications
Please don't change these options, because are very useful ;)
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.
Tray Icon
If you close BYAManager, a dialog like this will appear:
If you choose to remove future notifications, this dialog won't appear.
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.
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.
Updates available
BYAManager's update or DB's update are notified in this section of the GUI.
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
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
Unknown error, probably the connection with the server isn't working
This version is no longer supported, please download the latest version
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