diff --git a/config/config.go b/config/config.go index 00da90755..e0a001150 100644 --- a/config/config.go +++ b/config/config.go @@ -20,7 +20,6 @@ import ( "time" "github.com/btcsuite/go-socks/socks" - "github.com/daglabs/btcd/connmgr" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/dagconfig/daghash" "github.com/daglabs/btcd/database" @@ -126,6 +125,7 @@ type configFlags struct { DisableRPC bool `long:"norpc" description:"Disable built-in RPC server -- NOTE: The RPC server is disabled by default if no rpcuser/rpcpass or rpclimituser/rpclimitpass is specified"` DisableTLS bool `long:"notls" description:"Disable TLS for the RPC server -- NOTE: This is only allowed if the RPC server is bound to localhost"` DisableDNSSeed bool `long:"nodnsseed" description:"Disable DNS seeding for peers"` + DNSSeed string `long:"dnsseed" description:"Override DNS seeds with specified hostname (Only 1 hostname allowed)"` ExternalIPs []string `long:"externalip" description:"Add an ip to the list of local addresses we claim to listen on to peers"` Proxy string `long:"proxy" description:"Connect via SOCKS5 proxy (eg. 127.0.0.1:9050)"` ProxyUser string `long:"proxyuser" description:"Username for proxy server"` @@ -907,7 +907,7 @@ func loadConfig() (*Config, []string, error) { // onion-specific proxy configured. if !cfg.NoOnion && cfg.OnionProxy == "" { cfg.Lookup = func(host string) ([]net.IP, error) { - return connmgr.TorLookupIP(host, cfg.Proxy) + return network.TorLookupIP(host, cfg.Proxy) } } } @@ -953,7 +953,7 @@ func loadConfig() (*Config, []string, error) { // onion-specific proxy. if cfg.Proxy != "" { cfg.Lookup = func(host string) ([]net.IP, error) { - return connmgr.TorLookupIP(host, cfg.OnionProxy) + return network.TorLookupIP(host, cfg.OnionProxy) } } } else { diff --git a/connmgr/seed.go b/connmgr/seed.go index d112fe84b..d119d7c61 100644 --- a/connmgr/seed.go +++ b/connmgr/seed.go @@ -11,6 +11,7 @@ import ( "strconv" "time" + "github.com/daglabs/btcd/config" "github.com/daglabs/btcd/util/subnetworkid" "github.com/daglabs/btcd/dagconfig" @@ -41,7 +42,15 @@ type LookupFunc func(string) ([]net.IP, error) func SeedFromDNS(dagParams *dagconfig.Params, reqServices wire.ServiceFlag, includeAllSubnetworks bool, subnetworkID *subnetworkid.SubnetworkID, lookupFn LookupFunc, seedFn OnSeed) { - for _, dnsseed := range dagParams.DNSSeeds { + var dnsSeeds []string + configSeed := config.MainConfig().DNSSeed + if configSeed != "" { + dnsSeeds = []string{configSeed} + } else { + dnsSeeds = dagParams.DNSSeeds + } + + for _, dnsseed := range dnsSeeds { var host string if reqServices == wire.SFNodeNetwork { host = dnsseed diff --git a/docker/Dockerfile b/docker/Dockerfile index 804a27b87..b2b430065 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -44,6 +44,7 @@ RUN apk add --no-cache ca-certificates tini COPY --from=build /go/src/github.com/daglabs/btcd/btcd /app/ COPY --from=build /go/src/github.com/daglabs/btcd/docker/rpc.cert /app/ COPY --from=build /go/src/github.com/daglabs/btcd/docker/rpc.key /app/ +COPY --from=build /go/src/github.com/daglabs/btcd/sample-btcd.conf /app/ USER nobody ENTRYPOINT [ "/sbin/tini", "--" ] diff --git a/connmgr/tor.go b/util/network/tor.go similarity index 99% rename from connmgr/tor.go rename to util/network/tor.go index 2b22ae51f..409bf3997 100644 --- a/connmgr/tor.go +++ b/util/network/tor.go @@ -2,7 +2,7 @@ // Use of this source code is governed by an ISC // license that can be found in the LICENSE file. -package connmgr +package network import ( "encoding/binary"