Open-Dereferrer.com

The Open-Source, Ad-Free Dereferring Service.

Documentation

Automatic Integration

The Open-Dereferrer service can automatically update all existing URL's on your website.
Copy-paste the script into the <head> section of your website.

<script defer src="https://api.open-dereferrer.com/v1/min"></script>
<script>
  document.addEventListener("DOMContentLoaded", function () {
    OpenDereferrer.init({
      ignoreHosts: ['google.com', 'www.google.com'], // optional, enter a list of hostnames that should be ignored. default: []
      noSplash: false, // optional, set to true to enable instant redirections without a splash screen. default: false
      encodeURL: false, // optional, base64 encodes the URL and makes it unreadable to the blind eye. default: false
    });
  });
</script>
You can also download the unminified version for self-hosting.

Manual Integration

Simply prepend the Open-Dereferrer.com URL to the URL you want to redirect to.
Example: https://open-dereferrer.com/https://google.com

To enable instant redirects without the splash screen, add the nosplash. subdomain to the URL.
Example: https://nosplash.open-dereferrer.com/https://google.com

While we support unencoded URLs, we highly recommend the usage of percent-encoding or base64-encoding when implementing Open-Dereferrer.com into your website.
See the snippets below for examples.

Snippets
// @param string $url. The URL to anonymize.
// @param bool $encode. Base64 encodes the URL and makes it unreadable to the blind eye.
// @param bool $noSplash. Enables instant redirections without a splash screen.
function anonymizeURL($url, $encode = false, $noSplash = false)
{

    if ($encode) {
        $url = rtrim(strtr(base64_encode($url), '+/', '-_'), '=');
    }

    return 'https://' . ($noSplash ? 'nosplash.' : '') . 'open-dereferrer.com/' . urlencode($url);

}

echo 'Your anonymized URL is: ' . anonymizeURL('https://www.google.com/', true, false);
// Outputs: Your anonymized URL is: https://open-dereferrer.com/aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8
// @param string url. The URL to anonymize.
// @param bool encode. Base64 encodes the URL and makes it unreadable to the blind eye.
// @param bool noSplash. Enables instant redirections without a splash screen.
function anonymizeURL(url, encode, noSplash) {

  if (encode) {
    url = btoa(url).replace('+', '-').replace('/', '_').replace(/=+$/, '');
  }

  return 'https://' + (noSplash ? 'nosplash.' : '') + 'open-dereferrer.com/' + encodeURIComponent(url);

}

console.log('Your anonymized URL is: ' + anonymizeURL('https://www.google.com/', true, false));
// Outputs: Your anonymized URL is: https://open-dereferrer.com/aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8
package main

import (
	"encoding/base64"
	"fmt"
	"net/url"
	"strings"
)

// @param string url. The URL to anonymize.
// @param bool encode. Base64 encodes the URL and makes it unreadable to the blind eye.
// @param bool noSplash. Enables instant redirections without a splash screen.
func AnonymizeURL(theURL string, encode, noSplash bool) string {

	if encode {
		theURL = base64.StdEncoding.EncodeToString([]byte(theURL))
		theURL = strings.Replace(theURL, "+", "-", -1)
		theURL = strings.Replace(theURL, "/", "_", -1)
		theURL = strings.TrimRight(theURL, "=")
	}

	if noSplash {
		return "https://nosplash.open-dereferrer.com/" + url.QueryEscape(theURL)
	}

	return "https://open-dereferrer.com/" + url.QueryEscape(theURL)

}

func main() {
	fmt.Println("Your anonymized URL is: " + AnonymizeURL("https://www.google.com/", true, false))
	// Outputs: Your anonymized URL is: https://open-dereferrer.com/aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8
}