outline-server
Outline Server, developed by Jigsaw. The Outline Server is a proxy server that runs a Shadowsocks instance and provides a REST API for access key management.
Top Related Projects
Bug-fix-only libev port of shadowsocks. Future development moved to shadowsocks-rust
A platform for building proxies to bypass network restrictions.
An unidentifiable mechanism that helps you bypass GFW.
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.
Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由 - Быстрый, надежный и безопасный доступ к открытому интернету - lantern proxy vpn censorship-circumvention censorship gfw accelerator پراکسی لنترن، ضدسانسور، امن، قابل اعتماد و پرسرعت
Quick Overview
Outline-server is an open-source project by Jigsaw-Code that provides a secure and easy-to-use VPN server. It aims to make it simple for individuals and organizations to set up and manage their own VPN, offering enhanced privacy and security for internet users.
Pros
- Easy setup and management through a user-friendly interface
- Strong encryption and security features
- Cross-platform support (Windows, macOS, Linux, iOS, Android)
- Scalable for both personal and organizational use
Cons
- Requires some technical knowledge to set up and maintain
- Limited advanced configuration options compared to some other VPN solutions
- Potential for misuse if not properly secured
- May be blocked in some countries with strict internet censorship
Getting Started
To set up an Outline server:
- Choose a cloud provider (e.g., DigitalOcean, Google Cloud, Amazon EC2)
- Download the Outline Manager for your operating system from the official website
- Follow the setup wizard in the Outline Manager to create and configure your server
- Share access keys with users who need to connect to your VPN
For more detailed instructions, refer to the official documentation at https://getoutline.org/get-started/
Competitor Comparisons
Bug-fix-only libev port of shadowsocks. Future development moved to shadowsocks-rust
Pros of shadowsocks-libev
- Lightweight and efficient implementation in C
- Supports various encryption methods and plugins
- Well-established and widely used in the community
Cons of shadowsocks-libev
- Less user-friendly setup process
- Limited built-in management features
- Requires more technical knowledge to configure and maintain
Code Comparison
shadowsocks-libev:
static int create_and_bind(const char *host, const char *port,
int mptcp, int ipv6first)
{
struct addrinfo hints;
struct addrinfo *result, *rp, *ipv4v6bindall;
int s, listen_sock;
outline-server:
export async function createServer(
config: ServerConfig,
metricsCollector?: PrometheusClient,
): Promise<Server> {
const accessKeyRepository = new ManualAccessKeyRepository(config.accessKeys || []);
const serverConfig = new ServerConfigJson(config);
The code snippets show the different approaches and languages used in each project. shadowsocks-libev uses C for low-level network operations, while outline-server employs TypeScript for a more high-level, object-oriented approach.
A platform for building proxies to bypass network restrictions.
Pros of v2ray-core
- More flexible and customizable with support for multiple protocols
- Better performance and lower latency in some scenarios
- Active development with frequent updates and improvements
Cons of v2ray-core
- Steeper learning curve and more complex configuration
- Less user-friendly for non-technical users
- Lacks some of the simplified management features of Outline Server
Code Comparison
v2ray-core configuration example:
{
"inbounds": [{
"port": 1080,
"protocol": "socks",
"settings": {
"auth": "noauth"
}
}],
"outbounds": [{
"protocol": "freedom"
}]
}
Outline Server configuration example:
{
"server": {
"port": 8080,
"cryptoMethod": "chacha20-ietf-poly1305"
},
"accessKeys": [
{"id": "key1", "name": "User 1"},
{"id": "key2", "name": "User 2"}
]
}
The code examples demonstrate the difference in configuration complexity between the two projects. v2ray-core offers more granular control over inbound and outbound connections, while Outline Server focuses on a simpler setup with predefined access keys and encryption methods.
An unidentifiable mechanism that helps you bypass GFW.
Pros of Trojan
- Lightweight and efficient, with lower resource usage
- Designed to be more difficult to detect and block
- Supports multiple protocols (HTTP, WebSocket, TLS)
Cons of Trojan
- Less user-friendly setup process
- Fewer built-in management features
- Smaller community and ecosystem
Code Comparison
Trojan configuration example:
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": ["password1"],
"ssl": {
"cert": "/path/to/certificate.crt",
"key": "/path/to/private.key"
}
}
Outline Server configuration example:
{
"server": {
"hostname": "example.com",
"port": 443
},
"keys": [
{
"id": "key1",
"port": 12345,
"cipher": "chacha20-ietf-poly1305",
"secret": "mysecret"
}
]
}
Both projects aim to provide secure and private internet access, but they differ in their approach and target audience. Trojan focuses on being lightweight and difficult to detect, while Outline Server prioritizes ease of use and management features. The code examples show that Trojan's configuration is more detailed, while Outline Server's is simpler and more focused on key management.
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.
Pros of Streisand
- Supports a wider range of VPN protocols and services
- Provides more comprehensive documentation and setup instructions
- Offers additional features like DNS leak protection and ad blocking
Cons of Streisand
- More complex setup process and steeper learning curve
- Less frequent updates and maintenance compared to Outline Server
- May require more server resources due to multiple services running
Code Comparison
Streisand (Ansible playbook excerpt):
- name: Install OpenVPN
apt:
name: openvpn
state: present
- name: Configure OpenVPN server
template:
src: openvpn-server.conf.j2
dest: /etc/openvpn/server.conf
Outline Server (Docker Compose excerpt):
version: '3'
services:
outline-server:
image: quay.io/outline/outline-server:latest
ports:
- "8080:8080"
volumes:
- ./data:/root/shadowbox/persisted-state
Both projects aim to provide secure and private internet access, but Streisand offers a broader range of services at the cost of complexity, while Outline Server focuses on simplicity and ease of use with its Shadowsocks-based approach. Streisand's code involves more configuration steps, while Outline Server relies on Docker for easier deployment and management.
Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由 - Быстрый, надежный и безопасный доступ к открытому интернету - lantern proxy vpn censorship-circumvention censorship gfw accelerator پراکسی لنترن، ضدسانسور، امن، قابل اعتماد و پرسرعت
Pros of Lantern
- More comprehensive censorship circumvention solution, including built-in proxy and VPN capabilities
- Offers a user-friendly desktop and mobile application for easy access
- Utilizes peer-to-peer technology for improved performance and resilience
Cons of Lantern
- Less focused on server deployment and management compared to Outline Server
- May have a steeper learning curve for users who only need a simple VPN solution
- Potentially more complex to set up and maintain for individual users
Code Comparison
Lantern (Go):
func (c *Client) connectToProxy(ctx context.Context) (net.Conn, error) {
dialer := &net.Dialer{Timeout: 10 * time.Second}
return dialer.DialContext(ctx, "tcp", c.proxyAddr)
}
Outline Server (TypeScript):
async function startVpnTunnel(config: ServerConfig): Promise<void> {
const tunnel = new ShadowsocksServer(config);
await tunnel.start();
console.log('VPN tunnel started');
}
Both projects aim to provide secure internet access, but Lantern offers a more comprehensive solution with built-in censorship circumvention features, while Outline Server focuses on simplifying VPN server deployment and management.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Outline Server
Outline Server is the component that provides the Shadowsocks service (via outline-ss-server) and a service management API. You can deploy this server directly following simple instructions in this repository, or if you prefer a ready-to-use graphical interface you can use the Outline Manager.
Components:
-
Outline Server (
src/shadowbox
): The core proxy server that runs and manages outline-ss-server, a Shadowsocks backend. It provides a REST API for access key management. -
Metrics Server (
src/metrics_server
): A REST service for optional, anonymous metrics sharing.
Join the Outline Community by signing up for the IFF Mattermost!
Shadowsocks and Anti-Censorship
Outline's use of Shadowsocks means it benefits from ongoing improvements that strengthen its resistance against detection and blocking.
Key Protections:
- AEAD ciphers are mandatory.
- Probing resistance mitigates detection techniques.
- Protection against replayed data.
- Variable packet sizes to hinder identification.
See Shadowsocks resistance against detection and blocking.
Installation
Prerequisites
-
Install dependencies
npm install
-
Start the server
./task shadowbox:start
Exploring further options:
- Refer to the README: Find additional configuration and usage options in the core server's
README
. - Learn about the build system: For in-depth build system information, consult the contributing guide.
- Refer to the README: Find additional configuration and usage options in the core server's
-
To clean up
./task clean
Top Related Projects
Bug-fix-only libev port of shadowsocks. Future development moved to shadowsocks-rust
A platform for building proxies to bypass network restrictions.
An unidentifiable mechanism that helps you bypass GFW.
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.
Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由 - Быстрый, надежный и безопасный доступ к открытому интернету - lantern proxy vpn censorship-circumvention censorship gfw accelerator پراکسی لنترن، ضدسانسور، امن، قابل اعتماد و پرسرعت
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot