← Back to jlund/streisand

How to Deploy & Use jlund/streisand

Streisand Deployment and Usage Guide

Prerequisites

System Requirements

  • Unix-based system (Linux, BSD, or macOS)
  • Windows 10 users can use Windows Subsystem for Linux (WSL)
  • Command-line access with basic Unix experience

Cloud Provider Account

You'll need an account with one of the supported cloud providers:

  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Digital Ocean
  • Google Compute Engine (GCE)
  • Linode
  • Rackspace

Software Dependencies

  • Git (for cloning the repository)
  • SSH client (for connecting to remote servers)
  • Python 3.x (for running the Streisand setup script)

Installation

1. Clone the Repository

git clone https://github.com/StreisandEffect/streisand.git
cd streisand

2. Run the Setup Script

./streisand

The script will guide you through the setup process, including:

  • Selecting your cloud provider
  • Configuring your server
  • Installing VPN services
  • Generating custom instructions

Configuration

Cloud Provider Configuration

During setup, you'll need to provide:

  • API credentials for your cloud provider
  • Server location/region preferences
  • Server size specifications

VPN Service Selection

You can choose which VPN services to install:

  • OpenSSH with Tinyproxy
  • OpenConnect/Cisco AnyConnect
  • OpenVPN with Stunnel add-on
  • Shadowsocks with V2ray-plugin
  • Tor bridge relay with Obfsproxy
  • WireGuard

Advanced Configuration

For advanced users, see the Advanced Installation Guide for:

  • Localhost installation
  • Existing remote server installation
  • Custom configurations

Build & Run

Development Environment

Streisand doesn't require a traditional build process. The setup script handles all installation and configuration automatically.

Running Locally

./streisand

Follow the interactive prompts to configure your server and VPN services.

Production Deployment

The script automatically deploys to your chosen cloud provider and configures all selected services.

Deployment

Cloud Provider Deployment

Streisand supports deployment to multiple cloud providers. The script will:

  1. Create a new server instance
  2. Install the operating system (Ubuntu 16.04)
  3. Configure all selected VPN services
  4. Generate a custom HTML instructions page

Post-Deployment

After deployment, you'll receive:

  • Server IP address
  • Access credentials
  • Custom HTML instructions file
  • Configuration files for each VPN service

Troubleshooting

Common Issues

Connection Problems

Issue: Unable to connect to the server after deployment Solution:

  • Verify your cloud provider firewall settings
  • Check that the correct ports are open (22 for SSH, plus service-specific ports)
  • Ensure your local firewall isn't blocking connections

VPN Service Issues

Issue: VPN services not working properly Solution:

  • Check service status: sudo systemctl status <service-name>
  • Review logs: sudo journalctl -u <service-name>
  • Verify configuration files in /etc/<service-name>/

Cloud Provider API Errors

Issue: API authentication failures Solution:

  • Verify API credentials are correct
  • Check that your account has sufficient permissions
  • Ensure your account has enough credits/balance

Performance Issues

Issue: Slow VPN connections Solution:

  • Choose a server location closer to your physical location
  • Upgrade to a larger server instance
  • Try different VPN protocols (WireGuard typically offers best performance)

Getting Help

Security Considerations

  • Always use strong passwords for your server
  • Keep your server software updated
  • Monitor your server logs regularly
  • Consider using SSH keys instead of passwords for authentication

Maintenance

  • Regularly update your server: sudo apt update && sudo apt upgrade
  • Monitor VPN service status
  • Review and update security configurations as needed
  • Back up important configuration files