A CLI tool for precision course registration.
Requires chrome or chromium to be installed on your system.
Run with ./course-sniper [OPTIONS]
or you can add it to your PATH and run from anywhere course-sniper [OPTIONS]
. Use --help
to see all options.
Based on your operating system you may need to give it executable permissions chmod +x course-sniper
or you can build from source.
Currently supported schools:
- Emory University
- Browser: Operates a chromium instance through CDP, with the ability for headless execution as well.
- Login: Used provided credentials to login and waits for DUO push if needed.
- Shopping Cart: Automatically handles multiple shopping carts and gives full printout of classes in cart. Do not adjust your shopping cart from outside the tool while it is in use.
- Course Selection: Can select any number of courses in the cart and then
course-sniper
will only target those specific courses. - Actions: For the selected courses can choose to validate or enroll.
- Validate
- Immediately validates selected courses
- Gives results
- Exits
- Enroll
- Prompts for an enrollment time
- Waits for the enrollment time
- Perfect reload
- Registering for selected courses in a fraction of a second
- Gives results
- Exits
- Validate
- Results: Displays a full printout of validation/enrollment results.
- Coming Soon:
- Multiple concurrent snipers
- Choice between multiple schools
- Course fallbacks
Download the latest release or build from source.
Prerequisites:
- Rust toolchain which can be installed from rustup.rs
- Cargo (comes with Rust)
- A linker (typically comes with a C compiler)
Build steps:
- Clone the repo
git clone https://github.com/ShaneBerhoff/course-sniper
cd course-sniper
- Build for release
cargo build --release
- The compiled binary will be located at
./target/release/course-sniper
If you find a bug, report it in issues. If you want a feature, request it in issues. Feel free to patch the bug or add the feature yourself and submit a PR, if everything looks good I will merge it in.
This tool is intended for educational purposes. Be aware of your University's policies on automated systems for course registration. Use at your own risk.