diff --git a/rtfm/INTEGRATIONS.md b/rtfm/INTEGRATIONS.md index e8c4640..a751e1c 100644 --- a/rtfm/INTEGRATIONS.md +++ b/rtfm/INTEGRATIONS.md @@ -45,6 +45,70 @@ xclip -selection clipboard -t image/png -i $1 google-chrome $result ``` +# Screenshot to pictshare (windows) + +This script will upload a screenshot from [Greenshot](https://getgreenshot.org/) to PictShare with the help of a PowerShell script. + +Requirements: +- curl (choco install curl) +- [PowerShell 7](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows) + +Configure Greenshot: +- Settings -> Output + - Storage location: C:\Temp\ + - Filename pattern: GreenShot + - Image format: jpg +Create a new External command, under Settings -> Plugins -> Click on External command Plugin -> Configure -> New +- Name: what ever you want here +- Command: find and point to pwsh.exe +- Argument: -w Hidden -F Path\to\this\script -Address consto.com + +Create a PowerShell script with the code below. + +Feel free to change "C:\Temp\GreenShot.jpg" and "C:\Temp\pictshare_posts.json" to match your needs. + +pictshare_posts.json is useful for logging and automating deleting old uploads. + +```powershell +#Requires -Version 7 + +param ( + # Change the base url to match your Pictshare server + [Parameter(Mandatory)][string]$Address, + # Change path of where you expect the jpg file to be + [string]$File = "C:\Temp\GreenShot.jpg", + # Log file of all requests + [string]$LogFile = "C:\Temp\pictshare_posts.json", + # Use http and not https + [switch]$IsNotHttps, + # Do not save url to upload to the clipboard + [switch]$NoSaveToClipboard +) +begin { + $Protocol = if ($IsNotHttps){ + "http:" + }else{ + "https:" + } +} +process { + # Upload screenshot + $Response = $(curl -s -F "file=@$File" $Protocol//$Address/api/upload.php) | ConvertFrom-Json + if ($Response.status -like "ok") { + if ($NoSaveToClipboard){ + # Don't save url to clipboard + }else{ + Set-Clipboard -Value $Response.url + } + } + # Output response back from the pictshare server + if($Response){ + $Response | ConvertTo-Json | Out-File -FilePath $LogFile -Append + } +} +end {} + + # PHP ```php