This short script grabs all files from BeachBoard @ CSULB (hopefully), unless the system breaks (which occurs often) or have some major changes. Please only test this script if you understand what you and this script are doing! This is a mere script to comply with my laziness to check BB.
Please pin your courses that you would like to be downloaded.
When first run, this program will ask you for your credentials. You also need
a passphrase different from your CSULB password (e.g., 1234
, though not
recommended), to encrypt the latter in a file named data.json
in data
folder. You will need this passphrase every time you run this program, as
you need to decrypt your CSULB password every time for security purposes.
All the contents will be written into contents
folder.
The same file will not be overwritten, but different files with the same name (possibly different versions) will be renamed by attaching the time of retrieval.
- Double-click on
bbdownload.bat
or run.\bbdownload.bat [option]
from command line
- Make
bbdownload
executable (chmod +x ./bbdownload
) (Optional) - Open a terminal in this folder and run
./bbdownload [option]
from terminal
- Use
python3 py3bbdownload [option]
in this directory
default Refresh URLs and download contents
-h/--help Show this text and exit program
-v/--verbose Trigger for verbose terminal output
-r/--reset Force reset. "data.json" will be deleted and you will need
to re-setup. You'll have to do this if you lose your
passphrase for this app
pip3 install -r requirements.txt
or
pip3 install requests bcrypt pycryptodome beautifulsoup4
- Python 3.6+ (Recommended), may work on lower versions of Python 3
- requests (For web communications)
- bcrypt (For passphrase verification)
- pyCryptodome (For personal data encryption)
- Beautiful Soup (For HTML parsing)
- Necessary Credentials to log into BeachBoard and pin your courses!
- Obviously, internet connection
- Disk space
- Enough sanity to bear the bugs
It should also be noted that the files should not be opened during the running of this script.
Some FAQ can be found here.
Absolutely, but why would you be interested in this? You are welcomed to file an issue and/or start a pull request! This project is likely buggy, and supports are greatly welcomed, and I do need to improve my skills as all of mine are self-taught.
This project is distributed under GPLv3 by Mushinako. This project comes with absolutely NO warranty, and I am NOT responsible for any data loss and/or leak. I'm NOT an expert on data security.