mirror of
https://github.com/smartfrigde/armcord.git
synced 2024-08-14 23:56:58 +00:00
Compare commits
4 commits
7e9e43fa6a
...
4f4ec74fcd
Author | SHA1 | Date | |
---|---|---|---|
|
4f4ec74fcd | ||
|
bf87cc6cda | ||
|
7b25fc70c9 | ||
|
4613f77f30 |
12 changed files with 42 additions and 46 deletions
13
.github/workflows/winget.yml
vendored
Normal file
13
.github/workflows/winget.yml
vendored
Normal 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 }}
|
13
README.md
13
README.md
|
@ -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/).
|
||||||
|
|
||||||
|
|
|
@ -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/**/*",
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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"];
|
||||||
|
|
|
@ -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) =>
|
||||||
|
|
|
@ -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...");
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue