Skip to content
/ outliner Public

CLI tool for auto setup Outline VPN server

License

Notifications You must be signed in to change notification settings

Jyny/outliner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Outliner

CLI tool for auto setup Outline VPN server

asciicast

$ outliner --help
CLI tool for auto setup Outline VPN server

Usage:
  outliner [command]

Available Commands:
  create      create a Server
  deploy      deploy outliner to Server
  destroy     destroy a Server
  help        Help about any command
  inspect     inspect Server
  list        list following [command]
  version     show outliner version

Flags:
  -F, --file string   config file (default is $HOME/.outliner/.env)
  -h, --help          help for outliner

Use "outliner [command] --help" for more information about a command.

Contents

Support Cloud(IaaS)

  • Linode
  • DigitalOcean (WIP)
  • Vultr (WIP)
  • ...

Install or Download

Mac OSX

$ brew install jyny/outliner/outliner

Arch linux

Install from the AUR. Use yay for example:

$ yay -S outliner

Ubuntu or Snap supported OS

Insatll from Snap on Snap-supported-OS. Snap on Ubuntu may work out of box after 16.04.

$ snap install outliner

Download release from GitHub

Visit the latest releases page

Setup

1. Get API_TOKEN

get API_TOKEN from cloud providers you want, like Linode, DigitalOcean and etc.

2. Make a .env config file

write the API_TOKEN to .env file with Support TOKEN_NAME.

  • ~/.outliner/.env
TOKEN_NAME_1 = TOKEN_VALUE_1
TOKEN_NAME_2 = TOKEN_VALUE_2
...

3. Ready to go

  • install by package manager like homeberw yay snap etc.

    1. $ outliner
  • install by download

    1. open terminal, go directory whrere you download outliner
    2. maybe should add execute permission to binary (linux or mac)
    3. $ ./outliner_{OS}

Configurations

Support TOKEN_NAME

Provider TOKEN_NAME
Linode LINODE_TOKEN
Linode LINODE_CLI_TOKEN
Linode LINODE_API_TOKEN
Digitalocean
Vultr

find full list in pkg/cloud/{ProviderNmae}/activator.go as below

var tokenNames = []string{
    "SUPPORTED_TOKEN_NAME_1",
    "SUPPORTED_TOKEN_NAME_2",
    ...
}

Support configuration source

outliner Support the following configuration source (list by Precedence order)

  1. with flag -F, --file {FILE_PATH}
  2. Environment variables
  3. .env file at ~/.outliner/
  4. .env file at ~/
  5. .env file at ./

config by .env file

  • ~/.outliner/.env
TOKEN_NAME_1 = TOKEN_VALUE_1
TOKEN_NAME_2 = TOKEN_VALUE_2
...

config by Environment Variables

$ {TOKEN_NAME_1}={TOKEN_VALUE_1} outliner [command]

Development and Build

1. install package and build binary

$ make

2. run

$ ./outliner