diff --git a/app.js b/app.js new file mode 100644 index 0000000..f02ba9f --- /dev/null +++ b/app.js @@ -0,0 +1,113 @@ +document.addEventListener("DOMContentLoaded", function() { + particlesJS('particles-js', { + "particles": { + "number": { + "value": 80, + "density": { + "enable": true, + "value_area": 800 + } + }, + "color": { + "value": "#cba6f7" + }, + "shape": { + "type": "circle", + "stroke": { + "width": 0, + "color": "#000000" + }, + "polygon": { + "nb_sides": 5 + }, + "image": { + "src": "img/github.svg", + "width": 100, + "height": 100 + } + }, + "opacity": { + "value": 1, + "random": false, + "anim": { + "enable": false, + "speed": 1, + "opacity_min": 0.1, + "sync": false + } + }, + "size": { + "value": 6, + "random": true, + "anim": { + "enable": false, + "speed": 0, + "size_min": 0.1, + "sync": false + } + }, + "line_linked": { + "enable": false, + "distance": 150, + "color": "#ffffff", + "opacity": 0.4, + "width": 1 + }, + "move": { + "enable": true, + "speed": 2, + "direction": "left", + "random": false, + "straight": false, + "out_mode": "out", + "bounce": false, + "attract": { + "enable": false, + "rotateX": 600, + "rotateY": 1200 + } + } + }, + "interactivity": { + "detect_on": "canvas", + "events": { + "onhover": { + "enable": false, + "mode": "grab" + }, + "onclick": { + "enable": false, + "mode": "remove" + }, + "resize": true + }, + "modes": { + "grab": { + "distance": 150, + "line_linked": { + "opacity": 1 + } + }, + "bubble": { + "distance": 400, + "size": 40, + "duration": 2, + "opacity": 8, + "speed": 3 + }, + "repulse": { + "distance": 200, + "duration": 0.4 + }, + "push": { + "particles_nb": 4 + }, + "remove": { + "particles_nb": 2 + } + } + }, + "selector": ".header", + "retina_detect": true + }); +}); diff --git a/builder/root/usr/sbin/factory_install.sh b/builder/root/usr/sbin/factory_install.sh index 8082dc6..1cbf177 100755 --- a/builder/root/usr/sbin/factory_install.sh +++ b/builder/root/usr/sbin/factory_install.sh @@ -69,7 +69,7 @@ credits(){ echo "TPMD: $tpmdaemon" echo "-=-=-=-=-=-=-=-=-=-=-" echo "kxtzownsu - Writing KVS, Providing kernver 0 & kernver 1 files." - echo "crossystem - Providing kernver 2 files." + echo "planetearth1363 - Providing kernver 2 files." echo "miimaker - Providing kernver 3 files." echo "OlyB - Helping me figure out the shim builder, seriously, thanks." echo "Google - Writing the 'tpmc' command :3" diff --git a/index.html b/index.html new file mode 100644 index 0000000..e45c86c --- /dev/null +++ b/index.html @@ -0,0 +1,52 @@ + + + + KVS - Kernel Version Switcher + + + + + +
+
+

KVS

+

Kernel Version Switcher

+
+
+
+

What is KVS?

+

KVS is a side project of mine that will change your current tpm_kernver to ANY version between 0 and 3.

+

This works using the hexdumps of 0x1008 (kernver TPM index) and tpmc to write the hexdumps of your selected kernver to the 0x1008 TPM index.

+
+
+

How do I use this?

+

To use KVS, you must download your shim from kxtz' shim mirror

+

After downloading, flash your USB/SD with the file, I recommend Chrome Recovery Utility.

+
+
+

FAQ

+

Q: Will this brick my device?

+

A: No, KVS has no way to permanantly brick / hard brick a device. At most, it will make ChromeOS stop booting, but you will still be able to boot shims to recover the kernver index.

+

Q: What kernvers are there?

+

A: There are 4 valid kernvers, 0, 1, 2, and 3.

+

Q: What versions can I downgrade to with kernver _

+

A: Heres what versions you can downgrade to with each kernver

+

kernver 0: any

+

kernver 1: any

+

kernver 2: 112 - 119

+

kernver 3: 120 - latest

+

Q: What is the difference between kernver 0 and kernver 1?

+

A: Both kernver 0 and kernver 1 can downgrade to any version, but kernver 0 doesn't get overriden if you recover to a newer version.

+
+
+

Credits

+

kxtzownsu - Writing KVS, Providing kernver 0 & kernver 1 files.

+

planetearth1363 - Providing kernver 2 files

+

miimaker - Providing kernver 3 files

+

OlyB - Helping me with the shim builder, most of the shim builder wouldn't exist without him.

+

Google - Writing the tpmc command :3

+
+
+
+ + \ No newline at end of file diff --git a/particles.json b/particles.json new file mode 100644 index 0000000..c24e693 --- /dev/null +++ b/particles.json @@ -0,0 +1,110 @@ +{ + "particles": { + "number": { + "value": 80, + "density": { + "enable": true, + "value_area": 800 + } + }, + "color": { + "value": "#cba6f7" + }, + "shape": { + "type": "circle", + "stroke": { + "width": 0, + "color": "#000000" + }, + "polygon": { + "nb_sides": 5 + }, + "image": { + "src": "img/github.svg", + "width": 100, + "height": 100 + } + }, + "opacity": { + "value": 1, + "random": false, + "anim": { + "enable": false, + "speed": 1, + "opacity_min": 0.1, + "sync": false + } + }, + "size": { + "value": 6, + "random": true, + "anim": { + "enable": false, + "speed": 0, + "size_min": 0.1, + "sync": false + } + }, + "line_linked": { + "enable": false, + "distance": 150, + "color": "#ffffff", + "opacity": 0.4, + "width": 1 + }, + "move": { + "enable": true, + "speed": 2, + "direction": "left", + "random": false, + "straight": false, + "out_mode": "out", + "bounce": false, + "attract": { + "enable": false, + "rotateX": 600, + "rotateY": 1200 + } + } + }, + "interactivity": { + "detect_on": "canvas", + "events": { + "onhover": { + "enable": false, + "mode": "grab" + }, + "onclick": { + "enable": false, + "mode": "remove" + }, + "resize": true + }, + "modes": { + "grab": { + "distance": 150, + "line_linked": { + "opacity": 1 + } + }, + "bubble": { + "distance": 400, + "size": 40, + "duration": 2, + "opacity": 8, + "speed": 3 + }, + "repulse": { + "distance": 200, + "duration": 0.4 + }, + "push": { + "particles_nb": 4 + }, + "remove": { + "particles_nb": 2 + } + } + }, + "retina_detect": true +} \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..4f90782 --- /dev/null +++ b/style.css @@ -0,0 +1,64 @@ +@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk&family=Sofia+Sans&family=Exo:wght@500&display=swap"); + +body { + position: relative; + background-color: #1b1b29; + color: #cba6f7; + margin: 0; + padding: 0; + font-family: "Exo", sans-serif; + text-align: center; + justify-content: center; + align-items: center; + min-height: 100vh; +} + +code { + background-color: #11111b; + color: #a6e3a1; + padding: 0.2%; +} + +.header { + position: relative; + margin: 0; + width: 100%; + text-align: center; + color: #cba6f7; + background-color: #1e1e2e; +} + +.header h1 { + font-size: 10vw; + padding-top: 3%; + margin: 0; + font-family: "Sofia Sans", sans-serif; +} + +.header p{ + padding-bottom: 3%; +} + +h3 { + font-family: "Space Grotesk", monospace; + font-size: 50px; +} + +.main { + background-color: #1b1b29; + height: 100vh; + margin-left: 3%; + margin-right: 3%; + margin-bottom: 3%; +} + +#particles-js { + position: absolute; + top: 0; + left: 0; + width: 100%; /* Match width of .header */ + height: 100%; /* Match height of .header */ + padding: 0; + z-index: -1; + background-color: transparent; +}