Skip to content

zifeo/kpaste

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Infomaniak paste

License Github issues Github fork Github stars dependencies devdependencies

Infomaniak Paste is a 100% secure solution for transferring your encrypted messages to all your contacts.

The data are encrypted and decrypted directly in your Internet browser via the 256-bit AES protocol using the Galois Counter mode.

install

See ./.env.development for the environment variables.

nvm use 19
npm i

build dev

npm start

build prod

npm run build

Development Mode & Mocking

Since this project depends on private Infomaniak registries, a mocking strategy is used for local development.

You can toggle between the real dependency and the local mock using the following commands:

# Use local mock (updates package-lock.json to point to local files)
npm run mock:on

# Surgical Reset (restores the registry version while keeping other changes like new libraries)
npm run mock:off

CORS & Proxy

To avoid CORS issues in development, the project uses a Vite proxy. The configuration is explicit in .env.development:

  1. VITE_WEB_COMPONENT_API_ENDPOINT: Empty ("") to force the browser to use relative paths.
  2. VITE_WEB_COMPONENT_API_ENDPOINT_PROXY: The actual target URL for the proxy.
nvm use 19
npm i
npm start

k8s

folder kubernetes

docker

folder docker

cypress test

see cypress folder

CI

  • linter
  • dependency check
  • cypress
  • docker image (nginx)
  • docker image check

precommit hook

there is a precommit hook based on eslint check

common errors

localhost don't work because of https

this plugin automatically enables HTTPS for Vite development servers by generating self-signed SSL certificates.

npm install -D @vitejs/plugin-basic-ssl\n

in vite.config.ts

add BasicSsl :

import basicSsl from '@vitejs/plugin-basic-ssl'

defineConfig plugin :

  plugins: [
    react(),
    basicSsl({
      name: 'test',
      domains: ['*.custom.com'],
      certDir: '/Users/.../.devServer/cert'
    })
  ],

About

Infomaniak paste

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 73.9%
  • SCSS 20.2%
  • JavaScript 2.9%
  • HTML 2.8%
  • Dockerfile 0.2%