#+title: admin-scripts #+options: toc:nil These are scripts I use to automate various sysadmin tasks. ** bin - ~add_qbt_trackers.py~ : Fetches torrent tracker URLs from plaintext files hosted on the web and adds them to each torrent in a qBittorrent instance. - ~add_scihub_torrents.py~ : Uses [[https://github.com/charmbracelet/gum][gum]] to select paginated text files that contain URLs of Sci Hub torrent files. For each selected file, the URLs are read and added to a qBittorrent instance. - ~fetch_combined_trackers_list.py~ : Fetches a combined list of tracker URLs from plaintext files hosted on the web and writes them to a file in the current working directory. - ~fetch_scihub_infohashes.py~ : Fetches the infohashes of all Sci Hub torrents and writes them to a plaintext file. - ~qbth.py~ : A helper program for adding Linux and BSD distros to a qBittorrent instance. It's a bit crude, and the Python linter yells at me for it, but it gets the job done, and that's all I need it to do. Thank you. #+BEGIN_EXPORT html #+END_EXPORT - ~qbt_sum_size.py~ : Prints the total size of completed torrents and the total size of all torrents added to a qBittorrent instance. The former is a subset of the latter. - ~scihub_knapsack.py~ : Adds Sci Hub torrents to a qBittorrent instance until a specified size limit is reached. - ~seed_armbian_torrents.py~ : Downloads an archive from Armbian, extracts the torrent files within to a temporary directory, and adds each file to a qBittorrent instance. It first removes older Armbian torrents from the qBittorrent instance. - ~seed_scihub_max_seeders.py~ : Finds which torrents have less than or equal to N seeders, where N is an integer argument supplied by the user. It then adds these torrents to a qBittorrent instance. - ~update_tracker.py~ : Fetches infohashes of all torrents in each qBittorrent instance referenced in the config file, and updates my public torrent tracker's whitelist. #+BEGIN_EXPORT html #+END_EXPORT