Compare commits

...

4 commits

Author SHA1 Message Date
smartfridge
4f4ec74fcd
Add Scoop package to README 2022-09-27 13:31:04 +00:00
sitiom
bf87cc6cda
Add Winget Releaser workflow (#202)
* Add Winget Releaser workflow

* Add Winget instructions in the readme
2022-09-27 13:27:49 +00:00
smartfrigde
7b25fc70c9 Move away from using webpack for gettign lang 2022-09-27 13:04:18 +00:00
smartfrigde
4613f77f30 Remove EOL mods 2022-09-27 11:11:56 +00:00
12 changed files with 42 additions and 46 deletions

13
.github/workflows/winget.yml vendored Normal file
View file

@ -0,0 +1,13 @@
name: Publish to WinGet
on:
release:
types: [released]
jobs:
publish:
runs-on: windows-latest # Action can only be run on windows
steps:
- uses: vedantmgoyal2009/winget-releaser@latest
with:
identifier: ArmCord.ArmCord
token: ${{ secrets.WINGET_TOKEN }}

View file

@ -34,6 +34,19 @@
### Recommended: ### Recommended:
Check releases tab for precompiled packages for Linux, Windows and Mac OS. Alternatively use our Sourceforge mirror. Check releases tab for precompiled packages for Linux, Windows and Mac OS. Alternatively use our Sourceforge mirror.
<a href="https://sourceforge.net/projects/armcord/files/latest/download"><img alt="Download ArmCord" src="https://a.fsdn.com/con/app/sf-download-button" width=276 height=48 srcset="https://a.fsdn.com/con/app/sf-download-button?button_size=2x 2x"></a> <a href="https://sourceforge.net/projects/armcord/files/latest/download"><img alt="Download ArmCord" src="https://a.fsdn.com/con/app/sf-download-button" width=276 height=48 srcset="https://a.fsdn.com/con/app/sf-download-button?button_size=2x 2x"></a>
### Winget Package
ArmCord is also available on the [winget-pkgs](https://github.com/microsoft/winget-pkgs) repository:
```
winget install ArmCord.ArmCord
```
### Scoop package
ArmCord is also available on [Scoop extras](https://github.com/ScoopInstaller/Extras) repo:
```
scoop bucket add extras
```
```
scoop install armcord
```
### AUR Package ### AUR Package
ArmCord is also available on the Arch User Repository (AUR) [here](https://aur.archlinux.org/packages/armcord-bin/). ArmCord is also available on the Arch User Repository (AUR) [here](https://aur.archlinux.org/packages/armcord-bin/).

View file

@ -7,6 +7,7 @@
"build": "tsc && copyfiles -u 1 src/**/*.html src/**/**/*.css ts-out/ && copyfiles package.json ts-out/ && copyfiles assets/**/** ts-out/", "build": "tsc && copyfiles -u 1 src/**/*.html src/**/**/*.css ts-out/ && copyfiles package.json ts-out/ && copyfiles assets/**/** ts-out/",
"watch": "tsc -w", "watch": "tsc -w",
"start": "npm run build && electron ./ts-out/main.js", "start": "npm run build && electron ./ts-out/main.js",
"startNoSandbox": "npm run build && electron ./ts-out/main.js --no-sandbox",
"package": "npm run build && electron-builder", "package": "npm run build && electron-builder",
"packageQuick": "npm run build && electron-builder --dir", "packageQuick": "npm run build && electron-builder --dir",
"format": "prettier --write src/**/*", "format": "prettier --write src/**/*",

View file

@ -111,7 +111,6 @@ div {
width: 292px; width: 292px;
} }
[armcord-platform="win32"] .titlebar #window-controls-container #maximize, [armcord-platform="win32"] .titlebar #window-controls-container #maximize,
[armcord-platform="linux"] .titlebar #window-controls-container #maximize { [armcord-platform="linux"] .titlebar #window-controls-container #maximize {
display: none; display: none;

View file

@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/ico" href="./favicon.ico"> <link rel="icon" type="image/ico" href="./favicon.ico" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ArmCord Setup</title> <title>ArmCord Setup</title>
@ -53,9 +53,7 @@
<p class="text-center setup-ask" id="setup_question4">Select a client mod you want to install:</p> <p class="text-center setup-ask" id="setup_question4">Select a client mod you want to install:</p>
<div class="center"> <div class="center">
<select name="mod" id="mod" class="dropdown-button"> <select name="mod" id="mod" class="dropdown-button">
<option value="cumcord">Cumcord</option> <option value="none">None (check Discord)</option>
<option value="goosemod">GooseMod</option>
<option value="flicker">Flicker (Heavily WIP)</option>
</select> </select>
</div> </div>
<p class="text-center" id="setup_question4_clientmodnotice"> <p class="text-center" id="setup_question4_clientmodnotice">
@ -120,7 +118,7 @@
minimizeToTray: true, minimizeToTray: true,
alternativePaste: false, alternativePaste: false,
automaticPatches: false, automaticPatches: false,
mods: "cumcord", mods: "none",
inviteWebsocket: true, inviteWebsocket: true,
mobileMode: false, mobileMode: false,
trayIcon: "default", trayIcon: "default",

View file

@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/ico" href="./favicon.ico"> <link rel="icon" type="image/ico" href="./favicon.ico" />
<title>ArmCord</title> <title>ArmCord</title>
<style> <style>
@import url("css/splash.css"); @import url("css/splash.css");

View file

@ -21,15 +21,7 @@ const unstrictCSP = () => {
const cspAllowAll = ["connect-src", "style-src", "img-src", "font-src"]; const cspAllowAll = ["connect-src", "style-src", "img-src", "font-src"];
const corsAllowUrls = [ const corsAllowUrls = ["https://raw.githubusercontent.com/Cordwood/builds/master/index.js"];
"https://github.com/GooseMod/GooseMod/releases/download/dev/index.js",
"https://github-releases.githubusercontent.com/",
"https://api.goosemod.com/inject.js",
"https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
"https://raw.githubusercontent.com/Cumcord/Cumcord/master/dist/build.js",
"https://raw.githubusercontent.com/FlickerMod/dist/main/build.js",
"https://raw.githubusercontent.com/Cordwood/builds/master/index.js"
];
electron.session.defaultSession.webRequest.onHeadersReceived(({responseHeaders, url}, done) => { electron.session.defaultSession.webRequest.onHeadersReceived(({responseHeaders, url}, done) => {
let csp = responseHeaders!["content-security-policy"]; let csp = responseHeaders!["content-security-policy"];

View file

@ -15,7 +15,6 @@ contextBridge.exposeInMainWorld("armcord", {
}, },
electron: process.versions.electron, electron: process.versions.electron,
channel: ipcRenderer.sendSync("channel"), channel: ipcRenderer.sendSync("channel"),
setLang: (lang: string) => ipcRenderer.send("setLang", lang),
setPingCount: (pingCount: number) => ipcRenderer.send("setPing", pingCount), setPingCount: (pingCount: number) => ipcRenderer.send("setPing", pingCount),
setTrayIcon: (favicon: string) => ipcRenderer.send("sendTrayIcon", favicon), setTrayIcon: (favicon: string) => ipcRenderer.send("sendTrayIcon", favicon),
getLang: (toGet: string) => getLang: (toGet: string) =>

View file

@ -4,7 +4,7 @@ import "./patch";
import * as fs from "fs"; import * as fs from "fs";
import * as path from "path"; import * as path from "path";
import {injectHummusTitlebar, injectTitlebar} from "./titlebar"; import {injectHummusTitlebar, injectTitlebar} from "./titlebar";
import {sleep, addStyle, injectJS, addScript} from "../utils"; import {sleep, addStyle, injectJS} from "../utils";
import {ipcRenderer} from "electron"; import {ipcRenderer} from "electron";
import {injectMobileStuff} from "./mobile"; import {injectMobileStuff} from "./mobile";
var version = ipcRenderer.sendSync("displayVersion"); var version = ipcRenderer.sendSync("displayVersion");
@ -13,9 +13,9 @@ async function updateLang() {
if (window.location.href.indexOf("setup.html") > -1) { if (window.location.href.indexOf("setup.html") > -1) {
console.log("Setup, skipping lang update"); console.log("Setup, skipping lang update");
} else { } else {
addScript(`function getDiscordLang() { const value = `; ${document.cookie}`;
{const _w=webpackChunkdiscord_app;let lang;_w.push([[Symbol()],{},e=>{for(const k in e.c){const m=e.c[k].exports;const mDef=m?.default&&m.__esModule?m.default:m;if(mDef?._chosenLocale&&!lang)lang=mDef}}]);_w.pop();window.armcord.setLang(lang._chosenLocale);return lang._chosenLocale;void 0}} const parts: any = value.split(`; locale=`);
getDiscordLang();`); if (parts.length === 2) ipcRenderer.send("setLang", parts.pop().split(";").shift());
} }
} }
declare global { declare global {
@ -25,8 +25,6 @@ declare global {
} }
const clientMods = { const clientMods = {
goosemod: "https://api.goosemod.com/inject.js", goosemod: "https://api.goosemod.com/inject.js",
cumcord: "https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
flicker: "https://raw.githubusercontent.com/FlickerMod/dist/main/build.js",
cordwood: "https://raw.githubusercontent.com/Cordwood/builds/master/index.js" cordwood: "https://raw.githubusercontent.com/Cordwood/builds/master/index.js"
}; };
@ -57,16 +55,6 @@ if (window.location.href.indexOf("splash.html") > -1) {
console.log("Loading GooseMod..."); console.log("Loading GooseMod...");
await updateLang(); await updateLang();
break; break;
case "cumcord":
injectJS(clientMods.cumcord);
console.log("Loading Cumcord...");
await updateLang();
break;
case "flicker":
injectJS(clientMods.flicker);
console.log("Loading FlickerMod...");
await updateLang();
break;
case "cordwood": case "cordwood":
injectJS(clientMods.cordwood); injectJS(clientMods.cordwood);
console.log("Loading Cordwood..."); console.log("Loading Cordwood...");

View file

@ -143,8 +143,8 @@
<br /> <br />
<div class="switch acAdvSettings"> <div class="switch acAdvSettings">
<h1 class="center advancedText">⚠️ Advanced User Zone ⚠️</h1> <h1 class="center advancedText">⚠️ Advanced User Zone ⚠️</h1>
<br> <br />
<br> <br />
<label class="header" id="settings-skipSplash">Skip Splash Screen (Experimental)</label> <label class="header" id="settings-skipSplash">Skip Splash Screen (Experimental)</label>
<input class="tgl tgl-light left" id="skipSplash" type="checkbox" /> <input class="tgl tgl-light left" id="skipSplash" type="checkbox" />
<label class="tgl-btn left" for="skipSplash"></label> <label class="tgl-btn left" for="skipSplash"></label>
@ -210,7 +210,7 @@
doneSetup: true doneSetup: true
}); });
alert(`Your settings have been saved! alert(`Your settings have been saved!
Some changes may require the app to restart before taking effect.`) Some changes may require the app to restart before taking effect.`);
}); });
document.getElementById("settings-restart").addEventListener("click", function () { document.getElementById("settings-restart").addEventListener("click", function () {
settings.restart(); settings.restart();

View file

@ -123,9 +123,7 @@
<br /> <br />
<div class="switch acClientMod"> <div class="switch acClientMod">
<select name="mod" id="mod" class="left dropdown"> <select name="mod" id="mod" class="left dropdown">
<option value="cumcord">Cumcord</option>
<option value="goosemod">GooseMod</option> <option value="goosemod">GooseMod</option>
<option value="flicker">Flicker</option>
<option value="none">None</option> <option value="none">None</option>
</select> </select>
<p class="header" id="settings-mod">Client mod</p> <p class="header" id="settings-mod">Client mod</p>
@ -133,13 +131,8 @@
Client mods are programs that allow you customize your Discord experience. They can change appearance of Client mods are programs that allow you customize your Discord experience. They can change appearance of
the client, modify behaviours or add new features! the client, modify behaviours or add new features!
<br /> <br />
<b>Cumcord</b> - focuses on making the Discord plugin development experience easier. Minimal and
lightweight.
<br />
<b>GooseMod</b> - light, secure, and easy to use, with out of the box experience. Features a built-in <b>GooseMod</b> - light, secure, and easy to use, with out of the box experience. Features a built-in
store for plugins. store for plugins.
<br />
<b>Flicker</b> - heavily work in progress, doesn't have a working UI.
</p> </p>
</div> </div>
<br /> <br />
@ -178,8 +171,8 @@
<br /> <br />
<div class="switch acAdvSettings"> <div class="switch acAdvSettings">
<h1 class="center advancedText">⚠️ Advanced User Zone ⚠️</h1> <h1 class="center advancedText">⚠️ Advanced User Zone ⚠️</h1>
<br> <br />
<br> <br />
<label class="header" id="settings-skipSplash">Skip Splash Screen (Experimental)</label> <label class="header" id="settings-skipSplash">Skip Splash Screen (Experimental)</label>
<input class="tgl tgl-light left" id="skipSplash" type="checkbox" /> <input class="tgl tgl-light left" id="skipSplash" type="checkbox" />
<label class="tgl-btn left" for="skipSplash"></label> <label class="tgl-btn left" for="skipSplash"></label>

View file

@ -40,7 +40,7 @@ export function setup() {
minimizeToTray: true, minimizeToTray: true,
automaticPatches: false, automaticPatches: false,
alternativePaste: false, alternativePaste: false,
mods: "cumcord", mods: "none",
performanceMode: "none", performanceMode: "none",
skipSplash: false, skipSplash: false,
inviteWebsocket: true, inviteWebsocket: true,