Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/h1dd3n3y3/snowfl-s4f
A CLI tool for torrent & subtitle movie browsing, using keystroke injection!
https://github.com/h1dd3n3y3/snowfl-s4f
Last synced: 22 days ago
JSON representation
A CLI tool for torrent & subtitle movie browsing, using keystroke injection!
- Host: GitHub
- URL: https://github.com/h1dd3n3y3/snowfl-s4f
- Owner: h1dd3n3y3
- License: other
- Created: 2023-02-11T16:29:39.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-13T18:58:11.000Z (about 1 year ago)
- Last Synced: 2023-12-13T20:55:28.318Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 176 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Snowfl-S4F
## **!! DISCLAIMER !!**
- **_ONLY_** for **_WINDOWS 10+_** versions.
- **_ONLY_** for [**_supported browsers_**](https://github.com/h1dd3n3y3/Snowfl-S4F#browser-support).
- A **_Bittorrent client_** is **_required_** _(duh...)_: [**_qBittorrent_**](https://www.fosshub.com/qBittorrent.html) is recommended, as **_more feature-focused_**, but everything else is fine _(€$£)_.### If this _LAZY WORKAROUND_ works, it provides:
- Publicly available torrent browser
- Find-in-page torrent keyword
- Automatic torrent downlaod _(optionally)_
- 90% Greek and 10% English subtitle content browser
- Independent DNS support _(currently slower)_
- [**_IMDb WATCHLIST_**](https://github.com/h1dd3n3y3/Snowfl-S4F#imdb-watchlist-integration) movie selection _(optionally)_
- [**_qBittorrent client automation_**](https://github.com/h1dd3n3y3/Snowfl-S4F#qbittorrent-integration) _(optionally)_
- [**_JSON Custom Configuration_**](https://github.com/h1dd3n3y3/Snowfl-S4F#custom-configuration-using-configjson-file) _(optionally)_### Browser support:
- Chrome
- Firefox
- OperaDelay, before every action, adjusted for the average computer.
Malfunctions are expected, 30% of the time.
## Ready Release
### Grab the latest one from [**_RELEASES_**](https://github.com/tru3w1tn3ss/Snowfl-S4F/releases).## Manual Release (code modifications)
### Requirements
- #### Python first of all
- Keep `python` and `pip` version up-to-date.
- Downlaod windows installer form [**_HERE_**](https://www.python.org/downloads/windows).
- #### Python libraries
- **EITHER** install the libraries:
`keyboard` (keystroke injection)
`clipboard` (clipboard access)
`langid` (english IMDb title validation)
`beautifulsoup4` (english IMDb title fetch)
`requests` (http requests)
`pywin32` (window events)
`qbittorrent-api` (qbittorrent WebUI remote interraction)
`configparser` (qbittorrent config access)
`pyinstaller` (_.py_ to _.exe_ conversion)
manually, by running:
```
pip install
```
- **OR** using the _requirements.txt_ file:
```
pip install -r requirements.txt
```
inside the cloned repository directory.
In both cases, you **might need an administrative shell.**
### Installation
- In a terminal type:
```
pyinstaller --onefile --icon=Movies.ico --paths=:\\Lib\site-packages .\Snowfl-S4F.py -y
```
- `pyinstaller`: Python library used to convert _.py_ to _.exe_ files.
- `--onefile`: Keep all script's libraries inside the exe.
- `--icon`: Optionally give a custom app icon, followed by it's path (.ico file).
- `--paths`: There's a chance it might be necessary to point pyinstaller to the python libraries folder.
- `.\Snowfl-S4Fpy`: The python script itself.
- `-y`: Consent to every prompt pyinstaller might ask.
## _Optional goodies_
## IMDb Watchlist integration
- Publicly available Watchlist: IMDb web login -> `Watchlist` -> `Edit` -> `Settings` -> `Privacy: "Public"`.
- Right-click & copy the `Export this list` link.
- Paste the Watchlist link in the `config.json` file.
## qBittorrent integration
- WebUI must be enabled: Options -> Web UI -> check Web User Interface (Remote Control) option.
- Set desired `port` (make sure no other app is using it, mine was VLC)
- Crucial: check `Bypass authentication for clients on localhost` option.
- Click: `Apply` -> `OK`.
- Restart qBittorrent: bottom right `icon tray` -> `right click` -> `exit` -> `relaunch`.
## Custom Configuration using config.json file
- ### Both _.exe_ and _.json_ files must be in the same folder _(if planning to use the config.json)_.
- ### Every value must be **_double quoted_** after each option name, except for those with **_boolean_** values (JSON Logic).
### JSON Mapping
- #### For everyone:
- **Center app window:** `centered` to `true/false`.
- **Extra vertical window offset:** `bottom_offset` to any number you wish **_(inside your vertical resolution)_**.
- **IMDb Watchlist:** `IMDb_watchlist_export_link` to export link **_(ending with "/export")_**.
- **Default search action**, after movie title entry/selection: `default_search_action` between `1-3` **_(0 & 4 will be ignored)_**.
- **Auto torrent selection:** `auto_select` to `true/false`.
- **Auto close browser tab**, after auto torrent selection: `close_tab_after_torrent_add` to `true/false`.
- **Open Bittorrent client**, (just in case it won't launch automatically): `auto_launch_client` to `true/false`.
- #### For qBittorrent users, on torrent download finished:
- **Delete torrent:** `delete_torrent` to `true/false`.
- **Close qBittorrent window:** `close_window` to `true/false`.
- **Open torrent folder:** `open_torrent_folder` to `true/false`.