Skip to content

Commit

Permalink
Merge pull request #385 from Plaenkler/dependencies
Browse files Browse the repository at this point in the history
[UPD] Dependencies
  • Loading branch information
Plaenkler authored Jul 24, 2024
2 parents ce8b012 + 5b2c5ab commit 59d3aba
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 83 deletions.
7 changes: 4 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ module github.com/plaenkler/ddns-updater
go 1.22.0

require (
github.com/aliyun/alibaba-cloud-sdk-go v1.62.783
github.com/aliyun/alibaba-cloud-sdk-go v1.62.796
github.com/kardianos/service v1.2.2
github.com/pquerna/otp v1.4.0
golang.org/x/time v0.5.0
gopkg.in/yaml.v3 v3.0.1
gorm.io/driver/sqlite v1.5.6
gorm.io/gorm v1.25.10
gorm.io/gorm v1.25.11
)

require (
Expand All @@ -22,6 +22,7 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect
golang.org/x/sys v0.1.0 // indirect
golang.org/x/sys v0.5.0 // indirect
golang.org/x/text v0.14.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
)
14 changes: 8 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
github.com/aliyun/alibaba-cloud-sdk-go v1.62.783 h1:nAdI37B39TgXimEXegM0ThQs30nEq4zanLycGqMSkac=
github.com/aliyun/alibaba-cloud-sdk-go v1.62.783/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ=
github.com/aliyun/alibaba-cloud-sdk-go v1.62.796 h1:5qwuGvXS6rQwoITaUnJyzftcAJCJ0oVjZ9PIYftXyjA=
github.com/aliyun/alibaba-cloud-sdk-go v1.62.796/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ=
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
Expand Down Expand Up @@ -80,9 +80,11 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
Expand All @@ -108,6 +110,6 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/driver/sqlite v1.5.6 h1:fO/X46qn5NUEEOZtnjJRWRzZMe8nqJiQ9E+0hi+hKQE=
gorm.io/driver/sqlite v1.5.6/go.mod h1:U+J8craQU6Fzkcvu8oLeAQmi50TkwPEhHDEjQZXDah4=
gorm.io/gorm v1.25.10 h1:dQpO+33KalOA+aFYGlK+EfxcI5MbO7EP2yYygwh9h+s=
gorm.io/gorm v1.25.10/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
gorm.io/gorm v1.25.11 h1:/Wfyg1B/je1hnDx3sMkX+gAlxrlZpn6X0BXRlwXlvHg=
gorm.io/gorm v1.25.11/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
70 changes: 35 additions & 35 deletions pkg/ddns/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,41 @@ type provider struct {
}

