Skip to content

RabbyHub/RabbyDesktop

Repository files navigation


Rabby desktop uses Electron, React, React Router, Webpack and React Fast Refresh.


Build Status Github Tag Discord

Install

Clone the repo and install dependencies:

git clone --depth 1 --branch main https://github.com/RabbyHub/RabbyDesktop.git RabbyDesktop
cd RabbyDesktop;
npm install

Native Modules

There's some node modules such as node-hid that need to be compiled for your platform, on running npm install, make sure you use node with arch corresponding to your electron version. Check your local node's arch:

node -e "console.log(process.arch)"

If you're using Apple Silicon but running node with arch x64 like this:

alt

That's because you install node(maybe x64 or arm64) and run it in rosetta2, You SHOULD:

  1. switch back to node(arm64) by installing correct node
  2. make sure you disable rosetta on node(arm64):

alt

More information about rosetta2

RabbyX Extension

on postinstall, we install rabbyx plugin AUTOMATICALLY. Check you have assets/chrome_exts/rabbyx folder after npm install finished, if not, you can install it manually:

npm run install:rabbyX

Starting Development

Then start the app in the dev environment:

cd /path/to/RabbyDesktop;
npm start

Experimental for some reasons, you may wanna server files on http://localhost:<port> instead of custom protocol, set HTTP_INSTEAD_OF_CUSTOM=true on start development:

HTTP_INSTEAD_OF_CUSTOM=true npm start

Then you can debug pages served on http://localhost:<port> that are served on custom protocol originally

(Optional) Helpers

If you want to view RabbyX's storage, you need to install storage-area-explorer plugin:

sh scripts/install_devexts.sh

Packaging for Production

To package apps for the local platform:

npm run package

Community

Join our Discord: https://discord.com/invite/seFBCWmUre

Maintainers

License

MIT © Rabby