EaglerForgeInjector/index.html

192 lines
6.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="EaglerForge Injector is a tool designed for modifying or injecting code into Eaglercraft clients, supporting 1.8 and 1.12.">
<link rel="canonical" href="https://eaglerforge.github.io/eaglerforgeinjector/">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_US">
<meta property="og:title" content="EaglerForge Injector - Modding API for Eaglercraft">
<meta property="og:url" content="https://eaglerforge.github.io/eaglerforgeinjector/">
<meta property="og:site_name" content="EaglerForge Injector - Modding API for Eaglercraft">
<meta property="og:image" content="http://eaglerforge.github.io/EaglerForgeInjector/res/EaglerForgeInjector.png">
<meta property="og:image:width" content="1024">
<meta property="og:image:height" content="1024">
<meta property="og:image:type" content="image/png">
<meta name="author" content="EaglerForge Team">
<title>Loading...</title>
<link
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"
rel="stylesheet"
/>
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
rel="stylesheet"
/>
<style>
body {
background-color: #2b2b2b;
color: #ffffff;
overflow-x: hidden;
overflow-y: scroll;
}
.container {
text-align: center;
margin-top: 50px;
}
.github-button-container {
position: absolute;
top: 10px;
right: 10px;
}
.github-button-container a.btn {
color: #ffffff;
border-color: #ffffff;
}
.github-button-container a.btn:hover {
background-color: #ffffff;
color: #000000;
}
#info {
text-align: left;
min-width: 50vw;
}
details {
text-align: left;
padding: 6px;
border-radius: 1rem;
background-color: rgba(0, 0, 0, 0.5);
margin-bottom: 1rem;
}
summary {
background-color: rgba(255, 255, 255, 0.1);
padding: 4px;
border-radius: 0.6rem;
padding-left: 8px;
}
h6 {
font-weight: normal;
}
</style>
</head>
<body>
<div class="container">
<h1>EaglerForge Injector</h1>
<div class="github-button-container">
<a
href="https://github.com/eaglerforge/EaglerForgeInjector"
class="btn btn-default"
target="_blank"
>
<i class="fab fa-github"></i> GitHub
</a>
</div>
<h6>
Adds ModAPI with more functionality (adds hooking into functions,
exposes all classes, etc) to unminified unobfuscated EaglercraftX
offline downloads (web support coming soon).
</h6>
<br />
<div class="custom-file mb-3">
<input
class="custom-file-input"
type="file"
id="htmlFile"
accept=".html,.js"
/>
<label class="custom-file-label" for="htmlFile"
>Choose .html file...</label
>
<br />
<span>
<label>Minify:&nbsp;</label><input type="checkbox" oninput="EFIConfig.doMinify = this.checked">
&nbsp;&nbsp;&nbsp;
<label>MinifyExtras:&nbsp;</label><input type="checkbox" oninput="EFIConfig.doMinifyPlus = this.checked">
&nbsp;&nbsp;&nbsp;
<label>EaglerForge:&nbsp;</label><input checked type="checkbox" oninput="EFIConfig.doEaglerforge = this.checked">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code id="status">Awaiting input...</code></span>
<br /><br />
<button class="btn btn-primary" id="giveme">Make modded client</button>
<button class="btn btn-primary" id="givemeserver">
Make modded server (Indev)
</button>
</div>
<br /><br /><br />
<span>Info:</span>
<div id="#info">
<details>
<summary>
Where can I download an unobfuscated unsigned Eaglercraft build?
</summary>
<p>
<strong>1.8:</strong>
<a href="https://github.com/Eaglercraft-Archive/unminified-eaglercraft-builds/releases/latest">
https://github.com/Eaglercraft-Archive/unminified-eaglercraft-builds/releases/latest
</a>
</p>
<p>
<strong>1.12:</strong>
<a href="https://github.com/Eaglercraft-Archive/unminified-eaglercraft-builds-1.12/releases/latest">
https://github.com/Eaglercraft-Archive/unminified-eaglercraft-builds-1.12/releases/latest
</a>
</p>
</details>
<details>
<summary>
How do I compile my own unobfuscated unsigned Eaglercraft build?
</summary>
<a href="docs/compiling_client">tutorial here</a>
</details>
<details>
<summary>How does this tool work?</summary>
The injector works by analysing your uploaded file for patterns that
appear in TeaVM's compiled JavaScript code. Then, it will replace all
functions with proxies to the original code, which it moves into
<code>ModAPI.hooks.methods</code>. It does similar things with static
properties and constructors, and then hooks into
<code>$rt_metadata</code> to access auxilary information.
</details>
<details>
<summary>Where documentation???</summary>
<a href="https://eaglerforge.github.io/EaglerForgeInjector/docs"
>https://eaglerforge.github.io/EaglerForgeInjector/docs</a
>
</details>
</div>
</div>
<!-- Libraries -->
<script src="libs/babel.min.js"></script>
<script src="libs/filesaver.min.js"></script>
<script>
document.querySelector("#htmlFile").addEventListener("input", (e) => {
if (e.target.files[0]) {
document.querySelector(".custom-file-label").innerText =
e.target.files[0].name;
}
});
</script>
<!-- Code assets -->
<script src="core/patches.js"></script>
<script src="core/minify.js"></script>
<script src="core/postinit.js"></script>
<script src="core/modloader.js"></script>
<script src="core/modgui.js"></script>
<script src="core/efserver.js"></script>
<script src="core/core.js"></script>
<script src="backgroundLogger.js"></script>
<script src="browser.js"></script>
</body>
</html>