GithubHelp home page GithubHelp logo

webhippie / redirects Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 1.0 1.97 MB

Simple pattern-based redirect server

Home Page: https://webhippie.github.io/redirects/

License: Apache License 2.0

Makefile 9.03% Go 90.08% Nix 0.89%
pattern redirects server webserver

redirects's Introduction

Website

General Workflow Join the Matrix chat at https://matrix.to/#/#webhippie:matrix.org Codacy Badge

Our general website, nothing fancy, just a plain landing page and really nothing more than that. You can wind it at webhippie.de

Hosting

The website is hosted on Netlify, the website gets automatically updated on every push to the master branch.

Install

This website uses the Hugo static site generator. If you are planning to contribute you'll want to download and install Hugo on your local machine. The installation of Hugo is out of the scope of this document, so please take the official install instructions to get Hugo up and running.

Development

To generate the website and serve it on localhost:1313 just execute this command and stop it with Ctrl+C:

make server

When you are done with your changes just create a pull request, after merging the pull request the website will be updated automatically.

Security

If you find a security issue please contact [email protected] first.

Contributing

Fork -> Patch -> Push -> Pull Request

Authors

License

CC-BY-SA-4.0

Copyright

Copyright (c) 2015 Thomas Boerger <[email protected]>

redirects's People

Contributors

dependabot[bot] avatar renovate-bot avatar renovate[bot] avatar tboerger avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

dsielert

redirects's Issues

Customizeable templates

It should be good to provide some template customization for the error pages. We should provide a flag to configure the path for custom files.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

dockerfile
docker/Dockerfile.linux.386
  • i386/alpine 3.19@sha256:15c46ced65c6abed6a27472a7904b04273e9a8091a5627badd6ff016ab073171
docker/Dockerfile.linux.amd64
  • alpine 3.19@sha256:6457d53fb065d6f250e1504b9bc42d5b6c65941d57532c072d929dd0628977d0
docker/Dockerfile.linux.arm
  • arm32v6/alpine 3.19@sha256:b229a85166aadbde58e73e03c5e2b9737fb4642ffb2d98ba453adc90d144c1d8
docker/Dockerfile.linux.arm64
  • arm64v8/alpine 3.19@sha256:a0264d60f80df12bc1e6dd98bae6c43debe6667c0ba482711f0d806493467a46
github-actions
.github/workflows/binaries.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • aws-actions/configure-aws-credentials v4
  • actions/setup-go v5
  • actionhippie/gpgsign v1
  • actionhippie/calens v1
  • ncipollo/release-action v1
.github/workflows/changes.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-go v5
  • EndBug/add-and-commit v9
.github/workflows/docker.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-go v5
  • docker/metadata-action v5
  • docker/setup-qemu-action v3
  • docker/setup-buildx-action v3
  • docker/login-action v3
  • docker/login-action v3
  • docker/login-action v3
  • docker/build-push-action v5
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • docker/metadata-action v5
  • actionhippie/manifest v1
  • docker/metadata-action v5
  • actionhippie/manifest v1
  • docker/metadata-action v5
  • actionhippie/manifest v1
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actionhippie/pushrm v1
  • actionhippie/pushrm v1
.github/workflows/docs.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • peaceiris/actions-hugo v2
  • peaceiris/actions-gh-pages v3
.github/workflows/general.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-go v5
  • codacy/codacy-coverage-reporter-action v1
gomod
go.mod
  • go 1.19
  • github.com/BurntSushi/toml v1.3.2
  • github.com/go-chi/chi/v5 v5.0.12
  • github.com/jackspirou/syscerts v0.0.0-20160531025014-b68f5469dff1@b68f5469dff1
  • github.com/joho/godotenv v1.5.1
  • github.com/kvtools/consul v1.0.2
  • github.com/kvtools/etcdv3 v1.0.2
  • github.com/kvtools/valkeyrie v1.0.0
  • github.com/kvtools/zookeeper v1.0.2
  • github.com/oklog/run v1.1.0
  • github.com/prometheus/client_golang v1.19.0
  • github.com/rs/zerolog v1.32.0
  • github.com/satori/go.uuid v1.2.0
  • github.com/spf13/cobra v1.8.0
  • github.com/spf13/viper v1.18.2
  • github.com/stretchr/testify v1.9.0
  • gopkg.in/yaml.v3 v3.0.1

  • Check this box to trigger a request for Renovate to run again on this repository

Replace libkv by Valkeyrie

The currently used library don't get lots of updates, let's replace it by a better mantained alternative.

Properly handle storage init errors

On the storage initialization we are currently only printing errors, these errors have to be handled properly. We can not do anything if the storage fails to setup.

Write tests for redirects

As the redirects are the core of everything we need to provide some tests to make sure it works like expected.

Support multiple storages

It should be useful to allow multiple storages configured and used, like relying on JSON and Etcd backends. Beside that we should define a default storage.

Write tests for the storage

The storage layer is beside the redirects the most important part of the application so we should write some simple unit tests to make sure we are not breaking something.

Integrate distributed locking

For storage services like Etcd, Consul and Zookeeper we need to implement a distributed, reliable locking mechanism to prevent race conditions.

Drop Let's Encrypt

This doesn't have a bigger benefit, it just wastes the time to maintain yet.

Create a GitHub page

We should create a pretty simple GitHub page to document the functionality of redirects.

Split available storage options

To make it better configurable we should split the available options properly instead of providing 2 flags for all. For now we need these flags:

  • --json
  • --json-file
  • --yaml
  • --yaml-file

For future versions we will also add flags for certs, keys and cas required to communicate with Etcd, Consul or Zookeper.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.