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:
- Create a new server instance
- Install the operating system (Ubuntu 16.04)
- Configure all selected VPN services
- 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
- Check the Issue Tracker for known issues
- Review the Features Documentation
- Consult the Services Documentation
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