Package: libray
LibRayLibRay: A portmanteau of Libre and Blu-RayLibRay aims to be a Libre (FLOSS) Python application for unencrypting,
extracting, repackaging, and encrypting PS3 ISOs.A hackable, crossplatform, alternative to ISOTools and ISO-Rebuilder.Note: this is still a very beta project, report any bug you see!How to installNote: You will need Python 3, so you might want to usepython3andpip3instead ofpythonandpipdepending on your system.From PyPi:sudo pip install librayManually:Clone this repositorygit clone https://notabug.org/necklace/librayInstall dependencies withsudo pip install -r requirements.txtRunsudo python setup.py installFrom AUR:For Arch or Arch-based GNU/Linux distributions there's an option toinstall libray from the AUR(Arch User Repository).You will need anAUR helper(of which there are many).Then you will need to run the appropriate install command for that AUR helper usinglibrayas package name.This will essentially automatically do the manual method for you.Done!librayis now installed to your path.How do I use it?usage: libray [-h] -i ISO [-o OUTPUT] [-k IRD] [-d DECRYPTION_KEY] [-v] [-q] [-r]

A Libre (FLOSS) Python application for unencrypting, extracting, repackaging, and encrypting PS3 ISOs

required arguments:
  -i ISO, --iso ISO     Path to .iso file or stream

optional arguments:
  -o OUTPUT, --output OUTPUT
                        Output filename
  -k IRD, --ird IRD     Path to .ird file
  -d DECRYPTION_KEY, --decryption-key DECRYPTION_KEY
                        Manually specify key
  -v, --verbose         Increase verbosity
  -q, --quiet           Quiet mode, only prints on error
  -r, --re-encrypt      Re-encrypt .isoFirst off, even before you install libray, you will need a compatible Blu-Ray drive that can read PS3 discs.There's a compiled list of compatible drives here:https://rpcs3.net/quickstart(archive) (see "Compatible Blu-ray disc drives section").1. DecryptOn some systems (eg. Linux), you can decrypt directly from the disc:libray -i /dev/sr0 -o ps3_game_decrypted.isoLibray is bundled with redump keys and will automatically try to decrypt the .iso if it finds a compatible key. If not, it will try to download an IRD decryption file for your iso. If you don't have internet connection, but you do have an .ird file you can specify that:libray -i /dev/sr0 -k game_ird_file.ird -o ps3_game_decrypted.isoAlternatively, you can first rip the disc to an ISO file and then decrypt from the ISO file:libray -i ps3_game.iso -o ps3_game_decrypted.isoIf libray is unable to download an .ird for your game, you could manually give it the key, if you have it:libray -i ps3_game.iso -d DECRYPTION_KEY -o ps3_game_decrypted.iso2. Extract decrypted ISOThen, if you want to feed it into RPCS3 just extract the contents of the .ISO:7z x nfs_ps3_decrypted.isoAnd move the resulting folders into a folder named after the game ID into the appropriate folder for RPCS3:Linux: /home/username/.config/rpcs3/dev_hdd0/disc/BLUS0000LicenseThis project is Free, Libre, and Open Source Software; FLOSS, licensed under the GNU General Public License version 3. GPLv3.See also COPYING or LICENSE.txtCopyright © 2018 - 2021 Nichlas SeverinsenError!Help! I getImportError: No module named Crypto.CipherorImportError: cannot import name 'byte_string' from 'Crypto.Util.py3compat' (/usr/lib/python3.7/site-packages/Crypto/Util/py3compat.py)This is due to multiple similarly named python crypto packages, one way to fix it is:sudo pip uninstall crypto
sudo pip uninstall pycrypto
sudo pip install pycryptodomeIf you get any other errors, or have any other problem with libray, pleasecreate an issue!DevelopmentBluray disc encryption(archive.fo).SFO(archive.fo)TITLE_ID for Physical Media(archive.fo)7bit encoded int / RLE / CLPclp = compressed length prefixTestspython -m unittest discoverDeploymentpip3 install wheel twinePlace redump keys in tools/keys and .dat in tools/Run keys2db.py, ensure it made a file in libray/data/keys.dbRunpython3 setup.py sdist bdist_wheelRuntwine upload dist/*TodoExtract ISO (currently doable with7z x output.iso)Repackage (unextract) isoTest .irds with version < 9Custom command to backup all irds availableUnit testsDownload .irds from vimm.net?Parallelization?