├── .github
├── FUNDING.yml
└── workflows
│ └── compile.yml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── assets
├── bootstrap-icons.woff
├── bootstrap-icons.woff2
├── crash.png
├── defaultbanner.png
├── defaultmod.png
├── icon.png
├── icon.svg
├── installations.png
├── tags
│ ├── cosmetic.png
│ ├── developer.png
│ ├── editor.png
│ ├── enhancements.png
│ ├── gameplay.png
│ └── utility.png
├── templatemod.png
└── windowicon.png
├── build
├── icon.ico
├── installerSidebar.bmp
├── installerer.nsh
└── uninstallerSidebar.bmp
├── package.json
├── src
├── crash.css
├── crash.css.map
├── crash.html
├── crash.scss
├── index.css
├── index.css.map
├── index.html
├── index.js
├── index.scss
├── modal.js
├── page.js
└── setup.js
├── todo.md
└── yarn.lock
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 | ko_fi: gdjumpstart
3 |
--------------------------------------------------------------------------------
/.github/workflows/compile.yml:
--------------------------------------------------------------------------------
1 | name: JumpStart Compiler
2 | run-name: Compile for Windows
3 | on: [push]
4 | jobs:
5 | Compile:
6 | runs-on: windows-latest
7 | steps:
8 | - uses: actions/checkout@v3
9 | - uses: actions/setup-node@v3
10 | with:
11 | node-version: '18.x'
12 | - name: Get Package Version
13 | uses: rexdefuror/read-package-json@v1.0.5
14 | - name: Install Packages
15 | run: npm install
16 | - name: Compile Binary
17 | run: npm run build
18 | - name: Create Release
19 | uses: svenstaro/upload-release-action@v2
20 | with:
21 | repo_token: ${{ secrets.GITHUB_TOKEN }}
22 | file: ./dist/JumpStart Setup ${{ env.PACKAGE_VERSION }}.exe
23 | asset_name: JumpStart_Setup.exe
24 | tag: v${{ env.PACKAGE_VERSION }}-Win
25 | prerelease: true
26 | overwrite: true
27 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 |
9 | # Settings Files
10 | .git
11 | .vscode
12 |
13 | # Diagnostic reports (https://nodejs.org/api/report.html)
14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
15 |
16 | # Runtime data
17 | pids
18 | *.pid
19 | *.seed
20 | *.pid.lock
21 | .DS_Store
22 |
23 | # Directory for instrumented libs generated by jscoverage/JSCover
24 | lib-cov
25 |
26 | # Coverage directory used by tools like istanbul
27 | coverage
28 | *.lcov
29 |
30 | # nyc test coverage
31 | .nyc_output
32 |
33 | # node-waf configuration
34 | .lock-wscript
35 |
36 | # Compiled binary addons (https://nodejs.org/api/addons.html)
37 | build/Release
38 |
39 | # Dependency directories
40 | node_modules/
41 | jspm_packages/
42 |
43 | # TypeScript v1 declaration files
44 | typings/
45 |
46 | # TypeScript cache
47 | *.tsbuildinfo
48 |
49 | # Optional npm cache directory
50 | .npm
51 |
52 | # Optional eslint cache
53 | .eslintcache
54 |
55 | # Optional REPL history
56 | .node_repl_history
57 |
58 | # Output of 'npm pack'
59 | *.tgz
60 |
61 | # Yarn Integrity file
62 | .yarn-integrity
63 |
64 | # dotenv environment variables file
65 | .env
66 | .env.test
67 |
68 | # parcel-bundler cache (https://parceljs.org/)
69 | .cache
70 |
71 | # next.js build output
72 | .next
73 |
74 | # nuxt.js build output
75 | .nuxt
76 |
77 | # vuepress build output
78 | .vuepress/dist
79 |
80 | # Serverless directories
81 | .serverless/
82 |
83 | # FuseBox cache
84 | .fusebox/
85 |
86 | # DynamoDB Local files
87 | .dynamodb/
88 |
89 | # Webpack
90 | .webpack/
91 |
92 | # Electron-Forge
93 | out/
94 |
95 | # Electron-Builder
96 | dist/
97 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity
10 | and orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the
26 | overall community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards of
42 | acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies when
54 | an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail address,
56 | posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at
63 | williambush357@gmail.com.
64 | All complaints will be reviewed and investigated promptly and fairly.
65 |
66 | All community leaders are obligated to respect the privacy and security of the
67 | reporter of any incident.
68 |
69 | ## Enforcement Guidelines
70 |
71 | Community leaders will follow these Community Impact Guidelines in determining
72 | the consequences for any action they deem in violation of this Code of Conduct:
73 |
74 | ### 1. Correction
75 |
76 | **Community Impact**: Use of inappropriate language or other behavior deemed
77 | unprofessional or unwelcome in the community.
78 |
79 | **Consequence**: A private, written warning from community leaders, providing
80 | clarity around the nature of the violation and an explanation of why the
81 | behavior was inappropriate. A public apology may be requested.
82 |
83 | ### 2. Warning
84 |
85 | **Community Impact**: A violation through a single incident or series
86 | of actions.
87 |
88 | **Consequence**: A warning with consequences for continued behavior. No
89 | interaction with the people involved, including unsolicited interaction with
90 | those enforcing the Code of Conduct, for a specified period of time. This
91 | includes avoiding interactions in community spaces as well as external channels
92 | like social media. Violating these terms may lead to a temporary or
93 | permanent ban.
94 |
95 | ### 3. Temporary Ban
96 |
97 | **Community Impact**: A serious violation of community standards, including
98 | sustained inappropriate behavior.
99 |
100 | **Consequence**: A temporary ban from any sort of interaction or public
101 | communication with the community for a specified period of time. No public or
102 | private interaction with the people involved, including unsolicited interaction
103 | with those enforcing the Code of Conduct, is allowed during this period.
104 | Violating these terms may lead to a permanent ban.
105 |
106 | ### 4. Permanent Ban
107 |
108 | **Community Impact**: Demonstrating a pattern of violation of community
109 | standards, including sustained inappropriate behavior, harassment of an
110 | individual, or aggression toward or disparagement of classes of individuals.
111 |
112 | **Consequence**: A permanent ban from any sort of public interaction within
113 | the community.
114 |
115 | ## Attribution
116 |
117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118 | version 2.0, available at
119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120 |
121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct
122 | enforcement ladder](https://github.com/mozilla/diversity).
123 |
124 | [homepage]: https://www.contributor-covenant.org
125 |
126 | For answers to common questions about this code of conduct, see the FAQ at
127 | https://www.contributor-covenant.org/faq. Translations are available at
128 | https://www.contributor-covenant.org/translations.
129 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Creative Commons Legal Code
2 |
3 | CC0 1.0 Universal
4 |
5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12 | HEREUNDER.
13 |
14 | Statement of Purpose
15 |
16 | The laws of most jurisdictions throughout the world automatically confer
17 | exclusive Copyright and Related Rights (defined below) upon the creator
18 | and subsequent owner(s) (each and all, an "owner") of an original work of
19 | authorship and/or a database (each, a "Work").
20 |
21 | Certain owners wish to permanently relinquish those rights to a Work for
22 | the purpose of contributing to a commons of creative, cultural and
23 | scientific works ("Commons") that the public can reliably and without fear
24 | of later claims of infringement build upon, modify, incorporate in other
25 | works, reuse and redistribute as freely as possible in any form whatsoever
26 | and for any purposes, including without limitation commercial purposes.
27 | These owners may contribute to the Commons to promote the ideal of a free
28 | culture and the further production of creative, cultural and scientific
29 | works, or to gain reputation or greater distribution for their Work in
30 | part through the use and efforts of others.
31 |
32 | For these and/or other purposes and motivations, and without any
33 | expectation of additional consideration or compensation, the person
34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she
35 | is an owner of Copyright and Related Rights in the Work, voluntarily
36 | elects to apply CC0 to the Work and publicly distribute the Work under its
37 | terms, with knowledge of his or her Copyright and Related Rights in the
38 | Work and the meaning and intended legal effect of CC0 on those rights.
39 |
40 | 1. Copyright and Related Rights. A Work made available under CC0 may be
41 | protected by copyright and related or neighboring rights ("Copyright and
42 | Related Rights"). Copyright and Related Rights include, but are not
43 | limited to, the following:
44 |
45 | i. the right to reproduce, adapt, distribute, perform, display,
46 | communicate, and translate a Work;
47 | ii. moral rights retained by the original author(s) and/or performer(s);
48 | iii. publicity and privacy rights pertaining to a person's image or
49 | likeness depicted in a Work;
50 | iv. rights protecting against unfair competition in regards to a Work,
51 | subject to the limitations in paragraph 4(a), below;
52 | v. rights protecting the extraction, dissemination, use and reuse of data
53 | in a Work;
54 | vi. database rights (such as those arising under Directive 96/9/EC of the
55 | European Parliament and of the Council of 11 March 1996 on the legal
56 | protection of databases, and under any national implementation
57 | thereof, including any amended or successor version of such
58 | directive); and
59 | vii. other similar, equivalent or corresponding rights throughout the
60 | world based on applicable law or treaty, and any national
61 | implementations thereof.
62 |
63 | 2. Waiver. To the greatest extent permitted by, but not in contravention
64 | of, applicable law, Affirmer hereby overtly, fully, permanently,
65 | irrevocably and unconditionally waives, abandons, and surrenders all of
66 | Affirmer's Copyright and Related Rights and associated claims and causes
67 | of action, whether now known or unknown (including existing as well as
68 | future claims and causes of action), in the Work (i) in all territories
69 | worldwide, (ii) for the maximum duration provided by applicable law or
70 | treaty (including future time extensions), (iii) in any current or future
71 | medium and for any number of copies, and (iv) for any purpose whatsoever,
72 | including without limitation commercial, advertising or promotional
73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
74 | member of the public at large and to the detriment of Affirmer's heirs and
75 | successors, fully intending that such Waiver shall not be subject to
76 | revocation, rescission, cancellation, termination, or any other legal or
77 | equitable action to disrupt the quiet enjoyment of the Work by the public
78 | as contemplated by Affirmer's express Statement of Purpose.
79 |
80 | 3. Public License Fallback. Should any part of the Waiver for any reason
81 | be judged legally invalid or ineffective under applicable law, then the
82 | Waiver shall be preserved to the maximum extent permitted taking into
83 | account Affirmer's express Statement of Purpose. In addition, to the
84 | extent the Waiver is so judged Affirmer hereby grants to each affected
85 | person a royalty-free, non transferable, non sublicensable, non exclusive,
86 | irrevocable and unconditional license to exercise Affirmer's Copyright and
87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the
88 | maximum duration provided by applicable law or treaty (including future
89 | time extensions), (iii) in any current or future medium and for any number
90 | of copies, and (iv) for any purpose whatsoever, including without
91 | limitation commercial, advertising or promotional purposes (the
92 | "License"). The License shall be deemed effective as of the date CC0 was
93 | applied by Affirmer to the Work. Should any part of the License for any
94 | reason be judged legally invalid or ineffective under applicable law, such
95 | partial invalidity or ineffectiveness shall not invalidate the remainder
96 | of the License, and in such case Affirmer hereby affirms that he or she
97 | will not (i) exercise any of his or her remaining Copyright and Related
98 | Rights in the Work or (ii) assert any associated claims and causes of
99 | action with respect to the Work, in either case contrary to Affirmer's
100 | express Statement of Purpose.
101 |
102 | 4. Limitations and Disclaimers.
103 |
104 | a. No trademark or patent rights held by Affirmer are waived, abandoned,
105 | surrendered, licensed or otherwise affected by this document.
106 | b. Affirmer offers the Work as-is and makes no representations or
107 | warranties of any kind concerning the Work, express, implied,
108 | statutory or otherwise, including without limitation warranties of
109 | title, merchantability, fitness for a particular purpose, non
110 | infringement, or the absence of latent or other defects, accuracy, or
111 | the present or absence of errors, whether or not discoverable, all to
112 | the greatest extent permissible under applicable law.
113 | c. Affirmer disclaims responsibility for clearing rights of other persons
114 | that may apply to the Work or any use thereof, including without
115 | limitation any person's Copyright and Related Rights in the Work.
116 | Further, Affirmer disclaims responsibility for obtaining any necessary
117 | consents, permissions or other rights required for any use of the
118 | Work.
119 | d. Affirmer understands and acknowledges that Creative Commons is not a
120 | party to this document and has no duty or obligation with respect to
121 | this CC0 or use of the Work.
122 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Manual Setup
2 | Only use this guide if the client won't run setup properly.
3 |
4 | ## Setting Directories
5 | You'll need the client open for this.
6 | 1. Press `Ctrl + Shift + I`
7 | 2. Select the `Console` tab
8 | 3. Type `storage.GDDIR = "{Your Geometry Dash Directory (e.g. C:/Program Files (x86)/Steam/steamapps/common/Geometry Dash)}"` (Make sure you replace all instances of "\\" with "/")
9 | 4. Type `storage.GDEXE = "{Your Geometry Dash Executable (e.g. GeometryDash.exe)}"` (Make sure you replace all instances of "\\" with "/")
10 |
11 | ## Installing
12 | All mentions of files will be in your Geometry Dash Directory.
13 | 1. Download https://cdn.discordapp.com/attachments/837026406282035300/859008315413626920/quickldr-v1.1.zip
14 | 2. Rename `libcurl.dll` to `libcurl.dll.bak` (used for restoring your original GD Installation)
15 | 3. Unpack `quickldr-v1.1.zip`
16 | 4. Create a `quickldr` folder
17 | 5. Create a `settings.txt` file inside of the `quickldr` folder
18 | 6. Download https://cdn.discordapp.com/attachments/837026406282035300/856484662028795924/minhook.x32.dll
19 | 7. Move `minhook.x32.dll` to your Geometry Dash Directory
20 |
21 | ## MegaHack Support
22 | You'll need the client open for this
23 | 1. Press `Ctrl + Shift + I`
24 | 2. Select the `Console` tab
25 | 3. If you have MegaHack, type `storage.MHV7 = true`
26 | 4. Otherwise, type `storage.MHV7 = false`
27 |
28 | ## Installing Mods
29 | This section is only for users who aren't using the client.
30 | 1. Open the `quickldr` folder
31 | 2. Move your selected mod file into the `quickldr` folder
32 | 3. In your `settings.txt` file inside of the `quickldr` folder, type the name of the mod. (e.g. GDShare-v0.3.4.dll)
33 |
--------------------------------------------------------------------------------
/assets/bootstrap-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/bootstrap-icons.woff
--------------------------------------------------------------------------------
/assets/bootstrap-icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/bootstrap-icons.woff2
--------------------------------------------------------------------------------
/assets/crash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/crash.png
--------------------------------------------------------------------------------
/assets/defaultbanner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/defaultbanner.png
--------------------------------------------------------------------------------
/assets/defaultmod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/defaultmod.png
--------------------------------------------------------------------------------
/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/icon.png
--------------------------------------------------------------------------------
/assets/icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/installations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/installations.png
--------------------------------------------------------------------------------
/assets/tags/cosmetic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/tags/cosmetic.png
--------------------------------------------------------------------------------
/assets/tags/developer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/tags/developer.png
--------------------------------------------------------------------------------
/assets/tags/editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/tags/editor.png
--------------------------------------------------------------------------------
/assets/tags/enhancements.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/tags/enhancements.png
--------------------------------------------------------------------------------
/assets/tags/gameplay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/tags/gameplay.png
--------------------------------------------------------------------------------
/assets/tags/utility.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/tags/utility.png
--------------------------------------------------------------------------------
/assets/templatemod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/templatemod.png
--------------------------------------------------------------------------------
/assets/windowicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/assets/windowicon.png
--------------------------------------------------------------------------------
/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/build/icon.ico
--------------------------------------------------------------------------------
/build/installerSidebar.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/build/installerSidebar.bmp
--------------------------------------------------------------------------------
/build/installerer.nsh:
--------------------------------------------------------------------------------
1 | !macro customInstall
2 | DetailPrint "Register jumpstart URI Handler"
3 | DeleteRegKey HKCR "jumpstart"
4 | WriteRegStr HKCR "jumpstart" "" "URL:jumpstart"
5 | WriteRegStr HKCR "jumpstart" "EveHQ NG SSO authentication Protocol" ""
6 | WriteRegStr HKCR "jumpstart\DefaultIcon" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME}"
7 | WriteRegStr HKCR "jumpstart\shell" "" ""
8 | WriteRegStr HKCR "jumpstart\shell\Open" "" ""
9 | WriteRegStr HKCR "jumpstart\shell\Open\command" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME} %1"
10 | !macroend
--------------------------------------------------------------------------------
/build/uninstallerSidebar.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GD-JumpStart/Application/d2877141c85b7f11082c01047dda53a71587a7ae/build/uninstallerSidebar.bmp
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jumpstart",
3 | "productName": "JumpStart",
4 | "version": "0.4.1",
5 | "description": "Mod Manager and Installer for Geometry Dash",
6 | "main": "src/index.js",
7 | "scripts": {
8 | "start": "electron .",
9 | "build": "electron-builder build -w -p never"
10 | },
11 | "keywords": [],
12 | "author": {
13 | "name": "KontrollFreek",
14 | "email": "williambush357@gmail.com"
15 | },
16 | "build": {
17 | "appId": "dev.kontroll.jumpstart",
18 | "win": {
19 | "target": "nsis"
20 | },
21 | "mac": {
22 | "target": "pkg"
23 | },
24 | "linux": {
25 | "target": "rpm"
26 | },
27 | "nsis": {
28 | "oneClick": false,
29 | "perMachine": true,
30 | "allowToChangeInstallationDirectory": true
31 | },
32 | "protocols": [
33 | {
34 | "name": "jumpstart",
35 | "role": "Viewer",
36 | "schemes": [
37 | "jumpstart"
38 | ]
39 | }
40 | ]
41 | },
42 | "license": "MIT",
43 | "dependencies": {
44 | "decompress": "^4.2.1",
45 | "markdown-it": "^13.0.1",
46 | "url-exist": "^3.0.1"
47 | },
48 | "devDependencies": {
49 | "electron": "^19.0.10",
50 | "electron-builder": "^23.3.3"
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/crash.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: "bootstrap-icons";
3 | src: url("../assets/bootstrap-icons.woff2") format("woff2"), url("../assets/bootstrap-icons.woff") format("woff");
4 | font-weight: normal;
5 | font-style: normal;
6 | font-display: swap;
7 | }
8 | @font-face {
9 | font-family: "bootstrap-icons";
10 | src: url("../assets/bootstrap-icons.woff2") format("woff2"), url("../assets/bootstrap-icons.woff") format("woff");
11 | font-weight: normal;
12 | font-style: normal;
13 | font-display: swap;
14 | }
15 | body {
16 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "bootstrap-icons";
17 | margin: 0px;
18 | background: #212529;
19 | color: #fff;
20 | display: flex;
21 | flex-direction: row;
22 | align-items: flex-end;
23 | justify-content: flex-start;
24 | overflow: hidden;
25 | height: 100vh;
26 | }
27 |
28 | nav {
29 | height: 30px;
30 | position: absolute;
31 | top: 0px;
32 | left: 0px;
33 | right: 0px;
34 | display: flex;
35 | align-items: center;
36 | justify-content: space-between;
37 | -webkit-app-region: drag;
38 | }
39 | nav span {
40 | display: flex;
41 | align-items: center;
42 | padding: 0px 10px;
43 | z-index: 10;
44 | }
45 | nav #controls {
46 | padding: 0px;
47 | }
48 | nav #controls div {
49 | z-index: 1;
50 | background: rgba(0, 0, 0, 0);
51 | color: rgba(255, 255, 255, 0.5333333333);
52 | width: 50px;
53 | height: 30px;
54 | border: none;
55 | -webkit-app-region: no-drag;
56 | cursor: pointer;
57 | display: flex;
58 | justify-content: center;
59 | align-items: center;
60 | }
61 | nav #controls div:hover {
62 | background: rgba(255, 255, 255, 0.0666666667);
63 | color: rgba(255, 255, 255, 0.6);
64 | }
65 | nav #controls div:active {
66 | background: rgba(255, 255, 255, 0.1333333333);
67 | color: rgba(255, 255, 255, 0.6666666667);
68 | }
69 | nav #controls div#close {
70 | transition: 100ms;
71 | }
72 | nav #controls div#close:hover {
73 | background: #f33;
74 | transition: 100ms;
75 | color: #fff;
76 | }
77 | nav #controls div#close:active {
78 | background: #f33;
79 | color: #fff;
80 | }
81 |
82 | main {
83 | border-top-left-radius: 0px;
84 | overflow-y: auto;
85 | overflow-x: hidden;
86 | height: calc(100vh - 33px);
87 | width: 100vw;
88 | background: #121313;
89 | border-top: 3px solid #121313;
90 | scroll-behavior: smooth;
91 | }
92 | main center {
93 | display: flex;
94 | justify-content: center;
95 | align-items: center;
96 | }
97 | main center img {
98 | width: 50%;
99 | min-width: 500px;
100 | max-width: 700px;
101 | margin-bottom: 40px;
102 | }
103 | main .muted {
104 | color: #6c757d;
105 | }
106 | main * {
107 | transition: opacity 200ms ease-in-out;
108 | }
109 |
110 | h1,
111 | h2,
112 | h3,
113 | h4,
114 | h5,
115 | h6,
116 | p {
117 | margin: 0px;
118 | }
119 |
120 | a {
121 | color: #0dcaf0;
122 | text-decoration: none;
123 | }
124 | a:hover {
125 | text-decoration: underline;
126 | }
127 |
128 | loading {
129 | min-width: 20px;
130 | min-height: 20px;
131 | border: 3px solid #212529;
132 | border-top: 3px solid #343a40;
133 | border-radius: 50%;
134 | animation: 2s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95) spinner;
135 | transition: opacity 200ms ease-in-out;
136 | }
137 |
138 | @keyframes spinner {
139 | 0% {
140 | transform: rotate(0deg);
141 | }
142 | 25% {
143 | transform: rotate(30deg);
144 | }
145 | 75% {
146 | transform: rotate(330deg);
147 | }
148 | 100% {
149 | transform: rotate(360deg);
150 | }
151 | }
152 | #modalcontainer {
153 | position: absolute;
154 | inset: 0px;
155 | background: rgba(0, 0, 0, 0.5333333333);
156 | opacity: 0;
157 | transition: 200ms ease-out;
158 | display: none;
159 | justify-content: center;
160 | align-items: center;
161 | z-index: 1;
162 | }
163 | #modalcontainer #modal {
164 | padding: 0px 10px;
165 | background: #212529;
166 | border-radius: 10px;
167 | max-height: calc(100vh - 40px);
168 | max-width: calc(100vw - 40px);
169 | opacity: 0;
170 | transition: opacity 200ms ease-out;
171 | width: 500px;
172 | display: flex;
173 | flex-direction: column;
174 | }
175 | #modalcontainer #modal #topsection {
176 | padding: 10px 0px 10px 10px;
177 | margin-bottom: 10px;
178 | border-bottom: 1px #343a40 solid;
179 | display: flex;
180 | justify-content: space-between;
181 | align-items: center;
182 | }
183 | #modalcontainer #modal #topsection button {
184 | border: none;
185 | background: transparent;
186 | color: rgba(255, 255, 255, 0.5333333333);
187 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "bootstrap-icons";
188 | font-size: 24px;
189 | cursor: pointer;
190 | padding: 8px;
191 | margin-left: 20px;
192 | height: 40px;
193 | width: 40px;
194 | display: flex;
195 | justify-content: center;
196 | align-items: center;
197 | }
198 | #modalcontainer #modal #topsection button:hover {
199 | color: rgba(255, 255, 255, 0.8);
200 | }
201 | #modalcontainer #modal main {
202 | all: revert;
203 | }
204 |
205 | *:not(code, pre) {
206 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "bootstrap-icons";
207 | }
208 |
209 | *::-webkit-scrollbar {
210 | width: 12px;
211 | border-radius: 6px;
212 | }
213 |
214 | *::-webkit-scrollbar-track {
215 | background: #121313;
216 | border-radius: 6px;
217 | }
218 |
219 | *::-webkit-scrollbar-thumb {
220 | background: #212529;
221 | border-radius: 6px;
222 | border: 2px solid #121313;
223 | }
224 | *::-webkit-scrollbar-thumb:hover {
225 | background: #343a40;
226 | }
227 |
228 | *:focus-visible {
229 | outline: 2px solid #0dcaf0;
230 | border-radius: 4px;
231 | transition: 0s ease-in-out;
232 | }
233 |
234 | context {
235 | position: absolute;
236 | display: flex;
237 | flex-direction: column;
238 | z-index: 3;
239 | background: #121313;
240 | border-radius: 8px;
241 | display: none;
242 | box-shadow: 7px 7px 12px rgba(0, 0, 0, 0.4);
243 | }
244 | context button {
245 | border: none;
246 | height: 30px;
247 | width: 90px;
248 | background: transparent;
249 | color: #fff;
250 | cursor: pointer;
251 | }
252 | context button:first-child {
253 | border-top-left-radius: 8px;
254 | border-top-right-radius: 8px;
255 | }
256 | context button:last-child {
257 | border-bottom-left-radius: 8px;
258 | border-bottom-right-radius: 8px;
259 | }
260 | context button:hover {
261 | background: rgba(33, 37, 41, 0.4980392157);
262 | }
263 | context button:hover#del {
264 | background: #dc3545;
265 | }
266 |
267 | button.style,
268 | label.button {
269 | border: 1px solid #495057;
270 | border-radius: 8px;
271 | background: #343a40;
272 | color: #fff;
273 | transition: background 200ms ease-in-out;
274 | cursor: pointer;
275 | padding: 7px 13px;
276 | font-size: 13px;
277 | min-width: 60px;
278 | }
279 | button.style.blue,
280 | label.button.blue {
281 | background: #0d6efd;
282 | }
283 | button.style.red,
284 | label.button.red {
285 | background: #dc3545;
286 | }
287 | button.style.disabled,
288 | label.button.disabled {
289 | opacity: 0.5;
290 | cursor: not-allowed;
291 | }
292 | button.style:hover:not(.disabled),
293 | label.button:hover:not(.disabled) {
294 | background: #495057;
295 | }
296 | button.style:hover:not(.disabled).blue,
297 | label.button:hover:not(.disabled).blue {
298 | background: #024dbc;
299 | }
300 | button.style:hover:not(.disabled).red,
301 | label.button:hover:not(.disabled).red {
302 | background: #bd2130;
303 | }/*# sourceMappingURL=crash.css.map */
--------------------------------------------------------------------------------
/src/crash.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["crash.scss","crash.css"],"names":[],"mappings":"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","file":"crash.css"}
--------------------------------------------------------------------------------
/src/crash.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | JumpStart
8 |
9 |
10 |
11 |
12 |
13 |
24 |
25 |
26 |
27 |
28 |
Woah now!
29 |
Looks like JumpStart ran into an error.
30 |
If this keeps happening, submit an issue on our GitHub to report the error.