- New jellyfin Ansible role: Docker stack (Jellyfin, qBittorrent, Radarr, Sonarr, Prowlarr, FlareSolverr, Jellyseerr) with NVIDIA GPU passthrough - configure_services.yml automates download clients, root folders, Prowlarr indexers/apps, qBittorrent credential pre-seeding, and Jellyseerr setup - Fix TPB Cardigann season search: apibay.org returns 0 for season-level queries (e.g. the.boys.s05); patch strips season/ep from tv-search params and locks the definition file read-only to survive Prowlarr refreshes - Fix Pi-hole update_hosts.py regex: use re.DOTALL + count=1 to handle multi-line arrays without overwriting the DHCP section - Add phone WireGuard peer, devbox Traefik/DNS entries, TLS cert plumbing, firewall rule for Traefik IP to Proxmox web UI Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env python3
|
||||
import hashlib, os, base64
|
||||
|
||||
password = "{{ qbittorrent_webui_password }}"
|
||||
salt = os.urandom(16)
|
||||
dk = hashlib.pbkdf2_hmac("sha512", password.encode(), salt, 100000)
|
||||
pw_hash = "@ByteArray(" + base64.b64encode(salt).decode() + ":" + base64.b64encode(dk).decode() + ")"
|
||||
|
||||
os.makedirs("/containers/qbittorrent/config/qBittorrent", exist_ok=True)
|
||||
with open("/containers/qbittorrent/config/qBittorrent/qBittorrent.conf", "w") as f:
|
||||
f.write("[Preferences]\n")
|
||||
f.write('WebUI\\Password_PBKDF2="{}"\n'.format(pw_hash))
|
||||
f.write("WebUI\\Port=5080\n")
|
||||
f.write("WebUI\\Username=admin\n")
|
||||
f.write("WebUI\\LocalHostAuth=false\n")
|
||||
f.write("WebUI\\ServerDomains=*\n")
|
||||
f.write("WebUI\\Address=*\n")
|
||||
Reference in New Issue
Block a user