var updaters = map[string]provider{
"Strato": {Updater: providers.UpdateStrato, Request: &providers.UpdateStratoRequest{}},
"DDNSS": {Updater: providers.UpdateDDNSS, Request: &providers.UpdateDDNSSRequest{}},
"Dynu": {Updater: providers.UpdateDynu, Request: &providers.UpdateDynuRequest{}},
"Aliyun": {Updater: providers.UpdateAliyun, Request: &providers.UpdateAliyunRequest{}},
"AllInkl": {Updater: providers.UpdateAllInkl, Request: &providers.UpdateAllInklRequest{}},
"Cloudflare": {Updater: providers.UpdateCloudflare, Request: &providers.UpdateCloudflareRequest{}},
"DD24": {Updater: providers.UpdateDD24, Request: &providers.UpdateDD24Request{}},
"DigitalOcean": {Updater: providers.UpdateDigitalOcean, Request: &providers.UpdateDigitalOceanRequest{}},
"DonDominio": {Updater: providers.UpdateDonDominio, Request: &providers.UpdateDonDominioRequest{}},
"DNSOMatic": {Updater: providers.UpdateDNSOMatic, Request: &providers.UpdateDNSOMaticRequest{}},
"DNSPod": {Updater: providers.UpdateDNSPod, Request: &providers.UpdateDNSPodRequest{}},
"Dreamhost": {Updater: providers.UpdateDreamhost, Request: &providers.UpdateDreamhostRequest{}},
"DuckDNS": {Updater: providers.UpdateDuckDNS, Request: &providers.UpdateDuckDNSRequest{}},
"DynDNS": {Updater: providers.UpdateDynDNS, Request: &providers.UpdateDynDNSRequest{}},
"FreeDNS": {Updater: providers.UpdateFreeDNS, Request: &providers.UpdateFreeDNSRequest{}},
"Gandi": {Updater: providers.UpdateGandi, Request: &providers.UpdateGandiRequest{}},
"GCP": {Updater: providers.UpdateGCP, Request: &providers.UpdateGCPRequest{}},
"GoDaddy": {Updater: providers.UpdateGoDaddy, Request: &providers.UpdateGoDaddyRequest{}},
"Google": {Updater: providers.UpdateGoogle, Request: &providers.UpdateGoogleRequest{}},
"He": {Updater: providers.UpdateHe, Request: &providers.UpdateHeRequest{}},
"Infomaniak": {Updater: providers.UpdateInfomaniak, Request: &providers.UpdateInfomaniakRequest{}},
"INWX": {Updater: providers.UpdateINWX, Request: &providers.UpdateINWXRequest{}},
"Linode": {Updater: providers.UpdateLinode, Request: &providers.UpdateLinodeRequest{}},
"LuaDNS": {Updater: providers.UpdateLuaDNS, Request: &providers.UpdateLuaDNSRequest{}},
"Namecheap": {Updater: providers.UpdateNamecheap, Request: &providers.UpdateNamecheapRequest{}},
"NoIP": {Updater: providers.UpdateNoIP, Request: &providers.UpdateNoIPRequest{}},
"Njalla": {Updater: providers.UpdateNjalla, Request: &providers.UpdateNjallaRequest{}},
"OpenDNS": {Updater: providers.UpdateOpenDNS, Request: &providers.UpdateOpenDNSRequest{}},
"OVH": {Updater: providers.UpdateOVH, Request: &providers.UpdateOVHRequest{}},
"Porkbun": {Updater: providers.UpdatePorkbun, Request: &providers.UpdatePorkbunRequest{}},
"Selfhost": {Updater: providers.UpdateSelfhost, Request: &providers.UpdateSelfhostRequest{}},
"Servercow": {Updater: providers.UpdateServercow, Request: &providers.UpdateServercowRequest{}},
"Spdyn": {Updater: providers.UpdateSpdyn, Request: &providers.UpdateSpdynRequest{}},
"Variomedia": {Updater: providers.UpdateVariomedia, Request: &providers.UpdateVariomediaRequest{}},
"MaxiHoster": {Updater: providers.UpdateMaxiHoster, Request: &providers.UpdateMaxiHosterRequest{}},
"Strato": {Updater: providers.UpdateStrato, Request: providers.UpdateStratoRequest{}},
"DDNSS": {Updater: providers.UpdateDDNSS, Request: providers.UpdateDDNSSRequest{}},
"Dynu": {Updater: providers.UpdateDynu, Request: providers.UpdateDynuRequest{}},
"Aliyun": {Updater: providers.UpdateAliyun, Request: providers.UpdateAliyunRequest{}},
"AllInkl": {Updater: providers.UpdateAllInkl, Request: providers.UpdateAllInklRequest{}},
"Cloudflare": {Updater: providers.UpdateCloudflare, Request: providers.UpdateCloudflareRequest{}},
"DD24": {Updater: providers.UpdateDD24, Request: providers.UpdateDD24Request{}},
"DigitalOcean": {Updater: providers.UpdateDigitalOcean, Request: providers.UpdateDigitalOceanRequest{}},
"DonDominio": {Updater: providers.UpdateDonDominio, Request: providers.UpdateDonDominioRequest{}},
"DNSOMatic": {Updater: providers.UpdateDNSOMatic, Request: providers.UpdateDNSOMaticRequest{}},
"DNSPod": {Updater: providers.UpdateDNSPod, Request: providers.UpdateDNSPodRequest{}},
"Dreamhost": {Updater: providers.UpdateDreamhost, Request: providers.UpdateDreamhostRequest{}},
"DuckDNS": {Updater: providers.UpdateDuckDNS, Request: providers.UpdateDuckDNSRequest{}},
"DynDNS": {Updater: providers.UpdateDynDNS, Request: providers.UpdateDynDNSRequest{}},
"FreeDNS": {Updater: providers.UpdateFreeDNS, Request: providers.UpdateFreeDNSRequest{}},
"Gandi": {Updater: providers.UpdateGandi, Request: providers.UpdateGandiRequest{}},
"GCP": {Updater: providers.UpdateGCP, Request: providers.UpdateGCPRequest{}},
"GoDaddy": {Updater: providers.UpdateGoDaddy, Request: providers.UpdateGoDaddyRequest{}},
"Google": {Updater: providers.UpdateGoogle, Request: providers.UpdateGoogleRequest{}},
"He": {Updater: providers.UpdateHe, Request: providers.UpdateHeRequest{}},
"Infomaniak": {Updater: providers.UpdateInfomaniak, Request: providers.UpdateInfomaniakRequest{}},
"INWX": {Updater: providers.UpdateINWX, Request: providers.UpdateINWXRequest{}},
"Linode": {Updater: providers.UpdateLinode, Request: providers.UpdateLinodeRequest{}},
"LuaDNS": {Updater: providers.UpdateLuaDNS, Request: providers.UpdateLuaDNSRequest{}},
"Namecheap": {Updater: providers.UpdateNamecheap, Request: providers.UpdateNamecheapRequest{}},
"NoIP": {Updater: providers.UpdateNoIP, Request: providers.UpdateNoIPRequest{}},
"Njalla": {Updater: providers.UpdateNjalla, Request: providers.UpdateNjallaRequest{}},
"OpenDNS": {Updater: providers.UpdateOpenDNS, Request: providers.UpdateOpenDNSRequest{}},
"OVH": {Updater: providers.UpdateOVH, Request: providers.UpdateOVHRequest{}},
"Porkbun": {Updater: providers.UpdatePorkbun, Request: providers.UpdatePorkbunRequest{}},
"Selfhost": {Updater: providers.UpdateSelfhost, Request: providers.UpdateSelfhostRequest{}},
"Servercow": {Updater: providers.UpdateServercow, Request: providers.UpdateServercowRequest{}},
"Spdyn": {Updater: providers.UpdateSpdyn, Request: providers.UpdateSpdynRequest{}},
"Variomedia": {Updater: providers.UpdateVariomedia, Request: providers.UpdateVariomediaRequest{}},
"MaxiHoster": {Updater: providers.UpdateMaxiHoster, Request: providers.UpdateMaxiHosterRequest{}},
}

