Commit Graph

  • afe42848d0 Refactor song decryption and staging Rafael Moraes 2026-02-25 14:08:35 -03:00
  • b3b5e6d1b2 Add sample encryption parsing and hex-key decryption Rafael Moraes 2026-02-25 14:08:09 -03:00
  • 9f86c7436d Bump version to 2.8.7 2.8.7 Rafael Moraes 2026-02-25 12:36:31 -03:00
  • 74a26d0342 Preserve original moov boxes and metadata Rafael Moraes 2026-02-25 12:30:29 -03:00
  • 37895dea1c Add AI-generated notice to amdecrypt.py Rafael Moraes 2026-02-25 00:13:58 -03:00
  • 04396a7f3f Bump version to 2.8.6 2.8.6 Rafael Moraes 2026-02-25 00:09:53 -03:00
  • bde49305c9 Select audio track for moof/mdat extraction Rafael Moraes 2026-02-25 00:08:36 -03:00
  • b0c3b4630d Make decrypt_samples async and use asyncio streams Rafael Moraes 2026-02-24 23:09:32 -03:00
  • fd30ab861b Update help text for --use-wrapper 2.8.5 Rafael Moraes 2026-02-23 23:56:06 -03:00
  • b1827e8d1b Bump version to 2.8.5 Rafael Moraes 2026-02-23 23:50:47 -03:00
  • fe020442b1 Fetch song details when extendedAssetUrls missing Rafael Moraes 2026-02-23 23:50:20 -03:00
  • 87b8492b4f Include legacy codec in wrapper bypass check Rafael Moraes 2026-02-23 23:46:54 -03:00
  • f961ade8d8 Remove forced AAC override for wrapper usage Rafael Moraes 2026-02-23 23:46:40 -03:00
  • 471a2e85ac Include offset from next_uri in AMP requests Rafael Moraes 2026-02-23 23:43:47 -03:00
  • a17b1296d8 Fix spacing in wrapper codec warning Rafael Moraes 2026-02-23 23:31:33 -03:00
  • 22628c4c53 Bypass wrapper for music videos Rafael Moraes 2026-02-23 23:30:46 -03:00
  • 23a5be37b1 Handle wrapper: skip exec checks and adjust codec Rafael Moraes 2026-02-23 23:18:28 -03:00
  • 9aa7a2e199 Use media_type_key for music-videos check Rafael Moraes 2026-02-23 23:09:19 -03:00
  • 31d07172a6 Include live albums in artist views Rafael Moraes 2026-02-23 23:07:09 -03:00
  • fbe0167f0e Add live albums support Rafael Moraes 2026-02-23 23:06:56 -03:00
  • 1d621568a0 README: simplify wrapper docs and config Rafael Moraes 2026-02-23 22:59:51 -03:00
  • fa31649d76 Preserve moov box timestamps in decrypted m4a Rafael Moraes 2026-02-23 22:57:03 -03:00
  • 16d8dc925a Handle wrapper connect errors; remove amdecrypt Rafael Moraes 2026-02-23 22:00:38 -03:00
  • 46d1ec11dc Add Python amdecrypt and remove amdecrypt dep Rafael Moraes 2026-02-23 22:00:22 -03:00
  • f68e76ce8b Add ApiError and centralize AMP requests Rafael Moraes 2026-02-23 21:52:53 -03:00
  • 42df1f7f5e Make safe_json return None on parse error Rafael Moraes 2026-02-23 21:44:47 -03:00
  • d11e937c6a fix: allow Apple Music Classical URLs (classical.music.apple.com) symphoniacus 2026-02-14 19:24:56 +01:00
  • a7c8ff4297 Fix relative import for GamdlError in exceptions.py Rafael Moraes 2026-01-30 12:22:30 -03:00
  • 5332e0e1c0 Move GamdlError to utils and update imports Rafael Moraes 2026-01-30 12:21:39 -03:00
  • b8ea1d0039 Add support for downloading artist top songs Rafael Moraes 2026-01-24 10:54:55 -03:00
  • 4de0e3d1f8 Add 'views' parameter to artist API request Rafael Moraes 2026-01-24 10:54:49 -03:00
  • c770ff361f Refactor config file loading with decorator Rafael Moraes 2026-01-17 01:37:49 -03:00
  • d6afb680be Exclude help and version from CLI config parsing Rafael Moraes 2026-01-16 23:12:48 -03:00
  • b15f404849 Refactor config file loading in CLI Rafael Moraes 2026-01-16 23:06:48 -03:00
  • 072d71caaf Remove explicit click param types from CLI config Rafael Moraes 2026-01-16 22:53:14 -03:00
  • 7e132c27de Refactor config parameter handling to use Click params Rafael Moraes 2026-01-16 22:49:45 -03:00
  • 073f70afa7 Bump version to 2.8.4 2.8.4 Rafael Moraes 2026-01-15 23:43:24 -03:00
  • a49430018a Remove setuptools packages config from pyproject.toml Rafael Moraes 2026-01-15 23:42:59 -03:00
  • f0450b93c7 Update import to use relative path in __main__.py Rafael Moraes 2026-01-15 23:42:55 -03:00
  • 9b701e8ee8 Update license format and add setuptools packages 2.8.3 Rafael Moraes 2026-01-15 22:58:33 -03:00
  • f4e6069e69 Bump version to 2.8.3 Rafael Moraes 2026-01-15 22:50:41 -03:00
  • 841b1edb64 Fix import location for CliConfig in config_file.py Rafael Moraes 2026-01-15 22:48:58 -03:00
  • ef4b34f3d2 Add pathlib and Csv import to cli_config.py Rafael Moraes 2026-01-15 22:48:53 -03:00
  • 98980fc130 Refactor CliConfig to separate module Rafael Moraes 2026-01-15 22:47:51 -03:00
  • 6c84651770 Fix config value check to distinguish None from falsy values Rafael Moraes 2026-01-15 22:44:08 -03:00
  • f9d3d0a97e Refactor playlist file path formatting logic Rafael Moraes 2026-01-15 22:41:33 -03:00
  • 9a879c0857 Refactor template variable names for clarity Rafael Moraes 2026-01-15 22:30:09 -03:00
  • d0ab35383b Remove unnecessary strip() after regex substitution Rafael Moraes 2026-01-15 22:28:54 -03:00
  • b14004f3e3 Update installation instructions to use pip Rafael Moraes 2026-01-15 22:26:46 -03:00
  • a6e409d98d Update template variable documentation in README Rafael Moraes 2026-01-15 22:25:06 -03:00
  • d1c9aea874 Skip config updates for command-line parameters Rafael Moraes 2026-01-15 22:15:55 -03:00
  • 8c110b4fb9 Refactor file template selection logic Rafael Moraes 2026-01-15 22:12:03 -03:00
  • e1c8cb51ad Refactor path sanitization and formatting logic Rafael Moraes 2026-01-15 22:11:14 -03:00
  • 52324d519c Refactor CLI to use dataclass-based config and options Rafael Moraes 2026-01-15 03:12:39 -03:00
  • 057315524f Add dataclass-click to project dependencies Rafael Moraes 2026-01-15 03:12:18 -03:00
  • 446636166e Update README with new CLI options Rafael Moraes 2026-01-04 15:11:09 -03:00
  • 7199cac179 Add support for fetching and applying extra tags Rafael Moraes 2026-01-04 15:11:02 -03:00
  • be4f30cb54 Add method to extract extra tags from Apple Music previews Rafael Moraes 2026-01-04 15:10:54 -03:00
  • 83ca91e91c Refactor cover image handling to interface layer Rafael Moraes 2026-01-03 15:08:35 -03:00
  • 6ed596ca42 Add option to use album release date for songs Rafael Moraes 2026-01-03 14:43:55 -03:00
  • 414ce749d6 Remove unused httpx import from downloader_base.py Rafael Moraes 2026-01-03 14:24:06 -03:00
  • 17863b500a Add UnsupportedMediaType exception and checks for downloaders Rafael Moraes 2026-01-02 13:31:24 -03:00
  • 5e48032f34 Remove redundant error handling in downloaders Rafael Moraes 2026-01-02 13:23:56 -03:00
  • e2ed443253 Add unified error handling to get_download_item Rafael Moraes 2026-01-02 13:19:13 -03:00
  • ade78ad7b3 Bump version to 2.8.2 2.8.2 Rafael Moraes 2025-12-21 16:17:01 -03:00
  • 054f636434 Bump version to 2.8.2 Rafael Moraes 2025-12-21 16:07:48 -03:00
  • bf9c74d9d8 Increase concurrency limit in safe_gather to 10 Rafael Moraes 2025-12-21 16:07:33 -03:00
  • 3c48618e84 Remove custom transport retries from AppleMusicApi Rafael Moraes 2025-12-21 15:56:30 -03:00
  • c940ee2f47 Replace sequential_gather with safe_gather in downloader Rafael Moraes 2025-12-21 15:55:07 -03:00
  • 7f56dfd0c8 Remove retry logic from safe_gather utility Rafael Moraes 2025-12-21 15:54:52 -03:00
  • 7c3112421d Refactor AppleMusicApi.create_from_wrapper to use get_response utility Rafael Moraes 2025-12-21 01:48:16 -03:00
  • 55ce7555a9 Add timeout to iTunes API search request Rafael Moraes 2025-12-21 01:36:03 -03:00
  • 9c4adbb2c1 Refactor HTTP response handling for m3u8 and cover fetch Rafael Moraes 2025-12-21 01:34:09 -03:00
  • 1591f0daf2 Set httpx.AsyncClient timeout to 60 seconds Rafael Moraes 2025-12-18 14:21:56 -03:00
  • 25d028bea4 Add colorama for improved Windows console support Rafael Moraes 2025-12-14 19:13:30 -03:00
  • ebc28a019e Bump version to 2.8.1 2.8.1 Rafael Moraes 2025-12-10 01:23:32 -03:00
  • 690df6e9d7 Update README example for AppleMusicApi usage Rafael Moraes 2025-12-10 01:12:52 -03:00
  • 8039c7c86f Reorder error check in AppleMusicDownloader Rafael Moraes 2025-12-10 01:08:13 -03:00
  • f67ba37d19 Check streamability before downloading media Rafael Moraes 2025-12-09 23:26:53 -03:00
  • 59f247a90f Fix default language option in CLI Rafael Moraes 2025-12-06 15:41:44 -03:00
  • 181bdb198d Refactor AppleMusicApi init and factory methods Rafael Moraes 2025-12-06 15:40:45 -03:00
  • 1945342adc Improve audio track validation in AppleMusicDownloader Rafael Moraes 2025-12-05 01:11:31 -03:00
  • f19ef4d6dd Fix audio track validation in AppleMusicDownloader Rafael Moraes 2025-12-05 01:05:44 -03:00
  • 1ceb7fcf46 Instantiate ItunesApi directly in CLI Rafael Moraes 2025-12-04 17:28:23 -03:00
  • 23ed14ca04 Refactor ItunesApi instantiation and initialization Rafael Moraes 2025-12-04 17:27:59 -03:00
  • 3e3939d0ee Refactor downloader setup to initialization method Rafael Moraes 2025-12-04 17:26:35 -03:00
  • 780261a9c8 Update API instantiation to use async factory methods Rafael Moraes 2025-12-04 17:24:41 -03:00
  • 80cb80e9a2 Refactor AppleMusicApi and ItunesApi initialization Rafael Moraes 2025-12-04 17:24:32 -03:00
  • f3b7adaad3 Replace safe_gather with sequential_gather in downloader Rafael Moraes 2025-12-04 16:52:34 -03:00
  • fe6a6e308d Refactor mp4decrypt and amdecrypt path checks in CLI Rafael Moraes 2025-11-29 14:27:28 -03:00
  • b08bf98759 Reduce retry count in safe_gather utility Rafael Moraes 2025-11-29 14:24:58 -03:00
  • 37c857b503 Bump version to 2.8 2.8 Rafael Moraes 2025-11-28 19:18:32 -03:00
  • 4693ba69c9 Merge branch 'wrapper' Rafael Moraes 2025-11-28 19:16:44 -03:00
  • 9212319d3b Remove unused STOREFRONT_IDS import Rafael Moraes 2025-11-28 18:49:23 -03:00
  • e54f318c36 Add wrapper & amdecrypt instructions to README Rafael Moraes 2025-11-28 11:23:39 -03:00
  • b1e40299ca Refactor AppleMusicApi token setup logic Rafael Moraes 2025-11-28 00:15:17 -03:00
  • ba86825068 Merge pull request #252 from fredystar200/patch-1 Rafael Moraes 2025-11-27 21:09:11 -03:00
  • b5f08753b8 Rename use_wrapper_decrypt to use_wrapper Rafael Moraes 2025-11-27 18:16:32 -03:00
  • d4bf75c0d1 Rename enable_wrapper_decrypt to use_wrapper_decrypt Rafael Moraes 2025-11-27 16:09:11 -03:00
  • e998ce1a2e Add support for FairPlay and PlayReady PSSH extraction Rafael Moraes 2025-11-27 15:17:13 -03:00