diff --git a/config.example.toml b/config.example.toml
index 36f09a9..fdcd679 100644
--- a/config.example.toml
+++ b/config.example.toml
@@ -1,13 +1,19 @@
 username = ""
 password = "asd123"
 #proxyaddr = "socks5://localhost:5555"
-hostURL = "https://my.domain.tld"
+
+#usewebserver = false
+indextarget = "https://discord.gg/Kw4MFGxYEj" # Optional
+hostURL = "https://my.domain.tld" # Can be omitted if not using webserver
+
 webhook = "https://domain.tld/api/webhooks/"
+
 channels = [
   "NinEverything",
   "NintendoEurope",
   "NintendoAmerica",
 ]
+
 # Binary representation for efficient filtering
 # Bit from left to right (most to least significant bit): IsSelfThread, IsRetweet, IsReply, IsPin, IsQuoted
 filter = [
diff --git a/pkg/config/config.go b/pkg/config/config.go
index dd540fb..499badb 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -20,6 +20,7 @@ type Config struct {
 	WebPort      uint16
 	UserAgents   []string
 	NitterBase   string
+	IndexTarget  string
 }
 
 func ConfigFromFile(filePath string) (*Config, error) {
diff --git a/pkg/web/web.go b/pkg/web/web.go
index 11b99f1..a8b5a5a 100644
--- a/pkg/web/web.go
+++ b/pkg/web/web.go
@@ -72,12 +72,19 @@ func New(config *config.Config, scraper *ts.Scraper) (*WebServer, error) {
 			WriteTimeout: 30 * time.Second,
 		},
 	}
+	sm.HandleFunc("GET /", ws.handleIndex)
 	sm.HandleFunc("GET /avatar/{username}", ws.handleAvatar)
 	sm.HandleFunc("GET /tweet/{id}", ws.handleTweet)
 	sm.HandleFunc("GET /video/{id}", ws.handleVideo)
 	return ws, nil
 }
 
+func (ws WebServer) handleIndex(w http.ResponseWriter, r *http.Request) {
+	if ws.config.IndexTarget != "" {
+		http.Redirect(w, r, ws.config.IndexTarget, http.StatusPermanentRedirect)
+	}
+}
+
 func (ws WebServer) handleAvatar(w http.ResponseWriter, r *http.Request) {
 	username := r.PathValue("username")