change some instances of Vendetta

This commit is contained in:
amsyarasyiq 2024-03-01 14:25:43 +08:00
parent ba8ddf55c2
commit 41ac215477
6 changed files with 57 additions and 21 deletions

View file

@ -3,11 +3,9 @@
> I might be a bit inactive to maintain Bunny until March '24.\
> I also recommend sticking to Vendetta as long as it works.
# Bunny
A mod for Discord's mobile apps, a fork of Vendetta
## FAQs
### What's Bunny?
@ -15,25 +13,23 @@ Bunny is a fork from someone from the Vendetta team who is still interested in m
### Bunny vs. Pyoncord
Pyoncord and Bunny are completely different mods. [Pyoncord](https://github.com/pyoncord/pyoncord) is my very own WIP mod, while Bunny is... simply a Vendetta fork. Bunny is put under Pyoncord branding following my initial plan, which was to eventually merge these codebases into one (sounds insane, I know).
Pyoncord and Bunny are completely different mods. [Pyoncord](https://github.com/pyoncord/pyoncord) is my very own WIP mod, while Bunny is my own iteration of Vendetta. The current plan is to supersede Pyoncord with this project, so I have been directing more attention toward this one.
### Discord server?
I have created [Pyoncord's server](https://discord.gg/XjYgWXHb9Q) for support and announcements, but getting support through GitHub issues is much preferable.
I have created [Pyoncord's server](https://discord.gg/XjYgWXHb9Q) for announcements and support, but getting support through GitHub issues is much preferable.
> [!NOTE]
> It's worth noting that I'm not so much of an active Discord user myself. With me being a loner, even managing a dead Discord server would be tough.
### Progress?
Bunny is a side project that I work on for fun. I don’t have any intention to compete with other forks/client mods *(cough Revenge cough)* especially since I receive lack of support or encouragement from others. Bunny will go at its own pace and you may not get the same level of support as other mods.
Bunny will try not to seriously compete with other client mods. Bunny is lacking *a lot* of help so if you're interested, you might want to check out [#Contributing](#contributing) to see what you could do with this project!
## Installing
## Android
### Root
If you are rooted, you can directly load Bunny through [PyonXposed](https://github.com/pyoncord/pyonxposed), a module dedicated to inject Bunny.
If you are rooted, you can directly load Bunny through [PyonXposed](https://github.com/pyoncord/pyonxposed), the Xposed module dedicated to inject Bunny.
### Non-root
You can inject [PyonXposed](https://github.com/pyoncord/pyonxposed) through [Vendetta Manager](https://github.com/vendetta-mod/VendettaManager).
@ -44,15 +40,50 @@ You can inject [PyonXposed](https://github.com/pyoncord/pyonxposed) through [Ven
#### *Developer settings must be enabled beforehand by going to Settings > About and pressing the version number 10 times
## iOS
At the time of writing, iOS support is a lower priority than Android. This is due to the fact that developing for iOS is very demanding. I *do* have some non-jailbroken iOS devices for testing around, but setting up the tweak and .ipa thingy is... meh.
I am welcoming everyone who is interested in hopping in Bunny's development and develop Bunny for iOS. Just reach me out through Discord!
At the time of writing, iOS support is a lower priority than Android. This is due to the fact that developing for iOS is very demanding. I *do* have some non-jailbroken iOS devices for testing around, but setting up the tweak and .IPA thingy is not something I can work on.
For now, you can opt-in Bunny directly from VendettaTweak! If you wish to opt-in, simply:
1. Go to Settings > Developer (under the Vendetta section) > Enable 'Load from custom url'
2. Insert [Pyoncord's bundle URL](https://raw.githubusercontent.com/pyoncord/detta-builds/main/bunny.js) > Restart.
2. Insert [Bunny's bundle URL](https://raw.githubusercontent.com/pyoncord/detta-builds/main/bunny.js) > Restart.
It's worth noting that this method may not last long and eventually cease in the future, but that's the least thing to worry about!... probably.
## Contributing <!-- do better tbh -->
Setting up Bunny is quite simple if you're already familiar with developing with Node.js. Simply `git clone`, `pnpm install`, `pnpm dev` and locally host the `<project-dir>/dist/bunny.js` bundle built by the script. Once you've got the local URL (something like `http://192.168.1.236:4040/bunny.js`), insert the URL under Settings > Developer (enabled in General beforehand) > Load custom URL and restart
## Contributing
I am highly welcoming everyone who is interested in hopping in Bunny's development. Just reach me out through Discord!\
Bunny currenty needs some help especially with the following:
- Developments for iOS (Tweak, IPA)
- Setting up the rest of Bunny ecosystem (plugin template, plugin repository and such)
## Building
1. Install a Bunny loader with loader config support (any mentioned in the [Installing](#installing) section).
2. Go to Settings > General and enable Developer Settings.
3. Clone the repo:
```
git clone https://github.com/pyoncord/Bunny
```
4. Install dependencies:
```
pnpm i
```
5. Build Bunny's code:
```
pnpm build
```
6. In the newly created `dist` directory, run a HTTP server. I recommend [http-server](https://www.npmjs.com/package/http-server).
7. Go to Settings > Developer enabled earlier. Enable `Load from custom url` and input the IP address and port of the server (e.g. `http://192.168.1.236:4040/bunny.js`) in the new input box labelled `Bunny URL`.
8. Restart Discord. Upon reload, you should notice that your device will download Bunny's bundled code from your server, rather than GitHub.
9. Make your changes, rebuild, reload, go wild!
> [!NOTE]
> Alternatively, you can directly *serve* the bundled code by running `pnpm serve`.\
> `bunny.js` will be hosted on your local address under the port 4040.\
> You will then insert `http://<local ip address>:4040/bunny.js` as a custom url and reload.\
> Whenever you restart your mobile client, the script will rebuild the bundle as your client fetches it.

View file

@ -17,7 +17,7 @@ export default () => <ApplicationCommand>{
const info = getDebugInfo();
const content = [
"**Bunny Debug Info**",
`> Bunny: ${info.vendetta.version} (${info.vendetta.loader})`,
`> Bunny: ${info.bunny.version} (${info.bunny.loader})`,
`> Discord: ${info.discord.version} (${info.discord.build})`,
`> React: ${info.react.version} (RN ${info.react.nativeVersion})`,
`> Hermes: ${info.hermes.version} (bcv${info.hermes.bytecodeVersion})`,

View file

@ -11,7 +11,7 @@ import { semanticColors } from "@ui/color";
import { Strings } from "@/core/i18n";
const { Stack, TableRow, TableSwitchRow, TableRowGroup } = findByProps("TableRow");
const debugInfo = getDebugInfo() as any;
const debugInfo = getDebugInfo();
const styles = stylesheet.createThemedStyleSheet({
container: {
@ -26,7 +26,7 @@ export default function General() {
const versions = [
{
label: Strings.BUNNY,
version: debugInfo.vendetta.version,
version: debugInfo.bunny.version,
icon: "ic_progress_wrench_24px",
},
{
@ -54,7 +54,7 @@ export default function General() {
const platformInfo = [
{
label: Strings.LOADER,
version: debugInfo.vendetta.loader,
version: debugInfo.bunny.loader,
icon: "ic_download_24px",
},
{

View file

@ -17,7 +17,7 @@ export default async () => {
try {
initThemes();
} catch (e) {
console.error("[Vendetta] Failed to initialize themes...", e);
console.error("[Bunny] Failed to initialize themes...", e);
}
}
@ -40,5 +40,5 @@ export default async () => {
unloads.push(await initPlugins());
// We good :)
logger.log("Vendetta is ready!");
logger.log("Bunny is ready!");
}

View file

@ -92,10 +92,15 @@ export function getDebugInfo() {
const rnVer = PlatformConstants.reactNativeVersion;
return {
/** @deprecated */
vendetta: {
version: versionHash,
loader: getLoaderName(),
},
bunny: {
version: versionHash,
loader: getLoaderName(),
},
discord: {
version: ClientInfoManager.Version,
build: ClientInfoManager.Build,

View file

@ -12,6 +12,6 @@ export interface Logger {
}
export const logModule = findByProps("setLogFn").default;
const logger: Logger = new logModule("Vendetta");
const logger: Logger = new logModule("Bunny");
export default logger;