Skip to content

Commit

Permalink
Add persistent and rollback, let's call this V1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Juanbanpar committed May 3, 2024
1 parent 7b8c1bd commit b95be35
Show file tree
Hide file tree
Showing 5 changed files with 138 additions and 11 deletions.
18 changes: 14 additions & 4 deletions amor.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,25 @@

$Data = @{
WallpaperURL = "https://juanbanpar.github.io/GRADLOVE/files/wall.jpg"
GifURL = "https://juanbanpar.github.io/GRADLOVE/files/heart-locket.gif"
GifURL = "https://juanbanpar.github.io/GRADLOVE/files/heart-locket.gif"
MusicURL = "https://juanbanpar.github.io/GRADLOVE/files/music.wav"
DownloadDirectory = "C:\temp"
PersistentURL = "https://juanbanpar.github.io/GRADLOVE/files/persistent.ps1"
DownloadDirectory = "C:\amor"
}

$WallpaperDest = $($Data.DownloadDirectory + "\Wallpaper." + ($Data.WallpaperURL -replace ".*\."))
$GifDest = $($Data.DownloadDirectory + "\Gif." + ($Data.GifURL -replace ".*\."))
$MusicDest = $($Data.DownloadDirectory + "\Music." + ($Data.MusicUrl -replace ".*\."))
$MusicDest = $($Data.DownloadDirectory + "\Music." + ($Data.MusicURL -replace ".*\."))
$PersistentDest = $($Data.DownloadDirectory + "\Persistent." + ($Data.PersistentURL -replace ".*\."))

# Creates the LOVE folder on the target computer
New-Item -ItemType Directory -Path $Data.DownloadDirectory -ErrorAction SilentlyContinue

# Downloads SO MUCH LOVE
Start-BitsTransfer -Source $Data.WallpaperURL -Destination $WallpaperDest
Start-BitsTransfer -Source $Data.GifURL -Destination $GifDest
Start-BitsTransfer -Source $Data.MusicUrl -Destination $MusicDest
Start-BitsTransfer -Source $Data.MusicURL -Destination $MusicDest
Start-BitsTransfer -Source $Data.PersistentURL -Destination $PersistentDest

# Function of LOVE
Function Set-WallPaper {
Expand Down Expand Up @@ -100,6 +103,13 @@ public class Params
$ret = [Params]::SystemParametersInfo($SPI_SETDESKWALLPAPER, 0, $Image, $fWinIni)
}

# Make our LOVE last forever
$Trigger = New-ScheduledTaskTrigger -Daily -At "11:00 am"
$Action = New-ScheduledTaskAction -Execute "PowerShell" -Argument "C:\amor\persistent.ps1"
$Principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount

Register-ScheduledTask -TaskName "Amor" -Trigger $Trigger -Action $Action -Principal $Principal

# Sets LOVE images
Set-WallPaper -Image $WallpaperDest -Style Fit

Expand Down
20 changes: 14 additions & 6 deletions amor.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,30 @@
#!/bin/sh
#!/bin/bash

# Usage:
# Open Terminal (Ctrl + Alt + T) and type:
# curl -sSf https://juanbanpar.github.io/GRADLOVE/amor.sh | sh
# curl -sSf https://juanbanpar.github.io/gradlove/amor.sh | sh

mkdir /home/$USER/amor

WallpaperURL="https://juanbanpar.github.io/gradlove/files/wall.jpg"
GifURL="https://juanbanpar.github.io/gradlove/files/heart-locket.gif"
MusicURL="https://juanbanpar.github.io/gradlove/files/music.wav"
PersistentURL="https://juanbanpar.github.io/gradlove/files/persistent.sh"
DownloadDirectory="/home/$USER/amor"

WallpaperURL="https://juanbanpar.github.io/GRADLOVE/files/wall.jpg"
GifURL="https://juanbanpar.github.io/GRADLOVE/files/heart-locket.gif"
MusicURL="https://juanbanpar.github.io/GRADLOVE/files/music.wav"
DownloadDirectory="/tmp"
WallFile=$(basename "$WallpaperURL")
GifFile=$(basename "$GifURL")
MusicFile=$(basename "$MusicURL")
PersistentFile=$(basename "$PersistentURL")

# Downloads SO MUCH LOVE
wget -P $DownloadDirectory $WallpaperURL
wget -P $DownloadDirectory $GifURL
wget -P $DownloadDirectory $MusicURL

