Skip to content
Streisand sets up a new server running your choice of WireGuard, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, or a Tor bridge. It also generates custom instructions for all of these services. At the end of the run you are given an HTML file with instructions that can be shared with friends, family members, and fellow activists.
Branch: master
Clone or download
denoza and alimakki Adding V2ray Support for Shadowsocks (#1508)
* Adding V2ray Support

* Adding git to streisand common packages

* Fix error in Instructions

* Fixing typo bug in Shadowsocks Instructions
Latest commit c91292a May 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update all Github repository links. (#983) Oct 11, 2017
deploy Rename vars.yml (#1536) Mar 23, 2019
documentation Add IncludeSec audit report to repo. (#1526) Mar 13, 2019
global_vars Rename vars.yml (#1536) Mar 23, 2019
inventories Update venv builder for upstream module changes, more compatibility (#… Feb 5, 2018
playbooks Adding V2ray Support for Shadowsocks (#1508) May 18, 2019
tests Rename vars.yml (#1536) Mar 23, 2019
util Rename vars.yml (#1536) Mar 23, 2019
.gitignore Change install instructions to use virtualenv './venv' (#1347) Jul 2, 2018
.travis.yml workaround for… Jan 15, 2019
Advanced Split into smaller, easier-to-read pieces (#1520) Mar 12, 2019 Fix typo (#1377) Jun 13, 2018 Split into smaller, easier-to-read pieces (#1520) Mar 12, 2019 Small documentation fix caused by block quotes (#1534) Mar 22, 2019
LICENSE Update Lin Song's project details in the LICENSE file. Feb 16, 2017 Center the Streisand logo in the Readme (#1318) May 2, 2018 Fix typo: certifcate -> certificate (#1497) Dec 21, 2018 Update (#1528) Mar 17, 2019 Adding V2ray Support for Shadowsocks (#1508) May 18, 2019 Split into smaller, easier-to-read pieces (#1520) Mar 12, 2019
Vagrantfile Rename vars.yml (#1536) Mar 23, 2019
Vagrantfile.remotetest Add new remote-test Vagrantfile, docs on usage. (#734) Jun 21, 2017
ansible.cfg Add support for local provisioning. (#724) Jun 9, 2017
logo.jpg Add the logo to the repository. May 9, 2015
requirements.txt pycrypto will not build on at least macOS 10.14; upgrade (#1510) Feb 5, 2019
streisand Rename vars.yml (#1536) Mar 23, 2019


Automate the effect

English, Français, 简体中文, Русский | Mirror

Build Status Twitter


Silence censorship. Automate the effect.

The Internet can be a little unfair. It's way too easy for ISPs, telecoms, politicians, and corporations to block access to the sites and information that you care about. But breaking through these restrictions is tough. Or is it?

If you have an account with a cloud computing provider, Streisand can set up a new node with many censorship-resistant VPN services nearly automatically. You'll need a little experience with a Unix command-line. (But without Streisand, it could take days for a skilled Unix administrator to configure these services securely!) At the end, you'll have a private website with software and instructions.

Here's what a sample Streisand server looks like.

There's a list of supported cloud providers; experts may be able to use Streisand to install on many other cloud providers.

VPN services

One type of tool that people use to avoid network censorship is a Virtual Private Network (VPN). There are many kinds of VPNs.

Not all network censorship is alike; in some places, it changes from day to day. Streisand provides many different VPN services to try. (You don't have to install them all, though.)

Some Streisand services include add-ons for further censorship and throttling resistance:

See also:

Cloud providers

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

Other providers

We recommend using one of the above providers. If you are an expert and can set up a fresh Ubuntu 16.04 server elsewhere, there are "localhost" and "existing remote server" installation methods. For more information, see the advanced installation instructions.


You need command-line access to a Unix system. You can use Linux, BSD, or macOS; on Windows 10, the Windows Subsystem for Linux (WSL) counts as Linux.

Once you're ready, see the full installation instructions.

Things we want to do better

Aside from a good deal of cleanup, we could really use:

  • Easier setup.
  • Faster adoption of new censorship-avoidance tools

We're looking for help with both.

If there is something that you think Streisand should do, or if you find a bug in its documentation or execution, please file a report on the Issue Tracker.

Core Contributors

  • Jay Carlson (@nopdotcom)
  • Nick Clarke (@nickolasclarke)
  • Joshua Lund (@jlund)
  • Ali Makki (@alimakki)
  • Daniel McCarney (@cpu)
  • Corban Raun (@CorbanR)


Jason A. Donenfeld deserves a lot of credit for being brave enough to reimagine what a modern VPN should look like and for coming up with something as good as WireGuard. He has our sincere thanks for all of his patient help and high-quality feedback.

We are grateful to Trevor Smith for his massive contributions. He suggested the Gateway approach, provided tons of invaluable feedback, made everything look better, and developed the HTML template that served as the inspiration to take things to the next level before Streisand's public release.

Huge thanks to Paul Wouters of The Libreswan Project for his generous help troubleshooting the L2TP/IPsec setup.

Starcadian's 'Sunset Blood' album was played on repeat approximately 300 times during the first few months of work on the project in early 2014.

You can’t perform that action at this time.