{"_id":"@aspensmonster/keyoxide-web","_rev":"4-cc2d3db27e19416ca5bc84e95f4ec346","time":{"created":"2023-06-22T19:54:44.981Z","3.6.5":"2023-06-22T19:46:26.884Z","modified":"2023-08-19T20:51:38.647Z","3.6.6":"2023-06-22T19:54:45.460Z","3.7.0":"2023-08-19T20:51:38.428Z"},"name":"@aspensmonster/keyoxide-web","dist-tags":{"latest":"3.7.0"},"versions":{"3.6.6":{"name":"@aspensmonster/keyoxide-web","version":"3.6.6","description":"Verifying online identity with cryptography","main":"./src/index.js","type":"module","dependencies":{"ajv":"^8.6.3","bent":"^7.3.12","body-parser":"^1.19.0","dialog-polyfill":"^0.5.6","@aspensmonster/doipjs":"^0.18.4","dotenv":"^16.0.3","express":"^4.17.1","express-validator":"^6.13.0","fork-awesome":"^1.2.0","got":"^11.8.2","hash-wasm":"^4.9.0","jstransformer-markdown-it":"^3.0.0","keyv":"^4.5.0","libravatar":"^3.0.0","openpgp":"^5.5.0","pug":"^3.0.0","qrcode":"^1.4.4","string-replace-middleware":"^1.0.2","winston":"^3.8.2"},"devDependencies":{"@vercel/ncc":"^0.34.0","chai":"^4.3.6","copy-webpack-plugin":"^10.2.4","css-loader":"^6.6.0","license-check-and-add":"^4.0.5","mini-css-extract-plugin":"^2.5.3","mocha":"^10.1.0","nodemon":"^2.0.20","rome":"^11.0.0","standard":"^17.0.0","style-loader":"^3.3.1","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.0"},"scripts":{"start":"node --experimental-fetch ./","dev":"LOG_LEVEL=debug yarn run watch & yarn run build:static:dev","test":"yarn run standard:check && yarn run rome:check && mocha","watch":"nodemon --config nodemon.json ./","build":"yarn run build:server & yarn run build:static","build:server":"ncc build ./src/index.js -o dist","build:static":"webpack --config webpack.config.js --env static=true --env mode=production","build:static:dev":"webpack --config webpack.config.js --env static=true --env mode=development","standard:check":"standard ./src","standard:fix":"standard --fix ./src","rome:check":"rome check ./src","rome:fix":"rome check --apply ./src","license:check":"license-check-and-add check","license:add":"license-check-and-add add","license:remove":"license-check-and-add remove"},"repository":{"type":"git","url":"https://codeberg.org/keyoxide/keyoxide-web"},"keywords":["pgp","gpg","openpgp","encryption","decentralized","identity"],"author":{"name":"Yarmo Mackenbach","email":"yarmo@yarmo.eu","url":"https://yarmo.eu"},"license":"AGPL-3.0-or-later","gitHead":"96dff58bd2d0a5b11558f9cbc22959199645a489","_id":"@aspensmonster/keyoxide-web@3.6.6","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-ip/dtf3Mkejx6MsBK4wr1Ti2PJaqYCTlwMmVE2mK25SBBafUrfTmVZVR2nq78Jul/y9MOi/mcm7Xa+1hC0mePw==","shasum":"b182759bf9dec796fbf1e9fa385ec9beeff7bae9","tarball":"https://registry.npmjs.org/@aspensmonster/keyoxide-web/-/keyoxide-web-3.6.6.tgz","fileCount":76,"unpackedSize":254282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPGvywN+LRzJjdvc3RwtYNbWc/lBk01iZgzpSa4P0xjgIhAP+RTRBsAHIL/C7IVxEZlldniN3yhgoUVY7DKY9WvAaR"}]},"_npmUser":{"name":"aspensmonster","email":"aspensmonster@riseup.net"},"directories":{},"maintainers":[{"name":"aspensmonster","email":"aspensmonster@riseup.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/keyoxide-web_3.6.6_1687463685236_0.20032546405100016"},"_hasShrinkwrap":false},"3.7.0":{"name":"@aspensmonster/keyoxide-web","version":"3.7.0","description":"Verifying online identity with cryptography","main":"./src/index.js","type":"module","dependencies":{"ajv":"^8.6.3","bent":"^7.3.12","body-parser":"^1.19.0","dialog-polyfill":"^0.5.6","@aspensmonster/doipjs":"^1.0.1","dotenv":"^16.0.3","express":"^4.17.1","express-validator":"^6.13.0","fork-awesome":"^1.2.0","got":"^11.8.2","hash-wasm":"^4.9.0","jstransformer-markdown-it":"^3.0.0","keyv":"^4.5.0","libravatar":"^3.0.0","openpgp":"^5.5.0","pug":"^3.0.0","qrcode":"^1.4.4","string-replace-middleware":"^1.0.2","winston":"^3.8.2"},"devDependencies":{"@vercel/ncc":"^0.34.0","chai":"^4.3.6","copy-webpack-plugin":"^11.0.0","css-loader":"^6.6.0","esmock":"^2.3.1","license-check-and-add":"^4.0.5","mini-css-extract-plugin":"^2.5.3","mocha":"^10.1.0","nodemon":"^2.0.20","rome":"^12.1","standard":"^17.0.0","style-loader":"^3.3.1","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.0"},"scripts":{"start":"node --experimental-fetch --preserve-symlinks ./","dev":"LOG_LEVEL=debug yarn run watch & yarn run build:static:dev","test":"yarn run lint && mocha --loader=esmock","watch":"nodemon --config nodemon.json ./","build":"yarn run build:server & yarn run build:static","build:server":"ncc build ./src/index.js -o dist","build:static":"webpack --config webpack.config.js --env static=true --env mode=production","build:static:dev":"webpack --config webpack.config.js --env static=true --env mode=development","lint":"yarn run standard:check && yarn run rome:check","standard:check":"standard ./src","standard:fix":"standard --fix ./src","rome:check":"rome check ./src","rome:fix":"rome check --apply ./src","license:check":"license-check-and-add check","license:add":"license-check-and-add add","license:remove":"license-check-and-add remove"},"repository":{"type":"git","url":"https://codeberg.org/keyoxide/keyoxide-web"},"keywords":["pgp","gpg","openpgp","encryption","decentralized","identity"],"author":{"name":"Yarmo Mackenbach","email":"yarmo@yarmo.eu","url":"https://yarmo.eu"},"license":"AGPL-3.0-or-later","gitHead":"a930aad10a21ec1777575e0862defeaade2bec67","_id":"@aspensmonster/keyoxide-web@3.7.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-nfz/yUrHgHDzEltmgStgZaZxaVD3JNlGdyuRxj5vgCvw4d1MJtXsJXTkxU/8Rj25jrigads0+gp44YHaKB4iaA==","shasum":"9610b41c46f5198b85e6b0ae19d676f055baeaa2","tarball":"https://registry.npmjs.org/@aspensmonster/keyoxide-web/-/keyoxide-web-3.7.0.tgz","fileCount":74,"unpackedSize":248400,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ8/SFhKhVdEUF1mBxAUnOFNFqLtk3ezt1n3F5VQjpFgIgEcquP/4m7EIiF+ophwA1lZsR0h8lD4CN1VOSjWGV/do="}]},"_npmUser":{"name":"aspensmonster","email":"aspensmonster@riseup.net"},"directories":{},"maintainers":[{"name":"aspensmonster","email":"aspensmonster@riseup.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/keyoxide-web_3.7.0_1692478298237_0.14742452681503515"},"_hasShrinkwrap":false}},"maintainers":[{"name":"aspensmonster","email":"aspensmonster@riseup.net"}],"description":"Verifying online identity with cryptography","keywords":["pgp","gpg","openpgp","encryption","decentralized","identity"],"repository":{"type":"git","url":"https://codeberg.org/keyoxide/keyoxide-web"},"author":{"name":"Yarmo Mackenbach","email":"yarmo@yarmo.eu","url":"https://yarmo.eu"},"license":"AGPL-3.0-or-later","readme":"# Keyoxide\n\n[![Drone (self-hosted) with branch](https://img.shields.io/drone/build/keyoxide/keyoxide-web/main?server=https%3A%2F%2Fdrone.keyoxide.org&style=for-the-badge)](https://drone.keyoxide.org/keyoxide/keyoxide-web)\n[![License](https://img.shields.io/badge/license-AGPL--v3-blue?style=for-the-badge)](https://codeberg.org/keyoxide/web/src/branch/main/LICENSE)\n[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/keyoxide/keyoxide?sort=semver&style=for-the-badge)](https://hub.docker.com/r/keyoxide/keyoxide)\n[![Docker Pulls](https://img.shields.io/docker/pulls/keyoxide/keyoxide?style=for-the-badge)](https://hub.docker.com/r/keyoxide/keyoxide)\n[![Mastodon Follow](https://img.shields.io/mastodon/follow/247838?domain=https%3A%2F%2Ffosstodon.org&style=for-the-badge)](https://fosstodon.org/@keyoxide)\n[![Liberapay receiving](https://img.shields.io/liberapay/receives/keyoxide?style=for-the-badge)](https://liberapay.com/Keyoxide)\n\n[Keyoxide](https://keyoxide.org) is a modern, secure and decentralized platform to prove your online identity.\n\n## Self-hosting\n\nSelf-hosting Keyoxide is an important aspect of the project. Users need to trust the Keyoxide instance they're using to reliably verify identities. Making Keyoxide itself decentralized means no one needs to trust a central server. If a friend or family member is hosting a Keyoxide instance, it becomes much easier to trust the instance!\n\n### Docker\n\nThe Docker container allows you to easily self-host the [Keyoxide](https://keyoxide.org) project. To get started, simply run:\n\n`docker run -d -p 3000:3000 keyoxide/keyoxide:stable`\n\nKeyoxide will now be available by visiting http://localhost:3000.\n\nMore information available in the [documentation](docs.keyoxide.org/self-hosting).\n\n## Contributing\n\nAnyone can contribute if they'd like! No need to be a programmer or technically-oriented for that matter.\n\nContributing to Keyoxide can happen in many forms:\n\n- Finding and reporting bugs\n- Suggesting new features\n- Improving documentation\n- Writing code to fix bugs and features\n- Promoting decentralized identity and web3.0\n\nPlease note that this project has a [Code of Conduct](https://codeberg.org/keyoxide/web/src/branch/main/CODE_OF_CONDUCT.md) that all contributors agree to abide when participating.\n\n### Local development\n\nTo run Keyoxide locally on your machine for development:\n\n- install either\n  - NodeJS\n    - directly from their [website](https://nodejs.org/en/), or\n    - using [nvm](https://github.com/nvm-sh/nvm): `nvm install --lts; nvm use --lts`\n  - [yarn](https://yarnpkg.com/)\n  - [nix](https://nixos.org/guides/install-nix.html) with\n    [direnv](https://direnv.net/) will install yarn and other dependencies.\n- install dependencies with `npm install` or `yarn`\n- run the server with `npm dev` or `yarn dev`\n\nKeyoxide will now be available at [https://localhost:3000](https://localhost:3000)\n","readmeFilename":"README.md"}