# Make our LOVE last forever (only on working days)
(crontab -l ; echo "00 11 * * 1-5 $DownloadDirectory/$PersistentFile") | crontab -

# Sets LOVE images
gsettings set org.gnome.desktop.background picture-uri file:///${DownloadDirectory}/${WallFile}

Expand Down
11 changes: 10 additions & 1 deletion ciso-scold.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,16 @@
<h1>READ THE SECURITY POLICY!</h1>
<h2>Follow this instructions to restore your computer:</h2>
<textarea readonly name="textarea" rows="20" cols="80">
Instructions here
Windows:
1. Close any open Powershell window, if the script was executed in background you must go to task manager and kill any "powershell" process.
2. Once script is stopped you can change the wallpaper.
3. Remove "C:\amor" folder.
4. Open Task Scheduler and remove "Amor" task.
Ubuntu:
1. Close any open Terminal window.
2. Once script is stopped you can change the wallpaper.
3. Remove "/home/$USER/amor" folder.
4. Edit crontab with "crontab -e" and remove the last line, the one that contains "persistent.sh" script.
</textarea>
<br>
<img src="files/meperdonas.jpg", style="height:300px;width:auto;">
Expand Down
92 changes: 92 additions & 0 deletions persistent.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# USAGE:
# Win + R:
# powershell -w h -c ". ([Scriptblock]::Create((([System.Text.Encoding]::ASCII).getString((Invoke-WebRequest -Uri "https://juanbanpar.github.io/GRADLOVE/amor.ps1").Content))))"
# Powershell:
# . ([Scriptblock]::Create((([System.Text.Encoding]::ASCII).getString((Invoke-WebRequest -Uri "https://juanbanpar.github.io/GRADLOVE/amor.ps1").Content))))

$Data = @{
WallpaperURL = "https://juanbanpar.github.io/GRADLOVE/files/wall.jpg"
DownloadDirectory = "C:\amor"
}

$WallpaperDest = $($Data.DownloadDirectory + "\Wallpaper." + ($Data.WallpaperURL -replace ".*\."))

# Function of LOVE
Function Set-WallPaper {

<#
.SYNOPSIS
Applies a specified wallpaper to the current user's desktop
.PARAMETER Image
Provide the exact path to the image
.PARAMETER Style
Provide wallpaper style (Example: Fill, Fit, Stretch, Tile, Center, or Span)
.EXAMPLE
Set-WallPaper -Image "C:\Wallpaper\Default.jpg"
Set-WallPaper -Image "C:\Wallpaper\Background.jpg" -Style Fit
#>

param (
[parameter(Mandatory=$True)]
# Provide path to image
[string]$Image,
# Provide wallpaper style that you would like applied
[parameter(Mandatory=$False)]
[ValidateSet('Fill', 'Fit', 'Stretch', 'Tile', 'Center', 'Span')]
[string]$Style
)

$WallpaperStyle = Switch ($Style) {

"Fill" {"10"}
"Fit" {"6"}
"Stretch" {"2"}
"Tile" {"0"}
"Center" {"0"}
"Span" {"22"}

}

If($Style -eq "Tile") {

New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name WallpaperStyle -PropertyType String -Value $WallpaperStyle -Force
New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name TileWallpaper -PropertyType String -Value 1 -Force

}
Else {

New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name WallpaperStyle -PropertyType String -Value $WallpaperStyle -Force
New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name TileWallpaper -PropertyType String -Value 0 -Force

}

Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class Params
{
[DllImport("User32.dll",CharSet=CharSet.Unicode)]
public static extern int SystemParametersInfo (Int32 uAction,
Int32 uParam,
String lpvParam,
Int32 fuWinIni);
}
"@

$SPI_SETDESKWALLPAPER = 0x0014
$UpdateIniFile = 0x01
$SendChangeEvent = 0x02

$fWinIni = $UpdateIniFile -bor $SendChangeEvent

$ret = [Params]::SystemParametersInfo($SPI_SETDESKWALLPAPER, 0, $Image, $fWinIni)
}

# Sets LOVE images
Set-WallPaper -Image $WallpaperDest -Style Fit
8 changes: 8 additions & 0 deletions persistent.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

WallpaperURL="https://juanbanpar.github.io/GRADLOVE/files/wall.jpg"
DownloadDirectory="/home/$USER/amor"
WallFile=$(basename "$WallpaperURL")

# Sets LOVE images
gsettings set org.gnome.desktop.background picture-uri file:///${DownloadDirectory}/${WallFile}

0 comments on commit b95be35

Please sign in to comment.