├── .gitignore ├── README.md ├── discord-chrome-app.crx ├── discord-hosted-app ├── README.md ├── discord-hosted-app.crx └── src │ ├── 128.png │ └── manifest.json ├── src ├── 128.png ├── css │ ├── reset.css │ └── style.css ├── html │ └── embed.html ├── js │ ├── background.js │ └── embed.js └── manifest.json └── updates.xml /.gitignore: -------------------------------------------------------------------------------- 1 | *.pem -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EoL 2 | ### The successor to this project can be found here: [Discord-PWA](https://github.com/NeverDecaf/discord-PWA) 3 | As of June 2022, [Chromium no longer supports Chrome Apps](https://blog.chromium.org/2020/08/changes-to-chrome-app-support-timeline.html). You can still use this app if you are using an older browser (or fork that still supports apps), but it will no longer be maintained. See [Discord-PWA](https://github.com/NeverDecaf/discord-PWA) for a replacement. 4 | 5 | # discord-chrome-app 6 | A chrome packaged app that mimics the desktop client while maintaining the privacy and security of the chrome browser sandbox. 7 | 8 | # Notice 9 | Chrome Apps have been deprecated for a while now and Google plans to [finally end support for them in 2021](https://blog.chromium.org/2020/01/moving-forward-from-chrome-apps.html). This will inevitably make this app unusable (unless you are willing to keep an old version of Chromium installed, which is a security risk). I am working on [an alternative](https://github.com/NeverDecaf/discord-PWA) in the form of a PWA. Currently it doesn't look as nice, but makes up for it with improved functionality. 10 | 11 | # Installation 12 | 1. Download [discord-chrome-app.crx](https://github.com/NeverDecaf/discord-chrome-app/releases/latest/download/discord-chrome-app.crx) from [releases](https://github.com/NeverDecaf/discord-chrome-app/releases) 13 | 2. Navigate to `chrome://extensions/` in your chromium based browser 14 | 3. Enable `Developer mode` (toggle/checkbox in top right corner, may vary depending on version) 15 | 4. Drag and drop the .crx file onto the `chrome://extensions/` page to install 16 | 5. To launch the app visit `chrome://apps/` 17 | 6. After lauching you can pin the app to your taskbar (on windows) and it will essentially function as a stand-alone program 18 | ### If drag-and-drop install fails, try this workaround: 19 | 1. Download the .crx from releases and extract the contents to a folder 20 | 2. Visit chrome://extensions/ and turn on developer mode (toggle in top right) 21 | 3. Click `Load unpacked` and select the directory you extracted the crx to. 22 | 23 | -------------------------------------------------------------------------------- /discord-chrome-app.crx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NeverDecaf/discord-chrome-app/fb6fac878f2f530dd8b9b363cea99e91fa447ec2/discord-chrome-app.crx -------------------------------------------------------------------------------- /discord-hosted-app/README.md: -------------------------------------------------------------------------------- 1 | A hosted app version. This is basically a web page meaning it has access to all your extensions, etc. -------------------------------------------------------------------------------- /discord-hosted-app/discord-hosted-app.crx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NeverDecaf/discord-chrome-app/fb6fac878f2f530dd8b9b363cea99e91fa447ec2/discord-hosted-app/discord-hosted-app.crx -------------------------------------------------------------------------------- /discord-hosted-app/src/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NeverDecaf/discord-chrome-app/fb6fac878f2f530dd8b9b363cea99e91fa447ec2/discord-hosted-app/src/128.png -------------------------------------------------------------------------------- /discord-hosted-app/src/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | "name": "Discord", 4 | "description": "Discord as hosted app", 5 | "version": "1.0", 6 | "icons": { 7 | "128": "128.png" 8 | }, 9 | "app": { 10 | "urls": [ 11 | "https://discordapp.com/" 12 | ], 13 | "launch": { 14 | "web_url": "https://discordapp.com/channels/@me", 15 | "container":"panel" 16 | } 17 | }, 18 | "permissions": [ 19 | "unlimitedStorage", 20 | "notifications" 21 | ] 22 | } -------------------------------------------------------------------------------- /src/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NeverDecaf/discord-chrome-app/fb6fac878f2f530dd8b9b363cea99e91fa447ec2/src/128.png -------------------------------------------------------------------------------- /src/css/reset.css: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v2.0 | 20110126 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, img, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | table, caption, tbody, tfoot, thead, tr, th, td, 15 | article, aside, canvas, details, embed, 16 | figure, figcaption, footer, header, hgroup, 17 | menu, nav, output, ruby, section, summary, 18 | time, mark, audio, video { 19 | margin: 0; 20 | padding: 0; 21 | border: 0; 22 | font-size: 100%; 23 | font: inherit; 24 | vertical-align: baseline; 25 | } 26 | /* HTML5 display-role reset for older browsers */ 27 | article, aside, details, figcaption, figure, 28 | footer, header, hgroup, menu, nav, section { 29 | display: block; 30 | } 31 | body { 32 | line-height: 1; 33 | } 34 | ol, ul { 35 | list-style: none; 36 | } 37 | blockquote, q { 38 | quotes: none; 39 | } 40 | blockquote:before, blockquote:after, 41 | q:before, q:after { 42 | content: ''; 43 | content: none; 44 | } 45 | table { 46 | border-collapse: collapse; 47 | border-spacing: 0; 48 | } -------------------------------------------------------------------------------- /src/css/style.css: -------------------------------------------------------------------------------- 1 | .wordmark, 2 | .titleBar, 3 | .buttonClose,.buttonMin,.buttonMax { 4 | display:none; 5 | } 6 | 7 | html { 8 | background: #202225; 9 | } 10 | 11 | #webview { 12 | width: 100vw; 13 | position: absolute; 14 | height: 100vh; 15 | } 16 | 17 | svg[name="DiscordWordmark"] path { 18 | fill: rgb(114, 118, 125); 19 | } 20 | 21 | /* 22 | below styles can be made platform specific by adding the result of chrome.runtime.getPlatformInfo to the selector as a class 23 | for example: #webview.mac 24 | possible classes are: "mac", "win", "android", "cros", "linux", or "openbsd" 25 | title bar is currently hidden on android and chrome os 26 | */ 27 | #webview:not(.cros):not(.android) { 28 | top: 22px; 29 | height: calc(100vh - 22px); 30 | } 31 | 32 | .titleBar { 33 | display: inherit; 34 | width: 100%; 35 | height: 22px; 36 | position: absolute; 37 | background: #00000000; 38 | -webkit-app-region: drag; 39 | 40 | flex-shrink: 0; 41 | -webkit-box-orient: horizontal; 42 | -webkit-box-direction: reverse; 43 | flex-direction: row-reverse; 44 | -webkit-box-pack: start; 45 | -ms-flex-pack: start; 46 | justify-content: flex-start; 47 | display:flex; 48 | 49 | padding-top: 4px; 50 | opacity: 1; 51 | 52 | -moz-transition: background .2s ease-in; 53 | -o-transition: background .2s ease-in; 54 | -webkit-transition: background .2s ease-in; 55 | transition: background .2s ease-in; 56 | } 57 | 58 | #backdrop { 59 | width: 100%; 60 | height: 22px; 61 | position: absolute; 62 | background: #000000; 63 | z-index: -1; 64 | opacity: 0; 65 | } 66 | 67 | #barbackground { 68 | width: 100%; 69 | height: 22px; 70 | position: absolute; 71 | background: #202225; 72 | z-index: -2; 73 | } 74 | 75 | .wordmark { 76 | display: block; 77 | position:absolute; 78 | top: 0; 79 | left: 0; 80 | opacity: 1; 81 | padding: 4px 9px 3px 9px; 82 | } 83 | 84 | .buttonClose,.buttonMin,.buttonMax { 85 | display: flex; 86 | 87 | position: relative; 88 | top: -4px; 89 | width: 28px; 90 | height: 22px; 91 | cursor: pointer; 92 | opacity: .6; 93 | -webkit-app-region: no-drag; 94 | -webkit-box-direction: reverse; 95 | -webkit-box-align: center; 96 | 97 | display:flex; 98 | 99 | -webkit-box-align: center; 100 | -ms-flex-align: center; 101 | align-items: center; 102 | justify-content: center; 103 | 104 | -webkit-box-pack: center; 105 | -ms-flex-pack: center; 106 | 107 | margin: 0; 108 | padding: 0; 109 | border: 0; 110 | 111 | vertical-align: baseline; 112 | 113 | line-height:16px; 114 | pointer-events:auto; 115 | user-select:none; 116 | } 117 | .buttonClose:hover { 118 | background-color: #f04747; 119 | opacity:1; 120 | } 121 | .buttonMin:hover,.buttonMax:hover { 122 | background-color: rgba(79, 84, 92, 0.16); 123 | opacity:1; 124 | } -------------------------------------------------------------------------------- /src/html/embed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |