Skip to content

Commit

Permalink
user facing website, better install instructions, update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
yellowsink committed Nov 28, 2024
1 parent 78d5d4b commit 061ab9b
Show file tree
Hide file tree
Showing 8 changed files with 128 additions and 71 deletions.
67 changes: 7 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,77 +4,24 @@ _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?

Quite a few! See the automated list at https://shelter.uwu.network/plugins or [search for shelter-plugins](https://github.com/search?q=shelter-plugins&type=repositories).

## 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/
6 changes: 3 additions & 3 deletions packages/shelter-docs/docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -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" },
],
Expand Down
2 changes: 1 addition & 1 deletion packages/shelter-docs/docs/guides/ideals.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 1 addition & 1 deletion packages/shelter-docs/docs/guides/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# shelter development guides
# shelter Development Guides

The guides are under construction.

Expand Down
2 changes: 1 addition & 1 deletion packages/shelter-docs/docs/guides/patterns.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 1 addition & 1 deletion packages/shelter-docs/docs/guides/plugin.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
23 changes: 19 additions & 4 deletions packages/shelter-docs/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
95 changes: 95 additions & 0 deletions packages/shelter-docs/docs/install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<script setup>
import Pill from "./components/Pill.vue";
</script>

# 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/

0 comments on commit 061ab9b

Please sign in to comment.