audible-dl
An archiving tool for Audible audiobook libraries
Commit history
commit e0614be37f23626ace96b71e22e59f21e40d7dd5
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 21:02:41 2022 -0700
Moved scraping and logging together into a separate function
commit f6437c8b1d0b1cd91d3525a5b8967d71db59c54c
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 20:59:26 2022 -0700
Moved printing utilities to the top
commit c201c62199650238f3d9e02297ba749e1a0ab00a
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 17:56:47 2022 -0700
Removed escape codes from strings, improved readability
commit 214615c230b031f9c1972844f40debc9e387913a
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 17:41:18 2022 -0700
Moved scrape printing to another function
commit bd8a187616539ccd763faf8f5643e33fe773738c
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 17:29:29 2022 -0700
Added warning and extra TODOs to README
commit dea35eb0f688f76ace2f09db678055116115dc99
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 16:40:21 2022 -0700
We should make the directories
commit b03d242b45e7ae2581fe3f5b68a16922efa6aad4
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 16:28:48 2022 -0700
Fixed typo
commit a76aee496b4c95e191d20811c11d0382cead0c7a
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 16:17:33 2022 -0700
Yaml import was in wrong file
commit ef0dcfb7349aa3092331d12e5eac084ed193b788
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Jul 7 15:12:53 2022 -0700
Added man page
commit 728597e33ffe250a1c97cbf7eda73436ec9cf258
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jul 4 12:06:05 2022 -0700
Added docstrings to account.go
commit 1e7d81e0090a66e7193b5d668e47e99cb7227ff8
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jul 4 12:00:21 2022 -0700
Added docstrings to client.go
commit 1bae98af2077c63660a18543bb0da97b729150d2
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jul 4 11:20:45 2022 -0700
getData() is a constructor for Clients and should be treated as such
commit 2c2a48d11097d1f55ae1b122e2a2318c624c0194
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jul 4 11:20:16 2022 -0700
Added doc strings
commit a8ad146ae88a7ca72773a054e1b80519730fb67a
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 13:17:39 2022 -0700
Rewrote simple README
commit a308de9e92b2a05e52085cd11e57dc757b85cad7
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 13:06:08 2022 -0700
Moved client and account structs and their methods into seperate files
commit 8de69ca07f054d809fedf63476fff80ab962be8f
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 12:51:05 2022 -0700
ConvertSingleBook should return the path rather than print it
In download mode this prevents the output from being messed up and
makes the renaming process slightly less annoying. I also fixed a
dumb bug where I was renaming the unconverted .aax file to .m4b
commit 64680a977910e7903f07add4c3693fbe84ba425b
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 12:46:40 2022 -0700
Most of these functions should be methods of the client struct
commit 1e9fef284a94173985dfb4a9982c49e4fc27b90c
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 12:10:32 2022 -0700
Removed prints
commit 7db8c03458170ea3e91a7bf1bd878edaeb5c674c
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 12:06:15 2022 -0700
Implemented book downloading
Everything basically works, including checking and saving the
downloaded books cache and converting the downloaded books.
commit 8a99e2e530ccd93c7581f4d7c5ca86e7371b63bc
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 12:05:08 2022 -0700
Don't extract the download URL, it follows a simple schme
commit d6f8e09a55e10357059300b06e12d64b8a13b3f6
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jul 3 08:31:23 2022 -0700
Moved datadir into the client struct
commit 957084767991558dab468cc02ff3300e71e009fc
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 22:29:21 2022 -0700
All directories need trailing slashes
commit 23763af54b914ff2b421fae8e7dda843afa3e8f9
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 22:04:22 2022 -0700
This pollutes the logs
commit f99dca1d51dbe638ee6074aa69eaa24ae4c45ca1
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 22:01:53 2022 -0700
Don't open the log file in append mode
commit 10957afd080e98de304235cacc0372056ad6dc0d
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 21:55:46 2022 -0700
Added more debug logs
commit ca1c7d84a75415f8b1860c3689ec6f97f77ce4e8
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 21:55:13 2022 -0700
Added persistent logging
commit 69f71817f7e8d06409ba22a8a4e8229e851febe3
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 20:29:45 2022 -0700
Added a table of books we've already downloaded
The idea here is that the user may want to rename and organize the
downloaded files
commit 8b5778a3b3bf4b8bd2eebff4c499c4733a480fd8
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 20:26:17 2022 -0700
I'm not going to do this rename yet
commit bc9108e73744f50925961d583b00414fe93dc1f1
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 20:01:15 2022 -0700
Did some refactoring to remove authdir and add datadir
Datadir will hold miscellaneous files, including now the auth cookies
and in coming commits a list of downloaded books
commit 6ea8e7315836705e5e42aa9c4d1c8d222cfddd16
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 19:27:55 2022 -0700
Major bug fix! We're now correctly loading cookies into the struct
This little SOB had me chasing all over the place, turns out
the iterator in range-based for loops isn't a pointer to the original
object 😅. At least it acted as encouragement to add much-needed
logging functionality to the scraper.
commit 3f753aa410785e50a26924e18c52683ef7132130
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 19:27:24 2022 -0700
Added a debug function to pretty-print an account
commit 8221453f5e02958ff100b9935d906786b30cb871
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 11:00:31 2022 -0700
re-initialized the go module
commit 3ace2d4c7aa5a65249d54f078366d1f7ad48d9dd
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 11:00:21 2022 -0700
removed old junk
commit 7c00dda0e2db9a82cb0aa40c04302c2712a02c3b
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 10:45:01 2022 -0700
show the bad token
commit 6fb0e7850618bcd53c8ce4fe69afdd4661f9110c
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 2 10:44:39 2022 -0700
Added a more helpful message
commit 4ba1765d3f1bb243aa0bfdf5c3c64af49e173457
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Jul 1 22:18:09 2022 -0700
The extractor should be an account method
commit 518ddb12e2a89c871ba083117332fbaa45f7b506
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Jul 1 22:08:53 2022 -0700
Added a logging method to aid in debugging the scraper
commit 1197742e5946bf9b066c0af651a0213adc39e0b4
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu May 12 11:34:47 2022 -0700
moved scraper into the new file
The scraper isn't quite working, I'm not sure if this is an error on
my end or a change to the damn html.
I should probably add a debugging flag to print the status of the
webscraper...
commit 0135f8fc75cda5e6f3bfcc9ce304a5382fd01de1
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Apr 27 21:44:25 2022 -0700
nice big section comments
commit 7e9a431cd9271c9f83ae243dc25dcdfef3c020ad
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Apr 27 21:37:59 2022 -0700
added a config key to tell program not to scrape an account
This may be useful when your Audible library is shared by a family so
you only need a single set of cookies to scrape it, but you need all
members' bytes to convert all the books.
commit b7e8a38b170ba354eedf9ce46efb466d744df2f1
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Apr 27 20:34:21 2022 -0700
80 column line breaks
commit 10b599c66b703a0ca8f0b49ffdb2b41ab7c7623e
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue Apr 26 20:15:08 2022 -0700
Added single-file conversion
commit ff5a58523206708d3fdb0827400c77c86e7066cb
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Apr 23 11:11:20 2022 -0700
Added HAR-import method
commit 04e16ce0e542e1faf22f2b5aacbd4d2023c6d11c
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Apr 23 10:50:37 2022 -0700
We need a yml parser for the config file
commit e1ecca6705c2ddaf682b5e5b895a87bdb419f2e7
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Apr 23 10:47:53 2022 -0700
Reworked user interface
This is an ex-nihilo rewrite of the command-line, configuration, and
environment logic for audible-dl that *appears* to replicate the
desired functionality. I now need to re-work the scraper code for the
new multi-acount functionality and hook them together, then implement
a nice concurrent command-line status.
In the end I'll probably do away with the library/main architecture
and just stick everything in a few package main files.
commit b9bad49a0f666eaff51d07cb6793927e70831ec1
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Dec 24 18:04:03 2021 -0800
Moved har import function to library
commit bbec3a62fa2596bccf720bbc4b7033631ed45dd5
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Dec 24 16:55:08 2021 -0800
Fixed -a handling to not mangle files and not depend on data file
commit 5e2db0de78aa750a841f22a35176b7fc4cea3915
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Dec 24 16:54:29 2021 -0800
Move converter into the library; only remove aax file when scraping
commit ea28c441ca15d314846851da889c5095bbc8be04
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Dec 24 16:49:42 2021 -0800
Move initialization function to library & simplify logic in main
Now that the configuration data is being stored in the
audibledl.Client it makes sense to move the initialization code there
as well.
Previously we could only convert a single book with -a from the
audiobooks directory, now it can be anywhere as long as -b s specified
commit b4b0ec5c578e4e8d05e58a761bfddfa461e1b923
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Dec 24 12:11:08 2021 -0800
Use a channel to send the page number to the caller rather than printing in the library
commit 401dd9cf4e316830948817e6159a354b6efe9830
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Dec 24 12:02:43 2021 -0800
Reworked RetrieveBooksListing into ScrapeLibraryUntil
This produces two API functions allowing the user to either scrape the
full library or do a more efficient scrape up to a known book
commit 323eb6538e28f0d65ab518d8f4e061b7b0c126f0
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Dec 24 11:55:50 2021 -0800
Cleaned up RetrieveBookListings, moving book-detection logic to tokBeginsBook()
commit 47b30e918afca62cdfd06c4eec8426b7d8687dab
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Dec 23 05:00:54 2021 -0800
Filter out more characters
commit 1713b831ce4f65880eaf0f184d1a54f546e83f9f
Author: ꙮ <ymir@ulthar.xyz>
Date: Thu Dec 23 04:41:45 2021 -0800
Remove dots
commit cbc81a741c8bc936565b2189e334d7c5c4ff8be8
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Dec 22 08:43:09 2021 -0800
Moved the file existence detection into another function; reducing nesting
commit 78216cc9813e19f8972e4cbd64d96cbfe5e0b0be
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue Dec 21 05:29:15 2021 -0800
Skip books that don't offer a download URL
Because apparently it's possible to return books to audible
commit 11f3bdc770b668c23e31f339d0d3ff02282fe533
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue Dec 21 05:22:33 2021 -0800
Comply with gofmt
commit 8690c2eb98697c5ba10f05448676ee5d88657833
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue Dec 21 05:17:33 2021 -0800
Started reorganizing the scraper into the audibledl package
commit 8629a43bc3be4c240bef25b52b962b7b4134a622
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Dec 19 15:42:18 2021 -0800
Download the full file when multiple parts are downloaded
This damn bug let slip a major spoiler in The Dark Tower >:(
commit 5c845d0facdda24625b9059c69b2706e5a1705e1
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Dec 19 15:40:42 2021 -0800
Actually build it when I write make
I'm so bad at writing Makefiles -_-
commit 59112ec2d69d05912065872674612d6fbaee7393
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Oct 16 09:26:52 2021 -0700
Added notice of scraper bug and removed TODO entry
commit ef3f4484531e545c1631139140efe6fdb8f54381
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Oct 16 09:24:41 2021 -0700
Added an option to convert a single file and refactored convertAAXtoM4B accordingly
commit 475c7c8f599b6e8455564c6523071929a6cdfbd8
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Oct 11 14:17:54 2021 -0700
Build a proper (still synchronous :() downloader and converter
commit af790a7c756e76c9accbe69a2342fe9846db509c
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Oct 11 13:44:29 2021 -0700
Go fmt
commit 992651b5f85fdb634d57076f53879420e18d52fb
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Oct 11 10:53:16 2021 -0700
Updated README
commit 6b7dd0106d834ade493ddddd590d1cc370528562
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Oct 11 10:53:06 2021 -0700
Added a makefile
commit 6dca257883c18722e3606e6c8ec85ccdd32b07f8
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Oct 11 10:30:44 2021 -0700
Store the error messages as string literals
commit 35a63ab51cdd37af28bb17b8deceadd8621ec7f1
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Oct 11 10:23:17 2021 -0700
Save the page source if the scraper fails
commit f0d2104b7035307474e763b5e20a0602983d3956
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Oct 9 16:35:52 2021 -0700
Using bytes as a variable name causes conflict with the bytes package
commit c5e173ba581cd865f4a2a8a9e6c1b86e342b0ebe
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Oct 8 09:55:56 2021 -0700
Fixed comment typo; alert user when setting cookies and bytes
commit 2b173cf01d67d1ab7e4832a7e4d08cb2cf0bc5c2
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Oct 8 09:49:53 2021 -0700
m4b, not opus
commit 9a6a6546e52d83620fe9b3766162dfd0fad9d900
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Oct 8 09:48:04 2021 -0700
Give the user some guidance in case the scraper failed
commit 8c16048fb5ee83851ad4800241c6bd798c42ff96
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Sep 25 18:40:35 2021 -0700
Updated README
commit 1cfc01e560a47e4a8d088713c62c0ccf7e8e23b3
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Sep 25 18:24:52 2021 -0700
Removed old code
commit 9d2579de1a4c52de37b41bd762ac122f001e548b
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Sep 25 18:14:16 2021 -0700
Store partial files in the system's cache directory
This seems like a clearly good solution for partially downloaded
files, however I'm not sure about storing converted files there before
moving them to pwd. If they're on the same filesystem this isn't a
problem, but my laptop's audiobooks directory is on a different
parition than ~/.cache/, and the os.Rename() operation takes a good
few seconds.
The theory behind converting files into the cache directory is to
avoid littering the audiobooks directory with corrupted files in the
event of premature failure (eg, SIGKILL). I wonder if there would be
a better way around this; perhaps detaching the ffmpeg processes?
commit 48b392bcd70a75ee0196b654f18e461b2981ba5b
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Sep 22 11:02:43 2021 -0700
Made page scraping prints more concise
commit deeef86d2f266487b606c0cb30dd5d25e7e86d03
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Sep 22 10:18:56 2021 -0700
Ignore m4b files
commit c86b6200995720a8214773ff70c0676600ba4cd8
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Sep 20 15:41:48 2021 -0700
Tweaked loop to assist in debugging
Next we're going to implement concurrent downloads and conversions;
this should allow us to get multiple books going without downloading
everything. That comes *much* later lol
commit 3c9ce8ed975007b009e63d701c7cfdc211806ee0
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Sep 20 15:38:14 2021 -0700
Added converter. It works!
We're doing m4b files instead of opus now because a) ffmpeg will
properly convert the cover art, and b) they're literally made for
audiobooks
commit 15d5da6849ab7cdb543ab674bd4959e8cb97b330
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Sep 20 15:19:29 2021 -0700
Duh, the directories need to be writable
commit b5bd92b6a17480eb94252c385b19db46b90b3cb1
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Sep 20 15:19:09 2021 -0700
Ported over the downloader function
commit 9e07e21d6a62a6a2222d076fcb69fec129c1937a
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Sep 20 10:42:57 2021 -0700
Add comment to explain why we're skipping some cookies
commit 795077f41d10b853e138da21aa1501492d9ee4ed
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Sep 20 10:39:40 2021 -0700
Create and remove temporary directories
commit 9da7b5ef06808435d740f6342dad2eef75648225
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Sep 20 10:38:14 2021 -0700
Added explanatory comments, removed old testing stuff, and added book presence checking
commit a271981219ffa774de33308795a3d67c6003ee7d
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Sep 19 21:57:52 2021 -0700
Silenced the net/http's complaint about double quotes in cookie values
Fortunately it looks like those cookies aren't required for
authentication
commit c6af0f7529017a9d725ba9cafbec7f2bf18641e9
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Sep 19 21:46:54 2021 -0700
Re-integrated the scraper, the HAR file solution works!
We're now able to successfully download a listing of books from
audible using the cookies imported from a HAR file of a request to
audible.com/library/titles while signed in.
Interestingly, while fetching the pages, net/http complains that five
of the cookies contain invalid double quote characters. Hopefully
we'll be able to remove those cookies and still be able to sign in...
commit 60c3330533cd80b923ae490fbce7220e56a5d153
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Sep 19 20:15:50 2021 -0700
Ignore the executable and .audible-dl.json
commit 26ed1dcdebf4c9571990efd373301c330991066c
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Sep 19 20:12:34 2021 -0700
Initial commit of the rewrite.
We're able to take activation bytes and the path to a HAR file on the
command line, import the cookies from the HAR file, and save that
information in ./.audible-dl.json. If this file exists, we're able to
read it and dump it to the command line.
Next up I'll be re-integrating the scraper so that we can start
downloading book metadata
commit 25658df1876aa19ffb6f69514d2800b80b4e7188
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Sep 19 20:01:19 2021 -0700
We need these
commit 4ed6429ad26da3b7377c119081d730d27dc90929
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Sep 19 17:00:25 2021 -0700
Declaring bankruptcy and rewriting this shit from scratch
commit 08909a04b8123677b85ea501e6ade7f5276b6a60
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Sep 19 16:58:54 2021 -0700
track makefile
commit 707a4010e9c4d6493c0f7db227ab3376412ce591
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Aug 20 16:57:14 2021 -0700
Moved status prints into getLibraryPage() in order to clean up output
commit 9223521b5caa29ed7bb786a52d87f4ce546d2b10
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Aug 20 12:55:49 2021 -0700
Added a function to sign in to audible.com
I don't know for sure if this fetches the right cookies.
Currently we fail with the message "Audible changed their website",
however the error handling and exectution model of GetAllBooks and the
functions it calls is so brittle and cursed that I'm not sure what's
going on. A major overhaul is needed
commit afe9d05b25a17fc7d383f5b022a1f129aec7df9e
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 10 15:15:42 2021 -0700
Moved book pretty-printing to the test
commit 0b78a05bc98dd45e641f04288b6cbb7da8f1ba5e
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jul 10 15:14:53 2021 -0700
Set things up for a cookie renewal function
commit c90359345f703f464de0364446c1e0a2b2613225
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue Jun 29 15:09:39 2021 -0700
Dammit emacs, stop aliging with tabs!
commit 37c306c9f1134f96e9dcfd87f1ba756cf3bcbdb1
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jun 28 13:41:00 2021 -0700
Updated info
commit baab33d9dd7e1b0bc6ef3e45e11d1d644f6b5b48
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 16:50:36 2021 -0700
Added GPL
commit f5fc0bccdb3be6fad07dd4501c5099cb36848f02
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 16:49:27 2021 -0700
Added README
commit 6ab120fac840232768bde7eaee01f7319bd737c1
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 16:24:29 2021 -0700
Made error prints a little nicer
commit 8a2a1c2b606679bf13cfaae21084437622c247b2
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 16:19:37 2021 -0700
Use cli args with the struct in config.go to pass activation bytes to converter
Later we'll fill out the Config struct, add more command line
arguments, and load options from a json file.
commit a5993d14e7cd3d0f3582201de01717bead485747
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 10:49:47 2021 -0700
Do I need this here?
commit db1e741c6e5c0923dd93267150ebf338ddf1373b
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 10:47:42 2021 -0700
Recover previously downloaded files
commit d860f6d2e5efe4013c1b6b7b765e2300a4c48cae
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 10:47:07 2021 -0700
We need to make the directory after deleting it 🙄
commit 469088cc5889ee199993217cd3d71c1a3ce9f4fc
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 27 08:40:06 2021 -0700
Make these directories in the opposite order so that ffmpeg doesn't fail when recovering
commit df0365abe5f442fd88d0300459d1772d81ac4386
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 23:18:37 2021 -0700
Formatting, wrote propper recovery prints
commit 7d723e6d8c8411e58f8405cbdc03e5d709a3a6af
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 23:16:03 2021 -0700
We can now (inefficiently) find which books we need to download
This kind of thing is tricky to test, so I'm not 100% sure that it's
okay.
commit 3576646e66835810a7e9878837341de830d4cfa1
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 21:41:03 2021 -0700
Failure print should be red, not green
commit 8ff3e37d623172002d43ff9471d76edcef83f294
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 20:08:50 2021 -0700
Added better error notifications
commit 20c8ce99d255e2e4c31b7dfb714e74801b4cc572
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 20:05:32 2021 -0700
Made error printouts more obvious
commit 5748eeff5f6ba0a601d8462ed57b099f17e9c7d8
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 20:04:14 2021 -0700
It works!
- Added initial logic for the tmp directories
- Added nice printouts
- Added cracker function
commit d9b8c3ba34921eb5e902aba3387c9a2f41f02d17
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 20:03:45 2021 -0700
Added the converter function and test for it
commit e67413da08b24092868e3c090fcc7b8c09b48b89
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 26 12:47:47 2021 -0700
Cleaned up status printouts
commit 439e0880dd55e6edc2c7e76d846d6c5faa79df75
Author: ꙮ <ymir@ulthar.xyz>
Date: Fri Jun 25 18:02:41 2021 -0700
Added gitignore
commit 53d76ee9f120bd78425e2f710ae4bf852072a6ee
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jun 21 20:58:27 2021 -0700
Use another temp dir for partially converted files
commit c0fe6752ae8b1de49d23d29ff6c91f73dd90d1d7
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jun 21 20:41:39 2021 -0700
Renamed temporary directory
We'll use another temporary dir to store in-progress opus
conversions
commit 83f231484991447339ef0dc07238fa31fca180e3
Author: ꙮ <ymir@ulthar.xyz>
Date: Mon Jun 21 20:39:17 2021 -0700
We'll eventually get a differential of books we haven't downloaded
commit eca07aaf1e6f9a0784b4771a3155e0254d938c20
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 20 17:14:30 2021 -0700
All book data should be consolidated in the Book struct
commit 2dd9f84ca85b640e6508d2eb39f9a15f7d11b9f1
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 20 14:42:10 2021 -0700
This isn't C smh
commit 84c1a33e79395b96e2707a0b26bc3e186271d405
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 20 11:38:33 2021 -0700
Added temporary driver code for the downloader
commit c8939fe0c25eb6d1dfe976cd066221efde62d4e1
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 20 11:38:16 2021 -0700
Added downloader
commit 4c0d6acf0592a42fa3c2df447d5d8db49fe7ec9c
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun Jun 20 11:10:02 2021 -0700
Create the download directory or fail if it already exists
commit c764fd4600371bb27428cd94b724325e7eb338ce
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 19 20:29:23 2021 -0700
Fixed where we're only getting download URLs for longer books
It turns out the DownloadFull aria-label is only applied to <a> tags
in a popup window which asks if you want to download the book fully or
by pieces. We're passing the (basic) test!
commit 9c45850fb27c89574584ff3e5a5df3a8e5a08142
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 19 18:23:35 2021 -0700
Added scraper_test.go
commit 0aad992700e000ee5ad844a6c6382b1a3a156abc
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 19 18:18:35 2021 -0700
Removed old GetLatestBooks() function
commit 103ad103fac4874df888e99fca5305710404ebc6
Author: ꙮ <ymir@ulthar.xyz>
Date: Sat Jun 19 18:18:22 2021 -0700
Cleaned up output
commit 6cbbe90dda73665c37836612b4f0c7b0e072417e
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Jun 16 20:55:22 2021 -0700
Rewrote GetAllBooks() to fetch info across all pages of the library :^)
commit b6c0956b70d19b9d5a2e27125bc9afc4e70017f1
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Jun 16 16:56:35 2021 -0700
Moved book printing to a seperate function
commit 19ac8eab7fd30e27bb10ad4295d90881e0f8bc51
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Jun 16 13:58:38 2021 -0700
Indent with tabs, not spaces
commit 3b1ec170f8d716ab3a7cfb242a501bc543ba47e4
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Jun 16 13:12:01 2021 -0700
Load the cookies from a json file
commit 823cbc594d8813b1db5229d24c704435619355e8
Author: ꙮ <ymir@ulthar.xyz>
Date: Wed Jun 16 11:33:52 2021 -0700
Downloader works!
The values in the cookies struct have been redacted for privacy
commit 7795e76607421ab98be18c6d91ed705b88b4e26c
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue Jun 15 15:17:27 2021 -0700
getLibararyPage() basically works
With currently redacted values for `urlparams`, `bodyparams`, and the
cookies, I can download Audible's signin page.
I haven't been able to actually sign in, but I figured out the cookie
issue at least and it *should* be smooth sailing from here. Modest
progress, but progress nontheless :^)
commit dd888f21a9ced3f2254b5a5f9464f3f480606932
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue Jun 15 15:15:34 2021 -0700
We shouldn't have a getCredentials() function yet
commit 3adcf18efb88b185d167e88a69efc5b02b7e0017
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue May 25 10:16:47 2021 -0700
[untested] Added a function to only download the latest books.
I can't test this until I get the authentication worked out
commit 0f29172720b0be3e74de22e553bd5a67a05c0484
Author: ꙮ <ymir@ulthar.xyz>
Date: Tue May 25 10:11:45 2021 -0700
Get the credentials from a function and die loudly if we don't understand the html
commit 64424b781d40478b3e4017b193de41655f700939
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun May 23 09:02:24 2021 -0700
We need go.mod
commit 9a743af17de9233a6e6b5cbb4956915163a7f96a
Author: ꙮ <ymir@ulthar.xyz>
Date: Sun May 23 09:00:19 2021 -0700
Initial commit:
- audible-dl.go
This is the program's main file, but right now it just serves to
test scraper.go
- scraper.go
Right now it's able to extract book information from a locally
stored "titles.html" page