From 9a422d42a5e0affaa0c5c555d33606c52f870416 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 18 Apr 2019 20:54:01 +0000 Subject: [PATCH] bump version to v02, added wrapper to make keeping install.sh in sync easier --- install.sh | 43 +++++++++++++-------------- pve-nag-buster.sh | 4 ++- src/install | 72 +++++++++++++++++++++++++++++++++++++++++++++ src/make-scripts.sh | 13 ++++++++ src/script | 40 +++++++++++++++++++++++++ 5 files changed, 148 insertions(+), 24 deletions(-) create mode 100644 src/install create mode 100755 src/make-scripts.sh create mode 100644 src/script diff --git a/install.sh b/install.sh index 992cf7c..6343813 100755 --- a/install.sh +++ b/install.sh @@ -1,9 +1,9 @@ #!/bin/bash -# pve-nag-buster (v01) https://github.com/foundObjects/pve-nag-buster +# pve-nag-buster (v02) https://github.com/foundObjects/pve-nag-buster # Copyright (C) 2019 /u/seaQueue (reddit.com/u/seaQueue) # -# Removes Proxmox VE license nags, with persistence, and switches to free repo +# Removes Proxmox VE 5.x license nags automatically after updates # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -65,29 +65,26 @@ fi # Important: if you're not me you should probably decode this and read it to make sure I'm not doing # something malicious like mining dogecoin or stealing your valuable cat pictures -# pve-nag-buster.sh (v01) inline: +# pve-nag-buster.sh (v02) inline: base64 -d <<"YEET"| unxz > "/usr/share/pve-nag-buster.sh" && \ chmod +x "/usr/share/pve-nag-buster.sh" && \ /usr/share/pve-nag-buster.sh -/Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4AbbA/9dABGIQkY99Bhqpmevep/kIs9shoiNvzAP074w -LI3FnbhLtpij4weS6JtWQK59Kz5tjbWnQyPF33jFXvJXaoUNWDu1jNCPGEbx8L/Xao1oj9pvY3Kg -1uiwbnqiftvfLzce1BEOAIUfKx6NxUsQw0yWhAv0JKdDQzr3V0epamt9elk5d70l1zQjzdqBel0n -MCOUBTlwqQOktYeTk/xN+kDwaypdomKFT1+9ww5z5LXzOkyejfyOHwymxN4PPyp5+gK4KoqWPtf6 -l7uUpjOP/ZG8zQpLV7Or6U2aVfS+fL9XM8ggm+FuxVYUUzDpEMvIhmuCtwPNMkCNkE4kRIVA9zMZ -SA6DY0RQm0XtBzYYUogh9DoomwVHoe6JCldYK1ONpwkM8fV7Te2L4MX8P8L7CykAP1/gmKfG7lWG -YsVyaKPaXqSEC4wmJyAYoPUTzUjDgkbNPq27NGwsoDL6nfLZvcgsjnm9iUMPK14Cumy1+lQkFRBY -RIA7QsrUdgzbAW2ziFI+mNpLhvjPzqARyUseY+Cfe4JQ8XTQ6pjUyWNsXEr417d1ZWE89TjvwD4r -BLVtmDBL9A9XOpyBqyD89YjSt5HQ4WGG91uyal00SAQuG14QKbDcbivdxomt4SaCKfsbjUoJNQgj -ILc+eM0aRtbfVvs0zbQXedNThuYWI/prka5Rbj3X8xGH9vS9//N4jzYiP9NJHrs0YedsN+FJqMop -iot3j+ur19Ag+f5ZSn+lS6Cd3opxlbOZzDTL8hf2YFKv7z7A0lcdOw5KA6lHk0rDmIZQYYB/tj8l -ELTO2MDPxgVquEl/FUEYy5mUV6pE6aBYmedYVY5ytDoWJJGfPjsSZ6lvb13Y1c4z35kXB4eod8PN -lcfepv9xS3DcozMaDEebsNcnGGyeWpwHGcwMPnB3TxtbD91O8fEbvK9SxmoW2fCUl8onI1LinqaR -bxvUSoA2LJiePaM0cxRSZr4ZrHiPq4RzzPgbkDnxR1/MYEFrVshR1W3VJt7sTPhC6aTiusUWM32p -/E6Y3lTngiNTMyneJBty0pSZR8SgNwhMJ3Raz5IpdFyfzt/Npl6xNBSBiTvdWVkYFV9zsun2U50F -FVnRHqi1sh32eLKyKWiBycpuJY5xxgCeyPlVvP5SbXckeOwcXzHYMsA6WcqSae7OWH+RxMi9quwH -LgF8djkl0IwanR3SvkJyaNrpter3uxL42XPFw87UhSEswd5VYSCrzRdS1YXmTOO6wPvpS8t1FRMP -Sai0j7ok3zAz9108x5K6lVLW/4294nKTP1w86AtTG5i1rrgZiAwCSS8CFzegOp+PzMu1upRIDdjP -dQ7DHmJLOfhz8DjgDGYl6W2D/fEZ29rAhPpTOQAAoYLMaRbKxHsAAZsI3A0AAO7s3uCxxGf7AgAA -AAAEWVo= +/Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4AXCA29dABGIQkY99Bhqpmevep/kIs9shoiNvzAP074w +LI3FnbhLtpij4weS6OPsQK59Kz5tjbWnQyPF33jFXvJXaoUNWDu1jNCPGEbx8L/Xao1oj9pvY3Kg +1uiwbnqeiyZNxvEC9DBbNO8pmKBaOS/Q4uzqwh3oRXh87IgYrLRazyGxEY23Nvy1QWHNjNQmWeQJ +XQ/srI4sGoN1MJuJSElGqFVcIw1gbMb0uTdKHo1cCaB6cehBesid/VHRbjP5UBo8lUDalXzEmPSU +F8as6Q6bPNGi2xZ0oMuVyEeypgE/gV0I5sv59Tjen5dLWBVrA1GuSfcZTeZtVCzgNupz8/3Bp511 +WUaS+xaMXTO0P6yVzKW8LzdlTF1q3eeNfvlqcdcL8ermG/VTkfyx5jsDKfRZpLLQdTV5nu67xPyt ++OrrCdG1C5xNG8O+UtkM2PgoAAVq6UJPWvHBlBC9Q6dS8G7Msz1dCOwgWqq+me5eNgON2RUOU6qj +fGOPgYW0Y5ayAUXLmfKrDOUF6tAekamQEb1GFPM3wbpbIFCucTuun+RUXcyGPqCt5FWm9JKu5qPx +0jL6dBem+gT6v/jHIyxuRUCz6Rjxcj4IqTfjpuiQMvFoKmqhW/H+jLbYqbSgkyhOagAWGvOzGqg/ +EU8j13jkb4W/8tuflP8BM44MsHc4J+t2Ru2SgeYq3jR2QWba3WOgsAUwG8ymmEa9mM2m7UaUG2Ko +Va1AjGcXKMzP+IUTPO/fCURGgETBjo+C+6O48ghpj17qzKqe9Wuq3o+CRShvG0lhejmh8pP5nVx9 +YhyVR4xZKH5EQz4bnLj9Zlc2nyuwlUHUu9dHFHf21gBY3YgrOjl3WCDi2OSKOGMflCMcsBE/JhkN +T7H6cH+Jyk09zkiNF6LOPzpCh9c1+7g6iGpo1oral1wDIXbY8P5iBjyWn7U+ofULxONDndlgT9M6 +UMh8RWESaJ96ZpDhdSYD591IYDpOuavKeJFjVzQb8864/QcRlMzzZ0tMz61akrumjUQYVoi4srIO +W7I/JpcDcABnxx6Y5xVgFDct7+xInHfC20EqN9H3p9PEotoUodAy8UckeQRo4RvQCKdKF6GUx3gt +YaNlele6TN/8HU65WEjUrLAGm98+cl4DdYyuEnOmJTEDUmb047/bftabhnWzfKwL0UQ4OWj5GAAA +95IH9OjVadkAAYsHwwsAAN9Cr22xxGf7AgAAAAAEWVo= YEET diff --git a/pve-nag-buster.sh b/pve-nag-buster.sh index 34c864e..60ae1a5 100755 --- a/pve-nag-buster.sh +++ b/pve-nag-buster.sh @@ -1,8 +1,10 @@ #!/bin/bash # -# pve-nag-buster.sh (v01) https://github.com/foundObjects/pve-nag-buster +# pve-nag-buster.sh (v02) https://github.com/foundObjects/pve-nag-buster # Copyright (C) 2019 /u/seaQueue (reddit.com/u/seaQueue) # +# Removes Proxmox VE 5.x license nags automatically after updates +# # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 diff --git a/src/install b/src/install new file mode 100644 index 0000000..a925a7a --- /dev/null +++ b/src/install @@ -0,0 +1,72 @@ +#!/bin/bash + +# pve-nag-buster (__VERSION__) https://github.com/foundObjects/pve-nag-buster +# Copyright (C) 2019 /u/seaQueue (reddit.com/u/seaQueue) +# +# Removes Proxmox VE 5.x license nags automatically after updates +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +RELEASE=$(awk -F"[)(]+" '/VERSION=/ {print $2}' /etc/os-release) + +# create the pve-no-subscription list + +echo "$0: Creating PVE no-subscription repo list ..." +cat <"/etc/apt/sources.list.d/pve-no-subscription.list" +# .list file automatically generated by pve-nag-buster:$0 at $(date) +# +# If $0 is run again this file will likely be overwritten +# + +deb http://download.proxmox.com/debian/pve $RELEASE pve-no-subscription +EOF + +# create dpkg pre/post install hooks for persistence + +cat <<'EOF' >/etc/apt/apt.conf.d/86pve-nags +DPkg::Pre-Install-Pkgs { + "while read -r pkg; do case $pkg in *proxmox-widget-toolkit* | *pve-manager*) touch /tmp/.pve-nag-buster && exit 0; esac done < /dev/stdin"; +}; + +DPkg::Post-Invoke { + "[ -f /tmp/.pve-nag-buster ] && /usr/share/pve-nag-buster.sh && rm -f /tmp/.pve-nag-buster; exit 0"; +}; +EOF + +# fetch the post-install patch script, patches license nag and switches to pve-no-subscription repository as needed + +if true ; then + wget https://raw.githubusercontent.com/foundObjects/pve-nag-buster/master/pve-nag-buster.sh \ + -O "/usr/share/pve-nag-buster.sh" && \ + chmod +x "/usr/share/pve-nag-buster.sh" && \ + /usr/share/pve-nag-buster.sh + + exit 0 +fi + +# this is the end, example offline code below + +# Example code for inclusion into host provisioning scripts offline: this is just pve-nag-buster.sh +# run through "xz -z -9 -c pve-nag-buster.sh | base64" to avoid needing to fetch the script from github +# To use this installer offline just nuke the entire if block above. + +# Important: if you're not me you should probably decode this and read it to make sure I'm not doing +# something malicious like mining dogecoin or stealing your valuable cat pictures + +# pve-nag-buster.sh (__VERSION__) inline: + +base64 -d <<"YEET"| unxz > "/usr/share/pve-nag-buster.sh" && \ + chmod +x "/usr/share/pve-nag-buster.sh" && \ + /usr/share/pve-nag-buster.sh diff --git a/src/make-scripts.sh b/src/make-scripts.sh new file mode 100755 index 0000000..f3a88a9 --- /dev/null +++ b/src/make-scripts.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +_VERS="v02" + +_OUTFILE="pve-nag-buster.sh" + +sed "s/__VERSION__/$_VERS/g" src/script > $_OUTFILE + +_OUTFILE="install.sh" + +sed "s/__VERSION__/$_VERS/g" src/install > $_OUTFILE +xz -z -9 -c pve-nag-buster.sh | base64 >> $_OUTFILE +echo "YEET" >> $_OUTFILE diff --git a/src/script b/src/script new file mode 100644 index 0000000..295774b --- /dev/null +++ b/src/script @@ -0,0 +1,40 @@ +#!/bin/bash +# +# pve-nag-buster.sh (__VERSION__) https://github.com/foundObjects/pve-nag-buster +# Copyright (C) 2019 /u/seaQueue (reddit.com/u/seaQueue) +# +# Removes Proxmox VE 5.x license nags automatically after updates +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +NAGTOKEN="data.status !== 'Active'" +NAGFILE="/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js" + +# disable license nag: https://johnscs.com/remove-proxmox51-subscription-notice/ + +if $(grep -q "$NAGTOKEN" "$NAGFILE") ; then + echo "$0: Removing Nag ..." + sed -i.orig "s/$NAGTOKEN/false/g" "$NAGFILE" + systemctl restart pveproxy.service +fi + +# disable paid repo list + +PAID_BASE="/etc/apt/sources.list.d/pve-enterprise" + +if [ -f "$PAID_BASE.list" ]; then + echo "$0: Disabling PVE paid repo list ..." + mv -f "$PAID_BASE.list" "$PAID_BASE.disabled" +fi