Giter Site home page Giter Site logo

alectrocute / heatsink Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 5.0 987 KB

๐Ÿ”ฅ Run a disposable VPN service (ubuntu/openVPN/NGINX/PHP/JS)

License: GNU General Public License v3.0

CSS 45.26% CoffeeScript 5.23% Hack 1.76% PHP 2.14% JavaScript 43.15% Shell 2.47%
openvpn vpn php javascript service app saas roadwarrior

heatsink's Introduction

heatsink

๐Ÿ”ฅ Run a disposable VPN service (ubuntu/openVPN/nginx/PHP/JS)

logo

Scripts & code from Shards, Roadwarrior and Bootstrap included. Big thanks.

heatsink is a service that allows you to run a disposable VPN service. It utilizes two VPSes, one to host the openVPN server (+ nginx to serve cert's and profiles) and another VPS to host the app website. The user goes to your domain, clicks on "generate" and has a disposable VPN account created for a specific amount of time.

The documentation here is flimsy at best and I haven't tested the steps. The code worked when I ran it originally but something may be broken. I highly advise you to know your way around PHP/Linux very well before using this repo. That may be a good thing, since you should probably know programming in order to run a VPN service... ;)

I will update the code & readme soon. I lost the client-side nginx.conf file somewhere, which is kind of important (read below to see why).

Getting started

  • Familiarize yourself with all the files and code, it's quite simple.

openVPN-side

  • ubuntu 14-18.x VPS server
  • Upload repo's /server/ files to ~/root/
  • Make sure permissions are correct if not using root user.
sudo apt-get install build-essential
sudo apt-get update
sudo apt-get install php nginx
  • Configure heatsink's nginx.conf to be the default configuration for nginx and restart the service.

  • Install dnsmasq

sudo apt-get -y install dnsmasq
sudo systemctl restart NetworkManager
  • Replace dnsmasq's config with heatsink's and drop ads2.dnsmasq in same directory.

  • Install openVPN server via Nyr's Roadwarrior

sudo bash ./openvpn-install.sh

Client-side

  • ubuntu 14-18.x VPS server
  • Upload repo's /client/ files to ~/var/www/html/ (create directory if it doesn't exist yet)
  • Make sure permissions are correct if not using root user
sudo apt-get install build-essential
sudo apt-get update
sudo apt-get install php nginx
  • Configure nginx to point wildcard subdomain requests to [domain]/?sessionIdentify=[subdomain]

  • Configure settings in serverconfig.php and home-session.php

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.