Skip to content

e-gautier/shuttle

Repository files navigation

Shuttle

An url shortener written in Go.

Demo: https://shr.space/

screenshot

RCaptcha

In order to prevent bot abuse or spam Shuttle come with RCaptcha support, fortunately it can be disabled:

// globals.js

// RCaptcha activation
export const RCAPTCHA = false;
# app.conf

# recaptcha activation
recaptcha.enable = false

Manually install

Requirements (dev installation)

https://golang.org/doc/install

export GOPATH=~/go
export PATH="$PATH:$GOPATH/bin"
export PATH=$PATH:/usr/local/go/bin

Installation

cp .env.dist .env

Note: You have to complete the configuration depending of the use of RCaptcha, ssl etc (also don't forget about the secret). Secret can be generated with cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1

Install front-end dependencies

yarn

Compile

webpack

Install back-end dependencies

go get ./...

Run in dev

source .env && revel run

Package for prod

revel package shuttle prod

Run in prod

tar xzf shuttle.tar.gz && source .env && run.sh

Test

revel test shuttle

Todo list

  • auto install
  • conditional analytics inclusion
  • dissociate webpack environments
  • Mobile application and|or web view
  • Command line
  • Collect, process and display some interesting stats :)

Contributors, Sources