func GetProviders() []string {
Expand Down
18 changes: 0 additions & 18 deletions pkg/server/middles.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package server

import (
"fmt"
"net/http"
"strings"

Expand All @@ -19,23 +18,6 @@ func limitRequests(handler http.Handler) http.Handler {
})
}

func forwardToProxy(handler http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
addr, err := getRealClientIP(r)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
port, err := getRealClientPort(r)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
r.URL.Host = fmt.Sprintf("%s:%s", addr, port)
handler.ServeHTTP(w, r)
})
}

func controlCache(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "public, max-age=86400")
Expand Down
4 changes: 2 additions & 2 deletions pkg/server/routes/api/inputs.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ func GetInputs(w http.ResponseWriter, r *http.Request) {
http.Error(w, "[api-GetInputs-1] missing provider", http.StatusBadRequest)
return
}
request, ok := ddns.GetUpdaters()[provider]
updater, ok := ddns.GetUpdaters()[provider]
if !ok {
http.Error(w, "[api-GetInputs-2] provider is not valid", http.StatusBadRequest)
return
}
fields := &request.Request
fields := updater.Request
inputs, err := json.Marshal(fields)
if err != nil {
http.Error(w, "[api-GetInputs-3] could not marshal fields", http.StatusInternalServerError)
Expand Down
4 changes: 2 additions & 2 deletions pkg/server/routes/api/job.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func CreateJob(w http.ResponseWriter, r *http.Request) {
log.Errorf("[api-CreateJob-2] provider is not valid")
return
}
jobModel := &updater.Request
jobModel := updater.Request
params := r.FormValue("params")
err = json.Unmarshal([]byte(params), &jobModel)
if err != nil {
Expand Down Expand Up @@ -81,7 +81,7 @@ func UpdateJob(w http.ResponseWriter, r *http.Request) {
log.Errorf("[api-UpdateJob-3] provider is not valid")
return
}
jobModel := &updater.Request
jobModel := updater.Request
params := r.FormValue("params")
err = json.Unmarshal([]byte(params), &jobModel)
if err != nil {
Expand Down
1 change: 0 additions & 1 deletion pkg/server/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ func initializeRouter() {
}

func registerMiddlewares(r *Router) {
r.Use(forwardToProxy)
r.Use(limitRequests)
if config.Get().UseTOTP {
r.Use(authenticate)
Expand Down
16 changes: 0 additions & 16 deletions pkg/server/xrclient.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package server

import (
"fmt"
"net"
"net/http"
"strings"
Expand Down Expand Up @@ -41,18 +40,3 @@ func crawlForwardedIPs(r *http.Request) string {
}
return ""
}

func getRealClientPort(r *http.Request) (string, error) {
remotePort := r.Header.Get(xForwardedPort)
if remotePort != "" {
return remotePort, nil
}
if !strings.Contains(r.RemoteAddr, ":") {
return "", fmt.Errorf("[server-GetRealClientPort-2] could not determine remote port")
}
_, port, err := net.SplitHostPort(r.RemoteAddr)
if err != nil {
return "", err
}
return port, nil
}

0 comments on commit 59d3aba

Please sign in to comment.