forked from cocobo1/Kettu
A Discord mobile app client modification continuing Bunny's mission
- TypeScript 97%
- JavaScript 3%
| .forgejo | feat(performance): speedup startup | |
| .github | fix(everything): correct a bunch of broken shit | |
| .vscode | refactor: build script, use react-jsx | |
| scripts | fix(fonts): remove font previews to fix crashes | |
| shims | fix(fonts): remove font previews to fix crashes | |
| src | fix(fonts): remove font previews to fix crashes | |
| .gitignore | bun | |
| bun.lock | bun fixes | |
| eslint.config.mjs | add pylix commit | |
| LICENSE | License update | |
| package.json | fix(themes): make iOS themes navbar and keyboard work | |
| README.md | readme: update platforms | |
| tsconfig.json | build: fix errors | |
Kettu
A mod for Discord on Mobile
Discord Static Badge Codeberg Last Commit
Installing
Android
- Root with Xposed - KettuXposed
- Non-root - KettuManager
If you do not know what root is, go with the manager
iOS
- Jailbroken - KettuTweak
- Jailed - BTLoader
if you dont know what jailbreak is, go with BTLoader
Building
- Install a Kettu loader with loader config support (any mentioned in the Installing section).
- Go to Settings > General and enable Developer Settings.
- Clone the repo:
git clone https://codeberg.org/cocobo1/Kettu - Install dependencies:
bun i - Build Kettu's code:
bun run build - In the newly created
distdirectory, run a HTTP server. I recommend http-server. - Go to Settings > Developer enabled earlier. Enable
Load from custom urland input the IP address and port of the server (e.g.http://192.168.1.236:4040/kettu.js) in the new input box labelledKettu URL. - Restart Discord. Upon reload, you should notice that your device will download Kettu's bundled code from your server, rather than GitHub.
- Make your changes, rebuild, reload, go wild!
Alternatively, you can directly serve the bundled code by running bun run serve. kettu.js will be served on your local address under the port 4040. You will then insert http://<local ip address>:4040/kettu.js as a custom url and reload. Whenever you restart your mobile client, the script will rebuild the bundle as your client fetches it.