diff --git a/README.md b/README.md index 16b6e55..2b63e77 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,15 @@ _an attempt to prepare for the worst_ [![wakatime](https://wakatime.com/badge/github/uwu/shelter.svg)](https://wakatime.com/badge/github/uwu/shelter) -## What is shelter? - shelter is a new generation client mod built to be essentially bulletproof. -Its development was sparked by the death of many client mods and the blow -to all others that was Discord's switch to SWC. +It is developed by ex-members of the old Cumcord Team, under [uwu.network](https://uwu.network/). -You can read much more about this event [here](https://web.archive.org/web/20230726025103/https://cumcord.com/an-exercise-in-futility). +See the website at https://shelter.uwu.network for further information. -It is developed by ex-members of the old Cumcord Team, under [uwu.network](https://uwu.network/). +We are constantly working to improve shelter and its ecosystem. +Keep an eye on the uwu gh org or [our Discord server](https://discord.gg/FhHQQrVs7U) +to see what we are working on, inside and outside of the client modding space. :) ## What plugins has it got? @@ -21,60 +20,8 @@ Quite a few! See the automated list at https://shelter.uwu.network/plugins or [s ## How do I install it? -### Desktop - -- Download this repo. -- Find your Discord install folder (`%LocalAppData%` for Windows) and go into `resources/` - if theres a file called `app.asar` youre probably in the right place. -- From the repo you downloaded, copy the folder `shelter/injectors/desktop/app/` into `resources/`. -- Close Discord and rename `app.asar` to `original.asar`. It should look like this: -``` -🗁 resources/ - ├── 🗁 app/ - │ ├── 🗋 index.js - │ ├── 🗋 preload.js - │ └── 🗋 package.json - └── 🗋 original.asar -``` -- Start Discord and you should find a section called `shelter` in the settings. - -### Kernel - -An alternative desktop installation method is [Kernel](https://kernel.fish). -The kernel package is in `injectors/kernel`, if you use this method I expect you to know how to install Kernel yourself. -This is nice because you can run multiple mods at once. - -### Firefox - -https://addons.mozilla.org/firefox/addon/shelter-injector/ - -### Microsoft Edge - -https://microsoftedge.microsoft.com/addons/detail/shelter-mv3-inj/okemjpeidkmhjpmdcpaibakdhnheblib - -### Chrome (Opera, Brave, etc.) - -The MV3 extension got removed from the chrome store because it runs remotely hosted code (shelter and the plugins you download). -As there's no easy way to comply with that policy we won't make our extension available on the chrome store. -However, you can still install it manually: - -- Download the latest MV3 Injector from Releases -- Unpack the .zip file -- Head to `chrome://extensions` -- Enable Developer mode -- Load the unpacked extension +https://shelter.uwu.network/install ## How do I make a plugin? -See [the docs](https://shelter.uwu.network/guides/) - -## Is there a plugin repo / website / etc.? - -Centralised plugin repo: no, not yet. - -Website: There are the docs publicly available at https://shelter.uwu.network, -but these are currently more geared for plugin developers than end users. - -We are working on improving the ecosystem slowly but surely, much is in the works. - -Keep an eye on the uwu gh org or [our Discord server](https://discord.gg/FhHQQrVs7U) -to see what we are working on, inside and outside of the client modding space. :) +We have in-depth guides and documentation available at https://shelter.uwu.network/guides/ diff --git a/packages/shelter-docs/docs/.vitepress/config.mts b/packages/shelter-docs/docs/.vitepress/config.mts index 2f92982..0686332 100644 --- a/packages/shelter-docs/docs/.vitepress/config.mts +++ b/packages/shelter-docs/docs/.vitepress/config.mts @@ -13,12 +13,12 @@ export default defineConfig({ themeConfig: { // https://vitepress.dev/reference/default-theme-config logo: "https://github.com/uwu/shelter/raw/main/packages/shelter-assets/svg/banner.svg", - siteTitle: "docs", + siteTitle: "", search: { provider: "local" }, nav: [ - { text: "Home", link: "/" }, + { text: "Install", link: "/install" }, { text: "Plugins", link: "/plugins" }, - { text: "Guides", link: "/guides/" }, + { text: "Dev Guides", link: "/guides/" }, { text: "API Reference", link: "/reference" }, { text: "shelter UI", link: "/ui" }, ], diff --git a/packages/shelter-docs/docs/guides/ideals.md b/packages/shelter-docs/docs/guides/ideals.md index dc34a9f..9c3ec90 100644 --- a/packages/shelter-docs/docs/guides/ideals.md +++ b/packages/shelter-docs/docs/guides/ideals.md @@ -1,4 +1,4 @@ -# shelter ideals +# shelter Ideals This page goes through some ideals and principles, including those behind shelter and those held by the core developers. Some of them are applicable to plugin developers, and you would do well to follow those in your plugins. diff --git a/packages/shelter-docs/docs/guides/index.md b/packages/shelter-docs/docs/guides/index.md index 8d31f38..a7db3c2 100644 --- a/packages/shelter-docs/docs/guides/index.md +++ b/packages/shelter-docs/docs/guides/index.md @@ -1,4 +1,4 @@ -# shelter development guides +# shelter Development Guides The guides are under construction. diff --git a/packages/shelter-docs/docs/guides/patterns.md b/packages/shelter-docs/docs/guides/patterns.md index e6d6319..327359f 100644 --- a/packages/shelter-docs/docs/guides/patterns.md +++ b/packages/shelter-docs/docs/guides/patterns.md @@ -1,4 +1,4 @@ -# Plugin development patterns +# Plugin Development Patterns This page lists common patterns you will use in your plugins very often, and are generally safe. diff --git a/packages/shelter-docs/docs/guides/plugin.md b/packages/shelter-docs/docs/guides/plugin.md index 30a416b..e539d9b 100644 --- a/packages/shelter-docs/docs/guides/plugin.md +++ b/packages/shelter-docs/docs/guides/plugin.md @@ -1,4 +1,4 @@ -# Your first plugin +# Your First Plugin This guide will walk through writing a simple but functional plugin from start to finish. It assumes you have shelter installed, Lune setup, and your monorepo setup. diff --git a/packages/shelter-docs/docs/index.md b/packages/shelter-docs/docs/index.md index c82949a..64a99cd 100644 --- a/packages/shelter-docs/docs/index.md +++ b/packages/shelter-docs/docs/index.md @@ -4,20 +4,26 @@ layout: home hero: name: "shelter" - text: "documentation" + #text: "documentation" tagline: an attempt to prepare for the worst actions: - theme: brand - text: Guides + text: Install + link: /install + - theme: brand + text: Plugin List + link: /plugins + - theme: alt + text: Developer Guides link: /guides/ - theme: alt text: API Reference link: /reference - theme: alt - text: shelter UI + text: shelter UI Docs link: /ui #image: - # src: "https://github.com/uwu/shelter/raw/main/packages/shelter-assets/svg/logo.svg" + # src: "https://github.com/uwu/shelter/raw/main/packages/shelter-assets/svg/banner-kawaii.svg" #features: # - title: Robustness @@ -34,3 +40,12 @@ hero: # useful (though unconventional) APIs, and above-average documentation for a client mod. --- +shelter is a new generation client mod built to be essentially bulletproof. + +It began development as a response to the death of many client mods in late September 2022, better explained in +[*An Exercise in Futility*](https://web.archive.org/web/20230726025103/https://cumcord.com/an-exercise-in-futility). + +shelter is developed by uwu.network, which formed of the remains of the Cumcord Team. + +shelter has been lightly maintained continuously since its release in late 2022, and has not broken due to a Discord +update once since (over two years!). This is in stark contrast to most other client mods. \ No newline at end of file diff --git a/packages/shelter-docs/docs/install.md b/packages/shelter-docs/docs/install.md new file mode 100644 index 0000000..1163342 --- /dev/null +++ b/packages/shelter-docs/docs/install.md @@ -0,0 +1,95 @@ + + +# Install shelter + +There are multiple ways to install shelter, depending on which platform you are installing on. + +Click the links in the sidebar to skip to the relevant section. + +--- + +Watch this space! We are currently working on an improved desktop injection method that will: + - be host-update resistant on all platforms (currently not supported on non-Arch Linuxes and macOS), + - be simpler, + - not require root access on Linux, + - allow for running alongside other mods, such as Vencord. + +Once this is complete, it will be added into the installer, which should streamline the process. + +## Desktop + +There are multiple ways to install shelter on desktop. We will try to guide you to the best one for you. + +If you are using [Kernel](https://kernel.fish), follow these instructions: +::: details Kernel installation +We will not cover how to install Kernel itself. We expect you to know how Kernel works if you are using it. + +Install the kernel package from [here](https://github.com/uwu/shelter/tree/main/injectors/kernel). +::: + +If you are using Arch Linux, follow these instructions: +::: details Arch Linux installation +Install the [`shelter` AUR package](https://aur.archlinux.org/packages/shelter). +This method is resistant to being overwritten during updates. +::: + +Otherwise, [download the shelter installer](https://github.com/uwu/shelter-installer/releases/latest), +and run that. +This method is resistant to being overwritten during updates on Windows, but not on macOS or Linux. + +You will need to run the installer as root if you are on Linux, which will not be possible for users on Wayland, +so those users may need to follow the manual installation process, instead. + +If you encounter issues with Discord (e.g. not starting) after using the installer, +you may have to do a manual installation instead. + +::: details Manual Installation + +If you cannot use the shelter installer for any reason, here are the steps to do exactly what it does, yourself. + +The end result will be identical to that of running the installer, but you have to work for it. + +1. Download the shelter repository [here](https://github.com/uwu/shelter/archive/refs/heads/main.zip) +2. Locate your Discord `resources` folder. + - On Windows, `%LocalAppData%/discord/resources` + - On Linux, locations include `/opt/discord/resources` and `/usr/share/discord/resources` + - On macOS, `/Applications/Discord.app/Contents/resources` +3. From the shelter repo, copy the `injectors/desktop/app` folder into `resources/` +4. Close Discord if it is running, and rename `app.asar` to `original.asar` + The folder should look something like this when you are done: + ``` + 🗁 resources + ├── 🗁 app + │ ├── 🗋 index.js + │ ├── 🗋 preload.js + │ └── 🗋 package.json + ├── 🗁 bootstrap + ├── 🗋 build_info.json + └── 🗋 original.asar + ``` + - You may like to take this opportunity to replace the stock asar with [OpenAsar](https://openasar.dev). + +::: + +## Chromium Browsers + +Do not follow these instructions if you are using Microsoft Edge, [follow this instead](#microsoft-edge). + +As these extensions fetch the latest build of shelter, it is not allowed on the Chrome Webstore (we got kicked off!), +and as there is no easy way to comply with this, you will have to manually install the extension. + +1. Download the latest version of the extension [here](https://github.com/uwu/shelter/releases?q=mv3&expanded=true) +2. Unpack the zip to a folder somewhere safe. If you delete this folder, the extension will be uninstalled. +3. Head to [chrome://extensions](chrome://extensions), and enable Developer Mode in the top-right corner +4. Click "Load Unpacked Extension", and select the folder you unpacked the zip into + +## Microsoft Edge + +Install this extension: +https://microsoftedge.microsoft.com/addons/detail/shelter-mv3-inj/okemjpeidkmhjpmdcpaibakdhnheblib + +## Firefox + +Install this extension: https://addons.mozilla.org/firefox/addon/shelter-injector/ \ No newline at end of file