Compare commits
6 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
7fb0674976 | |
|
|
698f2ca45f | |
|
|
e709acc4c2 | |
|
|
de21f2ae32 | |
|
|
a9d3405893 | |
|
|
c6623dff1a |
39
README.md
39
README.md
|
|
@ -1,20 +1,37 @@
|
||||||
I am really poor and I really can't afford a license. I just want to get rid of the annoying dialog on every login.
|
Disables the "No valid subscription" dialog on all Proxmox products.
|
||||||
|
|
||||||
|
> I am really poor and I can't afford a license. I just want to get rid of the annoying dialog.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
* Works for:
|
Works for:
|
||||||
- Proxmox VE (5.x or later, tested up to 7.0)
|
- Proxmox VE (5.x or later, tested up to 7.0)
|
||||||
- Proxmox Mail Gateway (5.x or later)
|
- Proxmox Mail Gateway (5.x or later)
|
||||||
- Proxmox Backup Server (1.x)
|
- Proxmox Backup Server (1.x)
|
||||||
* Non-intrusive, no changes to any system file, persists between system updates
|
|
||||||
* Comes with standard Debian package, easy to manage and automate
|
Highlights:
|
||||||
* You can uninstall at any time, hassle-free
|
- Non-intrusive: zero modification of any system file
|
||||||
* **No JavaScript is involved** in the whole process
|
- Future-proof: persists between system updates & major upgrades
|
||||||
|
- Hassle-free: you can uninstall at any time
|
||||||
|
- Comes with standard Debian package, easy to manage and automate
|
||||||
|
- **No JavaScript is involved** in the whole process, as I believe JavaScript is harmful to developers
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
* Go to [release](https://github.com/Jamesits/pve-fake-subscription/releases/latest) to download the latest release
|
1. [Download the latest release](https://github.com/Jamesits/pve-fake-subscription/releases/latest)
|
||||||
* Run `dpkg -i pve-fake-subscription_*.deb` as root on every Proxmox VE node
|
1. Install: run `dpkg -i pve-fake-subscription_*.deb` as root on every node
|
||||||
|
1. (Optional) `echo "127.0.0.1 shop.maurer-it.com" | sudo tee -a /etc/hosts` to prevent fake keys from being checked against the Proxmox servers
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
|
||||||
|
The initial run will be scheduled within 1 minute of the installation. If you don't want to wait, you can invoke it immediately by executing `pve-fake-subscription`.
|
||||||
|
|
||||||
|
After installation, please refrain yourself from clicking the "check" button on the "Subscription" page. It will invalidate the cache and temporary revert your instance into an unlicensed status.
|
||||||
|
|
||||||
|
The fake subscription status doesn't grant you free access to the enterprise repository. You should switch to the no-subscription repository if not already done. Use the following method:
|
||||||
|
- [Proxmox VE (PVE)](https://pve.proxmox.com/wiki/Package_Repositories#sysadmin_no_subscription_repo)
|
||||||
|
- [Proxmox Mail Gateway (PMG)](https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#pmg_package_repositories)
|
||||||
|
- [Proxmox Backup Server (PBS)](https://pbs.proxmox.com/docs/installation.html#proxmox-backup-no-subscription-repository)
|
||||||
|
|
||||||
## Uninstallation
|
## Uninstallation
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,14 @@ fpm -s dir -t deb --force \
|
||||||
-n pve-fake-subscription \
|
-n pve-fake-subscription \
|
||||||
--description "Pollute the subscription cache of Proxmox VE (>=5.0), Proxmox Mail Gateway (>=5.0) & Proxmox Backup Server (>=1.0) so it won't alert you on dashboard login" \
|
--description "Pollute the subscription cache of Proxmox VE (>=5.0), Proxmox Mail Gateway (>=5.0) & Proxmox Backup Server (>=1.0) so it won't alert you on dashboard login" \
|
||||||
--url "https://github.com/Jamesits/pve-fake-subscription" \
|
--url "https://github.com/Jamesits/pve-fake-subscription" \
|
||||||
-v 0.0.6 \
|
-v 0.0.7 \
|
||||||
--license "GLWTS(Good Luck With That Shit) Public License" \
|
--license "GLWTS(Good Luck With That Shit) Public License" \
|
||||||
--depends "python3" \
|
--depends "python3" \
|
||||||
--architecture all \
|
--architecture all \
|
||||||
--deb-dist "unstable" \
|
--deb-dist "unstable" \
|
||||||
--deb-priority "optional" \
|
--deb-priority "optional" \
|
||||||
--deb-systemd "usr/lib/systemd/system/pve-fake-subscription.timer" \
|
--deb-systemd "usr/lib/systemd/system/pve-fake-subscription.timer" \
|
||||||
|
--deb-systemd-enable --deb-systemd-auto-start --deb-systemd-restart-after-upgrade \
|
||||||
--after-remove "scripts/purge" \
|
--after-remove "scripts/purge" \
|
||||||
./usr
|
./usr
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
# Pollute Proxmox VE 5.x subscription cache so it won't alert you on dashboard login
|
# Pollute Proxmox software subscription cache so it won't alert you on dashboard login
|
||||||
# If you need to prevent it checking keys against a server, please block "shop.maurer-it.com"
|
# Should be scheduled to run every few hours with a timer to prevent cache from expiring
|
||||||
|
# If you need to prevent it checking keys against a server, please block "shop.maurer-it.com" in your hosts file
|
||||||
import hashlib
|
import hashlib
|
||||||
import base64
|
import base64
|
||||||
import json
|
import json
|
||||||
|
|
@ -34,7 +35,7 @@ def generate_server_id(key: str) -> str:
|
||||||
def generate_subscription_pve_pmg(key: str, server_ids: List[str]) -> str:
|
def generate_subscription_pve_pmg(key: str, server_ids: List[str]) -> str:
|
||||||
localinfo = {
|
localinfo = {
|
||||||
"checktime": get_timestamp(),
|
"checktime": get_timestamp(),
|
||||||
"status": "Active", # PBS: `new`, `notfound`, `active`, `invalid`
|
"status": "Active",
|
||||||
"key": key,
|
"key": key,
|
||||||
"validdirectory": ",".join(server_ids),
|
"validdirectory": ",".join(server_ids),
|
||||||
"productname": "YajuuSenpai",
|
"productname": "YajuuSenpai",
|
||||||
|
|
@ -114,7 +115,7 @@ if __name__ == "__main__":
|
||||||
print("Activating Proxmox Mail Gateway...")
|
print("Activating Proxmox Mail Gateway...")
|
||||||
activate_pve_pmg("pmgp-1145141919", "/etc/pmg/subscription")
|
activate_pve_pmg("pmgp-1145141919", "/etc/pmg/subscription")
|
||||||
|
|
||||||
# Proxmox Backup Server (not working yet)
|
# Proxmox Backup Server
|
||||||
if os.path.exists("/etc/proxmox-backup"):
|
if os.path.exists("/etc/proxmox-backup"):
|
||||||
print("Activating Proxmox Backup Server...")
|
print("Activating Proxmox Backup Server...")
|
||||||
activate_pbs("pbst-1145141919", "/etc/proxmox-backup/subscription")
|
activate_pbs("pbst-1145141919", "/etc/proxmox-backup/subscription")
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,3 @@ Persistent=true
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=timers.target
|
WantedBy=timers.target
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue