An open API service indexing awesome lists of open source software.

https://github.com/londek/info-car-sniper

Skaner i auto‑przebooker terminów egzaminów praktycznych WORD (Info‑Car)
https://github.com/londek/info-car-sniper

driving info-car python textual

Last synced: 9 months ago
JSON representation

Skaner i auto‑przebooker terminów egzaminów praktycznych WORD (Info‑Car)

Awesome Lists containing this project

README

          

# Info‑Car Sniper
Scanner and auto‑rebooker for practical exam slots at WORD (Info‑Car)

Python
Textual
PRs welcome
License

Languages: EN | PL

👉 Note: the app currently only reschedules existing exam bookings — it does not book from scratch.

💡 Want full booking support? Contributions are welcome! 🙏✨

Proven in practice: this tool helped reduce my real practical exam wait by 24 days via auto‑rescheduling.

An intuitive terminal app that:
- logs into Info‑Car,
- periodically scans slots and picks the earliest within your date/time window,
- automatically rebooks your reservation to a better slot,
- can scan using multiple accounts in rotation (faster, low cost),
- and does all that for about $1.

## ✨ Key features

- Automatic Turnstile solving (CapMonster) with usage counters and estimated cost
- Round‑robin scanning across accounts: each account is checked roughly every ~15s;
with multiple accounts you get a check every few seconds overall (e.g., 3 accounts ≈ one check ~every 5s)
- Selects the earliest slot that matches your date/time criteria
- One‑click rebook from the TUI
- Live stats in the UI:
- total checks
- earliest slot ever found
- current earliest slot
- last found slot
- Turnstile usage and estimated cost
- Settings persisted in `config.json` (login, password, CapMonster key, date & time range)
- Proxy support — just add a `proxies.txt` file (one line = one HTTP(S) proxy URL)
- Handy TUI keybindings:
- Enter — confirm fields and log in
- Tab / ↑ ↓ — move between fields
- Ctrl+l — back to login screen
- Ctrl+c — quit the app

## 👀 Preview


Login screen
Main screen — scanning and stats


Login • Main panel (scanning + stats)

## 📋 Requirements

- Python 3.10 or newer
- Info‑Car account with an active practical exam reservation
- API key for [CapMonster](https://capmonster.cloud/en)
- (Optional) proxy list in `proxies.txt`

## 🛠️ Installation & run

Commands below are ready to paste into zsh on Linux.

```bash
# 1) (Optional) create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate

# 2) Install dependencies
pip install -r requirements.txt

# 3) Run the TUI app
python main.py
```

On the first screen, enter:
- your Info‑Car email and password,
- your CapMonster key,
- the date range (YYYY‑MM‑DD) and time range (HH:MM).

The app will save these to `config.json` so subsequent runs are faster (auto‑login).

### 🚀 Faster scanning: multiple accounts

You can add helper accounts for scanning only (the main account still performs the rebook):

1) Create `accounts.txt` and put one account per line:

```
email@example.com:SuperPassword123!
other@example.com:Another#Password
```

2) Run the app as usual (`python main.py`).

The app scans sequentially across accounts (round‑robin): each account is checked roughly every ~15s,
and with more accounts you get a check every few seconds overall (e.g., 3 accounts ≈ one check ~every 5s). The Turnstile stats show the sum across all sessions.

If `accounts.txt` is empty or missing, the app behaves as before — uses only the main account.

### 🧪 Account creator (generator)

Built‑in tool for quickly creating and activating Info‑Car accounts via temporary email:

```bash
python account-creator.py
```

- Requires a CapMonster key (balance is checked),
- uses mail.tm for temporary mailboxes,
- automatically follows the activation link,
- appends accounts to `accounts.txt` as `email:password`.

### 🌐 (Optional) Proxy

Add a `proxies.txt` file in the project directory with a list of proxy URLs (one per line), e.g.:

```
https://user:pass@host:port
https://host2:443
```

The program will randomly use the provided proxies for requests.

## ⚖️ Legal / ethics

- The tool automates actions on a public service. Use it lawfully and in accordance with Info‑Car’s terms.
- Authors and contributors are not responsible for how you use it.

## 🛠️ Contribution

Want to help? Awesome!
- Open an issue with your proposal or send a PR right away
- Keep code readable and commits short and descriptive
- Tests and short PR descriptions are welcome

## 💙 Donations (crypto)

- BTC: `bc1qqj0q5qup8lhsgacaqrhp37gqzq3xph2595dh5u`
- LTC: `ltc1qw03g3enqgkhc0px3lrs47xz3y8g087rvu90nzg`
- ETH: `0x479D4535b8f3a8A83338525FD7dEC1CBbAeED7eD`
- USDC (ERC20): `0x479D4535b8f3a8A83338525FD7dEC1CBbAeED7eD`

Thanks for your support! 🙌