Giter Club home page Giter Club logo

skunkworks's Introduction

Skunkworks

This is some R&D code for the samizdapp project. Very messy, but functional. More docs coming soon. In the meantime, message Ryan with questions.

Big Picture

This repo contains bare minimum setup to configure a dev environment or raspberry/rock pi into a wireguard VPN server and split tunnel DNS server via PiHole. Additionally, it contains a boneyard of other dockerized services.

Getting started (Docker)

Prerequisits: docker, docker-compose, and wireguard for your development machine and optionally a phone.

  • run docker-compose up --build, this will start two wireguard interfaces and generate two client configurations
  • visit http://localhost to download client configuration client1.conf
  • from a terminal, run wg-quick up ./client1.conf
  • visit http://local.dns and http://roaming.dns to view the web interfaces for the two PiHole instances
  • go back to http://localhost and view client2.png
  • scan the qr code with your mobile wireguard client
  • activate the vpn and try to visit http://local.dns and http://roaming.dns from your phone (try turning off WiFi too to demonstrate roaming)

At this point, you now have a roaming capable tunnel to your dev environment, and can start hacking on other services.

Getting started (Hardware)

Note: there are some magic strings in wireguard/Dockerfile and caddy/dockerfile. these need to be made configurable, but for now, change amd64 to aarch64 in all base image declarations, and uncomment the appropriate blocks in wireguard/Dockerfile depending on platform.

  • get a raspberry pi or rockpi
  • sign up for a free balena.io account
  • set up your SBC for local development, find <id>.local for the device
  • run balena push <id>.local
  • wait until command line settles
  • reboot device via balena website
  • visit http://.local to download client configuration client1.conf
  • from a terminal, run wg-quick up ./client1.conf
  • visit http://local.dns and http://roaming.dns to view the web interfaces for the two PiHole instances
  • go back to http://localhost and view client2.png
  • scan the qr code with your mobile wireguard client
  • activate the vpn and try to visit http://local.dns and http://roaming.dns from your phone (try turning off WiFi too to demonstrate roaming)

At this point, you now have a roaming capable tunnel to your hardware environment, and can start hacking on services

Hacking Services

Coming soon

skunkworks's People

Contributors

hoggl avatar rynomad avatar

Watchers

 avatar

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.