+
Skip to content

shashwat-dixit/cvpn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CVPN - VPN right from your Terminal

Command Line VPN built with Go and featuring AWS integration and a modern text-based user interface.

Project ToDo

  • Make it into a hybrind of Pritunl & Proton
  • Make three tiers of service - free, personal and business
  • Config based setup - remove any friction for the business or personal tier
  • Make a good documentation website
  • Integrate a payment provider

Features

  • 🔐 Secure AWS credentials management with local encryption
  • 🖥️ Interactive terminal user interface
  • 🚀 Quick VPN instance deployment on AWS
  • 📊 Real-time connection monitoring
  • 🔄 Instance lifecycle management
  • 📝 Connection logging and diagnostics

Installation

go install github.com/shashwat-dixit/cvpn@latest

Or build from source:

git clone https://github.com/shashwat-dixit/cvpn.git
cd vpn-cli
go build ./cmd/cli-app

To setup docs locally

git clone https://github.com/shashwat-dixit/cvpn.git
cd cvpn/cvpn-docs
npm install
npm run dev

Quick Start

  1. Configure AWS credentials:
cvpn configure
  1. Create a new VPN instance:
cvpn create
  1. Connect to your VPN:
cvpn connect

Usage

Press ? in the interactive interface to see all available commands.

Common operations:

  • c: Connect to selected VPN
  • d: Disconnect current VPN
  • n: Create new VPN instance
  • x: Delete selected instance
  • q: Quit application

Configuration

The CLI supports several configuration options through environment variables or config files:

CVPN_AWS_REGION=us-west-2      # Default AWS region
CVPN_CONFIG_PATH=~/.vpncli     # Configuration directory
CVPN_LOG_LEVEL=info           # Logging level

Documentation

Complete documentation is available in two formats:

  1. Built-in CLI documentation:
cvpn help
  1. Comprehensive web documentation at docs coming soon
    • Built with Astro
    • Includes tutorials and best practices
    • Deployment guides
    • AWS cost optimization tips
    • Security recommendations

Architecture

The application is built using several powerful Go libraries:

Security

  • AWS credentials are never stored in plaintext
  • Automatic credential rotation
  • System keyring integration
  • Regular security audits

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A CLI based VPN built with golang and AWS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载