Self-hosted and Easy-to-deploy Cloudflare based Dynamic DNS service for router

flareup logo

Self-hosted and Easy-to-deploy Cloudflare based Dynamic DNS service for router

Contents

Features

  • Easy-to-use heroku one click deploy
  • Support for multiple domains
  • Flexible in terms deploying and installing options
  • Single multi-arch docker image
  • Multi platform binaries

Environment Variables

To run this project, you will need to add the following environment variables to your .env file (or) set them accordingly for use with docker or with your os

USERNAME - Username for flareup service

PASSWORD - Password for flareup service

CF_API_TOKEN - Cloudflare api token with edit permission for required zones i.e domains

PORT (Optional) - By default flareup listen's on port 5335

DOMAINS - Comma(,) seperated domains e.g

example1.domain.tld , example2.domain.tld

PROXIED (Optional, Default:false) - Proxy dns service through cloudflare service

(back to top)

Installation

  • FlareUp can be installed and used in the following ways

Heroku

  • Click Deploy and its pretty self explanatory.

(back to top)

Docker

  1. Docker Run

    1. To automatically install & run FlareUp, simply run:
      docker run -d \
      --name=flareup \
      -e USERNAME=<username> \
      -e PASSWORD=<password> \
      -e CF_API_TOKEN=<cloudflare api token> \
      -e DOMAINS=<comma(,) seperated domain> \
      -e PROXIED=false \
      -p 5335:5335 \
      --restart unless-stopped \
      coolfool/flareup
      
    2. Logs can be found using
      docker container logs flareup
      
  2. Docker Compose

    1. Download docker-compose.yml
    2. Open the file in a text editor and fill the environment variables
    3. Execute the following command in the same directory
      docker-compose up -d
      
    4. FlareUp should start listening on 5335 or the port specified in env vars.

(back to top)

Standalone Binaries

  1. Download the binary for your platform from Releases section
  2. Extract the archive
  3. Run the binary according to your os
    • For linux
      ./flareup 
      

(back to top)

Router Setup

  • Important Notes before setup:
    1. The flareup update url is https://example.com/update
    2. If the router insists on having a hostname for update you can use https://example.com/update?hostname=all.flareup as url and all.flareup as hostname
  1. The DynamicDNS server will be the hostname where the service is hosted eg. example.com

  2. Fill the username and password as you entered in environment variable

  3. Enter the hostname as all.flareup if required

  4. The update urls are as follows:

    1. https://example.com/update without hostname
    2. https://example.com/update?hostname=all.flareup with hostname
  5. Save settings and the service should start updating cloudflare dns

(back to top)

Build and Run Locally

  1. Clone the project
  git clone https://github.com/CoolFool/flareup
  1. Go to the project directory
  cd flareup
  1. Install dependencies
  go build -o flareup ./cmd/flareup
  1. Create .env file according to the variables mentioned in Environment Variables

  2. Start the service according to your platform

  • For linux
    ./flareup 

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Authors

(back to top)

License

MIT

(back to top)

Owner
Aseem Manna
(⌐■-■)
Aseem Manna
Similar Resources

Underpass - Self-hosted ngrok alternative.

Underpass Self-hosted ngrok alternative. Installation (CLI) brew install

Dec 28, 2022

Self-hosted reverse-proxy for F1 web viewer.

Self-hosted reverse-proxy for F1 web viewer.

F1WebViewer-SelfHosted Self-hosted reverse-proxy for F1 web viewer and includes a web server at port 13331. You can also run this proxy on a server if

Dec 21, 2022

DNS Ping: to check packet loss and latency issues with DNS servers

DNSping DNS Ping checks packet loss and latency issues with DNS servers Installation If you have golang, easiest install is go get -u fortio.org/dnspi

Nov 18, 2022

Verify IP addresses of respectful crawlers like Googlebot by reverse dns and forward dns lookups

Verify IP addresses of respectful crawlers like Googlebot by reverse dns and forward dns lookups

goodbots - trust but verify goodbots verifies the IP addresses of respectful crawlers like Googlebot by performing reverse dns and forward dns lookups

Aug 16, 2022

netcup DNS module for caddy: dns.providers.netcup

netcup DNS module for Caddy This package contains a DNS provider module for Caddy. It can be used to manage DNS records with the netcup DNS API using

Nov 9, 2022

A fork on miekg/dns (since I've already forked zmap/dns)

Alternative (more granular) approach to a DNS library Less is more. Complete and usable DNS library. All Resource Records are supported, including the

Jan 19, 2022

A simple DNS forwarder that forwards DNS queries to various upstreams

A simple DNS forwarder that forwards DNS queries to various upstreams. If an upstream returns NXDomain, the next upstream is tried.

Jul 8, 2022

A http-relay server/client written in golang to forward requests to a service behind a nat router from web

http-relay This repo is WIP http-relay is a server/client application written in go(lang) to forward http(s) requests to an application behind a nat r

Dec 16, 2021

CFSSL: Cloudflare's PKI and TLS toolkit

CFSSL CloudFlare's PKI/TLS toolkit CFSSL is CloudFlare's PKI/TLS swiss army knife. It is both a command line tool and an HTTP API server for signing,

Jan 4, 2023
Hetzner-dns-updater - A simple tool to update a DNS record via Hetzner DNS API. Used for simple HA together with Nomad

hetzner-dns-updater A small utility tool to update a single record via Hetzner D

Feb 12, 2022
Gogrok is a self hosted, easy to use alternative to ngrok. It uses SSH as a base protocol, using channels and existing functionality to tunnel requests to an endpoint.

gogrok A simple, easy to use ngrok alternative (self hosted!) The server and client can also be easily embedded into your applications, see the 'serve

Dec 3, 2022
A simple tool to detect WAN IP changes and updates your cloudflare DNS entries.

Cloudflare IP Updater A simple tool to detect WAN IP changes and updates your cloudflare DNS entries. Usage Create a new Cloudflare API token Copy the

Dec 1, 2022
Automatically register a list of domain names, add them to Cloudflare and set DNS records.

NameCannon Automatically register a list of domain names, add them as zones on Cloudflare, then add DNS records. Usage $ ./NameCannon --namesiloSecret

Jan 26, 2022
dynflare is a tool to automatically update dns records at Cloudflare, when the ip changes.

dynflare dynflare is a tool to automatically update dns records at Cloudflare, when the ip changes. How it works The current ips are determined by ask

Dec 7, 2021
Updating DNS records for dynamically changing IPs via the Cloudflare API

Cloudflare Dynamic IP Server About The Project About The Project Updating DNS re

Dec 24, 2021
Dynamic dns for name.com

name-ddns Dynamic DNS for Name.com using v4 name.com API Usage docker run --rm \ -e "NAME_DDNS_USER=namecom-user" \ -e "NAME_DDNS_TOKEN=namecom-toke

Aug 17, 2022
The fastest way to create self-hosted exit-servers
The fastest way to create self-hosted exit-servers

inletsctl - the fastest way to create self-hosted exit-servers inletsctl automates the task of creating an exit-server (tunnel server) on public cloud

Dec 15, 2022
Headscale - An open source, self-hosted implementation of the Tailscale control server

Headscale - An open source, self-hosted implementation of the Tailscale control server

Dec 29, 2022
☁️ Cloud Torrent: a self-hosted remote torrent client
☁️ Cloud Torrent: a self-hosted remote torrent client

Cloud torrent is a a self-hosted remote torrent client, written in Go (golang). You start torrents remotely, which are downloaded as sets of files on

Jan 6, 2023