Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grvpn

build Netlify Status Release PyPI - Version License: MIT

grvpn web grvpn cli

grvpn is Gaucho Racing's custom VPN manager and client. It is designed to allow users to connect to Gaucho Racing's internal network and easily access AWS resources. Built on top of OpenVPN, it provides a simple interface for managing VPN profiles.

Using grvpn

Recommended (macOS, Linux)

  • Install grvpn from PyPI
  • Run grvpn login to login to with Sentinel
  • Run grvpn connect to connect to the VPN
  • All configuration is stored in the ~/.grvpn directory.

Manual (Windows, iOS, Android):

  • Install OpenVPN Connect from here
  • Go to vpn.gauchoracing.com
  • Click "Create Profile" to generate a new profile
  • Click the "Connect" button to automatically launch OpenVPN Connect
  • Alternatively, you can download the .ovpn file and manually import it

Check out our wiki page here to learn more.

Getting Started

Prerequisites:

1. Setup local database

Start by running a local PostgreSQL database. The provided docker-compose.yaml let's you easily spin up a local instance.

docker compose up -d

You should now have a database called grvpn running on localhost:5432.

2. Configure environment variables

Create a server/.env file and copy in the following environment variables.

ENV=DEV
PORT=9999

DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_USER=postgres
DATABASE_PASSWORD=password
DATABASE_NAME=grvpn

SENTINEL_URL=https://sentinel-api.gauchoracing.com
SENTINEL_JWKS_URL=https://sso.gauchoracing.com/.well-known/jwks.json
SENTINEL_CLIENT_ID=
SENTINEL_CLIENT_SECRET=
SENTINEL_TOKEN=
SENTINEL_REDIRECT_URI=http://localhost:5173/auth/login

Make sure to set the client id and secret for your application. If you don't have one already, you can create one through Sentinel.

3. Start the backend

Navigate to the server/ directory and execute the following.

make run

This will automatically install dependencies, source the .env file, and start the application. The backend should now be listening on localhost:9999 (or whatever you set PORT to).

4. Start the frontend

Navigate to the web/ directory and execute the following.

npm install
npm run dev

Make sure to update the SENTINEL_CLIENT_ID and BACKEND_URL values in src/consts/config.tsx.

Open http://localhost:5173 in your browser to see the result.

5. Start the CLI

Navigate to the cli/ directory and execute the following.

poetry install
poetry run grvpn --help

Note: The CLI does not support Windows.

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b gh-username/my-amazing-feature)
  3. Commit your Changes (git commit -m 'Add my amazing feature')
  4. Push to the Branch (git push origin gh-username/my-amazing-feature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

About

Gaucho Racing's custom VPN manager and client, built on top of OpenVPN.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages