Compare commits

...

13 Commits
1.1.2 ... main

Author SHA1 Message Date
Joaquin f873c6d8c7
[1.4.0] Office OHOOK Activation and UI overhaul 2 years ago
Joaquin 8f450f756f
[1.3.1] Update DEPS and turn off DevMode 2 years ago
Joaquin 0a3e0d9875
[1.3.0] 2 years ago
Joaquin cf96bd0cbb
[HWID] Fix HWID activation patch 2 years ago
Joaquin c3109383bc
[1.2.0/HWID] Add some final polish 3 years ago
Joaquin 72627ef6c4
[HWID] Add Basic Activation Mechanism 3 years ago
Joaquin c863c2a575
[windows] Begin work on HWID 3 years ago
Joaquin ced4b8ccf6
[win] Start work on HWID script 3 years ago
Joaquin a59c1dd05f
[ux/office] Add online installer option 3 years ago
Joaquin a06e776014
[ux] Add references to settings app 3 years ago
Joaquin 5351ca762f
[ui] Make office menus consistent 3 years ago
Puly 7f6943ecee
Update README.md 3 years ago
Joaquin ebb9034120
[make] Fix makefile and default kms srv 3 years ago
  1. 13
      Makefile
  2. 4
      README.md
  3. 164
      main.js
  4. 4964
      package-lock.json
  5. 8
      package.json
  6. 378
      webPage/css/dist.css
  7. BIN
      webPage/css/jetbrains.ttf
  8. 23
      webPage/css/source.css
  9. BIN
      webPage/img/bground1.jpg
  10. BIN
      webPage/img/bground2.jpg
  11. BIN
      webPage/img/bground2.png
  12. BIN
      webPage/img/bground3.jpg
  13. 46
      webPage/img/office365.svg
  14. 11
      webPage/index.html
  15. 21
      webPage/office/19/index.html
  16. 17
      webPage/office/21/index.html
  17. 2
      webPage/office/setKMS/about/index.html
  18. 6
      webPage/office/setKMS/customKMS/index.html
  19. 10
      webPage/office/setKMS/index.html
  20. 11
      webPage/office/ver/index.html
  21. 5
      webPage/windows/activate/index.html
  22. 89
      webPage/windows/index.html
  23. 4
      webPage/windows/setIPK/edt/10/index.html
  24. 5
      webPage/windows/setIPK/edt/7/index.html
  25. 1
      webPage/windows/setIPK/edt/8/index.html
  26. 4
      webPage/windows/setKMS/index.html
  27. 37
      webPage/winhwid/done.html
  28. 77
      webPage/winhwid/edt.html
  29. 78
      webPage/winhwid/genexe.html
  30. 64
      webPage/winhwid/genticket.html
  31. 51
      webPage/winhwid/index.html
  32. 55
      webPage/winhwid/ipk.html

@ -1,10 +1,13 @@
all: linux windows
all: linux windows node_modules
linux:
node ./node_modules/electron-builder/cli.js build --linux appImage
node_modules:
npm install
windows:
node ./node_modules/electron-builder/cli.js build --win portable
linux: node_modules
npx electron-builder build --linux appImage
windows: node_modules
npx electron-builder build --win portable
stylesheet:

