.github/000077500000000000000000000000001516774656700124465ustar00rootroot00000000000000.github/workflows/000077500000000000000000000000001516774656700145035ustar00rootroot00000000000000.github/workflows/build.yml000066400000000000000000000053671516774656700163400ustar00rootroot00000000000000name: Build and Release on Tag on: push: tags: - 'v*' jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: ['lts/*'] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} - run: npm i -g grunt-cli - run: npm install - run: grunt deploy-image: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: get-npm-version id: package-version uses: martinbeentjes/npm-get-version-action@main - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push Docker image run: | docker buildx build . \ --platform linux/amd64,linux/arm64,linux/arm/v7 \ -t patrikx3/p3x-redis-ui:latest \ -t patrikx3/p3x-redis-ui:${{ steps.package-version.outputs.current-version }} \ --push package-and-release-macos: runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: 'lts/*' - name: Install dependencies run: npm install - name: Build and package macOS app run: npm run publish-macos - name: Upload macOS build to GitHub Release uses: softprops/action-gh-release@v1 with: tag_name: ${{ github.ref_name }} files: | dist/*.dmg dist/*.zip dist/*.blockmap dist/latest-mac.yml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} package-and-release-windows: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: 'lts/*' - name: Install dependencies run: npm install - name: Build and package Windows app run: npm run publish-windows env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Windows build to GitHub Release uses: softprops/action-gh-release@v1 with: tag_name: ${{ github.ref_name }} files: | dist/*.exe dist/*.msi dist/*.blockmap dist/latest.yml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} .gitignore000066400000000000000000000003741516774656700131020ustar00rootroot00000000000000/build /node_modules /*.log /*.iws .idea/workspace.xml .idea/tasks.xml .idea/profiles_settings.xml .idea/inspectionProfiles/Project_Default.xml .idea/inspectionProfiles/profiles_settings.xml node_modules/.yarn-integrity /dist /p3x-redis-ui-settings .ncurc.json000066400000000000000000000000321516774656700131640ustar00rootroot00000000000000{ "reject": [ ] } .npmignore000066400000000000000000000002711516774656700131050ustar00rootroot00000000000000/.idea /artifacts /build /test /node_modules /*.iml /*.ipr /*.iws /.travis.yml /.scrutinizer.yml /Gruntfile.js /*.lock *.log /corifeus-boot.json /secure /scripts /dist /.github /.vscodeDockerfile000066400000000000000000000007631516774656700131060ustar00rootroot00000000000000#docker login #docker build -t patrikx3/p3x-redis-ui . ##docker tag IMAGE_ID patrikx3/p3x-redis-ui:latest #docker push patrikx3/p3x-redis-ui:latest #docker tag patrikx3/p3x-redis-ui:latest patrikx3/p3x-redis-ui:2023.4.102 #docker push patrikx3/p3x-redis-ui:2023.4.102 #docker images #docker rmi -f IMAGE_ID FROM node:lts-slim ENV COMPOSER_PROCESS_TIMEOUT=3600 ENV DEBIAN_FRONTEND=noninteractive ENV P3XRS_DOCKER_HOME=/settings EXPOSE 7843 RUN npm -g --unsafe-perm install p3x-redis-ui CMD p3x-redis Gruntfile.js000066400000000000000000000007731516774656700134120ustar00rootroot00000000000000const utils = require('corifeus-utils'); module.exports = (grunt) => { const _ = require('lodash'); const builder = require(`corifeus-builder`); const loader = new builder.loader(grunt); loader.js({ replacer: { type: 'p3x', }, }); //console.log(JSON.stringify(test, null, 4)); let defaults = builder.config.task.build.js.slice() // defaults.splice(defaults.indexOf('mocha_istanbul:cory-coverage'), 1) grunt.registerTask('default', defaults); } LICENSE000066400000000000000000000024301516774656700121120ustar00rootroot00000000000000 @license p3x-redis-ui v2024.4.138 📡 P3X Redis UI is a very functional handy database GUI and works in your pocket on the responsive web or as a desktop app https://corifeus.com/redis-ui Copyright (c) 2024 Patrik Laszlo / P3X / Corifeus and contributors. MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. README.md000066400000000000000000000404501516774656700123700ustar00rootroot00000000000000[//]: #@corifeus-header [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://paypal.me/patrikx3) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Corifeus @ Facebook](https://img.shields.io/badge/Facebook-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [![Uptime Robot ratio (30 days)](https://img.shields.io/uptimerobot/ratio/m780749701-41bcade28c1ea8154eda7cca.svg)](https://stats.uptimerobot.com/9ggnzcWrw) # 📡 P3X Redis UI is a very functional handy database GUI and works in your pocket on the responsive web or as a desktop app v2024.4.141 **Bugs are evident™ - MATRIX️** ### NodeJS LTS is supported ### Built on NodeJs version ```txt v20.11.1 ``` # Description [//]: #@corifeus-header:end `p3x-redis-ui` is a new Redis GUI which can serve as a backend server or as a desktop application. Some of the features are coming below. The best use case for this Redis GUI, if you manage tons of JSON, as it includes JSONEditor and ACE. Check out the different options in the edit json button dialog. :) ## Warning It is not recommend to generate the configuration `JSON` via a text editor. The perfect solution is to generate the configuration in the GUI, then apply for example in Kubernetes. ### AngularJs Vulnerabilities * CVE-2024-21490 * https://scout.docker.com/vulnerabilities/id/CVE-2024-21490 * This affects versions of the package angular from 1.3.0. A regular expression used to split the value of the ng-srcset directive is vulnerable to super-linear runtime due to backtracking. With a large carefully-crafted input, this can result in catastrophic backtracking and cause a denial of service. Note: This package is EOL and will not receive any updates to address this issue. Users should migrate to @angular/core. * We do not using the `ng-srcset`. * CVE-2023-26118⁠ * https://scout.docker.com/vulnerabilities/id/CVE-2023-26118 * All versions of the package angular are vulnerable to Regular Expression Denial of Service (ReDoS) via the element due to the usage of an insecure regular expression in the input[url] functionality. Exploiting this vulnerability is possible by a large carefully-crafted input, which can result in catastrophic backtracking. * We are not using the HTML `input[url]`. * CVE-2023-26117⁠ * https://scout.docker.com/vulnerabilities/id/CVE-2023-26117 * All versions of the package angular are vulnerable to Regular Expression Denial of Service (ReDoS) via the $resource service due to the usage of an insecure regular expression. Exploiting this vulnerability is possible by a large carefully-crafted input, which can result in catastrophic backtracking. * We do not using the `$resource` function. * CVE-2023-26116⁠ * https://scout.docker.com/vulnerabilities/id/CVE-2023-26116 * All versions of the package angular are vulnerable to Regular Expression Denial of Service (ReDoS) via the angular.copy() utility function due to the usage of an insecure regular expression. Exploiting this vulnerability is possible by a large carefully-crafted input, which can result in catastrophic backtracking. * We sometimes we do use the `angular.copy()`, but we are not using Regexp in this way, only data. * CVE-2022-25869 * https://scout.docker.com/vulnerabilities/id/CVE-2022-25869 * All versions of package angular are vulnerable to Cross-site Scripting (XSS) due to insecure page caching in the Internet Explorer browser, which allows interpolation of `