@libreservice/my-ovpn
v0.3.1
Published
![](https://img.shields.io/github/license/LibreService/my_ovpn)
Downloads
3
Readme
My OVPN
Generate CA, server and client configuration for OpenVPN.
https://my-ovpn.vercel.app/
This is a STATIC website so you DON'T need to own a server to host it.
All computation is performed in browser, thanks to Web Assembly.
It's also a PWA, so you can install it like a native App and use it OFFLINE.
Use case
CA
- Generate
ca.key
andca.crt
.
Server
- Given
ca.key
andca.crt
, generateserver.key
andserver.crt
. - Generate
dh2048.pem
(extremely slow). - Generate
ta.key
to be shared with every client. - Generate
server.conf
.
Client
- Given
ca.key
andca.crt
, generateclient.key
andclient.crt
. - Generate
client.ovpn
. - Embed
ca.crt
,client.key
,client.crt
andta.key
intoclient.ovpn
(useful for Android and iOS).
Self host
Download latest artifact built by GitHub Actions.
Development workflow
My OVPN can be built on Linux and macOS.
For Windows, you may use WSL.
Install node
You may use nvm to install node.
Install pnpm and dev dependencies
npm i -g pnpm
pnpm i
Install emsdk
https://emscripten.org/docs/getting_started/downloads.html
Get submodule
git submodule init
git submodule update
Build wasm
pnpm run lib
pnpm run wasm
Run develop server
pnpm run dev
Lint
pnpm run lint:fix
Check type
pnpm run check
Build
pnpm run build
Test
pnpm run test
Preview
pnpm run preview
Deploy
export LIBRESERVICE_CDN=https://cdn.jsdelivr.net/npm/@libreservice/my-ovpn@VERSION/dist/ # optional
vercel build --prod
vercel deploy --prebuilt --prod
License
AGPLv3+