# AnotherRedisDesktopManager **Repository Path**: qupengkun/AnotherRedisDesktopManager ## Basic Information - **Project Name**: AnotherRedisDesktopManager - **Description**: Github国内镜像,供下载使用,有问题可移步到下面GitHub链接 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://github.com/qishibo/AnotherRedisDesktopManager - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 863 - **Created**: 2024-07-01 - **Last Updated**: 2024-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Another Redis Desktop Manager > 🚀🚀🚀 A faster, better and more stable redis desktop manager, compatible with Linux, windows, mac. What's more, it won't crash when loading massive keys.
[![LICENSE](https://img.shields.io/github/license/qishibo/AnotherRedisDesktopManager)](LICENSE) [![Release](https://img.shields.io/github/release/qishibo/AnotherRedisDesktopManager.svg)](https://github.com/qishibo/AnotherRedisDesktopManager/releases) [![Download](https://img.shields.io/github/downloads/qishibo/AnotherRedisDesktopManager/total)](https://github.com/qishibo/AnotherRedisDesktopManager/releases) [![Twitter](https://img.shields.io/badge/Twitter-@shibo-blue.svg)](https://twitter.com/qii404) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fqishibo%2FAnotherRedisDesktopManager.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fqishibo%2FAnotherRedisDesktopManager?ref=badge_shield) [简体中文](README.zh-CN.md) ## Windows - Download latest [exe](https://github.com/qishibo/AnotherRedisDesktopManager/releases) package from release [or [gitee](https://gitee.com/qishibo/AnotherRedisDesktopManager/releases) in China], double click to install. - Or by **chocolatey**: `choco install another-redis-desktop-manager` - Or by **winget**: `winget install qishibo.AnotherRedisDesktopManager` - Or **sponsor** by win store, It's not free, and I will be very grateful to you.
get from microsoft store ## Linux - Download latest [AppImage](https://github.com/qishibo/AnotherRedisDesktopManager/releases) package from release [or [gitee](https://gitee.com/qishibo/AnotherRedisDesktopManager/releases) in China], `chmod +x`, double click to run. - Or by **snap**: `sudo snap install another-redis-desktop-manager` **Tips**: If permission denied when selecting private key, run `sudo snap connect another-redis-desktop-manager:ssh-keys` to give access to ~/.ssh folder.
[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/another-redis-desktop-manager) ## Mac > If you can't open it after installation by brew or dmg, exec the following command then reopen:
`sudo xattr -rd com.apple.quarantine /Applications/Another\ Redis\ Desktop\ Manager.app` - Download latest [dmg](https://github.com/qishibo/AnotherRedisDesktopManager/releases) package from release [or [gitee](https://gitee.com/qishibo/AnotherRedisDesktopManager/releases) in China], double click to install. - Or by **brew**: `brew install --cask another-redis-desktop-manager` - Or **sponsor** by app store, It's not free, and I will be very grateful to you.
[![get from app store](https://cdn.jsdelivr.net/gh/qishibo/img/avail_app_store180.svg)](https://apps.apple.com/app/id1516451072) ## Enjoy! ![redis status dark](https://cdn.jsdelivr.net/gh/qishibo/img/1630655843497-status.png) ![redis key hash dark](https://cdn.jsdelivr.net/gh/qishibo/img/1630655844559-str.png) ![redis console dark](https://cdn.jsdelivr.net/gh/qishibo/img/1630655846107-cli.png) ![redis exec log](https://cdn.jsdelivr.net/gh/qishibo/img/1630655847740-log.png) ## Feature Log - 2024-06-06: Search connections support(>=4) - 2024-04-10: DB custom name support - 2024-02-21: Java/Pickle viewers support - 2024-02-15: Groups/Consumers in STREAM view - 2024-01-31: Hey, long time! Command line(CLI) args support - 2023-06-22: Export\Import keys support - 2023-05-26: Search support in Stream && Slow log support - 2023-04-01: Search support in List && Deflate raw support - 2022-10-07: Arrow Keys support in key list && Memory Analysis in folder - 2022-08-05: Clone Connection && Tabs Contextmenu\Mousewheel Support - 2022-04-01: Protobuf Support && Memory Analysis - 2022-03-03: Readonly Mode && Mointor Support - 2022-01-24: Command Dump Support - 2022-01-05: Support To Load All Keys - 2022-01-01: Brotli\Gzip\Deflate Support && RedisJSON Support - 2021-11-26: JSON Editable && Subscribe Support - 2021-08-30: Execution log Support && Add Hot Keys - 2021-08-16: Custom Formatter View Support! - 2021-06-30: Sentinel Support!! - 2021-06-24: ACL Support - 2021-05-03: Stream Support && Cli Command Tips Support - 2021-02-28: Connection Color Tag && Search History Support - 2021-02-03: Multiple Select\Delete && Msgpack Viewer Support - 2020-12-30: Tree View Support!!! - 2020-11-03: Binary View Support && SSH Passparse\Timeout Support - 2020-09-04: SSH Cluster Support && Extension Commands Support - 2020-06-18: SSL/TLS Support!!! - 2020-04-28: Page Zoom && Big Key Loads With Scan && Auto Json - 2020-04-18: Unvisible Key\Value Format Support - 2020-04-04: Cluster Support!!! - 2020-03-13: Dark Mode Support!!! && JsonView In Other Place - 2020-02-16: SSH Private Key Support - 2020-02-13: Open Cli Console In Tabs - 2019-06-14: Custom Font-Family Support - 2019-05-28: Key List Resizable - 2019-05-09: Search Support In Hash List Set Zset - 2019-04-26: Auto Updater - 2019-04-09: SSH Tunnel Connection Support - 2019-04-01: Extract Search Support - 2019-02-22: Single Connection Support - 2019-01-08: Project Start ## Dev Build ### Linux Or Mac ```bash # clone code git clone https://github.com/qishibo/AnotherRedisDesktopManager.git --depth=1 cd AnotherRedisDesktopManager # install dependencies npm install # if download electron failed during installing, use this command # ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" npm install # serve with hot reload at localhost:9988 npm start # after the previous step is completed to 100%, open another tab, build up a desktop client npm run electron ``` If linux errors like this: ```bash # if error like this ../src/FontManagerLinux.cc:1:35: fatal error: fontconfig/fontconfig.h: No such file or directory # then try this sudo apt install libfontconfig1-dev ``` ### Windows ``` bash # install build tools for the first time, just execute once npm install -g windows-build-tools # clone code git clone https://github.com/qishibo/AnotherRedisDesktopManager.git --depth=1 cd AnotherRedisDesktopManager # install dependencies, 32-bit or 64-bit all use win32 npm install --platform=win32 # if download electron failed during installing, use this command # npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/ # npm install --platform=win32 # serve with hot reload at localhost:9988 npm start # after the previous step is completed to 100%, open another tab, build up a desktop client npm run electron ``` ### Build Package ```bash # prepare before package npm run pack:prepare # build package on respective platforms # on windows build 64bit package npm run pack:win # on windows build 32bit package npm run pack:win32 # on mac npm run pack:mac # on linux npm run pack:linux ``` ## Sponsor - Give me a star ⭐ or upvote on [Producthunt](https://www.producthunt.com/posts/another-redis-desktop-manager) - Through [OpenCollective](https://opencollective.com/AnotherRedisDesktopManager) - If you are a Mac user, you can purchase this software from the [app store](https://apps.apple.com/app/id1516451072) to sponsor, and then let the app store automatically update it for you.
[![app store](https://cdn.jsdelivr.net/gh/qishibo/img/avail_app_store180.svg)](https://apps.apple.com/app/id1516451072) - If you are a Windows user, you can purchase this software from the [win store](https://www.microsoft.com/store/apps/9MTD84X0JFHZ) to sponsor.
[![windows store](https://cdn.jsdelivr.net/gh/qishibo/img/windows-store-icon182-56.png)](https://www.microsoft.com/store/apps/9MTD84X0JFHZ) - Wechat sponsor code [Sponsor me a cup of coffee ☕] ## Contributors This project exists thanks to all the people who contribute. [![contributors](https://opencollective.com/AnotherRedisDesktopManager/contributors.svg?width=890&button=false)](https://github.com/qishibo/AnotherRedisDesktopManager/graphs/contributors) [![backers](https://opencollective.com/AnotherRedisDesktopManager/backers.svg)](https://opencollective.com/AnotherRedisDesktopManager) ## Custom Viewer > When the default viewer does not meet the needs, you can format your content via customize script.
Method: Pull down the viewer list to the bottom, click "Custom -> Add", and then refer to the instructions below
Note: The script needs to output formatted content through `print` `console.log` `echo` etc., which can be any string or JSON string | Config | Description | | ------ | ------ | | `Name` | Custom name | | `Command` | Executable commands, such as `xxx.py` `xxx.js` `xxx.class` etc. The file needs `x` permission, which can be executed in the form of `./xxx.py`; It can also be set to `/bin/node` `/bin/bash` or other system commands, and the script path needs to be placed in Params | | `Params` | Parameters spliced after `Command`, such as "--key `{KEY}` --value `{VALUE}`", where `{KEY}` and `{VALUE}` will be replaced with the corresponding Redis key and value. Note that if the content is invisible such as binary, you can use `{HEX}` instead of `{VALUE}`, and `{HEX}` will be replaced with the hexadecimal string. If HEX is too long (>8000 chars), it will be written to a temporary file. You can use `{HEX_FILE}` to obtain the file path, and read by yourself in the script | ### Configuration example: > Add env to the first line of the script, the final executed command is: `./home/qii/pickle_decoder.py {HEX}`, the script can receive parameters via `argv[1]`, ref [#978](https://github.com/qishibo/AnotherRedisDesktopManager/issues/987#issuecomment-1294844707) | Command | Params | | ------ | ------ | | `/home/qii/pickle_decoder.py` | `{HEX}` | | `/home/qii/shell_decoder.sh` | `{VALUE}` | ### Without execute permission `x`: > The final executed command is: `/bin/node /home/qii/node_decoder.js {HEX} --key={KEY}`, the script can receive parameters via `argv[1]` | Command | Params | | ------ | ------ | | `/bin/bash` | `/home/qii/shell_decoder.sh {VALUE}` | | `/bin/node` | `/home/qii/node_decoder.js {HEX} --key={KEY}` | ## Start From Command Line(CLI) > If you want to start from command line(CLI), you can pass args to the App. ### Examples ```bash # Linux # ./Another Redis Desktop Manager.AppImage # Mac # open /Applications/Another\ Redis\ Desktop\ Manager.app --args # Windows "D:\xxxx\Another Redis Desktop Manager.exe" # COMMON --host 127.0.0.1 --port 6379 --auth 123 --name tmp_connection # CLUSTER --cluster # SSH --ssh-host 192.168.0.110 --ssh-username root --ssh-password 123 # SENTINEL --sentinel-master-name mymaster --sentinel-node-password 123 # save connection --save # readonly mode --readonly ``` ### Parameter Description #### Common | Args | Description | Args | Description | | ------ | ------ | ------ | ------ | | --host | Redis host* | --port | Redis port| | --auth | Password | --name | Custom name| | --separator | Key separator | --readonly | Enable readonly mode| | --username | Username(Redis6 ACL)| --save| Enable saving, one-time link by default| #### SSH | Args | Description | Args | Description | | ------ | ------ | ------ | ------ | | --ssh-host | SSH host* | --ssh-port | SSH port(default:22)| | --ssh-username | Username* | --ssh-password | Password| | --ssh-private-key | Path of private key | --ssh-passphrase | Password of private key| | --ssh-timeout | SSH timeout(s) | |  | #### CLUSTER | Args | Description | | ------ | ------ | | --cluster | Enable CLUSTER mode | #### SSL | Args | Description | Args | Description | | ------ | ------ | ------ | ------ | | --ssl | Enable SSL* | --ssl-key | SSL Private Key Pem| | --ssl-ca | SSL Certificate Authority | --ssl-cert | SSL Public Key Pem| #### SENTINEL | Args | Description | | ------ | ------ | | --sentinel-master-name | Name of master group*,like 'mymaster' | | --sentinel-node-password | Password of Redis node | ## FAQ #### 1. How to connect to Redis Cluster in internal network (such as Docker, LAN, AWS)? Answer: Connect via `SSH+Cluster` (SSH to the internal network and then connecting to Cluster with internal IP such as `127.0.0.1`, `192.168.x.x`), you need to fill Redis Host with the internal IP. How to get Redis internal IP? Connect through SSH, uncheck Cluster option, and then open the console to execute `CLUSTER NODES`, select any IP in the result. #### 2. Do I need to fill in the 'Username' in the Redis configuration? Answer: The access control list (ACL) is only supported in `Redis>=6.0`, so do not fill it unless you need a special user. ## License [MIT](LICENSE) ## Support [goanother.com](https://goanother.com/)   [Producthunt](https://www.producthunt.com/posts/another-redis-desktop-manager)   [Twitter@shibo](https://twitter.com/qii404)   [Download Analysis](https://qii404.me/github-release-statistics/?repo=/qishibo/AnotherRedisDesktopManager/)