parent
							
								
									a2608913e5
								
							
						
					
					
						commit
						674e924eaf
					
				| @ -0,0 +1,29 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | _VERS="v02" | ||||||
|  | _BRANCH=$(git branch --show-current) || | ||||||
|  |   { echo "can't poll branch, defaulting to master" && _BRANCH="master"; } | ||||||
|  | 
 | ||||||
|  | # update versions before packing install.sh | ||||||
|  | sed -i \ | ||||||
|  |   -e "s;(v[[:digit:]][[:digit:]]);($_VERS);" \ | ||||||
|  |   -e "s;nag-buster/.*/;nag-buster/$_BRANCH/;" \ | ||||||
|  |   pve-nag-buster.sh install.sh README.md | ||||||
|  | #sed -i -e "s/([v[[:digit:]][[:digit:]])/($_VERS)/" pve-nag-buster.sh install.sh | ||||||
|  | #sed -i -e "s;nag-buster/.*/;nag-buster/$_BRANCH/;" install.sh README.md | ||||||
|  | 
 | ||||||
|  | # I have no idea what I'm doing 🐶 | ||||||
|  | #awk 'FNR==NR{s=(!s)?$0:s RS $0;next} /__BASE64__/{sub(/__BASE64__/, s)} 1' \ | ||||||
|  | #  <(xz -z -9 -c pve-nag-buster.sh | base64) src/install > install.sh | ||||||
|  | 
 | ||||||
|  | # TODO: there's probably a two liner to handle all of this in awk | ||||||
|  | 
 | ||||||
|  | # pack install.sh | ||||||
|  | { | ||||||
|  |   head -n"$(grep -n "<< 'YEET'" install.sh | cut -d: -f1)" install.sh | ||||||
|  |   xz -z -9 -c pve-nag-buster.sh | base64 | ||||||
|  |   tail -n+"$(grep -n '^YEET$' install.sh | cut -d: -f1)" install.sh | ||||||
|  | } > foofile | ||||||
|  | cat foofile > install.sh | ||||||
|  | rm -f foofile | ||||||
|  | 
 | ||||||
| @ -1,72 +0,0 @@ | |||||||
| #!/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 <<EOF>"/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 |  | ||||||
| @ -1,13 +0,0 @@ | |||||||
| #!/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 |  | ||||||
| @ -1,40 +0,0 @@ | |||||||
| #!/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 -qs "$NAGTOKEN" "$NAGFILE" > /dev/null 2>&1; 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 |  | ||||||
					Loading…
					
					
				
		Reference in new issue