• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    Go
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a transparent HTTPS termination proxy using letsencrypt with auto certification renewal

HTTPSify

A Let'sEncrypt based reverse proxy, that will automatically generate & renew valid ssl certs for your domains, it also enables the http/2 protocol by default, and uses roundrobin as an algorithm to loadbalance the incoming requests between multiple upstreams, as well as redirecting the traffic from http traffic to https just if you enabled the flag --redirect.

Quick Start

# Using Docker

Just run the following and then have fun !!

$ docker run --network host -v ~/.httpsify:/.httpsify -p 443:443 ghcr.io/alash3al/httpsify

# From Binaries

Go to releases page

# Building from source

You must have the Go environment installed

$ go get -u github.com/alash3al/httpsify

# Configurations

Goto your $HOME Directory and edit the hosts.json to something like this

{
	"example1.com": ["localhost:9080"],
	"example2.com": ["localhost:8080", "localhost:8081"]
}

As you see, the configuration file accepts a JSON object/hashmap of domain -> upstreams, and yes, it can load-balance the requests between multiple upstreams using roundrobin algorithm.

Also, You don't need to restart the server to reload the configurations, because httpsify automatically watches the configurations file and reload it on any change.

License

The MIT License (MIT)

Copyright (c) 2016 Mohammed Al Ashaal

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

More Repositories

1

sqler

write APIs using direct SQL queries with no hassle, let's rethink about SQL
Go
2,031
star
2

redix

a very simple pure key => value storage system that speaks Redis protocol with Postgres as storage engine and more
Go
1,166
star
3

wsify

Just a tiny, simple and real-time self-hosted pub/sub messaging service
Go
504
star
4

smtp2http

A tiny software that receive a smtp request (email) and send it to the specified webhook as a http post request
Go
410
star
5

lightify

a reverse proxy that boosts the web app performance!
Go
191
star
6

srchx

A standalone lightweight full-text search engine built on top of blevesearch and Go with multiple storage (scorch, boltdb, leveldb, badger)
Go
151
star
7

scraply

Scraply a simple dom scraper to fetch information from any html based website
Go
122
star
8

go-pubsub

An in-process simple publish/subscribe library for golang
Go
103
star
9

go-smtpsrv

a tiny package that implements SMTP server for Go projects
Go
95
star
10

re-txt

converts text-formats from one to another, it is very useful if you want to re-format a json file to yaml, toml to yaml, csv to yaml, ... etc
Go
64
star
11

dockssh

Dockssh, ssh into any container from anywhere with the help of redis for password storage
Go
61
star
12

bbadger

adding badger support to blevesearch
Go
59
star
13

xyr

Query any data source using SQL, works with the local filesystem, s3, and more. It should be a very tiny and lightweight alternative to AWS Athena, Presto ... etc.
Go
58
star
14

phoo

a very simple high performance PHP application server and php-fpm supervisor
Go
58
star
15

Plus

Asynchronous I/O environment in pure PHP
PHP
57
star
16

Horus

a minimal event-driven, flexible, portable and micro PHP web application framework
PHP
56
star
17

goukv

a key-value store with multiple backends including leveldb, badgerdb, postgresql
Go
52
star
18

scrapyr

a simple & tiny scrapy clustering solution, considered a drop-in replacement for scrapyd
Go
50
star
19

droxy

a transparent standalone http reverse proxy for docker containers
Go
45
star
20

sql2slack

send sql results periodically to slack
Go
34
star
21

xerver

a tiny static and fastcgi reverse proxy written in golang
Go
34
star
22

pxml-tpl

PHTML a smart tiny oo PHP HTML style template system, no more regex and no more large code, packags, ...
PHP
33
star
23

arp2http

notify the specified webhook when a device is connected/disconnected
Go
30
star
24

mailux

Experimental Passwordless Login even without sending emails/sms to users
Shell
29
star
25

goemitter

an event-emitter for golang
Go
22
star
26

katch

headless chrome as a service for generating PDF, PNG, JPEG and HTML of any web page
Go
16
star
27

aggrex

a crazy API gateway aggregation using javascript as a language and go as a runtime
Go
15
star
28

exeq

painless task queue manager for shell commands with an intuitive cli interface (execute shell commands in distributed cloud-native queue manager).
Go
13
star
29

axync

a smart cooperative multitasking kernel for php7
PHP
13
star
30

olive-go

Just a lightweight golang web application middleware
Go
13
star
31

img2pdf

convert a directory of images to a PDF file
Go
11
star
32

vidutils

a very simple, tiny and intuitive ffmpeg wrapper with a cli interface for inspecting & transforming media files supported by the original ffmpeg software
Go
11
star
33

go-schemaless

a schemaless implementation based on postgres and jsonb
Go
10
star
34

tix

a super simple stupid event-loop kernel in pure PHP
PHP
9
star
35

libsrchx

a simple wrapper for blevesearch created for srchx the tiny full-text search engine
Go
9
star
36

xerve

fast, tiny static file server with auto gzip & minify
Go
8
star
37

mylitedb

a mysql server backed by sqlite!
Go
8
star
38

funker

a platform for function as a service based javascript written in Go.
Go
7
star
39

go-univush

a universal push notification library written in go based on apns2 and firebase
Go
7
star
40

tlx

a dummy tls reverse proxy written in go
Go
6
star
41

dir2webp

convert images in directory/directories to webp format using the power of concurrent programming
Go
6
star
42

dart-path-selector

extract values from Map/List using dot-seprated strings you don't have to cast multiple times to fetch a simple values, this is very useful while working with i.e json data
Dart
5
star
43

uwatch

notify email(s) that a url is now online
Go
5
star
44

mysql2sqlite

a command-line utility to move data from mysql to sqlite
Go
5
star
45

xonsole

A tiny cli framework based on laravel\console, so you can use it without full laravel installation
PHP
4
star
46

go-fastcgi-client

A FastCGI client library for Golang projects
Go
4
star
47

HorusJS

A lightweight NodeJS microframework
JavaScript
3
star
48

cgify

a for fun script server (custom cgi)
Go
3
star
49

xtore

a document store based on cockroachdb
Go
3
star
50

wp-allowed-hosts

a plugin that protects your wp site from the CVE-2017-8295 vulnerability
PHP
2
star
51

alash3al

WHO AM I
2
star
52

xmg

a tiny microservice for getting perceptual hash of an image or faces in the image
Go
2
star
53

rsty

a tiny RESTful service middleware for Golang applications
Go
2
star
54

googly

a simple command line tool to search google with simple options
Go
2
star
55

goring

A simple consistent hashing ring implementation in Golang
Go
2
star
56

aof

A simple concurrency safe Append-Only-File for storage purposes
Go
2
star
57

olive.js

a lightweight micro javascript web application framework
JavaScript
1
star
58

php-myRouter

A PHP Router (/class/method/parm1/parm2/parm3/parm4/.....................)
PHP
1
star
59

z-pharo

Z-Pharo PHP CMS Framework
1
star
60

isup

check whether a url is up or down, and notify you whenever it become available
Go
1
star
61

LiteJS

A very tiny full featured template engine for javascript for both client and server sides, you need no-learning curve
JavaScript
1
star
62

odb

just a for-fun only-value database
Go
1
star