mirror of
https://github.com/Jamesits/pve-fake-subscription
synced 2025-12-07 11:36:59 -05:00
Compare commits
2 Commits
7fb0674976
...
68fe060029
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68fe060029 | ||
|
|
c83063441d |
@ -5,7 +5,7 @@ Disables the "No valid subscription" dialog on all Proxmox products.
|
||||
## Features
|
||||
|
||||
Works for:
|
||||
- Proxmox VE (5.x or later, tested up to 7.0)
|
||||
- Proxmox VE (5.x or later, tested up to 7.2)
|
||||
- Proxmox Mail Gateway (5.x or later)
|
||||
- Proxmox Backup Server (1.x)
|
||||
|
||||
@ -26,7 +26,7 @@ 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.
|
||||
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)
|
||||
@ -49,6 +49,6 @@ Run everything as root on a Debian 10 system:
|
||||
|
||||
```shell
|
||||
apt-get install ruby ruby-dev rubygems build-essential
|
||||
gem install --no-ri --no-rdoc fpm
|
||||
gem install fpm
|
||||
./package.sh
|
||||
```
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||
set -Eeuo pipefail
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )" || exit 1
|
||||
|
||||
fpm -s dir -t deb --force \
|
||||
-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" \
|
||||
--url "https://github.com/Jamesits/pve-fake-subscription" \
|
||||
-v 0.0.7 \
|
||||
-v 0.0.8 \
|
||||
--license "GLWTS(Good Luck With That Shit) Public License" \
|
||||
--depends "python3" \
|
||||
--architecture all \
|
||||
|
||||
@ -22,16 +22,19 @@ def get_timestamp() -> int:
|
||||
return int(time.time())
|
||||
|
||||
# Perl's md5_base64 implementation
|
||||
def md5_base64_perl(x: str) -> str:
|
||||
def md5_base64_perl(x: str) -> str:
|
||||
return base64.b64encode(hashlib.md5(x.encode()).digest()).strip(b'=').decode()
|
||||
|
||||
# Rust's `base64::encode(tools::md5sum("something")?);`
|
||||
def md5_base64_rs(x: str) -> str:
|
||||
def md5_base64_rs(x: str) -> str:
|
||||
return base64.b64encode(hashlib.md5(x.encode()).digest()).decode()
|
||||
|
||||
def generate_server_id(key: str) -> str:
|
||||
return hashlib.md5(key.encode()).hexdigest().upper()
|
||||
|
||||
def dt_string(format: str, offset_secs: int = 0) -> str:
|
||||
return (datetime.now() + timedelta(seconds=offset_secs)).strftime(format)
|
||||
|
||||
def generate_subscription_pve_pmg(key: str, server_ids: List[str]) -> str:
|
||||
localinfo = {
|
||||
"checktime": get_timestamp(),
|
||||
@ -39,8 +42,8 @@ def generate_subscription_pve_pmg(key: str, server_ids: List[str]) -> str:
|
||||
"key": key,
|
||||
"validdirectory": ",".join(server_ids),
|
||||
"productname": "YajuuSenpai",
|
||||
"regdate": get_timestamp(),
|
||||
"nextduedate": 2147483647,
|
||||
"regdate": dt_string("%Y-%m-%d %H:%M:%S"),
|
||||
"nextduedate": dt_string("%Y-%m-%d", 1296000),
|
||||
}
|
||||
|
||||
data = base64.standard_b64encode(json.dumps(localinfo).encode()).decode()
|
||||
@ -79,8 +82,8 @@ def generate_subscription_pbs(key: str, server_ids: List[str]) -> str:
|
||||
"key": key,
|
||||
"message": "Yajuu Senpai has got your back",
|
||||
"productname": "YajuuSenpai",
|
||||
"regdate": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
|
||||
"nextduedate": (datetime.now() + timedelta(seconds=1296000)).strftime("%Y-%m-%d"), # 1296000: MAX_LOCAL_KEY_AGE in src/tools/subscription.rs
|
||||
"regdate": dt_string("%Y-%m-%d %H:%M:%S"),
|
||||
"nextduedate": dt_string("%Y-%m-%d", 1296000), # 1296000: MAX_LOCAL_KEY_AGE in src/tools/subscription.rs
|
||||
"url": "https://github.com/Jamesits/pve-fake-subscription",
|
||||
}
|
||||
|
||||
@ -114,7 +117,7 @@ if __name__ == "__main__":
|
||||
if os.path.exists("/etc/pmg"):
|
||||
print("Activating Proxmox Mail Gateway...")
|
||||
activate_pve_pmg("pmgp-1145141919", "/etc/pmg/subscription")
|
||||
|
||||
|
||||
# Proxmox Backup Server
|
||||
if os.path.exists("/etc/proxmox-backup"):
|
||||
print("Activating Proxmox Backup Server...")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user