@ -1,3 +1,7 @@
# univator
Organizational Microsoft Product Activator, to be used with bought, purchased, verified and official Microsoft software only, do NOT use for piracy.
This software relies on the "KMS" organizational activation technology and requires a connection to a real microsoft-licensed KMS server, if however you do not have acces to such a server and are using it for educational purposes only you can host a functional server of your own using [VLMCSD](https://github.com/Wind4/vlmcsd)
![alt text](https://cafelutza.cf/assets/univator.png)

@ -1,10 +1,14 @@
const { app, BrowserWindow, ipcMain, dialog, shell } = require('electron')
const { exec } = require('child_process')
const path = require('path')
const { stringify } = require('querystring')
const { fstat } = require('fs')
const fs = require('fs')
const crypto = require('crypto')
let win = null;
const createWindow = () => {
const win = new BrowserWindow({
win = new BrowserWindow({
width: 1100,
height: 700,
webPreferences: {
@ -22,6 +26,7 @@ const createWindow = () => {
var windowsProductKey = "";
var kmsServer = "";
var officeProductKey = "";
function getCertDetails(){
@ -30,7 +35,12 @@ function getCertDetails(){
}
function activateWindows(){
exec("powershell start-process powershell -verb runas {slmgr /skms " + kmsServer + " ; slmgr /ipk " + windowsProductKey + " ; sleep 3 ; slmgr /ato}")
var activatePROC = exec("powershell start-process powershell -verb runas {cscript C:\\Windows\\System32\\slmgr.vbs /skms " + kmsServer + " > $null ; cscript C:\\Windows\\System32\\slmgr.vbs /ipk " + windowsProductKey + " > $null ; sleep 3 ; cscript C:\\Windows\\System32\\slmgr.vbs /ato ; sleep 1 ; start ms-settings:activation}")
activatePROC.on('close', _ => {
win.webContents.send('winkmsdone')
})
//dialog.showErrorBox('Transparency Mode Command:', 'RUN THIS: powershell start-process powershell -verb runas {slmgr /skms ' + kmsServer + ' ; slmgr /ipk ' + productKey + ' ; sleep 3 ; slmgr /ato}')
}
@ -50,14 +60,34 @@ function activateOffice19(){
}
function activateOfficeOHOOK(){
exec("powershell start-process powershell -verb runas { mkdir C:\\Users\\Public\\ohook ; cd C:\\Users\\Public\\ohook ; wget -UseBasicParsing -Uri https://github.com/asdcorp/ohook/releases/download/0.3/ohook_0.3.zip -OutFile ohook.zip ; Expand-Archive ohook.zip ; cd ohook ; cmd /c mklink '%ProgramFiles%\\Microsoft Office\\root\\vfs\\System\\sppcs.dll' '%windir%\\System32\\sppc.dll' ; cmd /c copy /y sppc64.dll '%ProgramFiles%\\Microsoft Office\\root\\vfs\\System\\sppc.dll' ; reg add HKCU\\Software\\Microsoft\\Office\\16.0\\Common\\Licensing\\Resiliency /v 'TimeOfLastHeartbeatFailure' /t REG_SZ /d '2040-01-01T00:00:00Z' /f ; slmgr /ipk " + officeProductKey + "}")
}
function downloadOffice21(){
shell.openExternal("https://officecdn.microsoft.com/db/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/en-us/ProPlus2021Retail.img")
}
function downloadOffice21_o(){
shell.openExternal("https://c2rsetup.officeapps.live.com/c2r/download.aspx?ProductreleaseID=ProPlus2021Retail&platform=x64&language=en-us&version=O16GA")
}
function downloadOffice19(){
shell.openExternal("https://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/en-us/ProPlus2019Retail.img")
}
function downloadOffice19_o(){
shell.openExternal("https://c2rsetup.officeapps.live.com/c2r/download.aspx?ProductreleaseID=ProPlus2019Retail&platform=x64&language=en-us&version=O16GA")
}
function downloadOffice365(){
shell.openExternal("https://officecdn.microsoft.com/db/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/en-us/O365ProPlusRetail.img")
}
function downloadOffice365_o(){
shell.openExternal("https://c2rsetup.officeapps.live.com/c2r/download.aspx?ProductreleaseID=O365ProPlusRetail&platform=x64&language=en-us&version=O16GA")
}
function openServerPage(){
shell.openExternal("https://github.com/Wind4/vlmcsd")
}
@ -67,6 +97,109 @@ function uninstallCert(){
console.log("uninstalled cert")
}
function activationSettings(){
exec("start ms-settings:activation");
}
function downloadExe(){
if(fs.existsSync('C:\\Users\\Public\\ActTicket\\14f4df8a2a7fc82a4f415cf6a341415d.cab')){
var exeStream = fs.readFileSync('C:\\Users\\Public\\ActTicket\\14f4df8a2a7fc82a4f415cf6a341415d.cab')
var checksum = crypto.createHash('sha256').update(exeStream).digest('hex')
if(checksum.toLowerCase() === '24399eb37ca3e935ab5aa8e501fea950f99ff25565553b7641598d85b3cf381d'){
win.webContents.send('exeDownloadOk')
return
}
}
let exeDownProc = exec('powershell mkdir C:\\Users\\Public\\ActTicket & cd C:\\Users\\Public\\ActTicket & echo "Y -> Downloading binary archive .cab file from microsoft Z" & powershell wget -UseBasicParsing -Uri https://download.microsoft.com/download/9/A/E/9AE69DD5-BA93-44E0-864E-180F5E700AB4/adk/Installers/14f4df8a2a7fc82a4f415cf6a341415d.cab -Outfile .\\14f4df8a2a7fc82a4f415cf6a341415d.cab ')
exeDownProc.stdout.on('data', (data) => {
win.webContents.send('stdout', String(data))
})
exeDownProc.stderr.on('data', (data) => {
win.webContents.send('stderr', String(data))
})
exeDownProc.on('close', () => {
if(fs.existsSync('C:\\Users\\Public\\ActTicket\\14f4df8a2a7fc82a4f415cf6a341415d.cab')){
var exeStream = fs.readFileSync('C:\\Users\\Public\\ActTicket\\14f4df8a2a7fc82a4f415cf6a341415d.cab')
var checksum = crypto.createHash('sha256').update(exeStream).digest('hex')
win.webContents.send('stdout', checksum)
win.webContents.send('stdout', "EXPECTED CHECKSUM (SHA256, HEX): 1f6e56a5467ab472c915cd98b4e93226182684358ca1cdc14ec3bbb2e584b3e7")
if(checksum.toLowerCase() === '24399eb37ca3e935ab5aa8e501fea950f99ff25565553b7641598d85b3cf381d'){
win.webContents.send('exeDownloadOk')
}else{
win.webContents.send('exeDownloadErr')
}
}else{
win.webContents.send('exeDownloadErr')
}
})
}
function genExe(){
if(fs.existsSync('C:\\Users\\Public\\ActTicket\\gatherosstatemodified.exe')){
var exeStream = fs.readFileSync('C:\\Users\\Public\\ActTicket\\gatherosstatemodified.exe')
var checksum = crypto.createHash('sha256').update(exeStream).digest('hex')
win.webContents.send('stdout', checksum)
if(checksum.toLowerCase() === '1f6e56a5467ab472c915cd98b4e93226182684358ca1cdc14ec3bbb2e584b3e7'){
win.webContents.send('exeGenOk')
return
}
}
let exeGenProc = exec('powershell cd C:\\Users\\Public\\ActTicket ; echo "Y-> EXTRACTING GATHEROSSTATE.EXE Z" ; expand .\\14f4df8a2a7fc82a4f415cf6a341415d.cab -F:filf8377e82b29deadca67bc4858ed3fba9 . ; powershell mv .\\filf8377e82b29deadca67bc4858ed3fba9 .\\gatherosstate.exe ; echo "*Modifying Binary Code To Enable Exploit, credit to GamerOSState*" & powershell "" $bytes = [System.IO.File]::ReadAllBytes("""C:\\Users\\Public\\ActTicket\\gatherosstate.exe""") ; $bytes[320] = 0xf8 ; $bytes[321] = 0xfb ; $bytes[322] = 0x05 ; $bytes[324] = 0x03 ; $bytes[13672] = 0x25 ; $bytes[13674] = 0x73 ; $bytes[13676] = 0x3b ; $bytes[13678] = 0x00 ; $bytes[13680] = 0x00 ; $bytes[13682] = 0x00 ; $bytes[13684] = 0x00 ; $bytes[32748] = 0xe9 ; $bytes[32749] = 0x9e ; $bytes[32750] = 0x00 ; $bytes[32751] = 0x00 ; $bytes[32752] = 0x00 ; $bytes[32894] = 0x8b ; $bytes[32895] = 0x44 ; $bytes[32897] = 0x64 ; $bytes[32898] = 0x85 ; $bytes[32899] = 0xc0 ; $bytes[32900] = 0x0f ; $bytes[32901] = 0x85 ; $bytes[32902] = 0x1c ; $bytes[32903] = 0x02 ; $bytes[32904] = 0x00 ; $bytes[32906] = 0xe9 ; $bytes[32907] = 0x3c ; $bytes[32908] = 0x01 ; $bytes[32909] = 0x00 ; $bytes[32910] = 0x00 ; $bytes[32911] = 0x85 ; $bytes[32912] = 0xdb ; $bytes[32913] = 0x75 ; $bytes[32914] = 0xeb ; $bytes[32915] = 0xe9 ; $bytes[32916] = 0x69 ; $bytes[32917] = 0xff ; $bytes[32918] = 0xff ; $bytes[32919] = 0xff ; $bytes[33094] = 0xe9 ; $bytes[33095] = 0x80 ; $bytes[33096] = 0x00 ; $bytes[33097] = 0x00 ; $bytes[33098] = 0x00 ; $bytes[33449] = 0x64 ; $bytes[33576] = 0x8d ; $bytes[33577] = 0x54 ; $bytes[33579] = 0x24 ; $bytes[33580] = 0xe9 ; $bytes[33581] = 0x55 ; $bytes[33582] = 0x01 ; $bytes[33583] = 0x00 ; $bytes[33584] = 0x00 ; $bytes[33978] = 0xc3 ; $bytes[34189] = 0x59 ; $bytes[34190] = 0xeb ; $bytes[34191] = 0x28 ; $bytes[34238] = 0xe9 ; $bytes[34239] = 0x4f ; $bytes[34240] = 0x00 ; $bytes[34241] = 0x00 ; $bytes[34242] = 0x00 ; $bytes[34346] = 0x24 ; $bytes[34376] = 0xeb ; $bytes[34377] = 0x63 ; [System.IO.File]::WriteAllBytes("""C:\\Users\\Public\\ActTicket\\gatherosstatemodified.exe""", $bytes) "" & echo "-> Set exe Compatiblility Mode to xpsp3 in Registry" & echo "Y -> File gatherosstatemodified.exe has now been sucesfully pacified and should output DownLevel tickets regardless or conditions met Z"')
exeGenProc.stdout.on('data', (data) => {
win.webContents.send('stdout', String(data))
})
exeGenProc.stderr.on('data', (data) => {
win.webContents.send('stderr', String(data))
})
exeGenProc.on('close', () => {
exec('powershell start-process powershell -verb runas {reg Add HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\` NT\\CurrentVersion\\AppCompatFlags\\Layers /v "C:\\Users\\Public\\ActTicket\\gatherosstatemodified.exe" /d "WINXPSP3" }')
if(fs.existsSync('C:\\Users\\Public\\ActTicket\\gatherosstatemodified.exe')){
var exeStream = fs.readFileSync('C:\\Users\\Public\\ActTicket\\gatherosstatemodified.exe')
var checksum = crypto.createHash('sha256').update(exeStream).digest('hex')
win.webContents.send('stdout', checksum)
if(checksum.toLowerCase() === '1f6e56a5467ab472c915cd98b4e93226182684358ca1cdc14ec3bbb2e584b3e7'){
win.webContents.send('exeGenOk')
}else{
win.webContents.send('exeGenErr')
}
}else{
win.webContents.send('exeGenErr')
}
})
}
function runIpk(){
exec('powershell start-process powershell -verb runas { cscript C:\\Windows\\System32\\slmgr.vbs /ipk ' + windowsProductKey + ' }')
}
function genTicket(){
let tickGenProc = exec('powershell "cd C:\\Users\\Public\\ActTicket ; $value = (Get-ItemProperty HKLM:\\SYSTEM\\CurrentControlSet\\Control\\ProductOptions).OSProductPfn ; .\\gatherosstatemodified.exe /c Pfn=$value`;PKeyIID=465145217131314304264339481117862266242033457260311819664735280 ; sleep 1" & type C:\\Users\\Public\\ActTicket\\GenuineTicket.xml')
tickGenProc.stdout.on('data', (data) => {
win.webContents.send('ticketout', String(data))
console.log(data)
})
}
function installTicket(){
exec('powershell start-process powershell -verb runas { clipup -v -o -altto C:\\Users\\Public\\ActTicket ; cscript C:\\Windows\\System32\\slmgr.vbs /ato ; echo `n`n`nWINDOWS ACTIVATED SUCCESFULLY ; start ms-settings:activation }')
}
ipcMain.on("getCertDetails", getCertDetails)
ipcMain.on("setKMS", (event, response) => {
@ -77,6 +210,11 @@ ipcMain.on("setIPK", (event, response) => {
windowsProductKey = response
})
ipcMain.on("activateOfficeOHOOK", (event, response) => {
officeProductKey = response
activateOfficeOHOOK()
})
ipcMain.on("activateWindows", activateWindows)
ipcMain.on("activateOffice16", activateOffice16)
@ -87,12 +225,32 @@ ipcMain.on("activateOffice19", activateOffice19)
ipcMain.on("downloadOffice21", downloadOffice21)
ipcMain.on("downloadOffice21-o", downloadOffice21_o)
ipcMain.on("downloadOffice19", downloadOffice19)
ipcMain.on("downloadOffice19-o", downloadOffice19_o)
ipcMain.on("downloadOffice365", downloadOffice365)
ipcMain.on("downloadOffice365-o", downloadOffice365_o)
ipcMain.on("uninstallCert", uninstallCert)
ipcMain.on("openServerPage", openServerPage)
ipcMain.on("activationSettings", activationSettings)
ipcMain.on("downloadexe", downloadExe)
ipcMain.on("genexe", genExe)
ipcMain.on("runIpk", runIpk)
ipcMain.on("genTicket", genTicket)
ipcMain.on("installTicket", installTicket)
app.whenReady().then(() => {
createWindow()
})

4964
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
{
"name": "univator",
"version": "1.1.2",
"version": "1.4.0",
"description": "Microsoft Product Activator",
"main": "main.js",
"scripts": {
@ -10,10 +10,10 @@
"homepage": "https://cafelutza.cf",
"license": "0BSD",
"devDependencies": {
"electron": "^6.1.12",
"electron-builder": "^23.6.0"
"electron": "^24.1.0",
"electron-builder": "^24.2.0"
},
"dependencies": {
"crypto": "^1.0.1"
}
}

@ -1,5 +1,5 @@
/*
! tailwindcss v3.0.18 | MIT License | https://tailwindcss.com
! tailwindcss v3.3.6 | MIT License | https://tailwindcss.com
*/
/*
@ -30,6 +30,8 @@
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
*/
html {
@ -44,6 +46,10 @@ html {
/* 3 */
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
/* 4 */
font-feature-settings: normal;
/* 5 */
font-variation-settings: normal;
/* 6 */
}
/*
@ -115,8 +121,10 @@ strong {
}
/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
@ -125,8 +133,12 @@ samp,
pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* 1 */
font-size: 1em;
font-feature-settings: normal;
/* 2 */
font-variation-settings: normal;
/* 3 */
font-size: 1em;
/* 4 */
}
/*
@ -185,8 +197,14 @@ select,
textarea {
font-family: inherit;
/* 1 */
font-feature-settings: inherit;
/* 1 */
font-variation-settings: inherit;
/* 1 */
font-size: 100%;
/* 1 */
font-weight: inherit;
/* 1 */
line-height: inherit;
/* 1 */
color: inherit;
@ -333,6 +351,14 @@ menu {
padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
@ -353,13 +379,6 @@ input::-moz-placeholder, textarea::-moz-placeholder {
/* 2 */
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
input::placeholder,
textarea::placeholder {
opacity: 1;
@ -415,15 +434,15 @@ video {
height: auto;
}
/*
Ensure the default browser behavior of the `hidden` attribute.
*/
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
display: none;
}
*, ::before, ::after {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
@ -435,6 +454,59 @@ Ensure the default browser behavior of the `hidden` attribute.
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ;
--tw-gradient-to-position: ;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
}
::backdrop {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ;
--tw-gradient-to-position: ;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
@ -526,9 +598,9 @@ Ensure the default browser behavior of the `hidden` attribute.
bottom: 1rem;
}
.my-5 {
margin-top: 1.25rem;
margin-bottom: 1.25rem;
.mx-2 {
margin-left: 0.5rem;
margin-right: 0.5rem;
}
.my-2 {
@ -536,9 +608,9 @@ Ensure the default browser behavior of the `hidden` attribute.
margin-bottom: 0.5rem;
}
.mx-2 {
margin-left: 0.5rem;
margin-right: 0.5rem;
.my-5 {
margin-top: 1.25rem;
margin-bottom: 1.25rem;
}
.ml-auto {
@ -577,8 +649,8 @@ Ensure the default browser behavior of the `hidden` attribute.
min-height: 100vh;
}
.w-full {
width: 100%;
.w-3\/4 {
width: 75%;
}
.w-4\/5 {
@ -589,6 +661,10 @@ Ensure the default browser behavior of the `hidden` attribute.
width: 83.333333%;
}
.w-full {
width: 100%;
}
.min-w-\[60vw\] {
min-width: 60vw;
}
@ -613,25 +689,30 @@ Ensure the default browser behavior of the `hidden` attribute.
justify-content: center;
}
.rounded-xl {
border-radius: 0.75rem;
.rounded-2xl {
border-radius: 1rem;
}
.rounded-3xl {
border-radius: 1.5rem;
}
.rounded-md {
border-radius: 0.375rem;
}
.rounded-3xl {
border-radius: 1.5rem;
.rounded-xl {
border-radius: 0.75rem;
}
.bg-transparent {
background-color: transparent;
.bg-\[\#000000\] {
--tw-bg-opacity: 1;
background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}
.bg-mycol2 {
.bg-\[\#283F3B\] {
--tw-bg-opacity: 1;
background-color: rgb(22 21 36 / var(--tw-bg-opacity));
background-color: rgb(40 63 59 / var(--tw-bg-opacity));
}
.bg-\[\#D0E7A6\] {
@ -639,46 +720,45 @@ Ensure the default browser behavior of the `hidden` attribute.
background-color: rgb(208 231 166 / var(--tw-bg-opacity));
}
.bg-\[\#283F3B\] {
.bg-\[\#E94F37\] {
--tw-bg-opacity: 1;
background-color: rgb(40 63 59 / var(--tw-bg-opacity));
background-color: rgb(233 79 55 / var(--tw-bg-opacity));
}
.bg-\[\#D16014\] {
.bg-indigo-900 {
--tw-bg-opacity: 1;
background-color: rgb(209 96 20 / var(--tw-bg-opacity));
background-color: rgb(49 46 129 / var(--tw-bg-opacity));
}
.bg-indigo-900 {
.bg-mycol2 {
--tw-bg-opacity: 1;
background-color: rgb(49 46 129 / var(--tw-bg-opacity));
background-color: rgb(22 21 36 / var(--tw-bg-opacity));
}
.bg-\[url\(\'\.\.\/img\/bground1\.jpg\'\)\] {
background-image: url('../img/bground1.jpg');
.bg-transparent {
background-color: transparent;
}
.bg-\[url\(\'\.\.\/\.\.\/img\/bground1\.jpg\'\)\] {
background-image: url('../../img/bground1.jpg');
.bg-white {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-cover {
background-size: cover;
.bg-\[url\(\'\.\.\/\.\.\/img\/bground1\.jpg\'\)\] {
background-image: url('../../img/bground1.jpg');
}
.py-10 {
padding-top: 2.5rem;
padding-bottom: 2.5rem;
.bg-\[url\(\'\.\.\/img\/bground2\.png\'\)\] {
background-image: url('../img/bground2.png');
}
.px-8 {
padding-left: 2rem;
padding-right: 2rem;
.bg-cover {
background-size: cover;
}
.py-5 {
padding-top: 1.25rem;
padding-bottom: 1.25rem;
.px-10 {
padding-left: 2.5rem;
padding-right: 2.5rem;
}
.px-2 {
@ -686,11 +766,6 @@ Ensure the default browser behavior of the `hidden` attribute.
padding-right: 0.5rem;
}
.py-1 {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.px-3 {
padding-left: 0.75rem;
padding-right: 0.75rem;
@ -701,17 +776,49 @@ Ensure the default browser behavior of the `hidden` attribute.
padding-right: 1.25rem;
}
.px-8 {
padding-left: 2rem;
padding-right: 2rem;
}
.py-1 {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.py-10 {
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
.py-3 {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
}
.py-5 {
padding-top: 1.25rem;
padding-bottom: 1.25rem;
}
.pb-10 {
padding-bottom: 2.5rem;
}
.pr-5 {
padding-right: 1.25rem;
.pb-2 {
padding-bottom: 0.5rem;
}
.pb-3 {
padding-bottom: 0.75rem;
}
.pb-5 {
padding-bottom: 1.25rem;
}
.pb-6 {
padding-bottom: 1.5rem;
}
.pb-7 {
@ -722,21 +829,20 @@ Ensure the default browser behavior of the `hidden` attribute.
padding-left: 1.25rem;
}
.text-center {
text-align: center;
.pr-5 {
padding-right: 1.25rem;
}
.font-\[manrope\] {
font-family: manrope;
.text-left {
text-align: left;
}
.text-\[3em\] {
font-size: 3em;
.text-center {
text-align: center;
}
.text-sm {
font-size: 0.875rem;
line-height: 1.25rem;
.font-\[manrope\] {
font-family: manrope;
}
.text-3xl {
@ -748,6 +854,24 @@ Ensure the default browser behavior of the `hidden` attribute.
font-size: 0.5rem;
}
.text-\[2em\] {
font-size: 2em;
}
.text-\[3em\] {
font-size: 3em;
}
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
}
.text-sm {
font-size: 0.875rem;
line-height: 1.25rem;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
@ -757,10 +881,6 @@ Ensure the default browser behavior of the `hidden` attribute.
font-weight: 900;
}
.font-normal {
font-weight: 400;
}
.font-bold {
font-weight: 700;
}
@ -769,13 +889,17 @@ Ensure the default browser behavior of the `hidden` attribute.
font-weight: 800;
}
.font-normal {
font-weight: 400;
}
.tracking-wide {
letter-spacing: 0.025em;
}
.text-white {
.text-black {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity));
color: rgb(0 0 0 / var(--tw-text-opacity));
}
.text-red-300 {
@ -783,9 +907,19 @@ Ensure the default browser behavior of the `hidden` attribute.
color: rgb(252 165 165 / var(--tw-text-opacity));
}
.text-black {
.text-white {
--tw-text-opacity: 1;
color: rgb(0 0 0 / var(--tw-text-opacity));
color: rgb(255 255 255 / var(--tw-text-opacity));
}
.underline {
text-decoration-line: underline;
}
.shadow {
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
@ -796,6 +930,14 @@ Ensure the default browser behavior of the `hidden` attribute.
outline-width: 0px;
}
.outline-2 {
outline-width: 2px;
}
.outline-8 {
outline-width: 8px;
}
.outline-white {
outline-color: #fff;
}
@ -811,10 +953,18 @@ Ensure the default browser behavior of the `hidden` attribute.
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 150ms;
}
@font-face {
font-family: 'manrope';
src: url('./manrope.ttf');
src: url('./jetbrains.ttf');
}
body {
@ -883,11 +1033,11 @@ p{
.officevercontainer {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr;
gap: 0px 0px;
gap: 0px;
grid-template-areas:
"twentyone nineteen legacy";
"twentyone nineteen";
}
.twentyone {
@ -903,61 +1053,21 @@ p{
}
.wave {
-webkit-animation-name: wave-animation;
animation-name: wave-animation;
-webkit-animation-duration: 2.5s;
animation-duration: 2.5s;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
transform-origin: 70% 70%;
display: inline-block;
}
.emohi:hover {
-webkit-animation-name: wave-animation;
animation-name: wave-animation;
-webkit-animation-duration: 2.5s;
animation-duration: 2.5s;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
transform-origin: 70% 70%;
display: inline-block;
}
@-webkit-keyframes wave-animation {
0% {
transform: rotate( 0.0deg)
}
10% {
transform: rotate(14.0deg)
}
20% {
transform: rotate(-8.0deg)
}
30% {
transform: rotate(14.0deg)
}
40% {
transform: rotate(-4.0deg)
}
50% {
transform: rotate(10.0deg)
}
60% {
transform: rotate( 0.0deg)
}
100% {
transform: rotate( 0.0deg)
}
}
@keyframes wave-animation {
0% {
transform: rotate( 0.0deg)
@ -1008,6 +1118,10 @@ button{
outline: none;
}
.shadow{
box-shadow: 0 12px 16px 0 rgba(0,0,0,0.45), 0 17px 50px 0 rgba(0,0,0,0.40);
}
button:hover{
transform: scale(1.06);
}
@ -1029,9 +1143,15 @@ button:hover{
max-width: 700px;
}
.hover\:bg-indigo-900:hover {
--tw-bg-opacity: 1;
background-color: rgb(49 46 129 / var(--tw-bg-opacity));
.oppositec{
color: black;
background-color: white;
}
.oppositecx{
color: black;
background-color: white;
font-size: large;
}
.hover\:bg-\[\#283F3B\]:hover {
@ -1039,9 +1159,9 @@ button:hover{
background-color: rgb(40 63 59 / var(--tw-bg-opacity));
}
.hover\:bg-mycol2:hover {
.hover\:bg-indigo-900:hover {
--tw-bg-opacity: 1;
background-color: rgb(22 21 36 / var(--tw-bg-opacity));
background-color: rgb(49 46 129 / var(--tw-bg-opacity));
}
@media (min-width: 640px) {
@ -1071,16 +1191,16 @@ button:hover{
background-color: transparent;
}
.md\:py-3 {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
}
.md\:px-7 {
padding-left: 1.75rem;
padding-right: 1.75rem;
}
.md\:py-3 {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
}
.md\:text-xl {
font-size: 1.25rem;
line-height: 1.75rem;

Binary file not shown.

@ -6,7 +6,7 @@
@font-face {
font-family: 'manrope';
src: url('./manrope.ttf');
src: url('./jetbrains.ttf');
}
@ -64,11 +64,11 @@ p{
.officevercontainer {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr;
gap: 0px 0px;
gap: 0px;
grid-template-areas:
"twentyone nineteen legacy";
"twentyone nineteen";
}
.twentyone { grid-area: twentyone; }
@ -122,6 +122,10 @@ button{
outline: none;
}
.shadow{
box-shadow: 0 12px 16px 0 rgba(0,0,0,0.45), 0 17px 50px 0 rgba(0,0,0,0.40);
}
button:hover{
transform: scale(1.06);
}
@ -142,3 +146,14 @@ button:hover{
width: 80%;
max-width: 700px;
}
.oppositec{
color: black;
background-color: white;
}
.oppositecx{
color: black;
background-color: white;
font-size: large;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 751 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" ?>
<svg xmlns="http://www.w3.org/2000/svg" id="image-2" fill="none" viewBox="4 2 40 44">
<title>Microsoft 365 logo (2022)</title>
<path d="M20.0842 3.02588L19.8595 3.16179C19.5021 3.37799 19.1654 3.61972 18.8512 3.88385L19.4993 3.42798H25L26 11L21 16L16 19.4754V23.4829C16 26.2819 17.4629 28.8774 19.8574 30.3268L25.1211 33.5129L14 40.0002H11.8551L7.85737 37.5804C5.46286 36.131 4 33.5355 4 30.7365V17.2606C4 14.4607 5.46379 11.8645 7.85952 10.4154L19.8595 3.15687C19.9339 3.11189 20.0088 3.06823 20.0842 3.02588Z" fill="url(#paint0_radial_2994_8373)"/>
<path d="M20.0842 3.02588L19.8595 3.16179C19.5021 3.37799 19.1654 3.61972 18.8512 3.88385L19.4993 3.42798H25L26 11L21 16L16 19.4754V23.4829C16 26.2819 17.4629 28.8774 19.8574 30.3268L25.1211 33.5129L14 40.0002H11.8551L7.85737 37.5804C5.46286 36.131 4 33.5355 4 30.7365V17.2606C4 14.4607 5.46379 11.8645 7.85952 10.4154L19.8595 3.15687C19.9339 3.11189 20.0088 3.06823 20.0842 3.02588Z" fill="url(#paint1_linear_2994_8373)"/>
<path d="M32 19V23.4803C32 26.2793 30.5371 28.8748 28.1426 30.3242L16.1426 37.5878C13.6878 39.0737 10.6335 39.1273 8.1355 37.7487L19.8573 44.844C22.4039 46.3855 25.5959 46.3855 28.1426 44.844L40.1426 37.5803C42.5371 36.1309 43.9999 33.5354 43.9999 30.7364V27.5L42.9999 26L32 19Z" fill="url(#paint2_radial_2994_8373)"/>
<path d="M32 19V23.4803C32 26.2793 30.5371 28.8748 28.1426 30.3242L16.1426 37.5878C13.6878 39.0737 10.6335 39.1273 8.1355 37.7487L19.8573 44.844C22.4039 46.3855 25.5959 46.3855 28.1426 44.844L40.1426 37.5803C42.5371 36.1309 43.9999 33.5354 43.9999 30.7364V27.5L42.9999 26L32 19Z" fill="url(#paint3_linear_2994_8373)"/>
<path d="M40.1405 10.4153L28.1405 3.15678C25.6738 1.66471 22.6021 1.61849 20.0979 3.01811L19.8595 3.16231C17.4638 4.61143 16 7.20757 16 10.0075V19.4914L19.8595 17.1568C22.4051 15.6171 25.5949 15.6171 28.1405 17.1568L40.1405 24.4153C42.4613 25.8192 43.9076 28.2994 43.9957 30.9985C43.9986 30.9113 44 30.824 44 30.7364V17.2605C44 14.4606 42.5362 11.8644 40.1405 10.4153Z" fill="url(#paint4_radial_2994_8373)"/>
<path d="M40.1405 10.4153L28.1405 3.15678C25.6738 1.66471 22.6021 1.61849 20.0979 3.01811L19.8595 3.16231C17.4638 4.61143 16 7.20757 16 10.0075V19.4914L19.8595 17.1568C22.4051 15.6171 25.5949 15.6171 28.1405 17.1568L40.1405 24.4153C42.4613 25.8192 43.9076 28.2994 43.9957 30.9985C43.9986 30.9113 44 30.824 44 30.7364V17.2605C44 14.4606 42.5362 11.8644 40.1405 10.4153Z" fill="url(#paint5_linear_2994_8373)"/>
<path d="M4.00428 30.9984C4.00428 30.9984 4.00428 30.9984 4.00428 30.9984Z" fill="url(#paint6_radial_2994_8373)"/>
<path d="M4.00428 30.9984C4.00428 30.9984 4.00428 30.9984 4.00428 30.9984Z" fill="url(#paint7_linear_2994_8373)"/>
<defs>
<radialGradient id="paint0_radial_2994_8373" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(17.4186 10.6383) rotate(110.528) scale(33.3657 58.1966)">
<stop offset="0.06441" stop-color="#AE7FE2"/>
<stop offset="1" stop-color="#0078D4"/>
</radialGradient>
<linearGradient id="paint1_linear_2994_8373" x1="17.5119" y1="37.8685" x2="12.7513" y2="29.6347" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#114A8B"/>
<stop offset="1" stop-color="#0078D4" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint2_radial_2994_8373" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(10.4299 36.3511) rotate(-8.36717) scale(31.0503 20.5108)">
<stop offset="0.133928" stop-color="#D59DFF"/>
<stop offset="1" stop-color="#5E438F"/>
</radialGradient>
<linearGradient id="paint3_linear_2994_8373" x1="40.3566" y1="25.3768" x2="35.2552" y2="32.6916" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#493474"/>
<stop offset="1" stop-color="#8C66BA" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint4_radial_2994_8373" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(41.0552 26.504) rotate(-165.772) scale(24.9228 41.9552)">
<stop offset="0.0584996" stop-color="#50E6FF"/>
<stop offset="1" stop-color="#436DCD"/>
</radialGradient>
<linearGradient id="paint5_linear_2994_8373" x1="16.9758" y1="3.05655" x2="24.4868" y2="3.05655" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#2D3F80"/>
<stop offset="1" stop-color="#436DCD" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint6_radial_2994_8373" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(41.0552 26.504) rotate(-165.772) scale(24.9228 41.9552)">
<stop offset="0.0584996" stop-color="#50E6FF"/>
<stop offset="1" stop-color="#436DCD"/>
</radialGradient>
<linearGradient id="paint7_linear_2994_8373" x1="16.9758" y1="3.05655" x2="24.4868" y2="3.05655" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#2D3F80"/>
<stop offset="1" stop-color="#436DCD" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

@ -8,21 +8,22 @@
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center bg-[url('../img/bground1.jpg')] bg-cover text-white">
<div class="flex min-h-[100vh] justify-center items-center bg-[url('../img/bground2.png')] bg-cover text-white">
<div class="md:max-w-[70vw] ml-auto mr-auto">
<div class="min-w-[60vw] flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 items-center justify-center text-center">
<p class="text-[3em] pb-10 font-black tracking-wide">Univator app</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Microsoft Product Activator</p>
<p class="text-[3em] pb-2 font-black tracking-wide bg-[#000000]">Univator app</p>
<p> </p>
<p class="text-md md:text-xl font-normal tracking-wide pb-5 bg-[#000000]">Microsoft Product Activator</p>
<div class="text-center text-white">
<div class="kmscontainer">
<div class="windows pr-5">
<button type="button" class="backdrop-blur-md bg-transparent rounded-xl w-full my-2 py-5 my-2 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href = './windows/setKMS/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="img/windows.png">windows →</button>
<button type="button" class="backdrop-blur-md bg-transparent rounded-xl w-full my-2 py-5 my-2 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href = './windows/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="img/windows.png">windows →</button>
</div>
<div class="office pl-5">
<button type="button" class="backdrop-blur-md bg-transparent rounded-xl w-full my-2 py-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href = './office/setKMS/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="img/office.png">office →</button>
<button type="button" class="backdrop-blur-md bg-transparent rounded-xl w-full my-2 py-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href = './office/ver/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="img/office.png">office →</button>
</div>
</div>

@ -13,12 +13,15 @@
<div class="min-w-[60vw] rounded-3xl flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 md:w-2/3 items-center justify-center text-center">
<p class="text-3xl pb-10 font-extrabold tracking-wide">Install Office 2019.</p>
<p class="text-3xl pb-10 font-extrabold tracking-wide">Install Microsoft 365.</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">After downloading the .img file, open it and run 'Setup', after installation is done you can activate it using the tool below</p>
<div class="text-center text-white">
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="download">Download Office from Microsoft →</button>
<button type="button" class="rounded-xl w-full bg-[#D16014] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ok">Activate Office →<p class="text-[0.5rem] md:text-xs">admin required</p></button>
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="downloadonline">Use the Online Installer →</button>
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="download">Download Office from Microsoft →<p class="text-[0.5rem] md:text-xs">(Offline 4.8G .img)</p></button>
<button type="button" class="rounded-xl w-full bg-[#E94F37] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ok">Activate Office →<p class="text-[0.5rem] md:text-xs">admin required</p></button>
</div>
</div>
@ -31,7 +34,7 @@
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white hover:bg-[#283F3B] mx-2" onclick="location.href = '../setKMS/index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white hover:bg-[#283F3B] mx-2" onclick="location.href = '../ver/index.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>
@ -46,13 +49,19 @@
document.getElementById('ok').addEventListener("click", function(){
ipcRenderer.send("activateOffice19");
ipcRenderer.send("activateOfficeOHOOK", "2N382-D6PKK-QTX4D-2JJYK-M96P2");
});
document.getElementById('download').addEventListener("click", function(){
ipcRenderer.send("downloadOffice19");
ipcRenderer.send("downloadOffice365");
});
document.getElementById('downloadonline').addEventListener("click", function(){
ipcRenderer.send("downloadOffice365-o");
});

@ -17,8 +17,11 @@
<p class="text-md md:text-xl font-normal tracking-wide pb-10">After downloading the .img file, open it and run 'Setup', after installation is done you can activate it using the tool below</p>
<div class="text-center text-white">
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="download">Download Office from Microsoft →</button>
<button type="button" class="rounded-xl w-full bg-[#D16014] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ok">Activate Office →<p class="text-[0.5rem] md:text-xs">admin required</p></button>
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="downloadonline">Use the Online Installer →</button>
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="download">Download Office from Microsoft →<p class="text-[0.5rem] md:text-xs">(Offline 4.8G .img)</p></button>
<button type="button" class="rounded-xl w-full bg-[#E94F37] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ok">Activate Office →<p class="text-[0.5rem] md:text-xs">admin required</p></button>
</div>
</div>
@ -31,7 +34,7 @@
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white hover:bg-[#283F3B] mx-2" onclick="location.href = '../setKMS/index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white hover:bg-[#283F3B] mx-2" onclick="location.href = '../ver/index.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>
@ -46,7 +49,7 @@
document.getElementById('ok').addEventListener("click", function(){
ipcRenderer.send("activateOffice21");
ipcRenderer.send("activateOfficeOHOOK", "8WXTP-MN628-KY44G-VJWCK-C7PCF");
});
@ -56,6 +59,12 @@
});
document.getElementById('downloadonline').addEventListener("click", function(){
ipcRenderer.send("downloadOffice21-o");
});
</script>
</html>

@ -26,7 +26,7 @@
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = '../index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white mx-2" onclick="location.href = '../index.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>

@ -18,7 +18,7 @@
<div class="text-center text-white">
<input type="url" id="customKMSbox" class="text-xl rounded-xl text-black py-3 px-3 w-full" placeholder="ip/url:port (default port 1668)">
<p class="pb-10"> </p>
<button type="button" class="rounded-xl w-full bg-[#D16014] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="kmsDefaultButton">install custom server</button>
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="kmsDefaultButton">install custom server</button>
</div>
</div>
@ -31,7 +31,7 @@
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = '../index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white mx-2" onclick="location.href = '../index.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>
@ -52,7 +52,7 @@
kmsDefault.addEventListener("click", function(){
ipcRenderer.send("setKMS", customkms.value);
console.log("--custom kms server--" + customkms.value);
location.href = "../../21/index.html";
location.href = "../../ver/index.html";
});
</script>

@ -19,10 +19,10 @@
<div class="text-center text-white">
<div class="kmscontainer">
<div class="windows pr-5">
<button type="button" class="rounded-xl w-full bg-[#D16014] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="kmsDefaultButton">use the default server</button>
<button type="button" class="rounded-xl w-full bg-[#E94F37] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="kmsDefaultButton">use the default server</button>
</div>
<div class="office pl-5">
<button type="button" class="rounded-xl w-full bg-mycol2 my-2 py-5 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href = './customKMS/index.html';">set a custom server</button>
<button type="button" class="rounded-xl w-full bg-[#283F3B] my-2 py-5 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href = './customKMS/index.html';">set a custom server</button>
</div>
</div>
@ -39,10 +39,10 @@
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white mx-2" onclick="location.href = '../../index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white mx-2" onclick="location.href = '../../index.html';">
<span class="hidden md:inline">Back</span>
</button>
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white mx-2" onclick="location.href = './about/index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white mx-2" onclick="location.href = './about/index.html';">
<span class="hidden md:inline">About e-KMS servers</span>
</button>
</div>
@ -58,7 +58,7 @@
var kmsDefault = document.getElementById("kmsDefaultButton");
kmsDefault.addEventListener("click", function(){
ipcRenderer.send("setKMS", "kms8.msguides.com");
ipcRenderer.send("setKMS", "cafelutza.cf");
location.href='../ver/index.html';
});
</script>

@ -18,14 +18,13 @@
<div class="items-center text-center justify-center text-white">
<div class="officevercontainer text-center w-full">
<div class="twentyone px-2">
<button type="button" class="rounded-xl w-full bg-mycol2 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href='../21/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="../../img/office21.png">Office 2021 →</button>
<button type="button" class="rounded-xl w-3/4 bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href='../21/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="../../img/office21.png">Office 2021 →</button>
</div>
<div class="nineteen px-2">
<button type="button" class="rounded-xl w-full bg-mycol2 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href='../19/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="../../img/office19.png">Office 2019 →</button>
</div>
<div class="legacy px-2">
<button type="button" class="rounded-xl w-full bg-mycol2 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href='';"><img class="w-4/5 ml-auto mr-auto pb-7" src="../../img/office10.png">Legacy (unavailable)</button>
<button type="button" class="rounded-xl w-3/4 bg-[#283F3B] my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href='../19/index.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="../../img/office365.svg">Microsoft 365 →</button>
</div>
</div>
@ -41,7 +40,7 @@
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-mycol2 mx-2" onclick="location.href = '../setKMS/index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-[#283F3B] px-3 md:px-7 outline-0 outline-white mx-2" onclick="location.href = '../../index.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>

@ -46,10 +46,13 @@
document.getElementById('ok').addEventListener("click", function(){
ipcRenderer.send("activateWindows");
location.href = "./done.html";
});
ipcRenderer.on('winkmsdone', function(){
location.href='./done.html';
});
</script>
</html>

@ -0,0 +1,89 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/dist.css" rel="stylesheet">
<title>Univator</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center text-white">
<div class="ml-auto mr-auto">
<div class="min-w-[60vw] flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 items-center justify-center text-center">
<p class="text-[2em] pb-6 tracking-wide">Choose Activation Method</p>
<div class="text-center text-white w-full items-center">
<div class="kmscontainer w-full items-center text-center" style="column-gap: 200px; padding-left: 8%; padding-right: 8%; vertical-align: top;">
<div class="windows text-left bg-mycol2 rounded-xl px-10 w-full shadow outline-white outline-8" style="outline-width: thick; outline-color: white; outline-style: solid;">
<button type="button" class="rounded-xl w-full my-2 py-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope] bg-indigo-900 outline-white outline-8" onclick="location.href = '../winhwid/index.html';">HWID Ticket →<p class="text-[0.5rem] md:text-xs">10 / 11</p></button>
<p class="pb-3 text-lg font-bold">- Full Windows Digital License, linked on MS servers to this PC and MS acc</p>
<p class="pb-3 text-lg font-bold">- Requires System Changes</p>
<p class="pb-3 text-lg font-bold">- Entirely Permanent, even on full wipe</p>
<a href="#" onclick="showMore()" id="morebutton2" style="color:cornflowerblue; text-decoration: underline; cursor: pointer; padding-inline: 5px; padding-bottom: 6px;">Show More</a>
<div id="morehwid" style="display: none;" class="detaildiv">
<p class="pb-3 text-md font-bold">- Digital Activation Certificate stored on Microsoft Servers Forever</p>
<p class="pb-3 text-md font-bold">- Needs to download and modify an exe (gatherosstate.exe)found on win ISOs used for win7 migration</p>
</div>
</div>
<div class="office text-left bg-mycol2 rounded-xl px-10 w-full shadow outline-white outline-2">
<button type="button" class="rounded-xl w-full my-2 py-5 my-2 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope] bg-indigo-900" onclick="location.href = './setKMS/index.html';">Online e-KMS →<p class="text-[0.5rem] md:text-xs">7 / 8 / 8.1 / 10 / 11</p></button>
<p class="pb-3 text-lg font-bold">- Requires connection to e-KMS server every 180 days to refresh</p>
<p class="pb-3 text-lg font-bold">- Non-intrusive</p>
<p class="pb-3 text-lg font-bold">- Easily Reversible (see options)</p>
<a onclick="showMore()" id="morebutton1" style="color:cornflowerblue; text-decoration: underline; cursor: pointer; padding-inline: 5px; padding-bottom: 6px;">Show More</a>
<div id="morekms" style="display: none;" class="detaildiv">
<p class="pb-3 text-md font-bold">- Activation Certificate stored locally</p>
<p class="pb-3 text-md font-bold">- Reactivations (performed automatically) WILL ping the server your IP (TCP, duh)
</p>
<p class="pb-3 text-md font-bold">- Does not need to download or install anything extra</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = '../index.html';">
<span class="hidden md:inline">Back</span>
</div>
</div>
</body>
<script>
const morehwid = document.getElementById('morehwid');
const morekms = document.getElementById('morekms');
const morebutton1 = document.getElementById('morebutton1');
const morebutton2 = document.getElementById('morebutton2');
function showMore(){
document.getElementById('morebutton1').style.display = "none";
document.getElementById('morebutton2').style.display = "none";
document.getElementById('morehwid').style.display = "block";
document.getElementById('morekms').style.display = "block";
console.log("O@O");
}
</script>
</html>

@ -16,6 +16,7 @@
<p class="text-3xl pb-10 font-extrabold tracking-wide">Product Key Gen</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Select the appropriate windows edition you have</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Press the button to automatically generate and install a generic KMS product key.</p>
<p><a id="settings" style="color:cornflowerblue; text-decoration: underline; cursor:pointer;">I don't know my windows edition</a></p>
<div class="text-center text-white">
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="home">Home</button>
@ -66,6 +67,9 @@
ipcRenderer.send("setIPK", "NPPR9-FWDCX-D2C8J-H872K-2YT43");
location.href = "../../../activate/index.html";
});
document.getElementById("settings").addEventListener("click", function(){
ipcRenderer.send("activationSettings");
});
</script>

@ -16,10 +16,11 @@
<p class="text-3xl pb-10 font-extrabold tracking-wide">Product Key Gen</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Select the appropriate windows edition you have</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Press the button to automatically generate and install a generic KMS product key. <span class="font-bold">Windows 7 Home and Ultimate are not supported, but can be easily activated via phone for free using generic license keys.</span></p>
<p><a id="settings" style="color:cornflowerblue; text-decoration: underline; cursor:pointer;">I don't know my windows edition</a></p>
<div class="text-center text-white">
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="pro">Pro</button>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ent">Enterprise</button>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="pro">7 Pro</button>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ent">7 Enterprise</button>
</div>
</div>

@ -16,6 +16,7 @@
<p class="text-3xl pb-10 font-extrabold tracking-wide">Product Key Gen</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Select the appropriate windows edition you have</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Press the button to automatically generate and install a generic KMS product key.</p>
<p><a id="settings" style="color:cornflowerblue; text-decoration: underline; cursor:pointer;">I don't know my windows edition</a></p>
<div class="text-center text-white">
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="8pro">8 Pro</button>

@ -39,7 +39,7 @@
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = '../../index.html';">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = '../index.html';">
<span class="hidden md:inline">Back</span>
</button>
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = './about/index.html';">
@ -58,7 +58,7 @@
var kmsDefault = document.getElementById("kmsDefaultButton");
kmsDefault.addEventListener("click", function(){
ipcRenderer.send("setKMS", "kms8.msguides.com");
ipcRenderer.send("setKMS", "cafelutza.cf");
location.href='../setIPK/index.html';
});
</script>

@ -0,0 +1,37 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/dist.css" rel="stylesheet">
<title>Univator</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center text-white" bg-[url('../../img/bground1.jpg')]>
<div class="ml-auto mr-auto">
<div class="min-w-[60vw] rounded-3xl flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 w-5/6 items-center justify-center text-center">
<p class="text-3xl pb-10 font-extrabold tracking-wide">Done.</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Wait for the confirmation message to appear (might take a bit), and then your product should be fully activated</p>
</div>
</div>
</div>
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = '../index.html';">
<span class="hidden md:inline">Home</span>
</button>
</div>
</div>
</body>
</html>

@ -0,0 +1,77 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/dist.css" rel="stylesheet">
<title>Univator</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center text-white" bg-[url('../../img/bground1.jpg')]>
<div class="md:max-w-[70vw] ml-auto mr-auto">
<div class="min-w-[60vw] rounded-3xl flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 md:w-2/3 items-center justify-center text-center">
<p class="text-3xl pb-10 font-extrabold tracking-wide">Product Key Gen</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Select the appropriate windows edition you have</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Press the button to automatically download and generate "gatherosstatemodified.exe"</p>
<p><a id="settings" style="color:cornflowerblue; text-decoration: underline; cursor:pointer;">I don't know my windows edition</a></p>
<div class="text-center text-white">
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="home">Home</button>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="pro">Pro</button>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="edu">Education</button>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ent">Enterprise</button>
</div>
</div>
</div>
</div>
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = './index.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>
</div>
</body>
<script>
const { ipcRenderer } = require('electron');
document.getElementById("home").addEventListener("click", function(){
ipcRenderer.send("setIPK", "YTMG3-N6DKC-DKB77-7M9GH-8HVX7");
location.href = "genexe.html";
});
document.getElementById("pro").addEventListener("click", function(){
ipcRenderer.send("setIPK", "VK7JG-NPHTM-C97JM-9MPGT-3V66T");
location.href = "genexe.html";
});
document.getElementById("edu").addEventListener("click", function(){
ipcRenderer.send("setIPK", "YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY");
location.href = "genexe.html";
});
document.getElementById("ent").addEventListener("click", function(){
ipcRenderer.send("setIPK", "XGVPP-NMH47-7TTHJ-W3FW7-8HV2C");
location.href = "genexe.html";
});
document.getElementById("settings").addEventListener("click", function(){
ipcRenderer.send("activationSettings");
});
</script>
</html>

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/dist.css" rel="stylesheet">
<title>Univator</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center text-white" bg-[url('../../img/bground1.jpg')]>
<div class="ml-auto mr-auto">
<div class="min-w-[60vw] rounded-3xl flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 w-5/6 items-center justify-center text-center">
<p class="text-3xl pb-10 font-extrabold tracking-wide" id="title">Download and Generate gatherosstate.exe</p>
<div class="text-center text-white" id="okdiv">
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ok">Start →</button>
</div>
<p class="text-md md:text-xl font-normal tracking-wide pb-10" style="display: none;" id="label">Mirror: <span class="bold underline bg-white text-black">[https://download.microsoft.com/download/9/A/E/9AE69DD5-BA93-44E0-864E-180F5E700AB4/adk/Installers/14f4df8a2a7fc82a4f415cf6a341415d.cab]</span><br /><br /></p>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope] hidden" id="next" onclick="location.href = './ipk.html';">Continue →</button>
</div>
</div>
</div>
</div>
</body>
<script>
const { ipcRenderer } = require('electron');
document.getElementById('ok').addEventListener('click', () => {
ipcRenderer.send('downloadexe');
document.getElementById('okdiv').style.display = 'none';
document.getElementById('label').style.display = 'block';
document.getElementById('title').innerHTML = 'Downloading...';
});
ipcRenderer.on('exeDownloadOk', () => {
document.getElementById('label').innerHTML = 'Extracting and generating "gatherosstatemodified.exe"';
document.getElementById('title').innerHTML = 'Generating...';
ipcRenderer.send('genexe');
});
ipcRenderer.on('exeGenOk', () => {
document.getElementById('title').innerHTML = 'DONE!';
document.getElementById('next').style.display = 'block';
});
ipcRenderer.on('exeDownloadErr', () => {
document.getElementById('label').innerHTML += '<br /><span style="font-family: monospace; background-color: red;">[ERROR DOWNLOADING FILE / FILE CORRUPTED (SHA256) / NOT ON WINDOWS]</span>';
document.getElementById('title').innerHTML = 'ERROR';
});
ipcRenderer.on('exeGenErr', () => {
document.getElementById('label').innerHTML += '<br /><span style="font-family: monospace; background-color: red;">[ERROR GENERATING FILE / FILE CORRUPTED (SHA256) / NOT ON WINDOWS]</span>';
document.getElementById('title').innerHTML = 'ERROR';
});
ipcRenderer.on('stdout', (event, data) => {
document.getElementById('label').innerHTML += ('<br /><span style="font-family: monospace; background-color: black;">' + String(data).replace('"', '').replace('Y', '<span class=oppositec>').replace('Z', '</span>') + '</span>');
});
ipcRenderer.on('stderr', (event, data) => {
document.getElementById('label').innerHTML += ('<br /><span style="font-family: monospace; background-color: red;">' + String(data) + '</span>');
});
</script>
</html>

@ -0,0 +1,64 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/dist.css" rel="stylesheet">
<title>Univator</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center text-white" bg-[url('../../img/bground1.jpg')]>
<div class="ml-auto mr-auto">
<div class="min-w-[60vw] rounded-3xl flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 w-5/6 items-center justify-center text-center max-w-3/4">
<p class="text-3xl pb-10 font-extrabold tracking-wide" id="title">Generate Activation Request Ticket</p>
<div class="text-center text-white" id="okdiv">
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ok">Generate →</button>
</div>
<textarea class="rounded-2xl text-sm monospace bg-white text-black hidden" id="txtbox" cols="55" rows="15" style="font-family: monospace; display: none; margin-left: auto; margin-right: auto;">[GENERATED TICKET WILL APPEAR HERE]</textarea>
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope] hidden" id="next" onclick="location.href = './done.html';">Install Ticket and Activate Windows (Permanent) →<p class="text-[0.5rem] md:text-xs">admin required</p></button>
</div>
</div>
</div>
</div>
</body>
<script>
const { ipcRenderer } = require('electron');
const txtbox = document.getElementById('txtbox');
const okbut = document.getElementById('ok');
const nextbut = document.getElementById('next');
okbut.addEventListener('click', () => {
ipcRenderer.send('genTicket');
okbut.style.display = 'none';
});
ipcRenderer.on('ticketout', (event, ticket) => {
txtbox.textContent = String(ticket).toString();
console.log(ticket);
nextbut.style.display = 'block';
txtbox.style.display = 'block';
});
nextbut.addEventListener('click', () => {
ipcRenderer.send('installTicket');
})
</script>
</html>

@ -0,0 +1,51 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/dist.css" rel="stylesheet">
<title>Univator</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center text-white" bg-[url('../../img/bground1.jpg')]>
<div class="md:max-w-[90vw] ml-auto mr-auto">
<div class="min-w-[60vw] rounded-3xl flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 items-center justify-center text-center">
<p class="text-3xl pb-10 font-extrabold tracking-wide">Select your version of windows</p>
<div class="items-center text-center justify-center text-white">
<div class="kmscontainer text-center w-full">
<div class="windows px-2">
<button type="button" class="rounded-xl w-full bg-mycol2 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href='edt.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="../img/win11.png">windows 11</button>
</div>
<div class="office px-2">
<button type="button" class="rounded-xl w-full bg-mycol2 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" onclick="location.href='edt.html';"><img class="w-4/5 ml-auto mr-auto pb-7" src="../img/win10.png">windows 10</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = '../windows/index.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>
</div>
</body>
</html>

@ -0,0 +1,55 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/dist.css" rel="stylesheet">
<title>Univator</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<div class="flex min-h-[100vh] justify-center items-center text-white" bg-[url('../../img/bground1.jpg')]>
<div class="md:max-w-[70vw] ml-auto mr-auto">
<div class="min-w-[60vw] rounded-3xl flex flex-wrap sm:flex-nowrap items-center py-10 sm:py-100 px-8 pb-10 justify-center text-center">
<div class="my-5 md:w-2/3 items-center justify-center text-center">
<p class="text-3xl pb-10 font-extrabold tracking-wide">Install Retail Product Key</p>
<p class="text-md md:text-xl font-normal tracking-wide pb-10">Next we need to install a generic retail product key to make sure windows is not in volume or oem mode</p>
<div class="text-center text-white">
<button type="button" class="rounded-xl w-full bg-indigo-900 my-2 py-5 my-2 px-5 text-sm md:text-xl font-bold tracking-wide justify-center items-center font-[manrope]" id="ok">Install Product Key →<p class="text-[0.5rem] md:text-xs">admin required</p></button>
</div>
</div>
</div>
</div>
<div class="text-white bold fixed bottom-4 flex flex-row flex-wrap sm:flex-nowrap items-center mx-50 justify-center ml-auto mr-auto mx-100 px-2 pt-100 text-md bg-purple md:bg-transparent">
<button type="button" class="redir outline rounded-md py-1 md:py-3 bg-mycol2 px-3 md:px-7 outline-0 outline-white hover:bg-indigo-900 mx-2" onclick="location.href = './edt.html';">
<span class="hidden md:inline">Back</span>
</button>
</div>
</div>
</body>
<script>
const { ipcRenderer } = require('electron');
document.getElementById('ok').addEventListener("click", function(){
ipcRenderer.send("runIpk");
location.href='./genticket.html';
});
</script>
</html>
Loading…
Cancel
Save