├── README.md └── ShellSync ├── Config ├── Graphicloads-Polygon-Power-2.ico ├── Templates │ └── input-output-form.ps1 └── podeON.ps1 ├── Functions ├── functions.ps1 └── md5Hash.ps1 ├── ON.exe ├── Pages ├── Code.ps1 ├── Form.ps1 ├── Login.ps1 ├── Navigation.ps1 ├── Processes.ps1 ├── TempMail │ ├── createEmail.ps1 │ └── getAllEmails.ps1 ├── Tools.ps1 ├── b64.ps1 ├── checkRoot.ps1 ├── fbiMon │ └── main.ps1 ├── fileUpload.ps1 ├── html.pode ├── pngZIP.ps1 └── pngZIP │ ├── pack.exe │ └── pngZIP.ps1 ├── Update ├── checkUpdate.ps1 └── ver.txt ├── logs └── error.log └── pode.ps1 /README.md: -------------------------------------------------------------------------------- 1 | # ShellSync -------------------------------------------------------------------------------- /ShellSync/Config/Graphicloads-Polygon-Power-2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/I-Am-Jakoby/ShellSync/e6af0d330963790bd21887e9f74f8e725e9cf7a0/ShellSync/Config/Graphicloads-Polygon-Power-2.ico -------------------------------------------------------------------------------- /ShellSync/Config/Templates/input-output-form.ps1: -------------------------------------------------------------------------------- 1 | Add-PodeWebPage -Name "Password management" -NoTitle -ScriptBlock { 2 | 3 | New-PodeWebContainer -Content @( 4 | New-PodeWebForm -Name "passwordform" -SubmitText "Generate" -ShowReset -ResetText "Reset" -Content @( 5 | 6 | 7 | New-PodeWebTextbox -Name "secret" -DisplayName "Input" 8 | New-PodeWebTextbox -Name "Output" -ReadOnly 9 | 10 | ) -ScriptBlock { 11 | 12 | $WebEvent.Data | Out-Default 13 | 14 | $s = $WebEvent.Data.secret 15 | $b = "She is a $s" 16 | Update-PodeWebTextBox -Value "$b" -Name "Password Link" 17 | 18 | } 19 | ) 20 | } -------------------------------------------------------------------------------- /ShellSync/Config/podeON.ps1: -------------------------------------------------------------------------------- 1 | powershell -w h -ep bypass -file ".\pode.ps1" -------------------------------------------------------------------------------- /ShellSync/Functions/functions.ps1: -------------------------------------------------------------------------------- 1 | function cInfo { 2 | $computerSystem = Get-CimInstance CIM_ComputerSystem 3 | $computerName = $computerSystem.Name 4 | $computerModel = $computerSystem.Model 5 | $computerManufacturer = $computerSystem.Manufacturer 6 | 7 | return $computerName, $computerModel, $computerManufacturer 8 | } 9 | 10 | function cookie {return (pwd).path} -------------------------------------------------------------------------------- /ShellSync/Functions/md5Hash.ps1: -------------------------------------------------------------------------------- 1 | function Get-MD5Hash { 2 | param ( 3 | [Parameter(Mandatory=$true)] 4 | [string] $InputString 5 | ) 6 | 7 | $md5 = [System.Security.Cryptography.MD5]::Create() 8 | $byteArray = [System.Text.Encoding]::UTF8.GetBytes($InputString) 9 | $hashByteArray = $md5.ComputeHash($byteArray) 10 | $hashString = [BitConverter]::ToString($hashByteArray) -replace '-' 11 | $md5.Dispose() 12 | 13 | return $hashString.ToLower() 14 | } -------------------------------------------------------------------------------- /ShellSync/ON.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/I-Am-Jakoby/ShellSync/e6af0d330963790bd21887e9f74f8e725e9cf7a0/ShellSync/ON.exe -------------------------------------------------------------------------------- /ShellSync/Pages/Code.ps1: -------------------------------------------------------------------------------- 1 | Add-PodeWebPage -Name 'FileStream' -Icon 'File' -ScriptBlock { 2 | New-PodeWebContainer -Content @( 3 | New-PodeWebFileStream -Url "/logs/error.log" 4 | ) 5 | } 6 | -------------------------------------------------------------------------------- /ShellSync/Pages/Form.ps1: -------------------------------------------------------------------------------- 1 | Add-PodeWebPage -Name 'Form' -ScriptBlock { 2 | New-PodeWebCard -Content @( 3 | New-PodeWebText -Value get-location 4 | New-PodeWebForm -Name 'Example' -ScriptBlock { 5 | $WebEvent.Data | Out-Default 6 | } -Content @( 7 | 8 | New-PodeWebBadge -Value 'successfully' -Colour Green 9 | 10 | 11 | 12 | New-PodeWebTextbox -Name 'Name' -AutoComplete { 13 | return @('billy', 'bobby', 'alice', 'john', 'sarah', 'matt', 'zack', 'henry') 14 | } 15 | New-PodeWebTextbox -Name 'Password' -Type Password -PrependIcon Lock 16 | New-PodeWebTextbox -Name 'Date' -Type Date 17 | New-PodeWebTextbox -Name 'Time' -Type Time 18 | New-PodeWebDateTime -Name 'DateTime' -NoLabels 19 | New-PodeWebCredential -Name 'Credentials' -NoLabels 20 | New-PodeWebCheckbox -Name 'Checkboxes' -Options @('Terms', 'Privacy') -AsSwitch 21 | New-PodeWebRadio -Name 'Radios' -Options @('S', 'M', 'L') 22 | New-PodeWebSelect -Name 'Role' -Options @('User', 'Admin', 'Operations') -Multiple 23 | New-PodeWebRange -Name 'Cores' -Value 30 -ShowValue 24 | New-PodeWebSelect -Name 'Role' -Options @('Choose...', 'User', 'Admin', 'Operations') | 25 | Register-PodeWebEvent -Type Focus -ScriptBlock { 26 | Show-PodeWebToast -Message "The value was changed: $($WebEvent.Data['Role'])" 27 | 28 | } 29 | ) 30 | ) 31 | } -------------------------------------------------------------------------------- /ShellSync/Pages/Login.ps1: -------------------------------------------------------------------------------- 1 | # -------------------------------------------------------------------------------------- 2 | Enable-PodeSessionMiddleware -Duration 120 -Extend 3 | 4 | New-PodeAuthScheme -Form | Add-PodeAuth -Name Example -ScriptBlock { 5 | param($username, $password) 6 | 7 | # Mock user data store 8 | $users = @{ 9 | 'Jakoby' = @{ 10 | ID = 'Jako302' 11 | Name = 'Jakoby' 12 | Type = 'Human' 13 | Password = 'password' # Replace with actual password 14 | } 15 | 'Redd' = @{ 16 | ID = 'Redd004' 17 | Name = 'Redd' 18 | Type = 'Human' 19 | Password = 'password' # Replace with actual password 20 | } 21 | } 22 | 23 | # Check if user exists and if password matches 24 | $user = $users[$username] 25 | if ($user -and $user.Password -eq $password) { 26 | # Return the user details without the password 27 | return @{ 28 | User = @{ 29 | ID = $user.ID 30 | Name = $user.Name 31 | Type = $user.Type 32 | } 33 | } 34 | } 35 | 36 | # Return nothing if the authentication fails 37 | return $null 38 | } 39 | 40 | Set-PodeWebLoginPage -Authentication Example -------------------------------------------------------------------------------- /ShellSync/Pages/Navigation.ps1: -------------------------------------------------------------------------------- 1 | 2 | # social 3 | Set-PodeWebSocial -Type GitHub -Url 'https://github.com/badgerati' 4 | Set-PodeWebSocial -Type Twitter -Url 'https://twitter.com/Badgerati' -Tooltip '@Badgerati' 5 | 6 | $navDiv = New-PodeWebNavDivider 7 | 8 | $navPode = New-PodeWebNavDropdown -Name 'Social' -Icon 'cellphone-iphone' -Items @( 9 | New-PodeWebNavLink -Name 'Twitter' -Url 'https://twitter.com' -Icon 'twitter' 10 | New-PodeWebNavLink -Name 'Facebook' -Url 'https://facebook.com' -Icon 'facebook' 11 | New-PodeWebNavDivider 12 | New-PodeWebNavLink -Name 'YouTube' -Url 'https://youtube.com' -Icon 'youtube' 13 | New-PodeWebNavLink -Name 'Twitch' -Url 'https://twitch.tv' -Icon 'twitch' 14 | ) 15 | 16 | $tools = New-PodeWebNavDropdown -Name 'Tools' -Icon 'cellphone-iphone' -Items @( 17 | New-PodeWebNavLink -Name 'Base64' -Url 'https://twitter.com' -Icon 'file-key-outline' 18 | New-PodeWebNavLink -Name 'URL Decoder' -Url 'https://facebook.com' -Icon 'facebook' 19 | New-PodeWebNavLink -Name 'pngZIP' -Url 'pages/pngZIP' -Icon 'folder-zip-outline' 20 | New-PodeWebNavLink -Name 'Twitch' -Url 'https://twitch.tv' -Icon 'twitch' 21 | ) 22 | 23 | $navPodeWeb = New-PodeWebNavLink -Name 'Help' -Url 'https://badgerati.github.io/Pode.Web/' -Icon 'help-circle' 24 | 25 | 26 | $navGH = New-PodeWebNavLink -name 'Payloads' -Url 'https://github.com/kprocyszyn/About-PowerShell' -Icon 'virus' 27 | 28 | Set-PodeWebNavDefault -Items $navPode, $navDiv, $navPodeWeb, $navDiv, $tools, $navDiv, $navGH -------------------------------------------------------------------------------- /ShellSync/Pages/Processes.ps1: -------------------------------------------------------------------------------- 1 | Add-PodeWebPage -Name 'Processes' -ScriptBlock { 2 | New-PodeWebContainer -Content @( 3 | New-PodeWebText -Value get-location 4 | New-PodeWebChart -Name 'Top Processes' -Type Bar -AutoRefresh -ScriptBlock { 5 | Get-Process | 6 | Sort-Object -Property CPU -Descending | 7 | Select-Object -First 10 | 8 | ConvertTo-PodeWebChartData -LabelProperty ProcessName -DatasetProperty CPU, Handles 9 | } 10 | ) 11 | } -------------------------------------------------------------------------------- /ShellSync/Pages/TempMail/createEmail.ps1: -------------------------------------------------------------------------------- 1 | Import-Module "C:\Users\micha\Desktop\ShellSync\Functions\md5Hash.ps1" 2 | 3 | $headers=@{} 4 | $headers.Add("X-RapidAPI-Key", "85a64d925bmsh374c814867fca19p1c3880jsn5cff8c77bdb3") 5 | $headers.Add("X-RapidAPI-Host", "privatix-temp-mail-v1.p.rapidapi.com") 6 | $response = Invoke-RestMethod -Uri 'https://privatix-temp-mail-v1.p.rapidapi.com/request/domains/' -Method GET -Headers $headers 7 | 8 | $email = $env:username + $response[0] 9 | 10 | $hashKey = "2ef90b252f7ffebe29abfba0f10da916" 11 | 12 | echo $email 13 | echo $hashkey -------------------------------------------------------------------------------- /ShellSync/Pages/TempMail/getAllEmails.ps1: -------------------------------------------------------------------------------- 1 | $headers=@{} 2 | $headers.Add("X-RapidAPI-Key", "85a64d925bmsh374c814867fca19p1c3880jsn5cff8c77bdb3") 3 | $headers.Add("X-RapidAPI-Host", "privatix-temp-mail-v1.p.rapidapi.com") 4 | $response = Invoke-RestMethod -Uri 'https://privatix-temp-mail-v1.p.rapidapi.com/request/one_mail/id/$hashkey/' -Method GET -Headers $headers -------------------------------------------------------------------------------- /ShellSync/Pages/Tools.ps1: -------------------------------------------------------------------------------- 1 | Add-PodeWebPage -Name 'Tools' -Icon 'Settings' -ScriptBlock { 2 | New-PodeWebContainer -NoBackground -Content @( 3 | New-PodeWebTextbox -Name 'Content' 4 | 5 | New-PodeWebButton -Name 'Update Textbox' -ScriptBlock { 6 | Update-PodeWebTextbox -Name 'Content' -Value ([datetime]::Now.ToString()) 7 | } 8 | ) 9 | } -------------------------------------------------------------------------------- /ShellSync/Pages/b64.ps1: -------------------------------------------------------------------------------- 1 | Add-PodeWebPage -Name "Base64" -ScriptBlock { 2 | 3 | New-PodeWebContainer -Content @( 4 | New-PodeWebForm -Name "encoder" -SubmitText "Encode" -ShowReset -ResetText "Reset" -Content @( 5 | 6 | 7 | New-PodeWebTextbox -Name "Input" 8 | New-PodeWebTextbox -Name "Output" 9 | 10 | ) -ScriptBlock { 11 | 12 | $WebEvent.Data | Out-Default 13 | 14 | $string = $WebEvent.Data.Input 15 | $encString = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($string)) 16 | 17 | Update-PodeWebTextBox -Value "$encString" -Name "Output" 18 | 19 | } 20 | ) 21 | 22 | 23 | 24 | New-PodeWebContainer -Content @( 25 | New-PodeWebForm -Name "decoder" -SubmitText "Decode" -ShowReset -ResetText "Reset" -Content @( 26 | 27 | 28 | New-PodeWebTextbox -Name "Input" 29 | New-PodeWebTextbox -Name "Output" 30 | 31 | ) -ScriptBlock { 32 | 33 | $WebEvent.Data | Out-Default 34 | 35 | $string = $WebEvent.Data.Input 36 | $encString = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($string)) 37 | 38 | Update-PodeWebTextBox -Value "$encString" -Name "Output" 39 | 40 | } 41 | ) 42 | } 43 | -------------------------------------------------------------------------------- /ShellSync/Pages/checkRoot.ps1: -------------------------------------------------------------------------------- 1 | 2 | $Root = Split-Path -Parent $PSScriptRoot 3 | -------------------------------------------------------------------------------- /ShellSync/Pages/fbiMon/main.ps1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | function Monitor-FBIWantedList { 5 | param( 6 | [string]$searchName, 7 | [int]$intervalSeconds = 3600 # Default to check every hour 8 | ) 9 | 10 | while ($true) { 11 | # Send a GET request to the FBI API 12 | $response = Invoke-RestMethod -Uri 'https://api.fbi.gov/wanted/v1/list' 13 | 14 | # Check if the name is in the items returned 15 | $wantedPerson = $response.items | Where-Object { $_.title -match $searchName } 16 | 17 | # If the person is found, output the details 18 | if ($wantedPerson) { 19 | Invoke-AsciiDicks 20 | } else { 21 | Write-Host "No match found for $searchName. Checking again in $intervalSeconds seconds." 22 | } 23 | 24 | # Wait for the specified interval before checking again 25 | Start-Sleep -Seconds $intervalSeconds 26 | } 27 | } 28 | 29 | # Example usage: Monitor the FBI wanted list for "John Doe" every hour 30 | Monitor-FBIWantedList -searchName "Jakoby" -intervalSeconds 3600 31 | 32 | 33 | 34 | 35 | 36 | 37 | function M { 38 | param([string]$n) 39 | while ($true) { 40 | $r = irm 'jakoby.lol/fbi' 41 | $w = $r.items | Where-Object { $_.title -match $n } 42 | if ($w) { Invoke-AsciiDicks } 43 | Sleep 3600 44 | } 45 | } 46 | 47 | M "Jakoby" 48 | -------------------------------------------------------------------------------- /ShellSync/Pages/fileUpload.ps1: -------------------------------------------------------------------------------- 1 | Add-PodeWebPage -Name 'Upload' -Icon 'File' -ScriptBlock { 2 | New-PodeWebContainer -Content @( 3 | New-PodeWebCard -Content @( 4 | New-PodeWebForm -Name 'Example' -ScriptBlock { 5 | Save-PodeRequestFile -Key 'File' -Path 'C:\some\path\file.png' 6 | } -Content @( 7 | New-PodeWebFileUpload -Name 'File' 8 | ) 9 | ) 10 | ) 11 | } 12 | -------------------------------------------------------------------------------- /ShellSync/Pages/html.pode: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |