summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorradhitya <alif@radhitya.org>2026-06-21 09:48:42 +0700
committerradhitya <alif@radhitya.org>2026-06-21 09:48:42 +0700
commitb7359e1d45f505171356bcae3c7d5e2341ecc859 (patch)
treef91d4a4b08ce279d488a76e9b7141e69fc844ea9 /README.md
parent2b1f613c42de3861141eb6f93c1740b6937ee183 (diff)
forward mode, cache opt, ACL, rate limit, admin/health, systemd, fix UDP reply
Diffstat (limited to 'README.md')
-rw-r--r--README.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5ceeb66
--- /dev/null
+++ b/README.md
@@ -0,0 +1,56 @@
+## Linum
+
+A simple DNS recursive resolver written in Golang
+
+### Features
+
+- Forward resolver
+- Adblock
+
+### Config Reference
+
+Save it to `/etc/linum.toml`
+
+```toml
+[server]
+listen_udp = ":5353"
+listen_tcp = ":5353"
+listen_doh = ":8443"
+
+[cache]
+max_entries = 100000
+db_path = "/tmp/cache.db"
+
+[resolver]
+mode = "forward"
+timeout = "2s"
+max_delegations = 30
+forwarders = ["1.1.1.1"]
+
+[blocklist]
+response = "zero_ip"
+files = ["etc/blocklist/*.txt"]
+#urls = [
+ # "https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts",
+#]
+
+[log]
+level = "info"
+```
+
+### Build and Run
+
+First, build the program:
+
+```bash
+$ go get codeberg.org/miekg/dns
+$ go get modernc.org/sqlite
+$ go get github.com/BurntSushi/toml
+$ make
+```
+
+And run the program
+
+```bash
+$ ./build/linum
+```