177 lines
9.6 KiB
HTML
177 lines
9.6 KiB
HTML
<!doctype html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
|
<link href="favicon.png" rel="icon" type="image/x-icon" />
|
|
<title>Switch Payload Loader v1.3.2</title>
|
|
|
|
<script src="./i18n/en-US.js"></script>
|
|
<script src="./i18n/it-IT.js"></script>
|
|
<script src="./i18n/pt-BR.js"></script>
|
|
<script src="./i18n/de-DE.js"></script>
|
|
<script src="./i18n/es-MX.js"></script>
|
|
<script src="./i18n/fr-FR.js"></script>
|
|
<script src="./i18n/pl-PL.js"></script>
|
|
<script src="./i18n/zh-CN.js"></script>
|
|
<script src="./i18n/zh-TW.js"></script>
|
|
<script src="./i18n/ru-RU.js"></script>
|
|
<script src="./i18n.js"></script>
|
|
|
|
<!-- JQuery: needed for some Bootstrap Components -->
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
|
|
|
<!-- Bootstrap 3 framework -->
|
|
<!-- Latest compiled and minified CSS -->
|
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
|
<!-- Optional theme -->
|
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
|
|
<!-- Latest compiled and minified JavaScript -->
|
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
|
|
|
</head>
|
|
|
|
<body class="container-fluid" id="pageBody">
|
|
<div class="row" id="title">
|
|
<h1 id="pageTitle">Nintendo Switch Payload Loader</h1>
|
|
<h4 id="pageSubtitle">Fusee Launcher ported to JavaScript using WebUSB.</h4>
|
|
</div>
|
|
|
|
<div class="row margin-top-md">
|
|
<div class="col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
|
|
<div class="btn-group" role="group" aria-label="...">
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('en-US')">English</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('it-IT')">Italiano</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('pt-BR')">Português</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('de-DE')">Deutsch</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('es-MX')">Español</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('fr-FR')">Français</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('pl-PL')">Polski</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('zh-CN')">简体中文</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('zh-TW')">繁体中文</a>
|
|
<a class="btn btn-info" href="#" onclick="setPageLanguage('ru-RU')">Русский</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="row margin-top-md" id="infodiv">
|
|
<div class="col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
|
|
|
|
<div class="alert alert-danger" role="alert">
|
|
<p id="dangerDanger">This is moderately tested. Although no issues have been discovered, I'm not responsible if anything goes wrong!</p>
|
|
</div>
|
|
|
|
<div class="alert alert-warning alert-dismissible" role="alert">
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<p id="warningWindows">This does NOT work on Windows due to a limitation in the Chrome implementation of WebUSB (and probably other reasons!)</p>
|
|
</div>
|
|
|
|
<div class="alert alert-warning alert-dismissible" role="alert">
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<p id="warningBrowser">This does NOT currently work on any browser but Chrome, because they don't implement WebUSB.</p>
|
|
</div>
|
|
|
|
<div class="alert alert-warning alert-dismissible" role="alert">
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<p id="warningLinux">On Linux, you might get an 'Access Denied' or 'No Compatible Device' error on the Connect dialog! If you do, you can try creating a file at <code>/etc/udev/rules.d/50-switch.rules</code>With the following contents:<br><code>SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0955\", MODE=\"0664\", GROUP=\"plugdev\"</code></p>
|
|
</div>
|
|
|
|
<div class="alert alert-warning alert-dismissible" role="alert">
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<p id="warningTested">This has been tested and appears to work on Linux, OSX, Android (unrooted) and Chromebooks. Your mileage may vary.</p>
|
|
</div>
|
|
|
|
<div class="alert alert-info" role="alert">
|
|
<p><strong id="labelInstructions">Instructions:</strong></p>
|
|
<ul>
|
|
<li id="liRCM">Put the Switch in RCM, and connect it to your device.</li>
|
|
<li id="liSelect">Select either the example payload, or upload one.</li>
|
|
<li id="liPress">Press 'Deliver Payload!'</li>
|
|
<li id="liAPX">On the consent screen that appears, select 'APX' and hit 'Connect'.</li>
|
|
<li id="liLaunch">If all goes well, the payload will launch!</li>
|
|
</ul>
|
|
</div>
|
|
<div class="alert alert-info" role="alert">
|
|
<p id="labelAddPayload">If you would like to add another payload to this project, use <a href="https://gist.github.com/lorek123/561e4f7b5f61618029cc70672e3d7308">this converter</a> and do PR</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
|
|
<h1 id="h1SetupDelivery">Setup Payload Delivery</h1>
|
|
|
|
<form id="mainForm">
|
|
<div class="row">
|
|
<div class="col-xs-6">
|
|
<h4 id="h4SelectPayload">Select Payload:</h4>
|
|
</div>
|
|
|
|
<div class="col-xs-6">
|
|
<select class="pull-right" id="payloadSelect" onchange="onSelectChange()">
|
|
<option value="CTCaer_Hekate" id="optionCTCaerHekate" >CTCaer's Hekate Mod v4.2 (All Firmwares)</option>
|
|
<option value="fusee" id="optionFusee" >(Re)Switched test payload (fusee)</option>
|
|
<option value="sx os" id="optionSXOS" >SX OS (All Firmwares)</option>
|
|
<option value="ReiNX" id="optionReiNX" >ReiNX (With SigPatches)</option>
|
|
<option value="briccmii" id="briccmii" >briccmii</option>
|
|
<option value="uploaded" id="optionUpload" >Upload payload</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row" id="uploadContainer" style="display: none">
|
|
<div class="col-xs-12">
|
|
<input style="float: right" type="file" id="payloadUpload" accept=".bin"/>
|
|
</div>
|
|
</div>
|
|
<div class="row divider-line"></div>
|
|
|
|
<div class="row margin-top-md">
|
|
<div class="col-xs-10">
|
|
<h4 id="h4GetByteArray">Get payload byte array (don't sploit)</h4>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input class="pull-right" type="checkbox" name="shouldDebug" id="shouldDebug">
|
|
</div>
|
|
</div>
|
|
<div class="row divider-line"></div>
|
|
</form>
|
|
|
|
<div class="row margin-top-md">
|
|
<div class="col-xs-6 col-xs-offset-6 col-md-4 col-md-offset-8">
|
|
<button class="btn btn-primary btn-lg btn-block" id="goButton">Deliver Payload!</button>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
|
|
<h3 id="h3Log">Log:</h3>
|
|
<div id="output"></div>
|
|
<button class="btn btn-primary pull-right margin-top-md" id="clearlogsbutton" onclick="clearLog();">Clear Logs</button><br><br>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<script src="./payloads.js"></script>
|
|
<script src="./main.js"></script>
|
|
</body>
|
|
|
|
<div class="row margin-top-md" id="page-footer">
|
|
<div class="col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
|
|
<div id="disclaimer">
|
|
<p id="disclaimer1">Source can be found on <a href="https://github.com/ElijahZAwesome/web-cfw-loader/">GitHub</a> (or by hitting view source, there is no backend!).</p>
|
|
<p id="disclaimer2">Ported from <a href="https://github.com/reswitched/fusee-launcher">fusee-launcher</a>.</p>
|
|
<p id="disclaimer3">Thanks to ktemkin and ReSwitched, as well as <br><a href="https://atlas44.s3-us-west-2.amazonaws.com/web-fusee-launcher/index.html">Atlas44 and his website</a> as a beginning point for this one. </p>
|
|
<p id="disclaimer4">Lastly, thanks to <a href="https://github.com/falquinho">falquinho</a> for the new bootstrap layout and portuguese translation, <a href="https://github.com/thomleg50">thomleg50</a> for the french translation, <a href="https://github.com/Filo97">Filo97</a> for the italian translation, <a href="https://github.com/tumGER">tumGER</a> for his german translation, <a href="https://github.com/lordfriky">Lord_Friky</a> for the spanish translation, <a href="https://github.com/lorek123">Lorek</a> for the polish translation, <a href="https://github.com/Rakau">Rakau</a> for the chinese translations and <a href="https://github.com/tumGER">tumGER</a> for the russian translations</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</html>
|