1
0
Fork 0

feat: replace cloudflare DNS with NextDNS

This commit is contained in:
Kim, Jimin 2024-06-01 16:14:20 +09:00
parent 3f7d337e46
commit 7ac9709098
Signed by: pomp
GPG key ID: 2B516173EDD492EB
4 changed files with 62 additions and 44 deletions

View file

@ -1,4 +1,4 @@
nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 2606:4700:4700::1111
nameserver 2606:4700:4700::1001
nameserver 45.90.28.0
nameserver 2a07:a8c0::
nameserver 45.90.30.0
nameserver 2a07:a8c1::

View file

@ -0,0 +1,9 @@
# Use 'systemd-analyze cat-config systemd/resolved.conf' to display the full config.
# See resolved.conf(5) for details.
[Resolve]
DNS=45.90.28.0
DNS=2a07:a8c0::
DNS=45.90.30.0
DNS=2a07:a8c1::
DNSOverTLS=yes

View file

@ -1,40 +0,0 @@
package installers
import (
_ "embed"
"github.com/developomp/pompup/internal/wrapper"
"github.com/pterm/pterm"
)
//go:embed assets/etc/resolv.conf
var _resolvConf string
func init() {
register(&Installer{
Name: "Cloudflare DNS",
Desc: "1.1.1.1 DNS",
Setup: func() {
const filePath = "/etc/resolv.conf"
if wrapper.IsFileUpdated(filePath, _resolvConf) {
return
}
// remove immutable flag from /etc/resolv.conf
err := wrapper.Run("sudo", "chattr", "-i", filePath)
if err != nil {
pterm.Fatal.Println("Failed to remove immutable flag from /etc/resolv.conf:", err)
}
// write to /etc/resolv.conf
wrapper.SudoWriteFile(filePath, _resolvConf)
// restore immutable flag
err = wrapper.Run("sudo", "chattr", "+i", filePath)
if err != nil {
pterm.Fatal.Println("Failed to restore immutable flag of /etc/resolv.conf:", err)
}
},
})
}

View file

@ -0,0 +1,49 @@
package installers
import (
_ "embed"
"github.com/developomp/pompup/internal/wrapper"
"github.com/pterm/pterm"
)
//go:embed assets/etc/resolv.conf
var _resolvConf string
//go:embed assets/etc/systemd/resolv.conf
var _systemdResolvConf string
func init() {
register(&Installer{
Name: "NextDNS",
Desc: "private DNS",
Setup: func() {
updateResolvConf()
wrapper.SudoWriteFile("/etc/systemd/resolv.conf", _systemdResolvConf)
},
})
}
func updateResolvConf() {
const filePath = "/etc/resolv.conf"
if wrapper.IsFileUpdated(filePath, _resolvConf) {
return
}
// remove immutable flag from /etc/resolv.conf
err := wrapper.Run("sudo", "chattr", "-i", filePath)
if err != nil {
pterm.Fatal.Println("Failed to remove immutable flag from /etc/resolv.conf:", err)
}
// write to /etc/resolv.conf
wrapper.SudoWriteFile(filePath, _resolvConf)
// restore immutable flag
err = wrapper.Run("sudo", "chattr", "+i", filePath)
if err != nil {
pterm.Fatal.Println("Failed to restore immutable flag of /etc/resolv.conf:", err)
}
}