1
0
Эх сурвалжийг харах

Add Surge MITM and scripts

世界 8 сар өмнө
parent
commit
5e28a80e63
53 өөрчлөгдсөн 4437 нэмэгдсэн , 15842 устгасан
  1. 4 0
      adapter/experimental.go
  2. 5 0
      adapter/inbound.go
  3. 6 1
      adapter/lifecycle.go
  4. 13 0
      adapter/mitm.go
  5. 61 0
      adapter/script.go
  6. 28 7
      box.go
  7. 1 0
      common/sniff/http.go
  8. 1 0
      common/sniff/tls.go
  9. 27 11
      common/tls/mkcert.go
  10. 6 23
      common/tlsfragment/conn.go
  11. 6 6
      common/tlsfragment/index.go
  12. 0 55
      common/tlsfragment/public_suffix.go
  13. 0 15698
      common/tlsfragment/public_suffix_list.dat
  14. 12 0
      constant/script.go
  15. 65 4
      experimental/cachefile/cache.go
  16. 5 0
      experimental/libbox/platform/interface.go
  17. 5 3
      go.mod
  18. 14 18
      go.sum
  19. 5 1
      log/log.go
  20. 11 0
      mitm/constants.go
  21. 597 0
      mitm/engine.go
  22. 26 0
      option/mitm.go
  23. 444 0
      option/mitm_surge_urlrewrite.go
  24. 4 2
      option/options.go
  25. 2 0
      option/rule_action.go
  26. 138 0
      option/script.go
  27. 17 1
      route/conn.go
  28. 3 0
      route/route.go
  29. 38 12
      route/rule/rule_action.go
  30. 23 0
      script/jsc/array.go
  31. 18 0
      script/jsc/array_test.go
  32. 121 0
      script/jsc/assert.go
  33. 56 0
      script/jsc/headers.go
  34. 31 0
      script/jsc/headers_test.go
  35. 18 0
      script/jsc/time.go
  36. 20 0
      script/jsc/time_test.go
  37. 107 0
      script/manager.go
  38. 108 0
      script/modules/console/module.go
  39. 489 0
      script/modules/eventloop/eventloop.go
  40. 231 0
      script/modules/require/module.go
  41. 277 0
      script/modules/require/resolve.go
  42. 147 0
      script/modules/sghttp/module.go
  43. 111 0
      script/modules/sgnotification/module.go
  44. 76 0
      script/modules/sgstore/module.go
  45. 45 0
      script/modules/sgutils/module.go
  46. 26 0
      script/script.go
  47. 119 0
      script/script_surge_cron.go
  48. 183 0
      script/script_surge_generic.go
  49. 165 0
      script/script_surge_http_request.go
  50. 175 0
      script/script_surge_http_response.go
  51. 31 0
      script/source.go
  52. 92 0
      script/source_local.go
  53. 224 0
      script/source_remote.go

+ 4 - 0
adapter/experimental.go

@@ -52,6 +52,10 @@ type CacheFile interface {
 	StoreGroupExpand(group string, expand bool) error
 	LoadRuleSet(tag string) *SavedBinary
 	SaveRuleSet(tag string, set *SavedBinary) error
+	LoadScript(tag string) *SavedBinary
+	SaveScript(tag string, script *SavedBinary) error
+	SurgePersistentStoreRead(key string) string
+	SurgePersistentStoreWrite(key string, value string) error
 }
 
 type SavedBinary struct {

+ 5 - 0
adapter/inbound.go

@@ -2,6 +2,8 @@ package adapter
 
 import (
 	"context"
+	"crypto/tls"
+	"net/http"
 	"net/netip"
 	"time"
 
@@ -57,6 +59,8 @@ type InboundContext struct {
 	Domain       string
 	Client       string
 	SniffContext any
+	HTTPRequest  *http.Request
+	ClientHello  *tls.ClientHelloInfo
 
 	// cache
 
@@ -73,6 +77,7 @@ type InboundContext struct {
 	UDPTimeout                time.Duration
 	TLSFragment               bool
 	TLSFragmentFallbackDelay  time.Duration
+	MITM                      *option.MITMRouteOptions
 
 	NetworkStrategy     *C.NetworkStrategy
 	NetworkType         []C.InterfaceType

+ 6 - 1
adapter/lifecycle.go

@@ -1,6 +1,8 @@
 package adapter
 
-import E "github.com/sagernet/sing/common/exceptions"
+import (
+	E "github.com/sagernet/sing/common/exceptions"
+)
 
 type StartStage uint8
 
@@ -45,6 +47,9 @@ type LifecycleService interface {
 
 func Start(stage StartStage, services ...Lifecycle) error {
 	for _, service := range services {
+		if service == nil {
+			continue
+		}
 		err := service.Start(stage)
 		if err != nil {
 			return err

+ 13 - 0
adapter/mitm.go

@@ -0,0 +1,13 @@
+package adapter
+
+import (
+	"context"
+	"net"
+
+	N "github.com/sagernet/sing/common/network"
+)
+
+type MITMEngine interface {
+	Lifecycle
+	NewConnection(ctx context.Context, this N.Dialer, conn net.Conn, metadata InboundContext, onClose N.CloseHandlerFunc)
+}

+ 61 - 0
adapter/script.go

@@ -0,0 +1,61 @@
+package adapter
+
+import (
+	"context"
+	"net/http"
+)
+
+type ScriptManager interface {
+	Lifecycle
+	Scripts() []Script
+	// Script(name string) (Script, bool)
+}
+
+type Script interface {
+	Type() string
+	Tag() string
+	StartContext(ctx context.Context, startContext *HTTPStartContext) error
+	PostStart() error
+	Close() error
+}
+
+type GenericScript interface {
+	Script
+	Run(ctx context.Context) error
+}
+
+type HTTPScript interface {
+	Script
+	Match(requestURL string) bool
+	RequiresBody() bool
+	MaxSize() int64
+}
+
+type HTTPRequestScript interface {
+	HTTPScript
+	Run(ctx context.Context, request *http.Request, body []byte) (*HTTPRequestScriptResult, error)
+}
+
+type HTTPRequestScriptResult struct {
+	URL      string
+	Headers  http.Header
+	Body     []byte
+	Response *HTTPRequestScriptResponse
+}
+
+type HTTPRequestScriptResponse struct {
+	Status  int
+	Headers http.Header
+	Body    []byte
+}
+
+type HTTPResponseScript interface {
+	HTTPScript
+	Run(ctx context.Context, request *http.Request, response *http.Response, body []byte) (*HTTPResponseScriptResult, error)
+}
+
+type HTTPResponseScriptResult struct {
+	Status  int
+	Headers http.Header
+	Body    []byte
+}

+ 28 - 7
box.go

@@ -23,9 +23,11 @@ import (
 	"github.com/sagernet/sing-box/experimental/cachefile"
 	"github.com/sagernet/sing-box/experimental/libbox/platform"
 	"github.com/sagernet/sing-box/log"
+	"github.com/sagernet/sing-box/mitm"
 	"github.com/sagernet/sing-box/option"
 	"github.com/sagernet/sing-box/protocol/direct"
 	"github.com/sagernet/sing-box/route"
+	"github.com/sagernet/sing-box/script"
 	"github.com/sagernet/sing/common"
 	E "github.com/sagernet/sing/common/exceptions"
 	F "github.com/sagernet/sing/common/format"
@@ -48,6 +50,8 @@ type Box struct {
 	dnsRouter    *dns.Router
 	connection   *route.ConnectionManager
 	router       *route.Router
+	script       *script.Manager
+	mitm         adapter.MITMEngine //*mitm.Engine
 	services     []adapter.LifecycleService
 	done         chan struct{}
 }
@@ -173,7 +177,7 @@ func New(options Options) (*Box, error) {
 		return nil, E.Cause(err, "initialize network manager")
 	}
 	service.MustRegister[adapter.NetworkManager](ctx, networkManager)
-	connectionManager := route.NewConnectionManager(logFactory.NewLogger("connection"))
+	connectionManager := route.NewConnectionManager(ctx, logFactory.NewLogger("connection"))
 	service.MustRegister[adapter.ConnectionManager](ctx, connectionManager)
 	router := route.NewRouter(ctx, logFactory, routeOptions, dnsOptions)
 	service.MustRegister[adapter.Router](ctx, router)
@@ -181,8 +185,8 @@ func New(options Options) (*Box, error) {
 	if err != nil {
 		return nil, E.Cause(err, "initialize router")
 	}
-	ntpOptions := common.PtrValueOrDefault(options.NTP)
 	var timeService *tls.TimeServiceWrapper
+	ntpOptions := common.PtrValueOrDefault(options.NTP)
 	if ntpOptions.Enabled {
 		timeService = new(tls.TimeServiceWrapper)
 		service.MustRegister[ntp.TimeService](ctx, timeService)
@@ -289,6 +293,11 @@ func New(options Options) (*Box, error) {
 			"local",
 			option.LocalDNSServerOptions{},
 		)))
+	scriptManager, err := script.NewManager(ctx, logFactory, options.Scripts)
+	if err != nil {
+		return nil, E.Cause(err, "initialize script manager")
+	}
+	service.MustRegister[adapter.ScriptManager](ctx, scriptManager)
 	if platformInterface != nil {
 		err = platformInterface.Initialize(networkManager)
 		if err != nil {
@@ -338,6 +347,16 @@ func New(options Options) (*Box, error) {
 		timeService.TimeService = ntpService
 		services = append(services, adapter.NewLifecycleService(ntpService, "ntp service"))
 	}
+	mitmOptions := common.PtrValueOrDefault(options.MITM)
+	var mitmEngine *mitm.Engine
+	if mitmOptions.Enabled {
+		engine, err := mitm.NewEngine(ctx, logFactory.NewLogger("mitm"), mitmOptions)
+		if err != nil {
+			return nil, E.Cause(err, "create MITM engine")
+		}
+		service.MustRegister[adapter.MITMEngine](ctx, engine)
+		mitmEngine = engine
+	}
 	return &Box{
 		network:      networkManager,
 		endpoint:     endpointManager,
@@ -347,6 +366,8 @@ func New(options Options) (*Box, error) {
 		dnsRouter:    dnsRouter,
 		connection:   connectionManager,
 		router:       router,
+		script:       scriptManager,
+		mitm:         mitmEngine,
 		createdAt:    createdAt,
 		logFactory:   logFactory,
 		logger:       logFactory.Logger(),
@@ -405,11 +426,11 @@ func (s *Box) preStart() error {
 	if err != nil {
 		return err
 	}
-	err = adapter.Start(adapter.StartStateInitialize, s.network, s.dnsTransport, s.dnsRouter, s.connection, s.router, s.outbound, s.inbound, s.endpoint)
+	err = adapter.Start(adapter.StartStateInitialize, s.network, s.dnsTransport, s.dnsRouter, s.connection, s.router, s.script, s.mitm, s.outbound, s.inbound, s.endpoint)
 	if err != nil {
 		return err
 	}
-	err = adapter.Start(adapter.StartStateStart, s.outbound, s.dnsTransport, s.dnsRouter, s.network, s.connection, s.router)
+	err = adapter.Start(adapter.StartStateStart, s.outbound, s.dnsTransport, s.dnsRouter, s.network, s.connection, s.router, s.script, s.mitm)
 	if err != nil {
 		return err
 	}
@@ -433,7 +454,7 @@ func (s *Box) start() error {
 	if err != nil {
 		return err
 	}
-	err = adapter.Start(adapter.StartStatePostStart, s.outbound, s.network, s.dnsTransport, s.dnsRouter, s.connection, s.router, s.inbound, s.endpoint)
+	err = adapter.Start(adapter.StartStatePostStart, s.outbound, s.network, s.dnsTransport, s.dnsRouter, s.connection, s.router, s.script, s.mitm, s.inbound, s.endpoint)
 	if err != nil {
 		return err
 	}
@@ -441,7 +462,7 @@ func (s *Box) start() error {
 	if err != nil {
 		return err
 	}
-	err = adapter.Start(adapter.StartStateStarted, s.network, s.dnsTransport, s.dnsRouter, s.connection, s.router, s.outbound, s.inbound, s.endpoint)
+	err = adapter.Start(adapter.StartStateStarted, s.network, s.dnsTransport, s.dnsRouter, s.connection, s.router, s.script, s.mitm, s.outbound, s.inbound, s.endpoint)
 	if err != nil {
 		return err
 	}
@@ -460,7 +481,7 @@ func (s *Box) Close() error {
 		close(s.done)
 	}
 	err := common.Close(
-		s.inbound, s.outbound, s.endpoint, s.router, s.connection, s.dnsRouter, s.dnsTransport, s.network,
+		s.inbound, s.outbound, s.endpoint, s.mitm, s.script, s.router, s.connection, s.dnsRouter, s.dnsTransport, s.network,
 	)
 	for _, lifecycleService := range s.services {
 		err = E.Append(err, lifecycleService.Close(), func(err error) error {

+ 1 - 0
common/sniff/http.go

@@ -18,5 +18,6 @@ func HTTPHost(_ context.Context, metadata *adapter.InboundContext, reader io.Rea
 	}
 	metadata.Protocol = C.ProtocolHTTP
 	metadata.Domain = M.ParseSocksaddr(request.Host).AddrString()
+	metadata.HTTPRequest = request
 	return nil
 }

+ 1 - 0
common/sniff/tls.go

@@ -21,6 +21,7 @@ func TLSClientHello(ctx context.Context, metadata *adapter.InboundContext, reade
 	if clientHello != nil {
 		metadata.Protocol = C.ProtocolTLS
 		metadata.Domain = clientHello.ServerName
+		metadata.ClientHello = clientHello
 		return nil
 	}
 	return err

+ 27 - 11
common/tls/mkcert.go

@@ -8,7 +8,10 @@ import (
 	"crypto/x509/pkix"
 	"encoding/pem"
 	"math/big"
+	"net"
 	"time"
+
+	M "github.com/sagernet/sing/common/metadata"
 )
 
 func GenerateKeyPair(parent *x509.Certificate, parentKey any, timeFunc func() time.Time, serverName string) (*tls.Certificate, error) {
@@ -35,17 +38,30 @@ func GenerateCertificate(parent *x509.Certificate, parentKey any, timeFunc func(
 	if err != nil {
 		return
 	}
-	template := &x509.Certificate{
-		SerialNumber:          serialNumber,
-		NotBefore:             timeFunc().Add(time.Hour * -1),
-		NotAfter:              expire,
-		KeyUsage:              x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
-		ExtKeyUsage:           []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
-		BasicConstraintsValid: true,
-		Subject: pkix.Name{
-			CommonName: serverName,
-		},
-		DNSNames: []string{serverName},
+	var template *x509.Certificate
+	if serverAddress := M.ParseAddr(serverName); serverAddress.IsValid() {
+		template = &x509.Certificate{
+			SerialNumber:          serialNumber,
+			IPAddresses:           []net.IP{serverAddress.AsSlice()},
+			NotBefore:             timeFunc().Add(time.Hour * -1),
+			NotAfter:              expire,
+			KeyUsage:              x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
+			ExtKeyUsage:           []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
+			BasicConstraintsValid: true,
+		}
+	} else {
+		template = &x509.Certificate{
+			SerialNumber:          serialNumber,
+			NotBefore:             timeFunc().Add(time.Hour * -1),
+			NotAfter:              expire,
+			KeyUsage:              x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
+			ExtKeyUsage:           []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
+			BasicConstraintsValid: true,
+			Subject: pkix.Name{
+				CommonName: serverName,
+			},
+			DNSNames: []string{serverName},
+		}
 	}
 	if parent == nil {
 		parent = template

+ 6 - 23
common/tlsfragment/conn.go

@@ -7,8 +7,9 @@ import (
 	"strings"
 	"time"
 
-	"github.com/sagernet/sing/common"
 	N "github.com/sagernet/sing/common/network"
+
+	"golang.org/x/net/publicsuffix"
 )
 
 type Conn struct {
@@ -42,30 +43,12 @@ func (c *Conn) Write(b []byte) (n int, err error) {
 					return
 				}
 			}
-			splits := strings.Split(string(b[serverName.Index:serverName.Index+serverName.Length]), ".")
+			splits := strings.Split(serverName.ServerName, ".")
 			currentIndex := serverName.Index
-			var striped bool
-			if len(splits) > 3 {
-				suffix := splits[len(splits)-3] + "." + splits[len(splits)-2] + "." + splits[len(splits)-1]
-				if publicSuffixMatcher().Match(suffix) {
-					splits = splits[:len(splits)-3]
-				}
-				striped = true
-			}
-			if !striped && len(splits) > 2 {
-				suffix := splits[len(splits)-2] + "." + splits[len(splits)-1]
-				if publicSuffixMatcher().Match(suffix) {
-					splits = splits[:len(splits)-2]
-				}
-				striped = true
-			}
-			if !striped && len(splits) > 1 {
-				suffix := splits[len(splits)-1]
-				if publicSuffixMatcher().Match(suffix) {
-					splits = splits[:len(splits)-1]
-				}
+			if publicSuffix := publicsuffix.List.PublicSuffix(serverName.ServerName); publicSuffix != "" {
+				splits = splits[:len(splits)-strings.Count(serverName.ServerName, ".")]
 			}
-			if len(splits) > 1 && common.Contains(publicPrefix, splits[0]) {
+			if len(splits) > 1 && splits[0] == "..." {
 				currentIndex += len(splits[0]) + 1
 				splits = splits[1:]
 			}

+ 6 - 6
common/tlsfragment/index.go

@@ -23,9 +23,9 @@ const (
 )
 
 type myServerName struct {
-	Index  int
-	Length int
-	sex    []byte
+	Index      int
+	Length     int
+	ServerName string
 }
 
 func indexTLSServerName(payload []byte) *myServerName {
@@ -119,9 +119,9 @@ func indexTLSServerNameFromExtensions(exs []byte) *myServerName {
 			sniLen := uint16(sex[3])<<8 | uint16(sex[4])
 			sex = sex[sniExtensionHeaderLen:]
 			return &myServerName{
-				Index:  currentIndex + extensionHeaderLen + sniExtensionHeaderLen,
-				Length: int(sniLen),
-				sex:    sex,
+				Index:      currentIndex + extensionHeaderLen + sniExtensionHeaderLen,
+				Length:     int(sniLen),
+				ServerName: string(sex),
 			}
 		}
 		exs = exs[4+exLen:]

+ 0 - 55
common/tlsfragment/public_suffix.go

@@ -1,55 +0,0 @@
-package tf
-
-import (
-	"bufio"
-	"bytes"
-	_ "embed"
-	"io"
-	"strings"
-
-	"github.com/sagernet/sing/common"
-	"github.com/sagernet/sing/common/domain"
-	E "github.com/sagernet/sing/common/exceptions"
-	F "github.com/sagernet/sing/common/format"
-)
-
-var publicPrefix = []string{
-	"www",
-}
-
-//go:generate wget -O public_suffix_list.dat https://publicsuffix.org/list/public_suffix_list.dat
-
-//go:embed public_suffix_list.dat
-var publicSuffix []byte
-
-var publicSuffixMatcher = common.OnceValue(func() *domain.Matcher {
-	matcher, err := initPublicSuffixMatcher()
-	if err != nil {
-		panic(F.ToString("error in initialize public suffix matcher"))
-	}
-	return matcher
-})
-
-func initPublicSuffixMatcher() (*domain.Matcher, error) {
-	reader := bufio.NewReader(bytes.NewReader(publicSuffix))
-	var domainList []string
-	for {
-		line, isPrefix, err := reader.ReadLine()
-		if err != nil {
-			if err == io.EOF {
-				break
-			}
-			return nil, err
-		}
-		if isPrefix {
-			return nil, E.New("unexpected prefix line")
-		}
-		lineStr := string(line)
-		lineStr = strings.TrimSpace(lineStr)
-		if lineStr == "" || strings.HasPrefix(lineStr, "//") {
-			continue
-		}
-		domainList = append(domainList, lineStr)
-	}
-	return domain.NewMatcher(domainList, nil, false), nil
-}

+ 0 - 15698
common/tlsfragment/public_suffix_list.dat

@@ -1,15698 +0,0 @@
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at https://mozilla.org/MPL/2.0/.
-
-// Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat,
-// rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported.
-
-// VERSION: 2025-01-25_15-41-12_UTC
-// COMMIT: 2aa65d89a1b96b0065ad5970734200eed5a38713
-
-// Instructions on pulling and using this list can be found at https://publicsuffix.org/list/.
-
-// ===BEGIN ICANN DOMAINS===
-
-// ac : http://nic.ac/rules.htm
-ac
-com.ac
-edu.ac
-gov.ac
-mil.ac
-net.ac
-org.ac
-
-// ad : https://www.iana.org/domains/root/db/ad.html
-// Confirmed by Amadeu Abril i Abril (CORE) <[email protected]> 2024-11-17
-ad
-
-// ae : https://www.iana.org/domains/root/db/ae.html
-ae
-ac.ae
-co.ae
-gov.ae
-mil.ae
-net.ae
-org.ae
-sch.ae
-
-// aero : https://information.aero/registration/policies/dmp
-aero
-// 2LDs
-airline.aero
-airport.aero
-// 2LDs (currently not accepting registration, seemingly never have)
-// As of 2024-07, these are marked as reserved for potential 3LD
-// registrations (clause 11 "allocated subdomains" in the 2006 TLD
-// policy), but the relevant industry partners have not opened them up
-// for registration. Current status can be determined from the TLD's
-// policy document: 2LDs that are open for registration must list
-// their policy in the TLD's policy. Any 2LD without such a policy is
-// not open for registrations.
-accident-investigation.aero
-accident-prevention.aero
-aerobatic.aero
-aeroclub.aero
-aerodrome.aero
-agents.aero
-air-surveillance.aero
-air-traffic-control.aero
-aircraft.aero
-airtraffic.aero
-ambulance.aero
-association.aero
-author.aero
-ballooning.aero
-broker.aero
-caa.aero
-cargo.aero
-catering.aero
-certification.aero
-championship.aero
-charter.aero
-civilaviation.aero
-club.aero
-conference.aero
-consultant.aero
-consulting.aero
-control.aero
-council.aero
-crew.aero
-design.aero
-dgca.aero
-educator.aero
-emergency.aero
-engine.aero
-engineer.aero
-entertainment.aero
-equipment.aero
-exchange.aero
-express.aero
-federation.aero
-flight.aero
-freight.aero
-fuel.aero
-gliding.aero
-government.aero
-groundhandling.aero
-group.aero
-hanggliding.aero
-homebuilt.aero
-insurance.aero
-journal.aero
-journalist.aero
-leasing.aero
-logistics.aero
-magazine.aero
-maintenance.aero
-marketplace.aero
-media.aero
-microlight.aero
-modelling.aero
-navigation.aero
-parachuting.aero
-paragliding.aero
-passenger-association.aero
-pilot.aero
-press.aero
-production.aero
-recreation.aero
-repbody.aero
-res.aero
-research.aero
-rotorcraft.aero
-safety.aero
-scientist.aero
-services.aero
-show.aero
-skydiving.aero
-software.aero
-student.aero
-taxi.aero
-trader.aero
-trading.aero
-trainer.aero
-union.aero
-workinggroup.aero
-works.aero
-
-// af : https://www.nic.af/domain-price
-af
-com.af
-edu.af
-gov.af
-net.af
-org.af
-
-// ag : http://www.nic.ag/prices.htm
-ag
-co.ag
-com.ag
-net.ag
-nom.ag
-org.ag
-
-// ai : http://nic.com.ai/
-ai
-com.ai
-net.ai
-off.ai
-org.ai
-
-// al : http://www.ert.gov.al/ert_alb/faq_det.html?Id=31
-al
-com.al
-edu.al
-gov.al
-mil.al
-net.al
-org.al
-
-// am : https://www.amnic.net/policy/en/Policy_EN.pdf
-// Confirmed by ISOC AM <[email protected]> 2024-11-18
-am
-co.am
-com.am
-commune.am
-net.am
-org.am
-
-// ao : https://www.iana.org/domains/root/db/ao.html
-// https://www.dns.ao/ao/
-ao
-co.ao
-ed.ao
-edu.ao
-gov.ao
-gv.ao
-it.ao
-og.ao
-org.ao
-pb.ao
-
-// aq : https://www.iana.org/domains/root/db/aq.html
-aq
-
-// ar : https://nic.ar/es/nic-argentina/normativa
-ar
-bet.ar
-com.ar
-coop.ar
-edu.ar
-gob.ar
-gov.ar
-int.ar
-mil.ar
-musica.ar
-mutual.ar
-net.ar
-org.ar
-senasa.ar
-tur.ar
-
-// arpa : https://www.iana.org/domains/root/db/arpa.html
-// Confirmed by registry <[email protected]> 2008-06-18
-arpa
-e164.arpa
-home.arpa
-in-addr.arpa
-ip6.arpa
-iris.arpa
-uri.arpa
-urn.arpa
-
-// as : https://www.iana.org/domains/root/db/as.html
-as
-gov.as
-
-// asia : https://www.iana.org/domains/root/db/asia.html
-asia
-
-// at : https://www.iana.org/domains/root/db/at.html
-// Confirmed by registry <[email protected]> 2008-06-17
-at
-ac.at
-sth.ac.at
-co.at
-gv.at
-or.at
-
-// au : https://www.iana.org/domains/root/db/au.html
-// https://www.auda.org.au/
-// Confirmed by registry <[email protected]> 2024-11-17
-au
-// 2LDs
-asn.au
-com.au
-edu.au
-gov.au
-id.au
-net.au
-org.au
-// Historic 2LDs (closed to new registration, but sites still exist)
-conf.au
-oz.au
-// CGDNs : https://www.auda.org.au/au-domain-names/the-different-au-domain-names/state-and-territory-domain-names/
-act.au
-nsw.au
-nt.au
-qld.au
-sa.au
-tas.au
-vic.au
-wa.au
-// 3LDs
-act.edu.au
-catholic.edu.au
-// eq.edu.au - Removed at the request of the Queensland Department of Education
-nsw.edu.au
-nt.edu.au
-qld.edu.au
-sa.edu.au
-tas.edu.au
-vic.edu.au
-wa.edu.au
-// act.gov.au - Bug 984824 - Removed at request of Greg Tankard
-// nsw.gov.au - Bug 547985 - Removed at request of <[email protected]>
-// nt.gov.au - Bug 940478 - Removed at request of Greg Connors <[email protected]>
-qld.gov.au
-sa.gov.au
-tas.gov.au
-vic.gov.au
-wa.gov.au
-// 4LDs
-// education.tas.edu.au - Removed at the request of the Department of Education Tasmania
-schools.nsw.edu.au
-
-// aw : https://www.iana.org/domains/root/db/aw.html
-aw
-com.aw
-
-// ax : https://www.iana.org/domains/root/db/ax.html
-ax
-
-// az : https://www.iana.org/domains/root/db/az.html
-// Confirmed via https://whois.az/?page_id=10 2024-12-11
-az
-biz.az
-co.az
-com.az
-edu.az
-gov.az
-info.az
-int.az
-mil.az
-name.az
-net.az
-org.az
-pp.az
-// No longer available for registration, however domains exist as of 2024-12-11
-// see https://whois.az/?page_id=783
-pro.az
-
-// ba : https://www.iana.org/domains/root/db/ba.html
-ba
-com.ba
-edu.ba
-gov.ba
-mil.ba
-net.ba
-org.ba
-
-// bb : https://www.iana.org/domains/root/db/bb.html
-bb
-biz.bb
-co.bb
-com.bb
-edu.bb
-gov.bb
-info.bb
-net.bb
-org.bb
-store.bb
-tv.bb
-
-// bd : https://www.iana.org/domains/root/db/bd.html
-*.bd
-
-// be : https://www.iana.org/domains/root/db/be.html
-// Confirmed by registry <[email protected]> 2008-06-08
-be
-ac.be
-
-// bf : https://www.iana.org/domains/root/db/bf.html
-bf
-gov.bf
-
-// bg : https://www.iana.org/domains/root/db/bg.html
-// https://www.register.bg/user/static/rules/en/index.html
-bg
-0.bg
-1.bg
-2.bg
-3.bg
-4.bg
-5.bg
-6.bg
-7.bg
-8.bg
-9.bg
-a.bg
-b.bg
-c.bg
-d.bg
-e.bg
-f.bg
-g.bg
-h.bg
-i.bg
-j.bg
-k.bg
-l.bg
-m.bg
-n.bg
-o.bg
-p.bg
-q.bg
-r.bg
-s.bg
-t.bg
-u.bg
-v.bg
-w.bg
-x.bg
-y.bg
-z.bg
-
-// bh : https://www.iana.org/domains/root/db/bh.html
-bh
-com.bh
-edu.bh
-gov.bh
-net.bh
-org.bh
-
-// bi : https://www.iana.org/domains/root/db/bi.html
-// http://whois.nic.bi/
-bi
-co.bi
-com.bi
-edu.bi
-or.bi
-org.bi
-
-// biz : https://www.iana.org/domains/root/db/biz.html
-biz
-
-// bj : https://nic.bj/bj-suffixes.txt
-// Submitted by registry <[email protected]>
-bj
-africa.bj
-agro.bj
-architectes.bj
-assur.bj
-avocats.bj
-co.bj
-com.bj
-eco.bj
-econo.bj
-edu.bj
-info.bj
-loisirs.bj
-money.bj
-net.bj
-org.bj
-ote.bj
-restaurant.bj
-resto.bj
-tourism.bj
-univ.bj
-
-// bm : https://www.bermudanic.bm/domain-registration/index.php
-bm
-com.bm
-edu.bm
-gov.bm
-net.bm
-org.bm
-
-// bn : http://www.bnnic.bn/faqs
-bn
-com.bn
-edu.bn
-gov.bn
-net.bn
-org.bn
-
-// bo : https://nic.bo
-// Confirmed by registry <[email protected]> 2024-11-19
-bo
-com.bo
-edu.bo
-gob.bo
-int.bo
-mil.bo
-net.bo
-org.bo
-tv.bo
-web.bo
-// Social Domains
-academia.bo
-agro.bo
-arte.bo
-blog.bo
-bolivia.bo
-ciencia.bo
-cooperativa.bo
-democracia.bo
-deporte.bo
-ecologia.bo
-economia.bo
-empresa.bo
-indigena.bo
-industria.bo
-info.bo
-medicina.bo
-movimiento.bo
-musica.bo
-natural.bo
-nombre.bo
-noticias.bo
-patria.bo
-plurinacional.bo
-politica.bo
-profesional.bo
-pueblo.bo
-revista.bo
-salud.bo
-tecnologia.bo
-tksat.bo
-transporte.bo
-wiki.bo
-
-// br : http://registro.br/dominio/categoria.html
-// Submitted by registry <[email protected]>
-br
-9guacu.br
-abc.br
-adm.br
-adv.br
-agr.br
-aju.br
-am.br
-anani.br
-aparecida.br
-app.br
-arq.br
-art.br
-ato.br
-b.br
-barueri.br
-belem.br
-bet.br
-bhz.br
-bib.br
-bio.br
-blog.br
-bmd.br
-boavista.br
-bsb.br
-campinagrande.br
-campinas.br
-caxias.br
-cim.br
-cng.br
-cnt.br
-com.br
-contagem.br
-coop.br
-coz.br
-cri.br
-cuiaba.br
-curitiba.br
-def.br
-des.br
-det.br
-dev.br
-ecn.br
-eco.br
-edu.br
-emp.br
-enf.br
-eng.br
-esp.br
-etc.br
-eti.br
-far.br
-feira.br
-flog.br
-floripa.br
-fm.br
-fnd.br
-fortal.br
-fot.br
-foz.br
-fst.br
-g12.br
-geo.br
-ggf.br
-goiania.br
-gov.br
-// gov.br 26 states + df https://en.wikipedia.org/wiki/States_of_Brazil
-ac.gov.br
-al.gov.br
-am.gov.br
-ap.gov.br
-ba.gov.br
-ce.gov.br
-df.gov.br
-es.gov.br
-go.gov.br
-ma.gov.br
-mg.gov.br
-ms.gov.br
-mt.gov.br
-pa.gov.br
-pb.gov.br
-pe.gov.br
-pi.gov.br
-pr.gov.br
-rj.gov.br
-rn.gov.br
-ro.gov.br
-rr.gov.br
-rs.gov.br
-sc.gov.br
-se.gov.br
-sp.gov.br
-to.gov.br
-gru.br
-imb.br
-ind.br
-inf.br
-jab.br
-jampa.br
-jdf.br
-joinville.br
-jor.br
-jus.br
-leg.br
-leilao.br
-lel.br
-log.br
-londrina.br
-macapa.br
-maceio.br
-manaus.br
-maringa.br
-mat.br
-med.br
-mil.br
-morena.br
-mp.br
-mus.br
-natal.br
-net.br
-niteroi.br
-*.nom.br
-not.br
-ntr.br
-odo.br
-ong.br
-org.br
-osasco.br
-palmas.br
-poa.br
-ppg.br
-pro.br
-psc.br
-psi.br
-pvh.br
-qsl.br
-radio.br
-rec.br
-recife.br
-rep.br
-ribeirao.br
-rio.br
-riobranco.br
-riopreto.br
-salvador.br
-sampa.br
-santamaria.br
-santoandre.br
-saobernardo.br
-saogonca.br
-seg.br
-sjc.br
-slg.br
-slz.br
-sorocaba.br
-srv.br
-taxi.br
-tc.br
-tec.br
-teo.br
-the.br
-tmp.br
-trd.br
-tur.br
-tv.br
-udi.br
-vet.br
-vix.br
-vlog.br
-wiki.br
-zlg.br
-
-// bs : http://www.nic.bs/rules.html
-bs
-com.bs
-edu.bs
-gov.bs
-net.bs
-org.bs
-
-// bt : https://www.iana.org/domains/root/db/bt.html
-bt
-com.bt
-edu.bt
-gov.bt
-net.bt
-org.bt
-
-// bv : No registrations at this time.
-// Submitted by registry <[email protected]>
-bv
-
-// bw : https://www.iana.org/domains/root/db/bw.html
-// https://nic.net.bw/bw-name-structure
-bw
-ac.bw
-co.bw
-gov.bw
-net.bw
-org.bw
-
-// by : https://www.iana.org/domains/root/db/by.html
-// http://tld.by/rules_2006_en.html
-// list of other 2nd level tlds ?
-by
-gov.by
-mil.by
-// Official information does not indicate that com.by is a reserved
-// second-level domain, but it's being used as one (see www.google.com.by and
-// www.yahoo.com.by, for example), so we list it here for safety's sake.
-com.by
-// http://hoster.by/
-of.by
-
-// bz : https://www.iana.org/domains/root/db/bz.html
-// http://www.belizenic.bz/
-bz
-co.bz
-com.bz
-edu.bz
-gov.bz
-net.bz
-org.bz
-
-// ca : https://www.iana.org/domains/root/db/ca.html
-ca
-// ca geographical names
-ab.ca
-bc.ca
-mb.ca
-nb.ca
-nf.ca
-nl.ca
-ns.ca
-nt.ca
-nu.ca
-on.ca
-pe.ca
-qc.ca
-sk.ca
-yk.ca
-// gc.ca: https://en.wikipedia.org/wiki/.gc.ca
-// see also: http://registry.gc.ca/en/SubdomainFAQ
-gc.ca
-
-// cat : https://www.iana.org/domains/root/db/cat.html
-cat
-
-// cc : https://www.iana.org/domains/root/db/cc.html
-cc
-
-// cd : https://www.iana.org/domains/root/db/cd.html
-// https://www.nic.cd
-cd
-gov.cd
-
-// cf : https://www.iana.org/domains/root/db/cf.html
-cf
-
-// cg : https://www.iana.org/domains/root/db/cg.html
-cg
-
-// ch : https://www.iana.org/domains/root/db/ch.html
-ch
-
-// ci : https://www.iana.org/domains/root/db/ci.html
-ci
-ac.ci
-aéroport.ci
-asso.ci
-co.ci
-com.ci
-ed.ci
-edu.ci
-go.ci
-gouv.ci
-int.ci
-net.ci
-or.ci
-org.ci
-
-// ck : https://www.iana.org/domains/root/db/ck.html
-*.ck
-!www.ck
-
-// cl : https://www.nic.cl
-// Confirmed by .CL registry <[email protected]>
-cl
-co.cl
-gob.cl
-gov.cl
-mil.cl
-
-// cm : https://www.iana.org/domains/root/db/cm.html plus bug 981927
-cm
-co.cm
-com.cm
-gov.cm
-net.cm
-
-// cn : https://www.iana.org/domains/root/db/cn.html
-// Submitted by registry <[email protected]>
-cn
-ac.cn
-com.cn
-edu.cn
-gov.cn
-mil.cn
-net.cn
-org.cn
-公司.cn
-網絡.cn
-网络.cn
-// cn geographic names
-ah.cn
-bj.cn
-cq.cn
-fj.cn
-gd.cn
-gs.cn
-gx.cn
-gz.cn
-ha.cn
-hb.cn
-he.cn
-hi.cn
-hk.cn
-hl.cn
-hn.cn
-jl.cn
-js.cn
-jx.cn
-ln.cn
-mo.cn
-nm.cn
-nx.cn
-qh.cn
-sc.cn
-sd.cn
-sh.cn
-sn.cn
-sx.cn
-tj.cn
-tw.cn
-xj.cn
-xz.cn
-yn.cn
-zj.cn
-
-// co : https://www.iana.org/domains/root/db/co.html
-// https://www.cointernet.com.co/como-funciona-un-dominio-restringido
-// Confirmed by registry <[email protected]> 2024-11-18
-co
-com.co
-edu.co
-gov.co
-mil.co
-net.co
-nom.co
-org.co
-
-// com : https://www.iana.org/domains/root/db/com.html
-com
-
-// coop : https://www.iana.org/domains/root/db/coop.html
-coop
-
-// cr : https://nic.cr/capitulo-1-registro-de-un-nombre-de-dominio/
-cr
-ac.cr
-co.cr
-ed.cr
-fi.cr
-go.cr
-or.cr
-sa.cr
-
-// cu : https://www.iana.org/domains/root/db/cu.html
-cu
-com.cu
-edu.cu
-gob.cu
-inf.cu
-nat.cu
-net.cu
-org.cu
-
-// cv : https://www.iana.org/domains/root/db/cv.html
-// https://ola.cv/domain-extensions-under-cv/
-// Confirmed by registry <[email protected]> 2024-11-26
-cv
-com.cv
-edu.cv
-id.cv
-int.cv
-net.cv
-nome.cv
-org.cv
-publ.cv
-
-// cw : https://www.uoc.cw/cw-registry
-// Confirmed by registry <[email protected]> 2024-11-19
-cw
-com.cw
-edu.cw
-net.cw
-org.cw
-
-// cx : https://www.iana.org/domains/root/db/cx.html
-// list of other 2nd level tlds ?
-cx
-gov.cx
-
-// cy : http://www.nic.cy/
-// Submitted by Panayiotou Fotia <[email protected]>
-// https://nic.cy/wp-content/uploads/2024/01/Create-Request-for-domain-name-registration-1.pdf
-cy
-ac.cy
-biz.cy
-com.cy
-ekloges.cy
-gov.cy
-ltd.cy
-mil.cy
-net.cy
-org.cy
-press.cy
-pro.cy
-tm.cy
-
-// cz : https://www.iana.org/domains/root/db/cz.html
-cz
-
-// de : https://www.iana.org/domains/root/db/de.html
-// Confirmed by registry <[email protected]> (with technical
-// reservations) 2008-07-01
-de
-
-// dj : https://www.iana.org/domains/root/db/dj.html
-dj
-
-// dk : https://www.iana.org/domains/root/db/dk.html
-// Confirmed by registry <[email protected]> 2008-06-17
-dk
-
-// dm : https://www.iana.org/domains/root/db/dm.html
-// https://nic.dm/policies/pdf/DMRulesandGuidelines2024v1.pdf
-// Confirmed by registry <[email protected]> 2024-11-19
-dm
-co.dm
-com.dm
-edu.dm
-gov.dm
-net.dm
-org.dm
-
-// do : https://www.iana.org/domains/root/db/do.html
-do
-art.do
-com.do
-edu.do
-gob.do
-gov.do
-mil.do
-net.do
-org.do
-sld.do
-web.do
-
-// dz : http://www.nic.dz/images/pdf_nic/charte.pdf
-dz
-art.dz
-asso.dz
-com.dz
-edu.dz
-gov.dz
-net.dz
-org.dz
-pol.dz
-soc.dz
-tm.dz
-
-// ec : https://www.nic.ec/
-// Submitted by registry <[email protected]>
-ec
-com.ec
-edu.ec
-fin.ec
-gob.ec
-gov.ec
-info.ec
-k12.ec
-med.ec
-mil.ec
-net.ec
-org.ec
-pro.ec
-
-// edu : https://www.iana.org/domains/root/db/edu.html
-edu
-
-// ee : https://www.internet.ee/domains/general-domains-and-procedure-for-registration-of-sub-domains-under-general-domains
-ee
-aip.ee
-com.ee
-edu.ee
-fie.ee
-gov.ee
-lib.ee
-med.ee
-org.ee
-pri.ee
-riik.ee
-
-// eg : https://www.iana.org/domains/root/db/eg.html
-// https://domain.eg/en/domain-rules/subdomain-names-types/
-eg
-ac.eg
-com.eg
-edu.eg
-eun.eg
-gov.eg
-info.eg
-me.eg
-mil.eg
-name.eg
-net.eg
-org.eg
-sci.eg
-sport.eg
-tv.eg
-
-// er : https://www.iana.org/domains/root/db/er.html
-*.er
-
-// es : https://www.dominios.es/en
-es
-com.es
-edu.es
-gob.es
-nom.es
-org.es
-
-// et : https://www.iana.org/domains/root/db/et.html
-et
-biz.et
-com.et
-edu.et
-gov.et
-info.et
-name.et
-net.et
-org.et
-
-// eu : https://www.iana.org/domains/root/db/eu.html
-eu
-
-// fi : https://www.iana.org/domains/root/db/fi.html
-fi
-// aland.fi : https://www.iana.org/domains/root/db/ax.html
-// This domain is being phased out in favor of .ax. As there are still many
-// domains under aland.fi, we still keep it on the list until aland.fi is
-// completely removed.
-aland.fi
-
-// fj : http://domains.fj/
-// Submitted by registry <[email protected]> 2020-02-11
-fj
-ac.fj
-biz.fj
-com.fj
-gov.fj
-info.fj
-mil.fj
-name.fj
-net.fj
-org.fj
-pro.fj
-
-// fk : https://www.iana.org/domains/root/db/fk.html
-*.fk
-
-// fm : https://www.iana.org/domains/root/db/fm.html
-fm
-com.fm
-edu.fm
-net.fm
-org.fm
-
-// fo : https://www.iana.org/domains/root/db/fo.html
-fo
-
-// fr : https://www.afnic.fr/ https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
-fr
-asso.fr
-com.fr
-gouv.fr
-nom.fr
-prd.fr
-tm.fr
-// Other SLDs now selfmanaged out of AFNIC range. Former "domaines sectoriels", still registration suffixes
-avoues.fr
-cci.fr
-greta.fr
-huissier-justice.fr
-
-// ga : https://www.iana.org/domains/root/db/ga.html
-ga
-
-// gb : This registry is effectively dormant
-// Submitted by registry <[email protected]>
-gb
-
-// gd : https://www.iana.org/domains/root/db/gd.html
-gd
-edu.gd
-gov.gd
-
-// ge : https://nic.ge/en/administrator/the-ge-domain-regulations
-// Confirmed by registry <[email protected]> 2024-11-20
-ge
-com.ge
-edu.ge
-gov.ge
-net.ge
-org.ge
-pvt.ge
-school.ge
-
-// gf : https://www.iana.org/domains/root/db/gf.html
-gf
-
-// gg : https://www.channelisles.net/register-1/register-direct
-// Confirmed by registry <[email protected]> 2013-11-28
-gg
-co.gg
-net.gg
-org.gg
-
-// gh : https://www.iana.org/domains/root/db/gh.html
-// https://www.nic.gh/
-// Although domains directly at second level are not possible at the moment,
-// they have been possible for some time and may come back.
-gh
-com.gh
-edu.gh
-gov.gh
-mil.gh
-org.gh
-
-// gi : http://www.nic.gi/rules.html
-gi
-com.gi
-edu.gi
-gov.gi
-ltd.gi
-mod.gi
-org.gi
-
-// gl : https://www.iana.org/domains/root/db/gl.html
-// http://nic.gl
-gl
-co.gl
-com.gl
-edu.gl
-net.gl
-org.gl
-
-// gm : http://www.nic.gm/htmlpages%5Cgm-policy.htm
-gm
-
-// gn : http://psg.com/dns/gn/gn.txt
-// Submitted by registry <[email protected]>
-gn
-ac.gn
-com.gn
-edu.gn
-gov.gn
-net.gn
-org.gn
-
-// gov : https://www.iana.org/domains/root/db/gov.html
-gov
-
-// gp : http://www.nic.gp/index.php?lang=en
-gp
-asso.gp
-com.gp
-edu.gp
-mobi.gp
-net.gp
-org.gp
-
-// gq : https://www.iana.org/domains/root/db/gq.html
-gq
-
-// gr : https://www.iana.org/domains/root/db/gr.html
-// Submitted by registry <[email protected]>
-gr
-com.gr
-edu.gr
-gov.gr
-net.gr
-org.gr
-
-// gs : https://www.iana.org/domains/root/db/gs.html
-gs
-
-// gt : https://www.gt/sitio/registration_policy.php?lang=en
-gt
-com.gt
-edu.gt
-gob.gt
-ind.gt
-mil.gt
-net.gt
-org.gt
-
-// gu : http://gadao.gov.gu/register.html
-// University of Guam : https://www.uog.edu
-// Submitted by [email protected]
-gu
-com.gu
-edu.gu
-gov.gu
-guam.gu
-info.gu
-net.gu
-org.gu
-web.gu
-
-// gw : https://www.iana.org/domains/root/db/gw.html
-// gw : https://nic.gw/regras/
-gw
-
-// gy : https://www.iana.org/domains/root/db/gy.html
-// http://registry.gy/
-gy
-co.gy
-com.gy
-edu.gy
-gov.gy
-net.gy
-org.gy
-
-// hk : https://www.hkirc.hk
-// Submitted by registry <[email protected]>
-hk
-com.hk
-edu.hk
-gov.hk
-idv.hk
-net.hk
-org.hk
-个人.hk
-個人.hk
-公司.hk
-政府.hk
-敎育.hk
-教育.hk
-箇人.hk
-組織.hk
-組织.hk
-網絡.hk
-網络.hk
-组織.hk
-组织.hk
-网絡.hk
-网络.hk
-
-// hm : https://www.iana.org/domains/root/db/hm.html
-hm
-
-// hn : https://www.iana.org/domains/root/db/hn.html
-hn
-com.hn
-edu.hn
-gob.hn
-mil.hn
-net.hn
-org.hn
-
-// hr : http://www.dns.hr/documents/pdf/HRTLD-regulations.pdf
-hr
-com.hr
-from.hr
-iz.hr
-name.hr
-
-// ht : http://www.nic.ht/info/charte.cfm
-ht
-adult.ht
-art.ht
-asso.ht
-com.ht
-coop.ht
-edu.ht
-firm.ht
-gouv.ht
-info.ht
-med.ht
-net.ht
-org.ht
-perso.ht
-pol.ht
-pro.ht
-rel.ht
-shop.ht
-
-// hu : https://www.iana.org/domains/root/db/hu.html
-// Confirmed by registry <[email protected]> 2008-06-12
-hu
-2000.hu
-agrar.hu
-bolt.hu
-casino.hu
-city.hu
-co.hu
-erotica.hu
-erotika.hu
-film.hu
-forum.hu
-games.hu
-hotel.hu
-info.hu
-ingatlan.hu
-jogasz.hu
-konyvelo.hu
-lakas.hu
-media.hu
-news.hu
-org.hu
-priv.hu
-reklam.hu
-sex.hu
-shop.hu
-sport.hu
-suli.hu
-szex.hu
-tm.hu
-tozsde.hu
-utazas.hu
-video.hu
-
-// id : https://www.iana.org/domains/root/db/id.html
-id
-ac.id
-biz.id
-co.id
-desa.id
-go.id
-mil.id
-my.id
-net.id
-or.id
-ponpes.id
-sch.id
-web.id
-
-// ie : https://www.iana.org/domains/root/db/ie.html
-ie
-gov.ie
-
-// il : http://www.isoc.org.il/domains/
-// see also: https://en.isoc.org.il/il-cctld/registration-rules
-// ISOC-IL (operated by .il Registry)
-il
-ac.il
-co.il
-gov.il
-idf.il
-k12.il
-muni.il
-net.il
-org.il
-// xn--4dbrk0ce ("Israel", Hebrew) : IL
-ישראל
-// xn--4dbgdty6c.xn--4dbrk0ce.
-אקדמיה.ישראל
-// xn--5dbhl8d.xn--4dbrk0ce.
-ישוב.ישראל
-// xn--8dbq2a.xn--4dbrk0ce.
-צהל.ישראל
-// xn--hebda8b.xn--4dbrk0ce.
-ממשל.ישראל
-
-// im : https://www.nic.im/
-// Submitted by registry <[email protected]>
-im
-ac.im
-co.im
-ltd.co.im
-plc.co.im
-com.im
-net.im
-org.im
-tt.im
-tv.im
-
-// in : https://www.iana.org/domains/root/db/in.html
-// see also: https://registry.in/policies
-// Please note, that nic.in is not an official eTLD, but used by most
-// government institutions.
-in
-5g.in
-6g.in
-ac.in
-ai.in
-am.in
-bihar.in
-biz.in
-business.in
-ca.in
-cn.in
-co.in
-com.in
-coop.in
-cs.in
-delhi.in
-dr.in
-edu.in
-er.in
-firm.in
-gen.in
-gov.in
-gujarat.in
-ind.in
-info.in
-int.in
-internet.in
-io.in
-me.in
-mil.in
-net.in
-nic.in
-org.in
-pg.in
-post.in
-pro.in
-res.in
-travel.in
-tv.in
-uk.in
-up.in
-us.in
-
-// info : https://www.iana.org/domains/root/db/info.html
-info
-
-// int : https://www.iana.org/domains/root/db/int.html
-// Confirmed by registry <[email protected]> 2008-06-18
-int
-eu.int
-
-// io : http://www.nic.io/rules.htm
-io
-co.io
-com.io
-edu.io
-gov.io
-mil.io
-net.io
-nom.io
-org.io
-
-// iq : http://www.cmc.iq/english/iq/iqregister1.htm
-iq
-com.iq
-edu.iq
-gov.iq
-mil.iq
-net.iq
-org.iq
-
-// ir : http://www.nic.ir/Terms_and_Conditions_ir,_Appendix_1_Domain_Rules
-// Also see http://www.nic.ir/Internationalized_Domain_Names
-// Two <iran>.ir entries added at request of <[email protected]>, 2010-04-16
-ir
-ac.ir
-co.ir
-gov.ir
-id.ir
-net.ir
-org.ir
-sch.ir
-// xn--mgba3a4f16a.ir (<iran>.ir, Persian YEH)
-ایران.ir
-// xn--mgba3a4fra.ir (<iran>.ir, Arabic YEH)
-ايران.ir
-
-// is : http://www.isnic.is/domain/rules.php
-// Confirmed by registry <[email protected]> 2024-11-17
-is
-
-// it : https://www.iana.org/domains/root/db/it.html
-// https://www.nic.it/
-it
-edu.it
-gov.it
-// Regions (3.3.1)
-// https://www.nic.it/en/manage-your-it/forms-and-docs -> "Assignment and Management of domain names"
-abr.it
-abruzzo.it
-aosta-valley.it
-aostavalley.it
-bas.it
-basilicata.it
-cal.it
-calabria.it
-cam.it
-campania.it
-emilia-romagna.it
-emiliaromagna.it
-emr.it
-friuli-v-giulia.it
-friuli-ve-giulia.it
-friuli-vegiulia.it
-friuli-venezia-giulia.it
-friuli-veneziagiulia.it
-friuli-vgiulia.it
-friuliv-giulia.it
-friulive-giulia.it
-friulivegiulia.it
-friulivenezia-giulia.it
-friuliveneziagiulia.it
-friulivgiulia.it
-fvg.it
-laz.it
-lazio.it
-lig.it
-liguria.it
-lom.it
-lombardia.it
-lombardy.it
-lucania.it
-mar.it
-marche.it
-mol.it
-molise.it
-piedmont.it
-piemonte.it
-pmn.it
-pug.it
-puglia.it
-sar.it
-sardegna.it
-sardinia.it
-sic.it
-sicilia.it
-sicily.it
-taa.it
-tos.it
-toscana.it
-trentin-sud-tirol.it
-trentin-süd-tirol.it
-trentin-sudtirol.it
-trentin-südtirol.it
-trentin-sued-tirol.it
-trentin-suedtirol.it
-trentino.it
-trentino-a-adige.it
-trentino-aadige.it
-trentino-alto-adige.it
-trentino-altoadige.it
-trentino-s-tirol.it
-trentino-stirol.it
-trentino-sud-tirol.it
-trentino-süd-tirol.it
-trentino-sudtirol.it
-trentino-südtirol.it
-trentino-sued-tirol.it
-trentino-suedtirol.it
-trentinoa-adige.it
-trentinoaadige.it
-trentinoalto-adige.it
-trentinoaltoadige.it
-trentinos-tirol.it
-trentinostirol.it
-trentinosud-tirol.it
-trentinosüd-tirol.it
-trentinosudtirol.it
-trentinosüdtirol.it
-trentinosued-tirol.it
-trentinosuedtirol.it
-trentinsud-tirol.it
-trentinsüd-tirol.it
-trentinsudtirol.it
-trentinsüdtirol.it
-trentinsued-tirol.it
-trentinsuedtirol.it
-tuscany.it
-umb.it
-umbria.it
-val-d-aosta.it
-val-daosta.it
-vald-aosta.it
-valdaosta.it
-valle-aosta.it
-valle-d-aosta.it
-valle-daosta.it
-valleaosta.it
-valled-aosta.it
-valledaosta.it
-vallee-aoste.it
-vallée-aoste.it
-vallee-d-aoste.it
-vallée-d-aoste.it
-valleeaoste.it
-valléeaoste.it
-valleedaoste.it
-valléedaoste.it
-vao.it
-vda.it
-ven.it
-veneto.it
-// Provinces (3.3.2)
-ag.it
-agrigento.it
-al.it
-alessandria.it
-alto-adige.it
-altoadige.it
-an.it
-ancona.it
-andria-barletta-trani.it
-andria-trani-barletta.it
-andriabarlettatrani.it
-andriatranibarletta.it
-ao.it
-aosta.it
-aoste.it
-ap.it
-aq.it
-aquila.it
-ar.it
-arezzo.it
-ascoli-piceno.it
-ascolipiceno.it
-asti.it
-at.it
-av.it
-avellino.it
-ba.it
-balsan.it
-balsan-sudtirol.it
-balsan-südtirol.it
-balsan-suedtirol.it
-bari.it
-barletta-trani-andria.it
-barlettatraniandria.it
-belluno.it
-benevento.it
-bergamo.it
-bg.it
-bi.it
-biella.it
-bl.it
-bn.it
-bo.it
-bologna.it
-bolzano.it
-bolzano-altoadige.it
-bozen.it
-bozen-sudtirol.it
-bozen-südtirol.it
-bozen-suedtirol.it
-br.it
-brescia.it
-brindisi.it
-bs.it
-bt.it
-bulsan.it
-bulsan-sudtirol.it
-bulsan-südtirol.it
-bulsan-suedtirol.it
-bz.it
-ca.it
-cagliari.it
-caltanissetta.it
-campidano-medio.it
-campidanomedio.it
-campobasso.it
-carbonia-iglesias.it
-carboniaiglesias.it
-carrara-massa.it
-carraramassa.it
-caserta.it
-catania.it
-catanzaro.it
-cb.it
-ce.it
-cesena-forli.it
-cesena-forlì.it
-cesenaforli.it
-cesenaforlì.it
-ch.it
-chieti.it
-ci.it
-cl.it
-cn.it
-co.it
-como.it
-cosenza.it
-cr.it
-cremona.it
-crotone.it
-cs.it
-ct.it
-cuneo.it
-cz.it
-dell-ogliastra.it
-dellogliastra.it
-en.it
-enna.it
-fc.it
-fe.it
-fermo.it
-ferrara.it
-fg.it
-fi.it
-firenze.it
-florence.it
-fm.it
-foggia.it
-forli-cesena.it
-forlì-cesena.it
-forlicesena.it
-forlìcesena.it
-fr.it
-frosinone.it
-ge.it
-genoa.it
-genova.it
-go.it
-gorizia.it
-gr.it
-grosseto.it
-iglesias-carbonia.it
-iglesiascarbonia.it
-im.it
-imperia.it
-is.it
-isernia.it
-kr.it
-la-spezia.it
-laquila.it
-laspezia.it
-latina.it
-lc.it
-le.it
-lecce.it
-lecco.it
-li.it
-livorno.it
-lo.it
-lodi.it
-lt.it
-lu.it
-lucca.it
-macerata.it
-mantova.it
-massa-carrara.it
-massacarrara.it
-matera.it
-mb.it
-mc.it
-me.it
-medio-campidano.it
-mediocampidano.it
-messina.it
-mi.it
-milan.it
-milano.it
-mn.it
-mo.it
-modena.it
-monza.it
-monza-brianza.it
-monza-e-della-brianza.it
-monzabrianza.it
-monzaebrianza.it
-monzaedellabrianza.it
-ms.it
-mt.it
-na.it
-naples.it
-napoli.it
-no.it
-novara.it
-nu.it
-nuoro.it
-og.it
-ogliastra.it
-olbia-tempio.it
-olbiatempio.it
-or.it
-oristano.it
-ot.it
-pa.it
-padova.it
-padua.it
-palermo.it
-parma.it
-pavia.it
-pc.it
-pd.it
-pe.it
-perugia.it
-pesaro-urbino.it
-pesarourbino.it
-pescara.it
-pg.it
-pi.it
-piacenza.it
-pisa.it
-pistoia.it
-pn.it
-po.it
-pordenone.it
-potenza.it
-pr.it
-prato.it
-pt.it
-pu.it
-pv.it
-pz.it
-ra.it
-ragusa.it
-ravenna.it
-rc.it
-re.it
-reggio-calabria.it
-reggio-emilia.it
-reggiocalabria.it
-reggioemilia.it
-rg.it
-ri.it
-rieti.it
-rimini.it
-rm.it
-rn.it
-ro.it
-roma.it
-rome.it
-rovigo.it
-sa.it
-salerno.it
-sassari.it
-savona.it
-si.it
-siena.it
-siracusa.it
-so.it
-sondrio.it
-sp.it
-sr.it
-ss.it
-südtirol.it
-suedtirol.it
-sv.it
-ta.it
-taranto.it
-te.it
-tempio-olbia.it
-tempioolbia.it
-teramo.it
-terni.it
-tn.it
-to.it
-torino.it
-tp.it
-tr.it
-trani-andria-barletta.it
-trani-barletta-andria.it
-traniandriabarletta.it
-tranibarlettaandria.it
-trapani.it
-trento.it
-treviso.it
-trieste.it
-ts.it
-turin.it
-tv.it
-ud.it
-udine.it
-urbino-pesaro.it
-urbinopesaro.it
-va.it
-varese.it
-vb.it
-vc.it
-ve.it
-venezia.it
-venice.it
-verbania.it
-vercelli.it
-verona.it
-vi.it
-vibo-valentia.it
-vibovalentia.it
-vicenza.it
-viterbo.it
-vr.it
-vs.it
-vt.it
-vv.it
-
-// je : https://www.iana.org/domains/root/db/je.html
-// Confirmed by registry <[email protected]> 2013-11-28
-je
-co.je
-net.je
-org.je
-
-// jm : http://www.com.jm/register.html
-*.jm
-
-// jo : https://www.dns.jo/JoFamily.aspx
-// Confirmed by registry <[email protected]> 2024-11-17
-jo
-agri.jo
-ai.jo
-com.jo
-edu.jo
-eng.jo
-fm.jo
-gov.jo
-mil.jo
-net.jo
-org.jo
-per.jo
-phd.jo
-sch.jo
-tv.jo
-
-// jobs : https://www.iana.org/domains/root/db/jobs.html
-jobs
-
-// jp : https://www.iana.org/domains/root/db/jp.html
-// http://jprs.co.jp/en/jpdomain.html
-// Confirmed by registry <[email protected]> 2024-11-22
-jp
-// jp organizational type names
-ac.jp
-ad.jp
-co.jp
-ed.jp
-go.jp
-gr.jp
-lg.jp
-ne.jp
-or.jp
-// jp prefecture type names
-// 2024-11-22: JPRS confirmed that regional .jp suffixes no longer accept new registrations.
-// Once all existing registrations expire (marking full discontinuation), these suffixes
-// will be removed from the PSL.
-aichi.jp
-akita.jp
-aomori.jp
-chiba.jp
-ehime.jp
-fukui.jp
-fukuoka.jp
-fukushima.jp
-gifu.jp
-gunma.jp
-hiroshima.jp
-hokkaido.jp
-hyogo.jp
-ibaraki.jp
-ishikawa.jp
-iwate.jp
-kagawa.jp
-kagoshima.jp
-kanagawa.jp
-kochi.jp
-kumamoto.jp
-kyoto.jp
-mie.jp
-miyagi.jp
-miyazaki.jp
-nagano.jp
-nagasaki.jp
-nara.jp
-niigata.jp
-oita.jp
-okayama.jp
-okinawa.jp
-osaka.jp
-saga.jp
-saitama.jp
-shiga.jp
-shimane.jp
-shizuoka.jp
-tochigi.jp
-tokushima.jp
-tokyo.jp
-tottori.jp
-toyama.jp
-wakayama.jp
-yamagata.jp
-yamaguchi.jp
-yamanashi.jp
-三重.jp
-京都.jp
-佐賀.jp
-兵庫.jp
-北海道.jp
-千葉.jp
-和歌山.jp
-埼玉.jp
-大分.jp
-大阪.jp
-奈良.jp
-宮城.jp
-宮崎.jp
-富山.jp
-山口.jp
-山形.jp
-山梨.jp
-岐阜.jp
-岡山.jp
-岩手.jp
-島根.jp
-広島.jp
-徳島.jp
-愛媛.jp
-愛知.jp
-新潟.jp
-東京.jp
-栃木.jp
-沖縄.jp
-滋賀.jp
-熊本.jp
-石川.jp
-神奈川.jp
-福井.jp
-福岡.jp
-福島.jp
-秋田.jp
-群馬.jp
-茨城.jp
-長崎.jp
-長野.jp
-青森.jp
-静岡.jp
-香川.jp
-高知.jp
-鳥取.jp
-鹿児島.jp
-// jp geographic type names
-// http://jprs.jp/doc/rule/saisoku-1.html
-*.kawasaki.jp
-!city.kawasaki.jp
-*.kitakyushu.jp
-!city.kitakyushu.jp
-*.kobe.jp
-!city.kobe.jp
-*.nagoya.jp
-!city.nagoya.jp
-*.sapporo.jp
-!city.sapporo.jp
-*.sendai.jp
-!city.sendai.jp
-*.yokohama.jp
-!city.yokohama.jp
-// 4th level registration
-aisai.aichi.jp
-ama.aichi.jp
-anjo.aichi.jp
-asuke.aichi.jp
-chiryu.aichi.jp
-chita.aichi.jp
-fuso.aichi.jp
-gamagori.aichi.jp
-handa.aichi.jp
-hazu.aichi.jp
-hekinan.aichi.jp
-higashiura.aichi.jp
-ichinomiya.aichi.jp
-inazawa.aichi.jp
-inuyama.aichi.jp
-isshiki.aichi.jp
-iwakura.aichi.jp
-kanie.aichi.jp
-kariya.aichi.jp
-kasugai.aichi.jp
-kira.aichi.jp
-kiyosu.aichi.jp
-komaki.aichi.jp
-konan.aichi.jp
-kota.aichi.jp
-mihama.aichi.jp
-miyoshi.aichi.jp
-nishio.aichi.jp
-nisshin.aichi.jp
-obu.aichi.jp
-oguchi.aichi.jp
-oharu.aichi.jp
-okazaki.aichi.jp
-owariasahi.aichi.jp
-seto.aichi.jp
-shikatsu.aichi.jp
-shinshiro.aichi.jp
-shitara.aichi.jp
-tahara.aichi.jp
-takahama.aichi.jp
-tobishima.aichi.jp
-toei.aichi.jp
-togo.aichi.jp
-tokai.aichi.jp
-tokoname.aichi.jp
-toyoake.aichi.jp
-toyohashi.aichi.jp
-toyokawa.aichi.jp
-toyone.aichi.jp
-toyota.aichi.jp
-tsushima.aichi.jp
-yatomi.aichi.jp
-akita.akita.jp
-daisen.akita.jp
-fujisato.akita.jp
-gojome.akita.jp
-hachirogata.akita.jp
-happou.akita.jp
-higashinaruse.akita.jp
-honjo.akita.jp
-honjyo.akita.jp
-ikawa.akita.jp
-kamikoani.akita.jp
-kamioka.akita.jp
-katagami.akita.jp
-kazuno.akita.jp
-kitaakita.akita.jp
-kosaka.akita.jp
-kyowa.akita.jp
-misato.akita.jp
-mitane.akita.jp
-moriyoshi.akita.jp
-nikaho.akita.jp
-noshiro.akita.jp
-odate.akita.jp
-oga.akita.jp
-ogata.akita.jp
-semboku.akita.jp
-yokote.akita.jp
-yurihonjo.akita.jp
-aomori.aomori.jp
-gonohe.aomori.jp
-hachinohe.aomori.jp
-hashikami.aomori.jp
-hiranai.aomori.jp
-hirosaki.aomori.jp
-itayanagi.aomori.jp
-kuroishi.aomori.jp
-misawa.aomori.jp
-mutsu.aomori.jp
-nakadomari.aomori.jp
-noheji.aomori.jp
-oirase.aomori.jp
-owani.aomori.jp
-rokunohe.aomori.jp
-sannohe.aomori.jp
-shichinohe.aomori.jp
-shingo.aomori.jp
-takko.aomori.jp
-towada.aomori.jp
-tsugaru.aomori.jp
-tsuruta.aomori.jp
-abiko.chiba.jp
-asahi.chiba.jp
-chonan.chiba.jp
-chosei.chiba.jp
-choshi.chiba.jp
-chuo.chiba.jp
-funabashi.chiba.jp
-futtsu.chiba.jp
-hanamigawa.chiba.jp
-ichihara.chiba.jp
-ichikawa.chiba.jp
-ichinomiya.chiba.jp
-inzai.chiba.jp
-isumi.chiba.jp
-kamagaya.chiba.jp
-kamogawa.chiba.jp
-kashiwa.chiba.jp
-katori.chiba.jp
-katsuura.chiba.jp
-kimitsu.chiba.jp
-kisarazu.chiba.jp
-kozaki.chiba.jp
-kujukuri.chiba.jp
-kyonan.chiba.jp
-matsudo.chiba.jp
-midori.chiba.jp
-mihama.chiba.jp
-minamiboso.chiba.jp
-mobara.chiba.jp
-mutsuzawa.chiba.jp
-nagara.chiba.jp
-nagareyama.chiba.jp
-narashino.chiba.jp
-narita.chiba.jp
-noda.chiba.jp
-oamishirasato.chiba.jp
-omigawa.chiba.jp
-onjuku.chiba.jp
-otaki.chiba.jp
-sakae.chiba.jp
-sakura.chiba.jp
-shimofusa.chiba.jp
-shirako.chiba.jp
-shiroi.chiba.jp
-shisui.chiba.jp
-sodegaura.chiba.jp
-sosa.chiba.jp
-tako.chiba.jp
-tateyama.chiba.jp
-togane.chiba.jp
-tohnosho.chiba.jp
-tomisato.chiba.jp
-urayasu.chiba.jp
-yachimata.chiba.jp
-yachiyo.chiba.jp
-yokaichiba.chiba.jp
-yokoshibahikari.chiba.jp
-yotsukaido.chiba.jp
-ainan.ehime.jp
-honai.ehime.jp
-ikata.ehime.jp
-imabari.ehime.jp
-iyo.ehime.jp
-kamijima.ehime.jp
-kihoku.ehime.jp
-kumakogen.ehime.jp
-masaki.ehime.jp
-matsuno.ehime.jp
-matsuyama.ehime.jp
-namikata.ehime.jp
-niihama.ehime.jp
-ozu.ehime.jp
-saijo.ehime.jp
-seiyo.ehime.jp
-shikokuchuo.ehime.jp
-tobe.ehime.jp
-toon.ehime.jp
-uchiko.ehime.jp
-uwajima.ehime.jp
-yawatahama.ehime.jp
-echizen.fukui.jp
-eiheiji.fukui.jp
-fukui.fukui.jp
-ikeda.fukui.jp
-katsuyama.fukui.jp
-mihama.fukui.jp
-minamiechizen.fukui.jp
-obama.fukui.jp
-ohi.fukui.jp
-ono.fukui.jp
-sabae.fukui.jp
-sakai.fukui.jp
-takahama.fukui.jp
-tsuruga.fukui.jp
-wakasa.fukui.jp
-ashiya.fukuoka.jp
-buzen.fukuoka.jp
-chikugo.fukuoka.jp
-chikuho.fukuoka.jp
-chikujo.fukuoka.jp
-chikushino.fukuoka.jp
-chikuzen.fukuoka.jp
-chuo.fukuoka.jp
-dazaifu.fukuoka.jp
-fukuchi.fukuoka.jp
-hakata.fukuoka.jp
-higashi.fukuoka.jp
-hirokawa.fukuoka.jp
-hisayama.fukuoka.jp
-iizuka.fukuoka.jp
-inatsuki.fukuoka.jp
-kaho.fukuoka.jp
-kasuga.fukuoka.jp
-kasuya.fukuoka.jp
-kawara.fukuoka.jp
-keisen.fukuoka.jp
-koga.fukuoka.jp
-kurate.fukuoka.jp
-kurogi.fukuoka.jp
-kurume.fukuoka.jp
-minami.fukuoka.jp
-miyako.fukuoka.jp
-miyama.fukuoka.jp
-miyawaka.fukuoka.jp
-mizumaki.fukuoka.jp
-munakata.fukuoka.jp
-nakagawa.fukuoka.jp
-nakama.fukuoka.jp
-nishi.fukuoka.jp
-nogata.fukuoka.jp
-ogori.fukuoka.jp
-okagaki.fukuoka.jp
-okawa.fukuoka.jp
-oki.fukuoka.jp
-omuta.fukuoka.jp
-onga.fukuoka.jp
-onojo.fukuoka.jp
-oto.fukuoka.jp
-saigawa.fukuoka.jp
-sasaguri.fukuoka.jp
-shingu.fukuoka.jp
-shinyoshitomi.fukuoka.jp
-shonai.fukuoka.jp
-soeda.fukuoka.jp
-sue.fukuoka.jp
-tachiarai.fukuoka.jp
-tagawa.fukuoka.jp
-takata.fukuoka.jp
-toho.fukuoka.jp
-toyotsu.fukuoka.jp
-tsuiki.fukuoka.jp
-ukiha.fukuoka.jp
-umi.fukuoka.jp
-usui.fukuoka.jp
-yamada.fukuoka.jp
-yame.fukuoka.jp
-yanagawa.fukuoka.jp
-yukuhashi.fukuoka.jp
-aizubange.fukushima.jp
-aizumisato.fukushima.jp
-aizuwakamatsu.fukushima.jp
-asakawa.fukushima.jp
-bandai.fukushima.jp
-date.fukushima.jp
-fukushima.fukushima.jp
-furudono.fukushima.jp
-futaba.fukushima.jp
-hanawa.fukushima.jp
-higashi.fukushima.jp
-hirata.fukushima.jp
-hirono.fukushima.jp
-iitate.fukushima.jp
-inawashiro.fukushima.jp
-ishikawa.fukushima.jp
-iwaki.fukushima.jp
-izumizaki.fukushima.jp
-kagamiishi.fukushima.jp
-kaneyama.fukushima.jp
-kawamata.fukushima.jp
-kitakata.fukushima.jp
-kitashiobara.fukushima.jp
-koori.fukushima.jp
-koriyama.fukushima.jp
-kunimi.fukushima.jp
-miharu.fukushima.jp
-mishima.fukushima.jp
-namie.fukushima.jp
-nango.fukushima.jp
-nishiaizu.fukushima.jp
-nishigo.fukushima.jp
-okuma.fukushima.jp
-omotego.fukushima.jp
-ono.fukushima.jp
-otama.fukushima.jp
-samegawa.fukushima.jp
-shimogo.fukushima.jp
-shirakawa.fukushima.jp
-showa.fukushima.jp
-soma.fukushima.jp
-sukagawa.fukushima.jp
-taishin.fukushima.jp
-tamakawa.fukushima.jp
-tanagura.fukushima.jp
-tenei.fukushima.jp
-yabuki.fukushima.jp
-yamato.fukushima.jp
-yamatsuri.fukushima.jp
-yanaizu.fukushima.jp
-yugawa.fukushima.jp
-anpachi.gifu.jp
-ena.gifu.jp
-gifu.gifu.jp
-ginan.gifu.jp
-godo.gifu.jp
-gujo.gifu.jp
-hashima.gifu.jp
-hichiso.gifu.jp
-hida.gifu.jp
-higashishirakawa.gifu.jp
-ibigawa.gifu.jp
-ikeda.gifu.jp
-kakamigahara.gifu.jp
-kani.gifu.jp
-kasahara.gifu.jp
-kasamatsu.gifu.jp
-kawaue.gifu.jp
-kitagata.gifu.jp
-mino.gifu.jp
-minokamo.gifu.jp
-mitake.gifu.jp
-mizunami.gifu.jp
-motosu.gifu.jp
-nakatsugawa.gifu.jp
-ogaki.gifu.jp
-sakahogi.gifu.jp
-seki.gifu.jp
-sekigahara.gifu.jp
-shirakawa.gifu.jp
-tajimi.gifu.jp
-takayama.gifu.jp
-tarui.gifu.jp
-toki.gifu.jp
-tomika.gifu.jp
-wanouchi.gifu.jp
-yamagata.gifu.jp
-yaotsu.gifu.jp
-yoro.gifu.jp
-annaka.gunma.jp
-chiyoda.gunma.jp
-fujioka.gunma.jp
-higashiagatsuma.gunma.jp
-isesaki.gunma.jp
-itakura.gunma.jp
-kanna.gunma.jp
-kanra.gunma.jp
-katashina.gunma.jp
-kawaba.gunma.jp
-kiryu.gunma.jp
-kusatsu.gunma.jp
-maebashi.gunma.jp
-meiwa.gunma.jp
-midori.gunma.jp
-minakami.gunma.jp
-naganohara.gunma.jp
-nakanojo.gunma.jp
-nanmoku.gunma.jp
-numata.gunma.jp
-oizumi.gunma.jp
-ora.gunma.jp
-ota.gunma.jp
-shibukawa.gunma.jp
-shimonita.gunma.jp
-shinto.gunma.jp
-showa.gunma.jp
-takasaki.gunma.jp
-takayama.gunma.jp
-tamamura.gunma.jp
-tatebayashi.gunma.jp
-tomioka.gunma.jp
-tsukiyono.gunma.jp
-tsumagoi.gunma.jp
-ueno.gunma.jp
-yoshioka.gunma.jp
-asaminami.hiroshima.jp
-daiwa.hiroshima.jp
-etajima.hiroshima.jp
-fuchu.hiroshima.jp
-fukuyama.hiroshima.jp
-hatsukaichi.hiroshima.jp
-higashihiroshima.hiroshima.jp
-hongo.hiroshima.jp
-jinsekikogen.hiroshima.jp
-kaita.hiroshima.jp
-kui.hiroshima.jp
-kumano.hiroshima.jp
-kure.hiroshima.jp
-mihara.hiroshima.jp
-miyoshi.hiroshima.jp
-naka.hiroshima.jp
-onomichi.hiroshima.jp
-osakikamijima.hiroshima.jp
-otake.hiroshima.jp
-saka.hiroshima.jp
-sera.hiroshima.jp
-seranishi.hiroshima.jp
-shinichi.hiroshima.jp
-shobara.hiroshima.jp
-takehara.hiroshima.jp
-abashiri.hokkaido.jp
-abira.hokkaido.jp
-aibetsu.hokkaido.jp
-akabira.hokkaido.jp
-akkeshi.hokkaido.jp
-asahikawa.hokkaido.jp
-ashibetsu.hokkaido.jp
-ashoro.hokkaido.jp
-assabu.hokkaido.jp
-atsuma.hokkaido.jp
-bibai.hokkaido.jp
-biei.hokkaido.jp
-bifuka.hokkaido.jp
-bihoro.hokkaido.jp
-biratori.hokkaido.jp
-chippubetsu.hokkaido.jp
-chitose.hokkaido.jp
-date.hokkaido.jp
-ebetsu.hokkaido.jp
-embetsu.hokkaido.jp
-eniwa.hokkaido.jp
-erimo.hokkaido.jp
-esan.hokkaido.jp
-esashi.hokkaido.jp
-fukagawa.hokkaido.jp
-fukushima.hokkaido.jp
-furano.hokkaido.jp
-furubira.hokkaido.jp
-haboro.hokkaido.jp
-hakodate.hokkaido.jp
-hamatonbetsu.hokkaido.jp
-hidaka.hokkaido.jp
-higashikagura.hokkaido.jp
-higashikawa.hokkaido.jp
-hiroo.hokkaido.jp
-hokuryu.hokkaido.jp
-hokuto.hokkaido.jp
-honbetsu.hokkaido.jp
-horokanai.hokkaido.jp
-horonobe.hokkaido.jp
-ikeda.hokkaido.jp
-imakane.hokkaido.jp
-ishikari.hokkaido.jp
-iwamizawa.hokkaido.jp
-iwanai.hokkaido.jp
-kamifurano.hokkaido.jp
-kamikawa.hokkaido.jp
-kamishihoro.hokkaido.jp
-kamisunagawa.hokkaido.jp
-kamoenai.hokkaido.jp
-kayabe.hokkaido.jp
-kembuchi.hokkaido.jp
-kikonai.hokkaido.jp
-kimobetsu.hokkaido.jp
-kitahiroshima.hokkaido.jp
-kitami.hokkaido.jp
-kiyosato.hokkaido.jp
-koshimizu.hokkaido.jp
-kunneppu.hokkaido.jp
-kuriyama.hokkaido.jp
-kuromatsunai.hokkaido.jp
-kushiro.hokkaido.jp
-kutchan.hokkaido.jp
-kyowa.hokkaido.jp
-mashike.hokkaido.jp
-matsumae.hokkaido.jp
-mikasa.hokkaido.jp
-minamifurano.hokkaido.jp
-mombetsu.hokkaido.jp
-moseushi.hokkaido.jp
-mukawa.hokkaido.jp
-muroran.hokkaido.jp
-naie.hokkaido.jp
-nakagawa.hokkaido.jp
-nakasatsunai.hokkaido.jp
-nakatombetsu.hokkaido.jp
-nanae.hokkaido.jp
-nanporo.hokkaido.jp
-nayoro.hokkaido.jp
-nemuro.hokkaido.jp
-niikappu.hokkaido.jp
-niki.hokkaido.jp
-nishiokoppe.hokkaido.jp
-noboribetsu.hokkaido.jp
-numata.hokkaido.jp
-obihiro.hokkaido.jp
-obira.hokkaido.jp
-oketo.hokkaido.jp
-okoppe.hokkaido.jp
-otaru.hokkaido.jp
-otobe.hokkaido.jp
-otofuke.hokkaido.jp
-otoineppu.hokkaido.jp
-oumu.hokkaido.jp
-ozora.hokkaido.jp
-pippu.hokkaido.jp
-rankoshi.hokkaido.jp
-rebun.hokkaido.jp
-rikubetsu.hokkaido.jp
-rishiri.hokkaido.jp
-rishirifuji.hokkaido.jp
-saroma.hokkaido.jp
-sarufutsu.hokkaido.jp
-shakotan.hokkaido.jp
-shari.hokkaido.jp
-shibecha.hokkaido.jp
-shibetsu.hokkaido.jp
-shikabe.hokkaido.jp
-shikaoi.hokkaido.jp
-shimamaki.hokkaido.jp
-shimizu.hokkaido.jp
-shimokawa.hokkaido.jp
-shinshinotsu.hokkaido.jp
-shintoku.hokkaido.jp
-shiranuka.hokkaido.jp
-shiraoi.hokkaido.jp
-shiriuchi.hokkaido.jp
-sobetsu.hokkaido.jp
-sunagawa.hokkaido.jp
-taiki.hokkaido.jp
-takasu.hokkaido.jp
-takikawa.hokkaido.jp
-takinoue.hokkaido.jp
-teshikaga.hokkaido.jp
-tobetsu.hokkaido.jp
-tohma.hokkaido.jp
-tomakomai.hokkaido.jp
-tomari.hokkaido.jp
-toya.hokkaido.jp
-toyako.hokkaido.jp
-toyotomi.hokkaido.jp
-toyoura.hokkaido.jp
-tsubetsu.hokkaido.jp
-tsukigata.hokkaido.jp
-urakawa.hokkaido.jp
-urausu.hokkaido.jp
-uryu.hokkaido.jp
-utashinai.hokkaido.jp
-wakkanai.hokkaido.jp
-wassamu.hokkaido.jp
-yakumo.hokkaido.jp
-yoichi.hokkaido.jp
-aioi.hyogo.jp
-akashi.hyogo.jp
-ako.hyogo.jp
-amagasaki.hyogo.jp
-aogaki.hyogo.jp
-asago.hyogo.jp
-ashiya.hyogo.jp
-awaji.hyogo.jp
-fukusaki.hyogo.jp
-goshiki.hyogo.jp
-harima.hyogo.jp
-himeji.hyogo.jp
-ichikawa.hyogo.jp
-inagawa.hyogo.jp
-itami.hyogo.jp
-kakogawa.hyogo.jp
-kamigori.hyogo.jp
-kamikawa.hyogo.jp
-kasai.hyogo.jp
-kasuga.hyogo.jp
-kawanishi.hyogo.jp
-miki.hyogo.jp
-minamiawaji.hyogo.jp
-nishinomiya.hyogo.jp
-nishiwaki.hyogo.jp
-ono.hyogo.jp
-sanda.hyogo.jp
-sannan.hyogo.jp
-sasayama.hyogo.jp
-sayo.hyogo.jp
-shingu.hyogo.jp
-shinonsen.hyogo.jp
-shiso.hyogo.jp
-sumoto.hyogo.jp
-taishi.hyogo.jp
-taka.hyogo.jp
-takarazuka.hyogo.jp
-takasago.hyogo.jp
-takino.hyogo.jp
-tamba.hyogo.jp
-tatsuno.hyogo.jp
-toyooka.hyogo.jp
-yabu.hyogo.jp
-yashiro.hyogo.jp
-yoka.hyogo.jp
-yokawa.hyogo.jp
-ami.ibaraki.jp
-asahi.ibaraki.jp
-bando.ibaraki.jp
-chikusei.ibaraki.jp
-daigo.ibaraki.jp
-fujishiro.ibaraki.jp
-hitachi.ibaraki.jp
-hitachinaka.ibaraki.jp
-hitachiomiya.ibaraki.jp
-hitachiota.ibaraki.jp
-ibaraki.ibaraki.jp
-ina.ibaraki.jp
-inashiki.ibaraki.jp
-itako.ibaraki.jp
-iwama.ibaraki.jp
-joso.ibaraki.jp
-kamisu.ibaraki.jp
-kasama.ibaraki.jp
-kashima.ibaraki.jp
-kasumigaura.ibaraki.jp
-koga.ibaraki.jp
-miho.ibaraki.jp
-mito.ibaraki.jp
-moriya.ibaraki.jp
-naka.ibaraki.jp
-namegata.ibaraki.jp
-oarai.ibaraki.jp
-ogawa.ibaraki.jp
-omitama.ibaraki.jp
-ryugasaki.ibaraki.jp
-sakai.ibaraki.jp
-sakuragawa.ibaraki.jp
-shimodate.ibaraki.jp
-shimotsuma.ibaraki.jp
-shirosato.ibaraki.jp
-sowa.ibaraki.jp
-suifu.ibaraki.jp
-takahagi.ibaraki.jp
-tamatsukuri.ibaraki.jp
-tokai.ibaraki.jp
-tomobe.ibaraki.jp
-tone.ibaraki.jp
-toride.ibaraki.jp
-tsuchiura.ibaraki.jp
-tsukuba.ibaraki.jp
-uchihara.ibaraki.jp
-ushiku.ibaraki.jp
-yachiyo.ibaraki.jp
-yamagata.ibaraki.jp
-yawara.ibaraki.jp
-yuki.ibaraki.jp
-anamizu.ishikawa.jp
-hakui.ishikawa.jp
-hakusan.ishikawa.jp
-kaga.ishikawa.jp
-kahoku.ishikawa.jp
-kanazawa.ishikawa.jp
-kawakita.ishikawa.jp
-komatsu.ishikawa.jp
-nakanoto.ishikawa.jp
-nanao.ishikawa.jp
-nomi.ishikawa.jp
-nonoichi.ishikawa.jp
-noto.ishikawa.jp
-shika.ishikawa.jp
-suzu.ishikawa.jp
-tsubata.ishikawa.jp
-tsurugi.ishikawa.jp
-uchinada.ishikawa.jp
-wajima.ishikawa.jp
-fudai.iwate.jp
-fujisawa.iwate.jp
-hanamaki.iwate.jp
-hiraizumi.iwate.jp
-hirono.iwate.jp
-ichinohe.iwate.jp
-ichinoseki.iwate.jp
-iwaizumi.iwate.jp
-iwate.iwate.jp
-joboji.iwate.jp
-kamaishi.iwate.jp
-kanegasaki.iwate.jp
-karumai.iwate.jp
-kawai.iwate.jp
-kitakami.iwate.jp
-kuji.iwate.jp
-kunohe.iwate.jp
-kuzumaki.iwate.jp
-miyako.iwate.jp
-mizusawa.iwate.jp
-morioka.iwate.jp
-ninohe.iwate.jp
-noda.iwate.jp
-ofunato.iwate.jp
-oshu.iwate.jp
-otsuchi.iwate.jp
-rikuzentakata.iwate.jp
-shiwa.iwate.jp
-shizukuishi.iwate.jp
-sumita.iwate.jp
-tanohata.iwate.jp
-tono.iwate.jp
-yahaba.iwate.jp
-yamada.iwate.jp
-ayagawa.kagawa.jp
-higashikagawa.kagawa.jp
-kanonji.kagawa.jp
-kotohira.kagawa.jp
-manno.kagawa.jp
-marugame.kagawa.jp
-mitoyo.kagawa.jp
-naoshima.kagawa.jp
-sanuki.kagawa.jp
-tadotsu.kagawa.jp
-takamatsu.kagawa.jp
-tonosho.kagawa.jp
-uchinomi.kagawa.jp
-utazu.kagawa.jp
-zentsuji.kagawa.jp
-akune.kagoshima.jp
-amami.kagoshima.jp
-hioki.kagoshima.jp
-isa.kagoshima.jp
-isen.kagoshima.jp
-izumi.kagoshima.jp
-kagoshima.kagoshima.jp
-kanoya.kagoshima.jp
-kawanabe.kagoshima.jp
-kinko.kagoshima.jp
-kouyama.kagoshima.jp
-makurazaki.kagoshima.jp
-matsumoto.kagoshima.jp
-minamitane.kagoshima.jp
-nakatane.kagoshima.jp
-nishinoomote.kagoshima.jp
-satsumasendai.kagoshima.jp
-soo.kagoshima.jp
-tarumizu.kagoshima.jp
-yusui.kagoshima.jp
-aikawa.kanagawa.jp
-atsugi.kanagawa.jp
-ayase.kanagawa.jp
-chigasaki.kanagawa.jp
-ebina.kanagawa.jp
-fujisawa.kanagawa.jp
-hadano.kanagawa.jp
-hakone.kanagawa.jp
-hiratsuka.kanagawa.jp
-isehara.kanagawa.jp
-kaisei.kanagawa.jp
-kamakura.kanagawa.jp
-kiyokawa.kanagawa.jp
-matsuda.kanagawa.jp
-minamiashigara.kanagawa.jp
-miura.kanagawa.jp
-nakai.kanagawa.jp
-ninomiya.kanagawa.jp
-odawara.kanagawa.jp
-oi.kanagawa.jp
-oiso.kanagawa.jp
-sagamihara.kanagawa.jp
-samukawa.kanagawa.jp
-tsukui.kanagawa.jp
-yamakita.kanagawa.jp
-yamato.kanagawa.jp
-yokosuka.kanagawa.jp
-yugawara.kanagawa.jp
-zama.kanagawa.jp
-zushi.kanagawa.jp
-aki.kochi.jp
-geisei.kochi.jp
-hidaka.kochi.jp
-higashitsuno.kochi.jp
-ino.kochi.jp
-kagami.kochi.jp
-kami.kochi.jp
-kitagawa.kochi.jp
-kochi.kochi.jp
-mihara.kochi.jp
-motoyama.kochi.jp
-muroto.kochi.jp
-nahari.kochi.jp
-nakamura.kochi.jp
-nankoku.kochi.jp
-nishitosa.kochi.jp
-niyodogawa.kochi.jp
-ochi.kochi.jp
-okawa.kochi.jp
-otoyo.kochi.jp
-otsuki.kochi.jp
-sakawa.kochi.jp
-sukumo.kochi.jp
-susaki.kochi.jp
-tosa.kochi.jp
-tosashimizu.kochi.jp
-toyo.kochi.jp
-tsuno.kochi.jp
-umaji.kochi.jp
-yasuda.kochi.jp
-yusuhara.kochi.jp
-amakusa.kumamoto.jp
-arao.kumamoto.jp
-aso.kumamoto.jp
-choyo.kumamoto.jp
-gyokuto.kumamoto.jp
-kamiamakusa.kumamoto.jp
-kikuchi.kumamoto.jp
-kumamoto.kumamoto.jp
-mashiki.kumamoto.jp
-mifune.kumamoto.jp
-minamata.kumamoto.jp
-minamioguni.kumamoto.jp
-nagasu.kumamoto.jp
-nishihara.kumamoto.jp
-oguni.kumamoto.jp
-ozu.kumamoto.jp
-sumoto.kumamoto.jp
-takamori.kumamoto.jp
-uki.kumamoto.jp
-uto.kumamoto.jp
-yamaga.kumamoto.jp
-yamato.kumamoto.jp
-yatsushiro.kumamoto.jp
-ayabe.kyoto.jp
-fukuchiyama.kyoto.jp
-higashiyama.kyoto.jp
-ide.kyoto.jp
-ine.kyoto.jp
-joyo.kyoto.jp
-kameoka.kyoto.jp
-kamo.kyoto.jp
-kita.kyoto.jp
-kizu.kyoto.jp
-kumiyama.kyoto.jp
-kyotamba.kyoto.jp
-kyotanabe.kyoto.jp
-kyotango.kyoto.jp
-maizuru.kyoto.jp
-minami.kyoto.jp
-minamiyamashiro.kyoto.jp
-miyazu.kyoto.jp
-muko.kyoto.jp
-nagaokakyo.kyoto.jp
-nakagyo.kyoto.jp
-nantan.kyoto.jp
-oyamazaki.kyoto.jp
-sakyo.kyoto.jp
-seika.kyoto.jp
-tanabe.kyoto.jp
-uji.kyoto.jp
-ujitawara.kyoto.jp
-wazuka.kyoto.jp
-yamashina.kyoto.jp
-yawata.kyoto.jp
-asahi.mie.jp
-inabe.mie.jp
-ise.mie.jp
-kameyama.mie.jp
-kawagoe.mie.jp
-kiho.mie.jp
-kisosaki.mie.jp
-kiwa.mie.jp
-komono.mie.jp
-kumano.mie.jp
-kuwana.mie.jp
-matsusaka.mie.jp
-meiwa.mie.jp
-mihama.mie.jp
-minamiise.mie.jp
-misugi.mie.jp
-miyama.mie.jp
-nabari.mie.jp
-shima.mie.jp
-suzuka.mie.jp
-tado.mie.jp
-taiki.mie.jp
-taki.mie.jp
-tamaki.mie.jp
-toba.mie.jp
-tsu.mie.jp
-udono.mie.jp
-ureshino.mie.jp
-watarai.mie.jp
-yokkaichi.mie.jp
-furukawa.miyagi.jp
-higashimatsushima.miyagi.jp
-ishinomaki.miyagi.jp
-iwanuma.miyagi.jp
-kakuda.miyagi.jp
-kami.miyagi.jp
-kawasaki.miyagi.jp
-marumori.miyagi.jp
-matsushima.miyagi.jp
-minamisanriku.miyagi.jp
-misato.miyagi.jp
-murata.miyagi.jp
-natori.miyagi.jp
-ogawara.miyagi.jp
-ohira.miyagi.jp
-onagawa.miyagi.jp
-osaki.miyagi.jp
-rifu.miyagi.jp
-semine.miyagi.jp
-shibata.miyagi.jp
-shichikashuku.miyagi.jp
-shikama.miyagi.jp
-shiogama.miyagi.jp
-shiroishi.miyagi.jp
-tagajo.miyagi.jp
-taiwa.miyagi.jp
-tome.miyagi.jp
-tomiya.miyagi.jp
-wakuya.miyagi.jp
-watari.miyagi.jp
-yamamoto.miyagi.jp
-zao.miyagi.jp
-aya.miyazaki.jp
-ebino.miyazaki.jp
-gokase.miyazaki.jp
-hyuga.miyazaki.jp
-kadogawa.miyazaki.jp
-kawaminami.miyazaki.jp
-kijo.miyazaki.jp
-kitagawa.miyazaki.jp
-kitakata.miyazaki.jp
-kitaura.miyazaki.jp
-kobayashi.miyazaki.jp
-kunitomi.miyazaki.jp
-kushima.miyazaki.jp
-mimata.miyazaki.jp
-miyakonojo.miyazaki.jp
-miyazaki.miyazaki.jp
-morotsuka.miyazaki.jp
-nichinan.miyazaki.jp
-nishimera.miyazaki.jp
-nobeoka.miyazaki.jp
-saito.miyazaki.jp
-shiiba.miyazaki.jp
-shintomi.miyazaki.jp
-takaharu.miyazaki.jp
-takanabe.miyazaki.jp
-takazaki.miyazaki.jp
-tsuno.miyazaki.jp
-achi.nagano.jp
-agematsu.nagano.jp
-anan.nagano.jp
-aoki.nagano.jp
-asahi.nagano.jp
-azumino.nagano.jp
-chikuhoku.nagano.jp
-chikuma.nagano.jp
-chino.nagano.jp
-fujimi.nagano.jp
-hakuba.nagano.jp
-hara.nagano.jp
-hiraya.nagano.jp
-iida.nagano.jp
-iijima.nagano.jp
-iiyama.nagano.jp
-iizuna.nagano.jp
-ikeda.nagano.jp
-ikusaka.nagano.jp
-ina.nagano.jp
-karuizawa.nagano.jp
-kawakami.nagano.jp
-kiso.nagano.jp
-kisofukushima.nagano.jp
-kitaaiki.nagano.jp
-komagane.nagano.jp
-komoro.nagano.jp
-matsukawa.nagano.jp
-matsumoto.nagano.jp
-miasa.nagano.jp
-minamiaiki.nagano.jp
-minamimaki.nagano.jp
-minamiminowa.nagano.jp
-minowa.nagano.jp
-miyada.nagano.jp
-miyota.nagano.jp
-mochizuki.nagano.jp
-nagano.nagano.jp
-nagawa.nagano.jp
-nagiso.nagano.jp
-nakagawa.nagano.jp
-nakano.nagano.jp
-nozawaonsen.nagano.jp
-obuse.nagano.jp
-ogawa.nagano.jp
-okaya.nagano.jp
-omachi.nagano.jp
-omi.nagano.jp
-ookuwa.nagano.jp
-ooshika.nagano.jp
-otaki.nagano.jp
-otari.nagano.jp
-sakae.nagano.jp
-sakaki.nagano.jp
-saku.nagano.jp
-sakuho.nagano.jp
-shimosuwa.nagano.jp
-shinanomachi.nagano.jp
-shiojiri.nagano.jp
-suwa.nagano.jp
-suzaka.nagano.jp
-takagi.nagano.jp
-takamori.nagano.jp
-takayama.nagano.jp
-tateshina.nagano.jp
-tatsuno.nagano.jp
-togakushi.nagano.jp
-togura.nagano.jp
-tomi.nagano.jp
-ueda.nagano.jp
-wada.nagano.jp
-yamagata.nagano.jp
-yamanouchi.nagano.jp
-yasaka.nagano.jp
-yasuoka.nagano.jp
-chijiwa.nagasaki.jp
-futsu.nagasaki.jp
-goto.nagasaki.jp
-hasami.nagasaki.jp
-hirado.nagasaki.jp
-iki.nagasaki.jp
-isahaya.nagasaki.jp
-kawatana.nagasaki.jp
-kuchinotsu.nagasaki.jp
-matsuura.nagasaki.jp
-nagasaki.nagasaki.jp
-obama.nagasaki.jp
-omura.nagasaki.jp
-oseto.nagasaki.jp
-saikai.nagasaki.jp
-sasebo.nagasaki.jp
-seihi.nagasaki.jp
-shimabara.nagasaki.jp
-shinkamigoto.nagasaki.jp
-togitsu.nagasaki.jp
-tsushima.nagasaki.jp
-unzen.nagasaki.jp
-ando.nara.jp
-gose.nara.jp
-heguri.nara.jp
-higashiyoshino.nara.jp
-ikaruga.nara.jp
-ikoma.nara.jp
-kamikitayama.nara.jp
-kanmaki.nara.jp
-kashiba.nara.jp
-kashihara.nara.jp
-katsuragi.nara.jp
-kawai.nara.jp
-kawakami.nara.jp
-kawanishi.nara.jp
-koryo.nara.jp
-kurotaki.nara.jp
-mitsue.nara.jp
-miyake.nara.jp
-nara.nara.jp
-nosegawa.nara.jp
-oji.nara.jp
-ouda.nara.jp
-oyodo.nara.jp
-sakurai.nara.jp
-sango.nara.jp
-shimoichi.nara.jp
-shimokitayama.nara.jp
-shinjo.nara.jp
-soni.nara.jp
-takatori.nara.jp
-tawaramoto.nara.jp
-tenkawa.nara.jp
-tenri.nara.jp
-uda.nara.jp
-yamatokoriyama.nara.jp
-yamatotakada.nara.jp
-yamazoe.nara.jp
-yoshino.nara.jp
-aga.niigata.jp
-agano.niigata.jp
-gosen.niigata.jp
-itoigawa.niigata.jp
-izumozaki.niigata.jp
-joetsu.niigata.jp
-kamo.niigata.jp
-kariwa.niigata.jp
-kashiwazaki.niigata.jp
-minamiuonuma.niigata.jp
-mitsuke.niigata.jp
-muika.niigata.jp
-murakami.niigata.jp
-myoko.niigata.jp
-nagaoka.niigata.jp
-niigata.niigata.jp
-ojiya.niigata.jp
-omi.niigata.jp
-sado.niigata.jp
-sanjo.niigata.jp
-seiro.niigata.jp
-seirou.niigata.jp
-sekikawa.niigata.jp
-shibata.niigata.jp
-tagami.niigata.jp
-tainai.niigata.jp
-tochio.niigata.jp
-tokamachi.niigata.jp
-tsubame.niigata.jp
-tsunan.niigata.jp
-uonuma.niigata.jp
-yahiko.niigata.jp
-yoita.niigata.jp
-yuzawa.niigata.jp
-beppu.oita.jp
-bungoono.oita.jp
-bungotakada.oita.jp
-hasama.oita.jp
-hiji.oita.jp
-himeshima.oita.jp
-hita.oita.jp
-kamitsue.oita.jp
-kokonoe.oita.jp
-kuju.oita.jp
-kunisaki.oita.jp
-kusu.oita.jp
-oita.oita.jp
-saiki.oita.jp
-taketa.oita.jp
-tsukumi.oita.jp
-usa.oita.jp
-usuki.oita.jp
-yufu.oita.jp
-akaiwa.okayama.jp
-asakuchi.okayama.jp
-bizen.okayama.jp
-hayashima.okayama.jp
-ibara.okayama.jp
-kagamino.okayama.jp
-kasaoka.okayama.jp
-kibichuo.okayama.jp
-kumenan.okayama.jp
-kurashiki.okayama.jp
-maniwa.okayama.jp
-misaki.okayama.jp
-nagi.okayama.jp
-niimi.okayama.jp
-nishiawakura.okayama.jp
-okayama.okayama.jp
-satosho.okayama.jp
-setouchi.okayama.jp
-shinjo.okayama.jp
-shoo.okayama.jp
-soja.okayama.jp
-takahashi.okayama.jp
-tamano.okayama.jp
-tsuyama.okayama.jp
-wake.okayama.jp
-yakage.okayama.jp
-aguni.okinawa.jp
-ginowan.okinawa.jp
-ginoza.okinawa.jp
-gushikami.okinawa.jp
-haebaru.okinawa.jp
-higashi.okinawa.jp
-hirara.okinawa.jp
-iheya.okinawa.jp
-ishigaki.okinawa.jp
-ishikawa.okinawa.jp
-itoman.okinawa.jp
-izena.okinawa.jp
-kadena.okinawa.jp
-kin.okinawa.jp
-kitadaito.okinawa.jp
-kitanakagusuku.okinawa.jp
-kumejima.okinawa.jp
-kunigami.okinawa.jp
-minamidaito.okinawa.jp
-motobu.okinawa.jp
-nago.okinawa.jp
-naha.okinawa.jp
-nakagusuku.okinawa.jp
-nakijin.okinawa.jp
-nanjo.okinawa.jp
-nishihara.okinawa.jp
-ogimi.okinawa.jp
-okinawa.okinawa.jp
-onna.okinawa.jp
-shimoji.okinawa.jp
-taketomi.okinawa.jp
-tarama.okinawa.jp
-tokashiki.okinawa.jp
-tomigusuku.okinawa.jp
-tonaki.okinawa.jp
-urasoe.okinawa.jp
-uruma.okinawa.jp
-yaese.okinawa.jp
-yomitan.okinawa.jp
-yonabaru.okinawa.jp
-yonaguni.okinawa.jp
-zamami.okinawa.jp
-abeno.osaka.jp
-chihayaakasaka.osaka.jp
-chuo.osaka.jp
-daito.osaka.jp
-fujiidera.osaka.jp
-habikino.osaka.jp
-hannan.osaka.jp
-higashiosaka.osaka.jp
-higashisumiyoshi.osaka.jp
-higashiyodogawa.osaka.jp
-hirakata.osaka.jp
-ibaraki.osaka.jp
-ikeda.osaka.jp
-izumi.osaka.jp
-izumiotsu.osaka.jp
-izumisano.osaka.jp
-kadoma.osaka.jp
-kaizuka.osaka.jp
-kanan.osaka.jp
-kashiwara.osaka.jp
-katano.osaka.jp
-kawachinagano.osaka.jp
-kishiwada.osaka.jp
-kita.osaka.jp
-kumatori.osaka.jp
-matsubara.osaka.jp
-minato.osaka.jp
-minoh.osaka.jp
-misaki.osaka.jp
-moriguchi.osaka.jp
-neyagawa.osaka.jp
-nishi.osaka.jp
-nose.osaka.jp
-osakasayama.osaka.jp
-sakai.osaka.jp
-sayama.osaka.jp
-sennan.osaka.jp
-settsu.osaka.jp
-shijonawate.osaka.jp
-shimamoto.osaka.jp
-suita.osaka.jp
-tadaoka.osaka.jp
-taishi.osaka.jp
-tajiri.osaka.jp
-takaishi.osaka.jp
-takatsuki.osaka.jp
-tondabayashi.osaka.jp
-toyonaka.osaka.jp
-toyono.osaka.jp
-yao.osaka.jp
-ariake.saga.jp
-arita.saga.jp
-fukudomi.saga.jp
-genkai.saga.jp
-hamatama.saga.jp
-hizen.saga.jp
-imari.saga.jp
-kamimine.saga.jp
-kanzaki.saga.jp
-karatsu.saga.jp
-kashima.saga.jp
-kitagata.saga.jp
-kitahata.saga.jp
-kiyama.saga.jp
-kouhoku.saga.jp
-kyuragi.saga.jp
-nishiarita.saga.jp
-ogi.saga.jp
-omachi.saga.jp
-ouchi.saga.jp
-saga.saga.jp
-shiroishi.saga.jp
-taku.saga.jp
-tara.saga.jp
-tosu.saga.jp
-yoshinogari.saga.jp
-arakawa.saitama.jp
-asaka.saitama.jp
-chichibu.saitama.jp
-fujimi.saitama.jp
-fujimino.saitama.jp
-fukaya.saitama.jp
-hanno.saitama.jp
-hanyu.saitama.jp
-hasuda.saitama.jp
-hatogaya.saitama.jp
-hatoyama.saitama.jp
-hidaka.saitama.jp
-higashichichibu.saitama.jp
-higashimatsuyama.saitama.jp
-honjo.saitama.jp
-ina.saitama.jp
-iruma.saitama.jp
-iwatsuki.saitama.jp
-kamiizumi.saitama.jp
-kamikawa.saitama.jp
-kamisato.saitama.jp
-kasukabe.saitama.jp
-kawagoe.saitama.jp
-kawaguchi.saitama.jp
-kawajima.saitama.jp
-kazo.saitama.jp
-kitamoto.saitama.jp
-koshigaya.saitama.jp
-kounosu.saitama.jp
-kuki.saitama.jp
-kumagaya.saitama.jp
-matsubushi.saitama.jp
-minano.saitama.jp
-misato.saitama.jp
-miyashiro.saitama.jp
-miyoshi.saitama.jp
-moroyama.saitama.jp
-nagatoro.saitama.jp
-namegawa.saitama.jp
-niiza.saitama.jp
-ogano.saitama.jp
-ogawa.saitama.jp
-ogose.saitama.jp
-okegawa.saitama.jp
-omiya.saitama.jp
-otaki.saitama.jp
-ranzan.saitama.jp
-ryokami.saitama.jp
-saitama.saitama.jp
-sakado.saitama.jp
-satte.saitama.jp
-sayama.saitama.jp
-shiki.saitama.jp
-shiraoka.saitama.jp
-soka.saitama.jp
-sugito.saitama.jp
-toda.saitama.jp
-tokigawa.saitama.jp
-tokorozawa.saitama.jp
-tsurugashima.saitama.jp
-urawa.saitama.jp
-warabi.saitama.jp
-yashio.saitama.jp
-yokoze.saitama.jp
-yono.saitama.jp
-yorii.saitama.jp
-yoshida.saitama.jp
-yoshikawa.saitama.jp
-yoshimi.saitama.jp
-aisho.shiga.jp
-gamo.shiga.jp
-higashiomi.shiga.jp
-hikone.shiga.jp
-koka.shiga.jp
-konan.shiga.jp
-kosei.shiga.jp
-koto.shiga.jp
-kusatsu.shiga.jp
-maibara.shiga.jp
-moriyama.shiga.jp
-nagahama.shiga.jp
-nishiazai.shiga.jp
-notogawa.shiga.jp
-omihachiman.shiga.jp
-otsu.shiga.jp
-ritto.shiga.jp
-ryuoh.shiga.jp
-takashima.shiga.jp
-takatsuki.shiga.jp
-torahime.shiga.jp
-toyosato.shiga.jp
-yasu.shiga.jp
-akagi.shimane.jp
-ama.shimane.jp
-gotsu.shimane.jp
-hamada.shimane.jp
-higashiizumo.shimane.jp
-hikawa.shimane.jp
-hikimi.shimane.jp
-izumo.shimane.jp
-kakinoki.shimane.jp
-masuda.shimane.jp
-matsue.shimane.jp
-misato.shimane.jp
-nishinoshima.shimane.jp
-ohda.shimane.jp
-okinoshima.shimane.jp
-okuizumo.shimane.jp
-shimane.shimane.jp
-tamayu.shimane.jp
-tsuwano.shimane.jp
-unnan.shimane.jp
-yakumo.shimane.jp
-yasugi.shimane.jp
-yatsuka.shimane.jp
-arai.shizuoka.jp
-atami.shizuoka.jp
-fuji.shizuoka.jp
-fujieda.shizuoka.jp
-fujikawa.shizuoka.jp
-fujinomiya.shizuoka.jp
-fukuroi.shizuoka.jp
-gotemba.shizuoka.jp
-haibara.shizuoka.jp
-hamamatsu.shizuoka.jp
-higashiizu.shizuoka.jp
-ito.shizuoka.jp
-iwata.shizuoka.jp
-izu.shizuoka.jp
-izunokuni.shizuoka.jp
-kakegawa.shizuoka.jp
-kannami.shizuoka.jp
-kawanehon.shizuoka.jp
-kawazu.shizuoka.jp
-kikugawa.shizuoka.jp
-kosai.shizuoka.jp
-makinohara.shizuoka.jp
-matsuzaki.shizuoka.jp
-minamiizu.shizuoka.jp
-mishima.shizuoka.jp
-morimachi.shizuoka.jp
-nishiizu.shizuoka.jp
-numazu.shizuoka.jp
-omaezaki.shizuoka.jp
-shimada.shizuoka.jp
-shimizu.shizuoka.jp
-shimoda.shizuoka.jp
-shizuoka.shizuoka.jp
-susono.shizuoka.jp
-yaizu.shizuoka.jp
-yoshida.shizuoka.jp
-ashikaga.tochigi.jp
-bato.tochigi.jp
-haga.tochigi.jp
-ichikai.tochigi.jp
-iwafune.tochigi.jp
-kaminokawa.tochigi.jp
-kanuma.tochigi.jp
-karasuyama.tochigi.jp
-kuroiso.tochigi.jp
-mashiko.tochigi.jp
-mibu.tochigi.jp
-moka.tochigi.jp
-motegi.tochigi.jp
-nasu.tochigi.jp
-nasushiobara.tochigi.jp
-nikko.tochigi.jp
-nishikata.tochigi.jp
-nogi.tochigi.jp
-ohira.tochigi.jp
-ohtawara.tochigi.jp
-oyama.tochigi.jp
-sakura.tochigi.jp
-sano.tochigi.jp
-shimotsuke.tochigi.jp
-shioya.tochigi.jp
-takanezawa.tochigi.jp
-tochigi.tochigi.jp
-tsuga.tochigi.jp
-ujiie.tochigi.jp
-utsunomiya.tochigi.jp
-yaita.tochigi.jp
-aizumi.tokushima.jp
-anan.tokushima.jp
-ichiba.tokushima.jp
-itano.tokushima.jp
-kainan.tokushima.jp
-komatsushima.tokushima.jp
-matsushige.tokushima.jp
-mima.tokushima.jp
-minami.tokushima.jp
-miyoshi.tokushima.jp
-mugi.tokushima.jp
-nakagawa.tokushima.jp
-naruto.tokushima.jp
-sanagochi.tokushima.jp
-shishikui.tokushima.jp
-tokushima.tokushima.jp
-wajiki.tokushima.jp
-adachi.tokyo.jp
-akiruno.tokyo.jp
-akishima.tokyo.jp
-aogashima.tokyo.jp
-arakawa.tokyo.jp
-bunkyo.tokyo.jp
-chiyoda.tokyo.jp
-chofu.tokyo.jp
-chuo.tokyo.jp
-edogawa.tokyo.jp
-fuchu.tokyo.jp
-fussa.tokyo.jp
-hachijo.tokyo.jp
-hachioji.tokyo.jp
-hamura.tokyo.jp
-higashikurume.tokyo.jp
-higashimurayama.tokyo.jp
-higashiyamato.tokyo.jp
-hino.tokyo.jp
-hinode.tokyo.jp
-hinohara.tokyo.jp
-inagi.tokyo.jp
-itabashi.tokyo.jp
-katsushika.tokyo.jp
-kita.tokyo.jp
-kiyose.tokyo.jp
-kodaira.tokyo.jp
-koganei.tokyo.jp
-kokubunji.tokyo.jp
-komae.tokyo.jp
-koto.tokyo.jp
-kouzushima.tokyo.jp
-kunitachi.tokyo.jp
-machida.tokyo.jp
-meguro.tokyo.jp
-minato.tokyo.jp
-mitaka.tokyo.jp
-mizuho.tokyo.jp
-musashimurayama.tokyo.jp
-musashino.tokyo.jp
-nakano.tokyo.jp
-nerima.tokyo.jp
-ogasawara.tokyo.jp
-okutama.tokyo.jp
-ome.tokyo.jp
-oshima.tokyo.jp
-ota.tokyo.jp
-setagaya.tokyo.jp
-shibuya.tokyo.jp
-shinagawa.tokyo.jp
-shinjuku.tokyo.jp
-suginami.tokyo.jp
-sumida.tokyo.jp
-tachikawa.tokyo.jp
-taito.tokyo.jp
-tama.tokyo.jp
-toshima.tokyo.jp
-chizu.tottori.jp
-hino.tottori.jp
-kawahara.tottori.jp
-koge.tottori.jp
-kotoura.tottori.jp
-misasa.tottori.jp
-nanbu.tottori.jp
-nichinan.tottori.jp
-sakaiminato.tottori.jp
-tottori.tottori.jp
-wakasa.tottori.jp
-yazu.tottori.jp
-yonago.tottori.jp
-asahi.toyama.jp
-fuchu.toyama.jp
-fukumitsu.toyama.jp
-funahashi.toyama.jp
-himi.toyama.jp
-imizu.toyama.jp
-inami.toyama.jp
-johana.toyama.jp
-kamiichi.toyama.jp
-kurobe.toyama.jp
-nakaniikawa.toyama.jp
-namerikawa.toyama.jp
-nanto.toyama.jp
-nyuzen.toyama.jp
-oyabe.toyama.jp
-taira.toyama.jp
-takaoka.toyama.jp
-tateyama.toyama.jp
-toga.toyama.jp
-tonami.toyama.jp
-toyama.toyama.jp
-unazuki.toyama.jp
-uozu.toyama.jp
-yamada.toyama.jp
-arida.wakayama.jp
-aridagawa.wakayama.jp
-gobo.wakayama.jp
-hashimoto.wakayama.jp
-hidaka.wakayama.jp
-hirogawa.wakayama.jp
-inami.wakayama.jp
-iwade.wakayama.jp
-kainan.wakayama.jp
-kamitonda.wakayama.jp
-katsuragi.wakayama.jp
-kimino.wakayama.jp
-kinokawa.wakayama.jp
-kitayama.wakayama.jp
-koya.wakayama.jp
-koza.wakayama.jp
-kozagawa.wakayama.jp
-kudoyama.wakayama.jp
-kushimoto.wakayama.jp
-mihama.wakayama.jp
-misato.wakayama.jp
-nachikatsuura.wakayama.jp
-shingu.wakayama.jp
-shirahama.wakayama.jp
-taiji.wakayama.jp
-tanabe.wakayama.jp
-wakayama.wakayama.jp
-yuasa.wakayama.jp
-yura.wakayama.jp
-asahi.yamagata.jp
-funagata.yamagata.jp
-higashine.yamagata.jp
-iide.yamagata.jp
-kahoku.yamagata.jp
-kaminoyama.yamagata.jp
-kaneyama.yamagata.jp
-kawanishi.yamagata.jp
-mamurogawa.yamagata.jp
-mikawa.yamagata.jp
-murayama.yamagata.jp
-nagai.yamagata.jp
-nakayama.yamagata.jp
-nanyo.yamagata.jp
-nishikawa.yamagata.jp
-obanazawa.yamagata.jp
-oe.yamagata.jp
-oguni.yamagata.jp
-ohkura.yamagata.jp
-oishida.yamagata.jp
-sagae.yamagata.jp
-sakata.yamagata.jp
-sakegawa.yamagata.jp
-shinjo.yamagata.jp
-shirataka.yamagata.jp
-shonai.yamagata.jp
-takahata.yamagata.jp
-tendo.yamagata.jp
-tozawa.yamagata.jp
-tsuruoka.yamagata.jp
-yamagata.yamagata.jp
-yamanobe.yamagata.jp
-yonezawa.yamagata.jp
-yuza.yamagata.jp
-abu.yamaguchi.jp
-hagi.yamaguchi.jp
-hikari.yamaguchi.jp
-hofu.yamaguchi.jp
-iwakuni.yamaguchi.jp
-kudamatsu.yamaguchi.jp
-mitou.yamaguchi.jp
-nagato.yamaguchi.jp
-oshima.yamaguchi.jp
-shimonoseki.yamaguchi.jp
-shunan.yamaguchi.jp
-tabuse.yamaguchi.jp
-tokuyama.yamaguchi.jp
-toyota.yamaguchi.jp
-ube.yamaguchi.jp
-yuu.yamaguchi.jp
-chuo.yamanashi.jp
-doshi.yamanashi.jp
-fuefuki.yamanashi.jp
-fujikawa.yamanashi.jp
-fujikawaguchiko.yamanashi.jp
-fujiyoshida.yamanashi.jp
-hayakawa.yamanashi.jp
-hokuto.yamanashi.jp
-ichikawamisato.yamanashi.jp
-kai.yamanashi.jp
-kofu.yamanashi.jp
-koshu.yamanashi.jp
-kosuge.yamanashi.jp
-minami-alps.yamanashi.jp
-minobu.yamanashi.jp
-nakamichi.yamanashi.jp
-nanbu.yamanashi.jp
-narusawa.yamanashi.jp
-nirasaki.yamanashi.jp
-nishikatsura.yamanashi.jp
-oshino.yamanashi.jp
-otsuki.yamanashi.jp
-showa.yamanashi.jp
-tabayama.yamanashi.jp
-tsuru.yamanashi.jp
-uenohara.yamanashi.jp
-yamanakako.yamanashi.jp
-yamanashi.yamanashi.jp
-
-// ke : http://www.kenic.or.ke/index.php/en/ke-domains/ke-domains
-ke
-ac.ke
-co.ke
-go.ke
-info.ke
-me.ke
-mobi.ke
-ne.ke
-or.ke
-sc.ke
-
-// kg : http://www.domain.kg/dmn_n.html
-kg
-com.kg
-edu.kg
-gov.kg
-mil.kg
-net.kg
-org.kg
-
-// kh : http://www.mptc.gov.kh/dns_registration.htm
-*.kh
-
-// ki : https://www.iana.org/domains/root/db/ki.html
-ki
-biz.ki
-com.ki
-edu.ki
-gov.ki
-info.ki
-net.ki
-org.ki
-
-// km : https://www.iana.org/domains/root/db/km.html
-// http://www.domaine.km/documents/charte.doc
-km
-ass.km
-com.km
-edu.km
-gov.km
-mil.km
-nom.km
-org.km
-prd.km
-tm.km
-// These are only mentioned as proposed suggestions at domaine.km, but
-// https://www.iana.org/domains/root/db/km.html says they're available for registration:
-asso.km
-coop.km
-gouv.km
-medecin.km
-notaires.km
-pharmaciens.km
-presse.km
-veterinaire.km
-
-// kn : https://www.iana.org/domains/root/db/kn.html
-// http://www.dot.kn/domainRules.html
-kn
-edu.kn
-gov.kn
-net.kn
-org.kn
-
-// kp : http://www.kcce.kp/en_index.php
-kp
-com.kp
-edu.kp
-gov.kp
-org.kp
-rep.kp
-tra.kp
-
-// kr : https://www.iana.org/domains/root/db/kr.html
-// see also: http://domain.nida.or.kr/eng/registration.jsp
-kr
-ac.kr
-co.kr
-es.kr
-go.kr
-hs.kr
-kg.kr
-mil.kr
-ms.kr
-ne.kr
-or.kr
-pe.kr
-re.kr
-sc.kr
-// kr geographical names
-busan.kr
-chungbuk.kr
-chungnam.kr
-daegu.kr
-daejeon.kr
-gangwon.kr
-gwangju.kr
-gyeongbuk.kr
-gyeonggi.kr
-gyeongnam.kr
-incheon.kr
-jeju.kr
-jeonbuk.kr
-jeonnam.kr
-seoul.kr
-ulsan.kr
-
-// kw : https://www.nic.kw/policies/
-// Confirmed by registry <[email protected]>
-kw
-com.kw
-edu.kw
-emb.kw
-gov.kw
-ind.kw
-net.kw
-org.kw
-
-// ky : http://www.icta.ky/da_ky_reg_dom.php
-// Confirmed by registry <[email protected]> 2008-06-17
-ky
-com.ky
-edu.ky
-net.ky
-org.ky
-
-// kz : https://www.iana.org/domains/root/db/kz.html
-// see also: http://www.nic.kz/rules/index.jsp
-kz
-com.kz
-edu.kz
-gov.kz
-mil.kz
-net.kz
-org.kz
-
-// la : https://www.iana.org/domains/root/db/la.html
-// Submitted by registry <[email protected]>
-la
-com.la
-edu.la
-gov.la
-info.la
-int.la
-net.la
-org.la
-per.la
-
-// lb : https://www.iana.org/domains/root/db/lb.html
-// Submitted by registry <[email protected]>
-lb
-com.lb
-edu.lb
-gov.lb
-net.lb
-org.lb
-
-// lc : https://www.iana.org/domains/root/db/lc.html
-// see also: http://www.nic.lc/rules.htm
-lc
-co.lc
-com.lc
-edu.lc
-gov.lc
-net.lc
-org.lc
-
-// li : https://www.iana.org/domains/root/db/li.html
-li
-
-// lk : https://www.iana.org/domains/root/db/lk.html
-lk
-ac.lk
-assn.lk
-com.lk
-edu.lk
-gov.lk
-grp.lk
-hotel.lk
-int.lk
-ltd.lk
-net.lk
-ngo.lk
-org.lk
-sch.lk
-soc.lk
-web.lk
-
-// lr : http://psg.com/dns/lr/lr.txt
-// Submitted by registry <[email protected]>
-lr
-com.lr
-edu.lr
-gov.lr
-net.lr
-org.lr
-
-// ls : http://www.nic.ls/
-// Confirmed by registry <[email protected]>
-ls
-ac.ls
-biz.ls
-co.ls
-edu.ls
-gov.ls
-info.ls
-net.ls
-org.ls
-sc.ls
-
-// lt : https://www.iana.org/domains/root/db/lt.html
-lt
-// gov.lt : http://www.gov.lt/index_en.php
-gov.lt
-
-// lu : http://www.dns.lu/en/
-lu
-
-// lv : https://www.iana.org/domains/root/db/lv.html
-lv
-asn.lv
-com.lv
-conf.lv
-edu.lv
-gov.lv
-id.lv
-mil.lv
-net.lv
-org.lv
-
-// ly : http://www.nic.ly/regulations.php
-ly
-com.ly
-edu.ly
-gov.ly
-id.ly
-med.ly
-net.ly
-org.ly
-plc.ly
-sch.ly
-
-// ma : https://www.iana.org/domains/root/db/ma.html
-// http://www.anrt.ma/fr/admin/download/upload/file_fr782.pdf
-ma
-ac.ma
-co.ma
-gov.ma
-net.ma
-org.ma
-press.ma
-
-// mc : http://www.nic.mc/
-mc
-asso.mc
-tm.mc
-
-// md : https://www.iana.org/domains/root/db/md.html
-md
-
-// me : https://www.iana.org/domains/root/db/me.html
-me
-ac.me
-co.me
-edu.me
-gov.me
-its.me
-net.me
-org.me
-priv.me
-
-// mg : https://nic.mg
-mg
-co.mg
-com.mg
-edu.mg
-gov.mg
-mil.mg
-nom.mg
-org.mg
-prd.mg
-
-// mh : https://www.iana.org/domains/root/db/mh.html
-mh
-
-// mil : https://www.iana.org/domains/root/db/mil.html
-mil
-
-// mk : https://www.iana.org/domains/root/db/mk.html
-// see also: http://dns.marnet.net.mk/postapka.php
-mk
-com.mk
-edu.mk
-gov.mk
-inf.mk
-name.mk
-net.mk
-org.mk
-
-// ml : https://www.iana.org/domains/root/db/ml.html
-// Confirmed by Boubacar NDIAYE <[email protected]> 2024-12-31
-ml
-ac.ml
-art.ml
-asso.ml
-com.ml
-edu.ml
-gouv.ml
-gov.ml
-info.ml
-inst.ml
-net.ml
-org.ml
-pr.ml
-presse.ml
-
-// mm : https://www.iana.org/domains/root/db/mm.html
-*.mm
-
-// mn : https://www.iana.org/domains/root/db/mn.html
-mn
-edu.mn
-gov.mn
-org.mn
-
-// mo : http://www.monic.net.mo/
-mo
-com.mo
-edu.mo
-gov.mo
-net.mo
-org.mo
-
-// mobi : https://www.iana.org/domains/root/db/mobi.html
-mobi
-
-// mp : http://www.dot.mp/
-// Confirmed by registry <[email protected]> 2008-06-17
-mp
-
-// mq : https://www.iana.org/domains/root/db/mq.html
-mq
-
-// mr : https://www.iana.org/domains/root/db/mr.html
-mr
-gov.mr
-
-// ms : https://www.iana.org/domains/root/db/ms.html
-ms
-com.ms
-edu.ms
-gov.ms
-net.ms
-org.ms
-
-// mt : https://www.nic.org.mt/go/policy
-// Submitted by registry <[email protected]>
-mt
-com.mt
-edu.mt
-net.mt
-org.mt
-
-// mu : https://www.iana.org/domains/root/db/mu.html
-mu
-ac.mu
-co.mu
-com.mu
-gov.mu
-net.mu
-or.mu
-org.mu
-
-// museum : https://welcome.museum/wp-content/uploads/2018/05/20180525-Registration-Policy-MUSEUM-EN_VF-2.pdf https://welcome.museum/buy-your-dot-museum-2/
-museum
-
-// mv : https://www.iana.org/domains/root/db/mv.html
-// "mv" included because, contra Wikipedia, google.mv exists.
-mv
-aero.mv
-biz.mv
-com.mv
-coop.mv
-edu.mv
-gov.mv
-info.mv
-int.mv
-mil.mv
-museum.mv
-name.mv
-net.mv
-org.mv
-pro.mv
-
-// mw : http://www.registrar.mw/
-mw
-ac.mw
-biz.mw
-co.mw
-com.mw
-coop.mw
-edu.mw
-gov.mw
-int.mw
-net.mw
-org.mw
-
-// mx : http://www.nic.mx/
-// Submitted by registry <[email protected]>
-mx
-com.mx
-edu.mx
-gob.mx
-net.mx
-org.mx
-
-// my : http://www.mynic.my/
-// Available strings: https://mynic.my/resources/domains/buying-a-domain/
-my
-biz.my
-com.my
-edu.my
-gov.my
-mil.my
-name.my
-net.my
-org.my
-
-// mz : http://www.uem.mz/
-// Submitted by registry <[email protected]>
-mz
-ac.mz
-adv.mz
-co.mz
-edu.mz
-gov.mz
-mil.mz
-net.mz
-org.mz
-
-// na : http://www.na-nic.com.na/
-na
-alt.na
-co.na
-com.na
-gov.na
-net.na
-org.na
-
-// name : http://www.nic.name/
-// Regarding 2LDs: https://github.com/publicsuffix/list/issues/2306
-name
-
-// nc : http://www.cctld.nc/
-nc
-asso.nc
-nom.nc
-
-// ne : https://www.iana.org/domains/root/db/ne.html
-ne
-
-// net : https://www.iana.org/domains/root/db/net.html
-net
-
-// nf : https://www.iana.org/domains/root/db/nf.html
-nf
-arts.nf
-com.nf
-firm.nf
-info.nf
-net.nf
-other.nf
-per.nf
-rec.nf
-store.nf
-web.nf
-
-// ng : http://www.nira.org.ng/index.php/join-us/register-ng-domain/189-nira-slds
-ng
-com.ng
-edu.ng
-gov.ng
-i.ng
-mil.ng
-mobi.ng
-name.ng
-net.ng
-org.ng
-sch.ng
-
-// ni : http://www.nic.ni/
-ni
-ac.ni
-biz.ni
-co.ni
-com.ni
-edu.ni
-gob.ni
-in.ni
-info.ni
-int.ni
-mil.ni
-net.ni
-nom.ni
-org.ni
-web.ni
-
-// nl : https://www.iana.org/domains/root/db/nl.html
-// https://www.sidn.nl/
-nl
-
-// no : https://www.norid.no/en/om-domenenavn/regelverk-for-no/
-// Norid geographical second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-b/
-// Norid category second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-c/
-// Norid category second-level domains managed by parties other than Norid : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-d/
-// RSS feed: https://teknisk.norid.no/en/feed/
-no
-// Norid category second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-c/
-fhs.no
-folkebibl.no
-fylkesbibl.no
-idrett.no
-museum.no
-priv.no
-vgs.no
-// Norid category second-level domains managed by parties other than Norid : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-d/
-dep.no
-herad.no
-kommune.no
-mil.no
-stat.no
-// Norid geographical second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-b/
-// counties
-aa.no
-ah.no
-bu.no
-fm.no
-hl.no
-hm.no
-jan-mayen.no
-mr.no
-nl.no
-nt.no
-of.no
-ol.no
-oslo.no
-rl.no
-sf.no
-st.no
-svalbard.no
-tm.no
-tr.no
-va.no
-vf.no
-// primary and lower secondary schools per county
-gs.aa.no
-gs.ah.no
-gs.bu.no
-gs.fm.no
-gs.hl.no
-gs.hm.no
-gs.jan-mayen.no
-gs.mr.no
-gs.nl.no
-gs.nt.no
-gs.of.no
-gs.ol.no
-gs.oslo.no
-gs.rl.no
-gs.sf.no
-gs.st.no
-gs.svalbard.no
-gs.tm.no
-gs.tr.no
-gs.va.no
-gs.vf.no
-// cities
-akrehamn.no
-åkrehamn.no
-algard.no
-ålgård.no
-arna.no
-bronnoysund.no
-brønnøysund.no
-brumunddal.no
-bryne.no
-drobak.no
-drøbak.no
-egersund.no
-fetsund.no
-floro.no
-florø.no
-fredrikstad.no
-hokksund.no
-honefoss.no
-hønefoss.no
-jessheim.no
-jorpeland.no
-jørpeland.no
-kirkenes.no
-kopervik.no
-krokstadelva.no
-langevag.no
-langevåg.no
-leirvik.no
-mjondalen.no
-mjøndalen.no
-mo-i-rana.no
-mosjoen.no
-mosjøen.no
-nesoddtangen.no
-orkanger.no
-osoyro.no
-osøyro.no
-raholt.no
-råholt.no
-sandnessjoen.no
-sandnessjøen.no
-skedsmokorset.no
-slattum.no
-spjelkavik.no
-stathelle.no
-stavern.no
-stjordalshalsen.no
-stjørdalshalsen.no
-tananger.no
-tranby.no
-vossevangen.no
-// communities
-aarborte.no
-aejrie.no
-afjord.no
-åfjord.no
-agdenes.no
-nes.akershus.no
-aknoluokta.no
-ákŋoluokta.no
-al.no
-ål.no
-alaheadju.no
-álaheadju.no
-alesund.no
-ålesund.no
-alstahaug.no
-alta.no
-áltá.no
-alvdal.no
-amli.no
-åmli.no
-amot.no
-åmot.no
-andasuolo.no
-andebu.no
-andoy.no
-andøy.no
-ardal.no
-årdal.no
-aremark.no
-arendal.no
-ås.no
-aseral.no
-åseral.no
-asker.no
-askim.no
-askoy.no
-askøy.no
-askvoll.no
-asnes.no
-åsnes.no
-audnedaln.no
-aukra.no
-aure.no
-aurland.no
-aurskog-holand.no
-aurskog-høland.no
-austevoll.no
-austrheim.no
-averoy.no
-averøy.no
-badaddja.no
-bådåddjå.no
-bærum.no
-bahcavuotna.no
-báhcavuotna.no
-bahccavuotna.no
-báhccavuotna.no
-baidar.no
-báidár.no
-bajddar.no
-bájddar.no
-balat.no
-bálát.no
-balestrand.no
-ballangen.no
-balsfjord.no
-bamble.no
-bardu.no
-barum.no
-batsfjord.no
-båtsfjord.no
-bearalvahki.no
-bearalváhki.no
-beardu.no
-beiarn.no
-berg.no
-bergen.no
-berlevag.no
-berlevåg.no
-bievat.no
-bievát.no
-bindal.no
-birkenes.no
-bjarkoy.no
-bjarkøy.no
-bjerkreim.no
-bjugn.no
-bodo.no
-bodø.no
-bokn.no
-bomlo.no
-bømlo.no
-bremanger.no
-bronnoy.no
-brønnøy.no
-budejju.no
-nes.buskerud.no
-bygland.no
-bykle.no
-cahcesuolo.no
-čáhcesuolo.no
-davvenjarga.no
-davvenjárga.no
-davvesiida.no
-deatnu.no
-dielddanuorri.no
-divtasvuodna.no
-divttasvuotna.no
-donna.no
-dønna.no
-dovre.no
-drammen.no
-drangedal.no
-dyroy.no
-dyrøy.no
-eid.no
-eidfjord.no
-eidsberg.no
-eidskog.no
-eidsvoll.no
-eigersund.no
-elverum.no
-enebakk.no
-engerdal.no
-etne.no
-etnedal.no
-evenassi.no
-evenášši.no
-evenes.no
-evje-og-hornnes.no
-farsund.no
-fauske.no
-fedje.no
-fet.no
-finnoy.no
-finnøy.no
-fitjar.no
-fjaler.no
-fjell.no
-fla.no
-flå.no
-flakstad.no
-flatanger.no
-flekkefjord.no
-flesberg.no
-flora.no
-folldal.no
-forde.no
-førde.no
-forsand.no
-fosnes.no
-fræna.no
-frana.no
-frei.no
-frogn.no
-froland.no
-frosta.no
-froya.no
-frøya.no
-fuoisku.no
-fuossko.no
-fusa.no
-fyresdal.no
-gaivuotna.no
-gáivuotna.no
-galsa.no
-gálsá.no
-gamvik.no
-gangaviika.no
-gáŋgaviika.no
-gaular.no
-gausdal.no
-giehtavuoatna.no
-gildeskal.no
-gildeskål.no
-giske.no
-gjemnes.no
-gjerdrum.no
-gjerstad.no
-gjesdal.no
-gjovik.no
-gjøvik.no
-gloppen.no
-gol.no
-gran.no
-grane.no
-granvin.no
-gratangen.no
-grimstad.no
-grong.no
-grue.no
-gulen.no
-guovdageaidnu.no
-ha.no
-hå.no
-habmer.no
-hábmer.no
-hadsel.no
-hægebostad.no
-hagebostad.no
-halden.no
-halsa.no
-hamar.no
-hamaroy.no
-hammarfeasta.no
-hámmárfeasta.no
-hammerfest.no
-hapmir.no
-hápmir.no
-haram.no
-hareid.no
-harstad.no
-hasvik.no
-hattfjelldal.no
-haugesund.no
-os.hedmark.no
-valer.hedmark.no
-våler.hedmark.no
-hemne.no
-hemnes.no
-hemsedal.no
-hitra.no
-hjartdal.no
-hjelmeland.no
-hobol.no
-hobøl.no
-hof.no
-hol.no
-hole.no
-holmestrand.no
-holtalen.no
-holtålen.no
-os.hordaland.no
-hornindal.no
-horten.no
-hoyanger.no
-høyanger.no
-hoylandet.no
-høylandet.no
-hurdal.no
-hurum.no
-hvaler.no
-hyllestad.no
-ibestad.no
-inderoy.no
-inderøy.no
-iveland.no
-ivgu.no
-jevnaker.no
-jolster.no
-jølster.no
-jondal.no
-kafjord.no
-kåfjord.no
-karasjohka.no
-kárášjohka.no
-karasjok.no
-karlsoy.no
-karmoy.no
-karmøy.no
-kautokeino.no
-klabu.no
-klæbu.no
-klepp.no
-kongsberg.no
-kongsvinger.no
-kraanghke.no
-kråanghke.no
-kragero.no
-kragerø.no
-kristiansand.no
-kristiansund.no
-krodsherad.no
-krødsherad.no
-kvæfjord.no
-kvænangen.no
-kvafjord.no
-kvalsund.no
-kvam.no
-kvanangen.no
-kvinesdal.no
-kvinnherad.no
-kviteseid.no
-kvitsoy.no
-kvitsøy.no
-laakesvuemie.no
-lærdal.no
-lahppi.no
-láhppi.no
-lardal.no
-larvik.no
-lavagis.no
-lavangen.no
-leangaviika.no
-leaŋgaviika.no
-lebesby.no
-leikanger.no
-leirfjord.no
-leka.no
-leksvik.no
-lenvik.no
-lerdal.no
-lesja.no
-levanger.no
-lier.no
-lierne.no
-lillehammer.no
-lillesand.no
-lindas.no
-lindås.no
-lindesnes.no
-loabat.no
-loabát.no
-lodingen.no
-lødingen.no
-lom.no
-loppa.no
-lorenskog.no
-lørenskog.no
-loten.no
-løten.no
-lund.no
-lunner.no
-luroy.no
-lurøy.no
-luster.no
-lyngdal.no
-lyngen.no
-malatvuopmi.no
-málatvuopmi.no
-malselv.no
-målselv.no
-malvik.no
-mandal.no
-marker.no
-marnardal.no
-masfjorden.no
-masoy.no
-måsøy.no
-matta-varjjat.no
-mátta-várjjat.no
-meland.no
-meldal.no
-melhus.no
-meloy.no
-meløy.no
-meraker.no
-meråker.no
-midsund.no
-midtre-gauldal.no
-moareke.no
-moåreke.no
-modalen.no
-modum.no
-molde.no
-heroy.more-og-romsdal.no
-sande.more-og-romsdal.no
-herøy.møre-og-romsdal.no
-sande.møre-og-romsdal.no
-moskenes.no
-moss.no
-mosvik.no
-muosat.no
-muosát.no
-naamesjevuemie.no
-nååmesjevuemie.no
-nærøy.no
-namdalseid.no
-namsos.no
-namsskogan.no
-nannestad.no
-naroy.no
-narviika.no
-narvik.no
-naustdal.no
-navuotna.no
-návuotna.no
-nedre-eiker.no
-nesna.no
-nesodden.no
-nesseby.no
-nesset.no
-nissedal.no
-nittedal.no
-nord-aurdal.no
-nord-fron.no
-nord-odal.no
-norddal.no
-nordkapp.no
-bo.nordland.no
-bø.nordland.no
-heroy.nordland.no
-herøy.nordland.no
-nordre-land.no
-nordreisa.no
-nore-og-uvdal.no
-notodden.no
-notteroy.no
-nøtterøy.no
-odda.no
-oksnes.no
-øksnes.no
-omasvuotna.no
-oppdal.no
-oppegard.no
-oppegård.no
-orkdal.no
-orland.no
-ørland.no
-orskog.no
-ørskog.no
-orsta.no
-ørsta.no
-osen.no
-osteroy.no
-osterøy.no
-valer.ostfold.no
-våler.østfold.no
-ostre-toten.no
-østre-toten.no
-overhalla.no
-ovre-eiker.no
-øvre-eiker.no
-oyer.no
-øyer.no
-oygarden.no
-øygarden.no
-oystre-slidre.no
-øystre-slidre.no
-porsanger.no
-porsangu.no
-porsáŋgu.no
-porsgrunn.no
-rade.no
-råde.no
-radoy.no
-radøy.no
-rælingen.no
-rahkkeravju.no
-ráhkkerávju.no
-raisa.no
-ráisa.no
-rakkestad.no
-ralingen.no
-rana.no
-randaberg.no
-rauma.no
-rendalen.no
-rennebu.no
-rennesoy.no
-rennesøy.no
-rindal.no
-ringebu.no
-ringerike.no
-ringsaker.no
-risor.no
-risør.no
-rissa.no
-roan.no
-rodoy.no
-rødøy.no
-rollag.no
-romsa.no
-romskog.no
-rømskog.no
-roros.no
-røros.no
-rost.no
-røst.no
-royken.no
-røyken.no
-royrvik.no
-røyrvik.no
-ruovat.no
-rygge.no
-salangen.no
-salat.no
-sálat.no
-sálát.no
-saltdal.no
-samnanger.no
-sandefjord.no
-sandnes.no
-sandoy.no
-sandøy.no
-sarpsborg.no
-sauda.no
-sauherad.no
-sel.no
-selbu.no
-selje.no
-seljord.no
-siellak.no
-sigdal.no
-siljan.no
-sirdal.no
-skanit.no
-skánit.no
-skanland.no
-skånland.no
-skaun.no
-skedsmo.no
-ski.no
-skien.no
-skierva.no
-skiervá.no
-skiptvet.no
-skjak.no
-skjåk.no
-skjervoy.no
-skjervøy.no
-skodje.no
-smola.no
-smøla.no
-snaase.no
-snåase.no
-snasa.no
-snåsa.no
-snillfjord.no
-snoasa.no
-sogndal.no
-sogne.no
-søgne.no
-sokndal.no
-sola.no
-solund.no
-somna.no
-sømna.no
-sondre-land.no
-søndre-land.no
-songdalen.no
-sor-aurdal.no
-sør-aurdal.no
-sor-fron.no
-sør-fron.no
-sor-odal.no
-sør-odal.no
-sor-varanger.no
-sør-varanger.no
-sorfold.no
-sørfold.no
-sorreisa.no
-sørreisa.no
-sortland.no
-sorum.no
-sørum.no
-spydeberg.no
-stange.no
-stavanger.no
-steigen.no
-steinkjer.no
-stjordal.no
-stjørdal.no
-stokke.no
-stor-elvdal.no
-stord.no
-stordal.no
-storfjord.no
-strand.no
-stranda.no
-stryn.no
-sula.no
-suldal.no
-sund.no
-sunndal.no
-surnadal.no
-sveio.no
-svelvik.no
-sykkylven.no
-tana.no
-bo.telemark.no
-bø.telemark.no
-time.no
-tingvoll.no
-tinn.no
-tjeldsund.no
-tjome.no
-tjøme.no
-tokke.no
-tolga.no
-tonsberg.no
-tønsberg.no
-torsken.no
-træna.no
-trana.no
-tranoy.no
-tranøy.no
-troandin.no
-trogstad.no
-trøgstad.no
-tromsa.no
-tromso.no
-tromsø.no
-trondheim.no
-trysil.no
-tvedestrand.no
-tydal.no
-tynset.no
-tysfjord.no
-tysnes.no
-tysvær.no
-tysvar.no
-ullensaker.no
-ullensvang.no
-ulvik.no
-unjarga.no
-unjárga.no
-utsira.no
-vaapste.no
-vadso.no
-vadsø.no
-værøy.no
-vaga.no
-vågå.no
-vagan.no
-vågan.no
-vagsoy.no
-vågsøy.no
-vaksdal.no
-valle.no
-vang.no
-vanylven.no
-vardo.no
-vardø.no
-varggat.no
-várggát.no
-varoy.no
-vefsn.no
-vega.no
-vegarshei.no
-vegårshei.no
-vennesla.no
-verdal.no
-verran.no
-vestby.no
-sande.vestfold.no
-vestnes.no
-vestre-slidre.no
-vestre-toten.no
-vestvagoy.no
-vestvågøy.no
-vevelstad.no
-vik.no
-vikna.no
-vindafjord.no
-voagat.no
-volda.no
-voss.no
-
-// np : http://www.mos.com.np/register.html
-*.np
-
-// nr : http://cenpac.net.nr/dns/index.html
-// Submitted by registry <[email protected]>
-nr
-biz.nr
-com.nr
-edu.nr
-gov.nr
-info.nr
-net.nr
-org.nr
-
-// nu : https://www.iana.org/domains/root/db/nu.html
-nu
-
-// nz : https://www.iana.org/domains/root/db/nz.html
-// Submitted by registry <[email protected]>
-nz
-ac.nz
-co.nz
-cri.nz
-geek.nz
-gen.nz
-govt.nz
-health.nz
-iwi.nz
-kiwi.nz
-maori.nz
-māori.nz
-mil.nz
-net.nz
-org.nz
-parliament.nz
-school.nz
-
-// om : https://www.iana.org/domains/root/db/om.html
-om
-co.om
-com.om
-edu.om
-gov.om
-med.om
-museum.om
-net.om
-org.om
-pro.om
-
-// onion : https://tools.ietf.org/html/rfc7686
-onion
-
-// org : https://www.iana.org/domains/root/db/org.html
-org
-
-// pa : http://www.nic.pa/
-// Some additional second level "domains" resolve directly as hostnames, such as
-// pannet.pa, so we add a rule for "pa".
-pa
-abo.pa
-ac.pa
-com.pa
-edu.pa
-gob.pa
-ing.pa
-med.pa
-net.pa
-nom.pa
-org.pa
-sld.pa
-
-// pe : https://www.nic.pe/InformeFinalComision.pdf
-pe
-com.pe
-edu.pe
-gob.pe
-mil.pe
-net.pe
-nom.pe
-org.pe
-
-// pf : http://www.gobin.info/domainname/formulaire-pf.pdf
-pf
-com.pf
-edu.pf
-org.pf
-
-// pg : https://www.iana.org/domains/root/db/pg.html
-*.pg
-
-// ph : https://www.iana.org/domains/root/db/ph.html
-// Submitted by registry <[email protected]>
-ph
-com.ph
-edu.ph
-gov.ph
-i.ph
-mil.ph
-net.ph
-ngo.ph
-org.ph
-
-// pk : https://pk5.pknic.net.pk/pk5/msgNamepk.PK
-// Contact Email: [email protected]
-pk
-ac.pk
-biz.pk
-com.pk
-edu.pk
-fam.pk
-gkp.pk
-gob.pk
-gog.pk
-gok.pk
-gop.pk
-gos.pk
-gov.pk
-net.pk
-org.pk
-web.pk
-
-// pl : https://www.dns.pl/en/
-// Confirmed by registry <[email protected]> 2024-11-18
-pl
-com.pl
-net.pl
-org.pl
-// pl functional domains : https://www.dns.pl/en/list_of_functional_domain_names
-agro.pl
-aid.pl
-atm.pl
-auto.pl
-biz.pl
-edu.pl
-gmina.pl
-gsm.pl
-info.pl
-mail.pl
-media.pl
-miasta.pl
-mil.pl
-nieruchomosci.pl
-nom.pl
-pc.pl
-powiat.pl
-priv.pl
-realestate.pl
-rel.pl
-sex.pl
-shop.pl
-sklep.pl
-sos.pl
-szkola.pl
-targi.pl
-tm.pl
-tourism.pl
-travel.pl
-turystyka.pl
-// Government domains : https://www.dns.pl/informacje_o_rejestracji_domen_gov_pl
-// In accordance with the .gov.pl Domain Name Regulations : https://www.dns.pl/regulamin_gov_pl
-gov.pl
-ap.gov.pl
-griw.gov.pl
-ic.gov.pl
-is.gov.pl
-kmpsp.gov.pl
-konsulat.gov.pl
-kppsp.gov.pl
-kwp.gov.pl
-kwpsp.gov.pl
-mup.gov.pl
-mw.gov.pl
-oia.gov.pl
-oirm.gov.pl
-oke.gov.pl
-oow.gov.pl
-oschr.gov.pl
-oum.gov.pl
-pa.gov.pl
-pinb.gov.pl
-piw.gov.pl
-po.gov.pl
-pr.gov.pl
-psp.gov.pl
-psse.gov.pl
-pup.gov.pl
-rzgw.gov.pl
-sa.gov.pl
-sdn.gov.pl
-sko.gov.pl
-so.gov.pl
-sr.gov.pl
-starostwo.gov.pl
-ug.gov.pl
-ugim.gov.pl
-um.gov.pl
-umig.gov.pl
-upow.gov.pl
-uppo.gov.pl
-us.gov.pl
-uw.gov.pl
-uzs.gov.pl
-wif.gov.pl
-wiih.gov.pl
-winb.gov.pl
-wios.gov.pl
-witd.gov.pl
-wiw.gov.pl
-wkz.gov.pl
-wsa.gov.pl
-wskr.gov.pl
-wsse.gov.pl
-wuoz.gov.pl
-wzmiuw.gov.pl
-zp.gov.pl
-zpisdn.gov.pl
-// pl regional domains : https://www.dns.pl/en/list_of_regional_domain_names
-augustow.pl
-babia-gora.pl
-bedzin.pl
-beskidy.pl
-bialowieza.pl
-bialystok.pl
-bielawa.pl
-bieszczady.pl
-boleslawiec.pl
-bydgoszcz.pl
-bytom.pl
-cieszyn.pl
-czeladz.pl
-czest.pl
-dlugoleka.pl
-elblag.pl
-elk.pl
-glogow.pl
-gniezno.pl
-gorlice.pl
-grajewo.pl
-ilawa.pl
-jaworzno.pl
-jelenia-gora.pl
-jgora.pl
-kalisz.pl
-karpacz.pl
-kartuzy.pl
-kaszuby.pl
-katowice.pl
-kazimierz-dolny.pl
-kepno.pl
-ketrzyn.pl
-klodzko.pl
-kobierzyce.pl
-kolobrzeg.pl
-konin.pl
-konskowola.pl
-kutno.pl
-lapy.pl
-lebork.pl
-legnica.pl
-lezajsk.pl
-limanowa.pl
-lomza.pl
-lowicz.pl
-lubin.pl
-lukow.pl
-malbork.pl
-malopolska.pl
-mazowsze.pl
-mazury.pl
-mielec.pl
-mielno.pl
-mragowo.pl
-naklo.pl
-nowaruda.pl
-nysa.pl
-olawa.pl
-olecko.pl
-olkusz.pl
-olsztyn.pl
-opoczno.pl
-opole.pl
-ostroda.pl
-ostroleka.pl
-ostrowiec.pl
-ostrowwlkp.pl
-pila.pl
-pisz.pl
-podhale.pl
-podlasie.pl
-polkowice.pl
-pomorskie.pl
-pomorze.pl
-prochowice.pl
-pruszkow.pl
-przeworsk.pl
-pulawy.pl
-radom.pl
-rawa-maz.pl
-rybnik.pl
-rzeszow.pl
-sanok.pl
-sejny.pl
-skoczow.pl
-slask.pl
-slupsk.pl
-sosnowiec.pl
-stalowa-wola.pl
-starachowice.pl
-stargard.pl
-suwalki.pl
-swidnica.pl
-swiebodzin.pl
-swinoujscie.pl
-szczecin.pl
-szczytno.pl
-tarnobrzeg.pl
-tgory.pl
-turek.pl
-tychy.pl
-ustka.pl
-walbrzych.pl
-warmia.pl
-warszawa.pl
-waw.pl
-wegrow.pl
-wielun.pl
-wlocl.pl
-wloclawek.pl
-wodzislaw.pl
-wolomin.pl
-wroclaw.pl
-zachpomor.pl
-zagan.pl
-zarow.pl
-zgora.pl
-zgorzelec.pl
-
-// pm : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
-pm
-
-// pn : https://www.iana.org/domains/root/db/pn.html
-pn
-co.pn
-edu.pn
-gov.pn
-net.pn
-org.pn
-
-// post : https://www.iana.org/domains/root/db/post.html
-post
-
-// pr : http://www.nic.pr/index.asp?f=1
-pr
-biz.pr
-com.pr
-edu.pr
-gov.pr
-info.pr
-isla.pr
-name.pr
-net.pr
-org.pr
-pro.pr
-// these aren't mentioned on nic.pr, but on https://www.iana.org/domains/root/db/pr.html
-ac.pr
-est.pr
-prof.pr
-
-// pro : http://registry.pro/get-pro
-pro
-aaa.pro
-aca.pro
-acct.pro
-avocat.pro
-bar.pro
-cpa.pro
-eng.pro
-jur.pro
-law.pro
-med.pro
-recht.pro
-
-// ps : https://www.iana.org/domains/root/db/ps.html
-// http://www.nic.ps/registration/policy.html#reg
-ps
-com.ps
-edu.ps
-gov.ps
-net.ps
-org.ps
-plo.ps
-sec.ps
-
-// pt : https://www.dns.pt/en/domain/pt-terms-and-conditions-registration-rules/
-pt
-com.pt
-edu.pt
-gov.pt
-int.pt
-net.pt
-nome.pt
-org.pt
-publ.pt
-
-// pw : https://www.iana.org/domains/root/db/pw.html
-// Confirmed by registry in private correspondence with @dnsguru 2024-12-09
-pw
-gov.pw
-
-// py : https://www.iana.org/domains/root/db/py.html
-// Submitted by registry
-py
-com.py
-coop.py
-edu.py
-gov.py
-mil.py
-net.py
-org.py
-
-// qa : http://domains.qa/en/
-qa
-com.qa
-edu.qa
-gov.qa
-mil.qa
-name.qa
-net.qa
-org.qa
-sch.qa
-
-// re : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
-// Confirmed by registry <[email protected]> 2024-11-18
-re
-// Closed for registration on 2013-03-15 but domains are still maintained
-asso.re
-com.re
-
-// ro : http://www.rotld.ro/
-ro
-arts.ro
-com.ro
-firm.ro
-info.ro
-nom.ro
-nt.ro
-org.ro
-rec.ro
-store.ro
-tm.ro
-www.ro
-
-// rs : https://www.rnids.rs/en/domains/national-domains
-rs
-ac.rs
-co.rs
-edu.rs
-gov.rs
-in.rs
-org.rs
-
-// ru : https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
-// Submitted by George Georgievsky <[email protected]>
-ru
-
-// rw : https://www.iana.org/domains/root/db/rw.html
-rw
-ac.rw
-co.rw
-coop.rw
-gov.rw
-mil.rw
-net.rw
-org.rw
-
-// sa : http://www.nic.net.sa/
-sa
-com.sa
-edu.sa
-gov.sa
-med.sa
-net.sa
-org.sa
-pub.sa
-sch.sa
-
-// sb : http://www.sbnic.net.sb/
-// Submitted by registry <[email protected]>
-sb
-com.sb
-edu.sb
-gov.sb
-net.sb
-org.sb
-
-// sc : http://www.nic.sc/
-sc
-com.sc
-edu.sc
-gov.sc
-net.sc
-org.sc
-
-// sd : https://www.iana.org/domains/root/db/sd.html
-// Submitted by registry <[email protected]>
-sd
-com.sd
-edu.sd
-gov.sd
-info.sd
-med.sd
-net.sd
-org.sd
-tv.sd
-
-// se : https://www.iana.org/domains/root/db/se.html
-// https://data.internetstiftelsen.se/barred_domains_list.txt -> Second level domains & Sub-domains
-// Confirmed by Registry Services <[email protected]> 2024-11-20
-se
-a.se
-ac.se
-b.se
-bd.se
-brand.se
-c.se
-d.se
-e.se
-f.se
-fh.se
-fhsk.se
-fhv.se
-g.se
-h.se
-i.se
-k.se
-komforb.se
-kommunalforbund.se
-komvux.se
-l.se
-lanbib.se
-m.se
-n.se
-naturbruksgymn.se
-o.se
-org.se
-p.se
-parti.se
-pp.se
-press.se
-r.se
-s.se
-t.se
-tm.se
-u.se
-w.se
-x.se
-y.se
-z.se
-
-// sg : https://www.sgnic.sg/domain-registration/sg-categories-rules
-// Confirmed by registry <[email protected]> 2024-11-19
-sg
-com.sg
-edu.sg
-gov.sg
-net.sg
-org.sg
-
-// sh : http://nic.sh/rules.htm
-sh
-com.sh
-gov.sh
-mil.sh
-net.sh
-org.sh
-
-// si : https://www.iana.org/domains/root/db/si.html
-si
-
-// sj : No registrations at this time.
-// Submitted by registry <[email protected]>
-sj
-
-// sk : https://www.iana.org/domains/root/db/sk.html
-sk
-
-// sl : http://www.nic.sl
-// Submitted by registry <[email protected]>
-sl
-com.sl
-edu.sl
-gov.sl
-net.sl
-org.sl
-
-// sm : https://www.iana.org/domains/root/db/sm.html
-sm
-
-// sn : https://www.iana.org/domains/root/db/sn.html
-sn
-art.sn
-com.sn
-edu.sn
-gouv.sn
-org.sn
-perso.sn
-univ.sn
-
-// so : http://sonic.so/policies/
-so
-com.so
-edu.so
-gov.so
-me.so
-net.so
-org.so
-
-// sr : https://www.iana.org/domains/root/db/sr.html
-sr
-
-// ss : https://registry.nic.ss/
-// Submitted by registry <[email protected]>
-ss
-biz.ss
-co.ss
-com.ss
-edu.ss
-gov.ss
-me.ss
-net.ss
-org.ss
-sch.ss
-
-// st : http://www.nic.st/html/policyrules/
-st
-co.st
-com.st
-consulado.st
-edu.st
-embaixada.st
-mil.st
-net.st
-org.st
-principe.st
-saotome.st
-store.st
-
-// su : https://www.iana.org/domains/root/db/su.html
-su
-
-// sv : https://www.iana.org/domains/root/db/sv.html
-sv
-com.sv
-edu.sv
-gob.sv
-org.sv
-red.sv
-
-// sx : https://www.iana.org/domains/root/db/sx.html
-// Submitted by registry <[email protected]>
-sx
-gov.sx
-
-// sy : https://www.iana.org/domains/root/db/sy.html
-sy
-com.sy
-edu.sy
-gov.sy
-mil.sy
-net.sy
-org.sy
-
-// sz : https://www.iana.org/domains/root/db/sz.html
-// http://www.sispa.org.sz/
-sz
-ac.sz
-co.sz
-org.sz
-
-// tc : https://www.iana.org/domains/root/db/tc.html
-tc
-
-// td : https://www.iana.org/domains/root/db/td.html
-td
-
-// tel : https://www.iana.org/domains/root/db/tel.html
-// http://www.telnic.org/
-tel
-
-// tf : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
-tf
-
-// tg : https://www.iana.org/domains/root/db/tg.html
-// http://www.nic.tg/
-tg
-
-// th : https://www.iana.org/domains/root/db/th.html
-// Submitted by registry <[email protected]>
-th
-ac.th
-co.th
-go.th
-in.th
-mi.th
-net.th
-or.th
-
-// tj : http://www.nic.tj/policy.html
-tj
-ac.tj
-biz.tj
-co.tj
-com.tj
-edu.tj
-go.tj
-gov.tj
-int.tj
-mil.tj
-name.tj
-net.tj
-nic.tj
-org.tj
-test.tj
-web.tj
-
-// tk : https://www.iana.org/domains/root/db/tk.html
-tk
-
-// tl : https://www.iana.org/domains/root/db/tl.html
-tl
-gov.tl
-
-// tm : https://www.nic.tm/local.html
-// Confirmed by registry <[email protected]> 2024-11-19
-tm
-co.tm
-com.tm
-edu.tm
-gov.tm
-mil.tm
-net.tm
-nom.tm
-org.tm
-
-// tn : http://www.registre.tn/fr/
-// https://whois.ati.tn/
-tn
-com.tn
-ens.tn
-fin.tn
-gov.tn
-ind.tn
-info.tn
-intl.tn
-mincom.tn
-nat.tn
-net.tn
-org.tn
-perso.tn
-tourism.tn
-
-// to : https://www.iana.org/domains/root/db/to.html
-// Submitted by registry <[email protected]>
-to
-com.to
-edu.to
-gov.to
-mil.to
-net.to
-org.to
-
-// tr : https://nic.tr/
-// https://nic.tr/forms/eng/policies.pdf
-// https://nic.tr/index.php?USRACTN=PRICELST
-tr
-av.tr
-bbs.tr
-bel.tr
-biz.tr
-com.tr
-dr.tr
-edu.tr
-gen.tr
-gov.tr
-info.tr
-k12.tr
-kep.tr
-mil.tr
-name.tr
-net.tr
-org.tr
-pol.tr
-tel.tr
-tsk.tr
-tv.tr
-web.tr
-// Used by Northern Cyprus
-nc.tr
-// Used by government agencies of Northern Cyprus
-gov.nc.tr
-
-// tt : https://www.nic.tt/
-// Confirmed by registry <[email protected]> 2024-11-19
-tt
-biz.tt
-co.tt
-com.tt
-edu.tt
-gov.tt
-info.tt
-mil.tt
-name.tt
-net.tt
-org.tt
-pro.tt
-
-// tv : https://www.iana.org/domains/root/db/tv.html
-// Not listing any 2LDs as reserved since none seem to exist in practice,
-// Wikipedia notwithstanding.
-tv
-
-// tw : https://www.iana.org/domains/root/db/tw.html
-// https://twnic.tw/dnservice_catag.php
-// Confirmed by registry <[email protected]> 2024-11-26
-tw
-club.tw
-com.tw
-ebiz.tw
-edu.tw
-game.tw
-gov.tw
-idv.tw
-mil.tw
-net.tw
-org.tw
-
-// tz : http://www.tznic.or.tz/index.php/domains
-// Submitted by registry <[email protected]>
-tz
-ac.tz
-co.tz
-go.tz
-hotel.tz
-info.tz
-me.tz
-mil.tz
-mobi.tz
-ne.tz
-or.tz
-sc.tz
-tv.tz
-
-// ua : https://hostmaster.ua/policy/?ua
-// Submitted by registry <[email protected]>
-ua
-// ua 2LD
-com.ua
-edu.ua
-gov.ua
-in.ua
-net.ua
-org.ua
-// ua geographic names
-// https://hostmaster.ua/2ld/
-cherkassy.ua
-cherkasy.ua
-chernigov.ua
-chernihiv.ua
-chernivtsi.ua
-chernovtsy.ua
-ck.ua
-cn.ua
-cr.ua
-crimea.ua
-cv.ua
-dn.ua
-dnepropetrovsk.ua
-dnipropetrovsk.ua
-donetsk.ua
-dp.ua
-if.ua
-ivano-frankivsk.ua
-kh.ua
-kharkiv.ua
-kharkov.ua
-kherson.ua
-khmelnitskiy.ua
-khmelnytskyi.ua
-kiev.ua
-kirovograd.ua
-km.ua
-kr.ua
-kropyvnytskyi.ua
-krym.ua
-ks.ua
-kv.ua
-kyiv.ua
-lg.ua
-lt.ua
-lugansk.ua
-luhansk.ua
-lutsk.ua
-lv.ua
-lviv.ua
-mk.ua
-mykolaiv.ua
-nikolaev.ua
-od.ua
-odesa.ua
-odessa.ua
-pl.ua
-poltava.ua
-rivne.ua
-rovno.ua
-rv.ua
-sb.ua
-sebastopol.ua
-sevastopol.ua
-sm.ua
-sumy.ua
-te.ua
-ternopil.ua
-uz.ua
-uzhgorod.ua
-uzhhorod.ua
-vinnica.ua
-vinnytsia.ua
-vn.ua
-volyn.ua
-yalta.ua
-zakarpattia.ua
-zaporizhzhe.ua
-zaporizhzhia.ua
-zhitomir.ua
-zhytomyr.ua
-zp.ua
-zt.ua
-
-// ug : https://www.registry.co.ug/
-// https://www.registry.co.ug, https://whois.co.ug
-// Confirmed by registry <[email protected]> 2025-01-20
-ug
-ac.ug
-co.ug
-com.ug
-edu.ug
-go.ug
-gov.ug
-mil.ug
-ne.ug
-or.ug
-org.ug
-sc.ug
-us.ug
-
-// uk : https://www.iana.org/domains/root/db/uk.html
-// Submitted by registry <[email protected]>
-uk
-ac.uk
-co.uk
-gov.uk
-ltd.uk
-me.uk
-net.uk
-nhs.uk
-org.uk
-plc.uk
-police.uk
-*.sch.uk
-
-// us : https://www.iana.org/domains/root/db/us.html
-// Confirmed via the .us zone file by William Harrison 2024-12-10
-us
-dni.us
-isa.us
-nsn.us
-// Geographic Names
-ak.us
-al.us
-ar.us
-as.us
-az.us
-ca.us
-co.us
-ct.us
-dc.us
-de.us
-fl.us
-ga.us
-gu.us
-hi.us
-ia.us
-id.us
-il.us
-in.us
-ks.us
-ky.us
-la.us
-ma.us
-md.us
-me.us
-mi.us
-mn.us
-mo.us
-ms.us
-mt.us
-nc.us
-nd.us
-ne.us
-nh.us
-nj.us
-nm.us
-nv.us
-ny.us
-oh.us
-ok.us
-or.us
-pa.us
-pr.us
-ri.us
-sc.us
-sd.us
-tn.us
-tx.us
-ut.us
-va.us
-vi.us
-vt.us
-wa.us
-wi.us
-wv.us
-wy.us
-// The registrar notes several more specific domains available in each state,
-// such as state.*.us, dst.*.us, etc., but resolution of these is somewhat
-// haphazard; in some states these domains resolve as addresses, while in others
-// only subdomains are available, or even nothing at all. We include the
-// most common ones where it's clear that different sites are different
-// entities.
-k12.ak.us
-k12.al.us
-k12.ar.us
-k12.as.us
-k12.az.us
-k12.ca.us
-k12.co.us
-k12.ct.us
-k12.dc.us
-k12.fl.us
-k12.ga.us
-k12.gu.us
-// k12.hi.us - Bug 614565 - Hawaii has a state-wide DOE login
-k12.ia.us
-k12.id.us
-k12.il.us
-k12.in.us
-k12.ks.us
-k12.ky.us
-k12.la.us
-k12.ma.us
-k12.md.us
-k12.me.us
-k12.mi.us
-k12.mn.us
-k12.mo.us
-k12.ms.us
-k12.mt.us
-k12.nc.us
-// k12.nd.us - Bug 1028347 - Removed at request of Travis Rosso <[email protected]>
-k12.ne.us
-k12.nh.us
-k12.nj.us
-k12.nm.us
-k12.nv.us
-k12.ny.us
-k12.oh.us
-k12.ok.us
-k12.or.us
-k12.pa.us
-k12.pr.us
-// k12.ri.us - Removed at request of Kim Cournoyer <[email protected]>
-k12.sc.us
-// k12.sd.us - Bug 934131 - Removed at request of James Booze <[email protected]>
-k12.tn.us
-k12.tx.us
-k12.ut.us
-k12.va.us
-k12.vi.us
-k12.vt.us
-k12.wa.us
-k12.wi.us
-// k12.wv.us - Bug 947705 - Removed at request of Verne Britton <[email protected]>
-cc.ak.us
-lib.ak.us
-cc.al.us
-lib.al.us
-cc.ar.us
-lib.ar.us
-cc.as.us
-lib.as.us
-cc.az.us
-lib.az.us
-cc.ca.us
-lib.ca.us
-cc.co.us
-lib.co.us
-cc.ct.us
-lib.ct.us
-cc.dc.us
-lib.dc.us
-cc.de.us
-cc.fl.us
-cc.ga.us
-cc.gu.us
-cc.hi.us
-cc.ia.us
-cc.id.us
-cc.il.us
-cc.in.us
-cc.ks.us
-cc.ky.us
-cc.la.us
-cc.ma.us
-cc.md.us
-cc.me.us
-cc.mi.us
-cc.mn.us
-cc.mo.us
-cc.ms.us
-cc.mt.us
-cc.nc.us
-cc.nd.us
-cc.ne.us
-cc.nh.us
-cc.nj.us
-cc.nm.us
-cc.nv.us
-cc.ny.us
-cc.oh.us
-cc.ok.us
-cc.or.us
-cc.pa.us
-cc.pr.us
-cc.ri.us
-cc.sc.us
-cc.sd.us
-cc.tn.us
-cc.tx.us
-cc.ut.us
-cc.va.us
-cc.vi.us
-cc.vt.us
-cc.wa.us
-cc.wi.us
-cc.wv.us
-cc.wy.us
-k12.wy.us
-// lib.de.us - Issue #243 - Moved to Private section at request of Ed Moore <[email protected]>
-lib.fl.us
-lib.ga.us
-lib.gu.us
-lib.hi.us
-lib.ia.us
-lib.id.us
-lib.il.us
-lib.in.us
-lib.ks.us
-lib.ky.us
-lib.la.us
-lib.ma.us
-lib.md.us
-lib.me.us
-lib.mi.us
-lib.mn.us
-lib.mo.us
-lib.ms.us
-lib.mt.us
-lib.nc.us
-lib.nd.us
-lib.ne.us
-lib.nh.us
-lib.nj.us
-lib.nm.us
-lib.nv.us
-lib.ny.us
-lib.oh.us
-lib.ok.us
-lib.or.us
-lib.pa.us
-lib.pr.us
-lib.ri.us
-lib.sc.us
-lib.sd.us
-lib.tn.us
-lib.tx.us
-lib.ut.us
-lib.va.us
-lib.vi.us
-lib.vt.us
-lib.wa.us
-lib.wi.us
-// lib.wv.us - Bug 941670 - Removed at request of Larry W Arnold <[email protected]>
-lib.wy.us
-// k12.ma.us contains school districts in Massachusetts. The 4LDs are
-// managed independently except for private (PVT), charter (CHTR) and
-// parochial (PAROCH) schools. Those are delegated directly to the
-// 5LD operators. <[email protected]>
-chtr.k12.ma.us
-paroch.k12.ma.us
-pvt.k12.ma.us
-// Merit Network, Inc. maintains the registry for =~ /(k12|cc|lib).mi.us/ and the following
-// see also: https://domreg.merit.edu : [email protected]
-// see also: whois -h whois.domreg.merit.edu help
-ann-arbor.mi.us
-cog.mi.us
-dst.mi.us
-eaton.mi.us
-gen.mi.us
-mus.mi.us
-tec.mi.us
-washtenaw.mi.us
-
-// uy : http://www.nic.org.uy/
-uy
-com.uy
-edu.uy
-gub.uy
-mil.uy
-net.uy
-org.uy
-
-// uz : http://www.reg.uz/
-uz
-co.uz
-com.uz
-net.uz
-org.uz
-
-// va : https://www.iana.org/domains/root/db/va.html
-va
-
-// vc : https://www.iana.org/domains/root/db/vc.html
-// Submitted by registry <[email protected]>
-vc
-com.vc
-edu.vc
-gov.vc
-mil.vc
-net.vc
-org.vc
-
-// ve : https://registro.nic.ve/
-// Submitted by registry [email protected] and [email protected]
-ve
-arts.ve
-bib.ve
-co.ve
-com.ve
-e12.ve
-edu.ve
-firm.ve
-gob.ve
-gov.ve
-info.ve
-int.ve
-mil.ve
-net.ve
-nom.ve
-org.ve
-rar.ve
-rec.ve
-store.ve
-tec.ve
-web.ve
-
-// vg : https://www.iana.org/domains/root/db/vg.html
-// Confirmed by registry <[email protected]> 2025-01-10
-vg
-edu.vg
-
-// vi : https://www.iana.org/domains/root/db/vi.html
-vi
-co.vi
-com.vi
-k12.vi
-net.vi
-org.vi
-
-// vn : https://www.vnnic.vn/en/domain/cctld-vn
-// https://vnnic.vn/sites/default/files/tailieu/vn.cctld.domains.txt
-vn
-ac.vn
-ai.vn
-biz.vn
-com.vn
-edu.vn
-gov.vn
-health.vn
-id.vn
-info.vn
-int.vn
-io.vn
-name.vn
-net.vn
-org.vn
-pro.vn
-
-// vn geographical names
-angiang.vn
-bacgiang.vn
-backan.vn
-baclieu.vn
-bacninh.vn
-baria-vungtau.vn
-bentre.vn
-binhdinh.vn
-binhduong.vn
-binhphuoc.vn
-binhthuan.vn
-camau.vn
-cantho.vn
-caobang.vn
-daklak.vn
-daknong.vn
-danang.vn
-dienbien.vn
-dongnai.vn
-dongthap.vn
-gialai.vn
-hagiang.vn
-haiduong.vn
-haiphong.vn
-hanam.vn
-hanoi.vn
-hatinh.vn
-haugiang.vn
-hoabinh.vn
-hungyen.vn
-khanhhoa.vn
-kiengiang.vn
-kontum.vn
-laichau.vn
-lamdong.vn
-langson.vn
-laocai.vn
-longan.vn
-namdinh.vn
-nghean.vn
-ninhbinh.vn
-ninhthuan.vn
-phutho.vn
-phuyen.vn
-quangbinh.vn
-quangnam.vn
-quangngai.vn
-quangninh.vn
-quangtri.vn
-soctrang.vn
-sonla.vn
-tayninh.vn
-thaibinh.vn
-thainguyen.vn
-thanhhoa.vn
-thanhphohochiminh.vn
-thuathienhue.vn
-tiengiang.vn
-travinh.vn
-tuyenquang.vn
-vinhlong.vn
-vinhphuc.vn
-yenbai.vn
-
-// vu : https://www.iana.org/domains/root/db/vu.html
-// http://www.vunic.vu/
-vu
-com.vu
-edu.vu
-net.vu
-org.vu
-
-// wf : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
-wf
-
-// ws : https://www.iana.org/domains/root/db/ws.html
-// http://samoanic.ws/index.dhtml
-ws
-com.ws
-edu.ws
-gov.ws
-net.ws
-org.ws
-
-// yt : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
-yt
-
-// IDN ccTLDs
-// When submitting patches, please maintain a sort by ISO 3166 ccTLD, then
-// U-label, and follow this format:
-// // A-Label ("<Latin renderings>", <language name>[, variant info]) : <ISO 3166 ccTLD>
-// // [sponsoring org]
-// U-Label
-
-// xn--mgbaam7a8h ("Emerat", Arabic) : AE
-// http://nic.ae/english/arabicdomain/rules.jsp
-امارات
-
-// xn--y9a3aq ("hye", Armenian) : AM
-// ISOC AM (operated by .am Registry)
-հայ
-
-// xn--54b7fta0cc ("Bangla", Bangla) : BD
-বাংলা
-
-// xn--90ae ("bg", Bulgarian) : BG
-бг
-
-// xn--mgbcpq6gpa1a ("albahrain", Arabic) : BH
-البحرين
-
-// xn--90ais ("bel", Belarusian/Russian Cyrillic) : BY
-// Operated by .by registry
-бел
-
-// xn--fiqs8s ("Zhongguo/China", Chinese, Simplified) : CN
-// CNNIC
-// https://www.cnnic.cn/11/192/index.html
-中国
-
-// xn--fiqz9s ("Zhongguo/China", Chinese, Traditional) : CN
-// CNNIC
-// https://www.cnnic.com.cn/AU/MediaC/Announcement/201609/t20160905_54470.htm
-中國
-
-// xn--lgbbat1ad8j ("Algeria/Al Jazair", Arabic) : DZ
-الجزائر
-
-// xn--wgbh1c ("Egypt/Masr", Arabic) : EG
-// http://www.dotmasr.eg/
-مصر
-
-// xn--e1a4c ("eu", Cyrillic) : EU
-// https://eurid.eu
-ею
-
-// xn--qxa6a ("eu", Greek) : EU
-// https://eurid.eu
-ευ
-
-// xn--mgbah1a3hjkrd ("Mauritania", Arabic) : MR
-موريتانيا
-
-// xn--node ("ge", Georgian Mkhedruli) : GE
-გე
-
-// xn--qxam ("el", Greek) : GR
-// Hellenic Ministry of Infrastructure, Transport, and Networks
-ελ
-
-// xn--j6w193g ("Hong Kong", Chinese) : HK
-// https://www.hkirc.hk
-// Submitted by registry <[email protected]>
-// https://www.hkirc.hk/content.jsp?id=30#!/34
-香港
-個人.香港
-公司.香港
-政府.香港
-教育.香港
-組織.香港
-網絡.香港
-
-// xn--2scrj9c ("Bharat", Kannada) : IN
-// India
-ಭಾರತ
-
-// xn--3hcrj9c ("Bharat", Oriya) : IN
-// India
-ଭାରତ
-
-// xn--45br5cyl ("Bharatam", Assamese) : IN
-// India
-ভাৰত
-
-// xn--h2breg3eve ("Bharatam", Sanskrit) : IN
-// India
-भारतम्
-
-// xn--h2brj9c8c ("Bharot", Santali) : IN
-// India
-भारोत
-
-// xn--mgbgu82a ("Bharat", Sindhi) : IN
-// India
-ڀارت
-
-// xn--rvc1e0am3e ("Bharatam", Malayalam) : IN
-// India
-ഭാരതം
-
-// xn--h2brj9c ("Bharat", Devanagari) : IN
-// India
-भारत
-
-// xn--mgbbh1a ("Bharat", Kashmiri) : IN
-// India
-بارت
-
-// xn--mgbbh1a71e ("Bharat", Arabic) : IN
-// India
-بھارت
-
-// xn--fpcrj9c3d ("Bharat", Telugu) : IN
-// India
-భారత్
-
-// xn--gecrj9c ("Bharat", Gujarati) : IN
-// India
-ભારત
-
-// xn--s9brj9c ("Bharat", Gurmukhi) : IN
-// India
-ਭਾਰਤ
-
-// xn--45brj9c ("Bharat", Bengali) : IN
-// India
-ভারত
-
-// xn--xkc2dl3a5ee0h ("India", Tamil) : IN
-// India
-இந்தியா
-
-// xn--mgba3a4f16a ("Iran", Persian) : IR
-ایران
-
-// xn--mgba3a4fra ("Iran", Arabic) : IR
-ايران
-
-// xn--mgbtx2b ("Iraq", Arabic) : IQ
-// Communications and Media Commission
-عراق
-
-// xn--mgbayh7gpa ("al-Ordon", Arabic) : JO
-// National Information Technology Center (NITC)
-// Royal Scientific Society, Al-Jubeiha
-الاردن
-
-// xn--3e0b707e ("Republic of Korea", Hangul) : KR
-한국
-
-// xn--80ao21a ("Kaz", Kazakh) : KZ
-қаз
-
-// xn--q7ce6a ("Lao", Lao) : LA
-ລາວ
-
-// xn--fzc2c9e2c ("Lanka", Sinhalese-Sinhala) : LK
-// https://nic.lk
-ලංකා
-
-// xn--xkc2al3hye2a ("Ilangai", Tamil) : LK
-// https://nic.lk
-இலங்கை
-
-// xn--mgbc0a9azcg ("Morocco/al-Maghrib", Arabic) : MA
-المغرب
-
-// xn--d1alf ("mkd", Macedonian) : MK
-// MARnet
-мкд
-
-// xn--l1acc ("mon", Mongolian) : MN
-мон
-
-// xn--mix891f ("Macao", Chinese, Traditional) : MO
-// MONIC / HNET Asia (Registry Operator for .mo)
-澳門
-
-// xn--mix082f ("Macao", Chinese, Simplified) : MO
-澳门
-
-// xn--mgbx4cd0ab ("Malaysia", Malay) : MY
-مليسيا
-
-// xn--mgb9awbf ("Oman", Arabic) : OM
-عمان
-
-// xn--mgbai9azgqp6j ("Pakistan", Urdu/Arabic) : PK
-پاکستان
-
-// xn--mgbai9a5eva00b ("Pakistan", Urdu/Arabic, variant) : PK
-پاكستان
-
-// xn--ygbi2ammx ("Falasteen", Arabic) : PS
-// The Palestinian National Internet Naming Authority (PNINA)
-// http://www.pnina.ps
-فلسطين
-
-// xn--90a3ac ("srb", Cyrillic) : RS
-// https://www.rnids.rs/en/domains/national-domains
-срб
-ак.срб
-обр.срб
-од.срб
-орг.срб
-пр.срб
-упр.срб
-
-// xn--p1ai ("rf", Russian-Cyrillic) : RU
-// https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
-// Submitted by George Georgievsky <[email protected]>
-рф
-
-// xn--wgbl6a ("Qatar", Arabic) : QA
-// http://www.ict.gov.qa/
-قطر
-
-// xn--mgberp4a5d4ar ("AlSaudiah", Arabic) : SA
-// http://www.nic.net.sa/
-السعودية
-
-// xn--mgberp4a5d4a87g ("AlSaudiah", Arabic, variant): SA
-السعودیة
-
-// xn--mgbqly7c0a67fbc ("AlSaudiah", Arabic, variant) : SA
-السعودیۃ
-
-// xn--mgbqly7cvafr ("AlSaudiah", Arabic, variant) : SA
-السعوديه
-
-// xn--mgbpl2fh ("sudan", Arabic) : SD
-// Operated by .sd registry
-سودان
-
-// xn--yfro4i67o Singapore ("Singapore", Chinese) : SG
-新加坡
-
-// xn--clchc0ea0b2g2a9gcd ("Singapore", Tamil) : SG
-சிங்கப்பூர்
-
-// xn--ogbpf8fl ("Syria", Arabic) : SY
-سورية
-
-// xn--mgbtf8fl ("Syria", Arabic, variant) : SY
-سوريا
-
-// xn--o3cw4h ("Thai", Thai) : TH
-// http://www.thnic.co.th
-ไทย
-ทหาร.ไทย
-ธุรกิจ.ไทย
-เน็ต.ไทย
-รัฐบาล.ไทย
-ศึกษา.ไทย
-องค์กร.ไทย
-
-// xn--pgbs0dh ("Tunisia", Arabic) : TN
-// http://nic.tn
-تونس
-
-// xn--kpry57d ("Taiwan", Chinese, Traditional) : TW
-// https://twnic.tw/dnservice_catag.php
-台灣
-
-// xn--kprw13d ("Taiwan", Chinese, Simplified) : TW
-// http://www.twnic.net/english/dn/dn_07a.htm
-台湾
-
-// xn--nnx388a ("Taiwan", Chinese, variant) : TW
-臺灣
-
-// xn--j1amh ("ukr", Cyrillic) : UA
-укр
-
-// xn--mgb2ddes ("AlYemen", Arabic) : YE
-اليمن
-
-// xxx : http://icmregistry.com
-xxx
-
-// ye : http://www.y.net.ye/services/domain_name.htm
-ye
-com.ye
-edu.ye
-gov.ye
-mil.ye
-net.ye
-org.ye
-
-// za : https://www.iana.org/domains/root/db/za.html
-ac.za
-agric.za
-alt.za
-co.za
-edu.za
-gov.za
-grondar.za
-law.za
-mil.za
-net.za
-ngo.za
-nic.za
-nis.za
-nom.za
-org.za
-school.za
-tm.za
-web.za
-
-// zm : https://zicta.zm/
-// Submitted by registry <[email protected]>
-zm
-ac.zm
-biz.zm
-co.zm
-com.zm
-edu.zm
-gov.zm
-info.zm
-mil.zm
-net.zm
-org.zm
-sch.zm
-
-// zw : https://www.potraz.gov.zw/
-// Confirmed by registry <[email protected]> 2017-01-25
-zw
-ac.zw
-co.zw
-gov.zw
-mil.zw
-org.zw
-
-// newGTLDs
-
-// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2024-12-23T15:16:32Z
-// This list is auto-generated, don't edit it manually.
-// aaa : American Automobile Association, Inc.
-// https://www.iana.org/domains/root/db/aaa.html
-aaa
-
-// aarp : AARP
-// https://www.iana.org/domains/root/db/aarp.html
-aarp
-
-// abb : ABB Ltd
-// https://www.iana.org/domains/root/db/abb.html
-abb
-
-// abbott : Abbott Laboratories, Inc.
-// https://www.iana.org/domains/root/db/abbott.html
-abbott
-
-// abbvie : AbbVie Inc.
-// https://www.iana.org/domains/root/db/abbvie.html
-abbvie
-
-// abc : Disney Enterprises, Inc.
-// https://www.iana.org/domains/root/db/abc.html
-abc
-
-// able : Able Inc.
-// https://www.iana.org/domains/root/db/able.html
-able
-
-// abogado : Registry Services, LLC
-// https://www.iana.org/domains/root/db/abogado.html
-abogado
-
-// abudhabi : Abu Dhabi Systems and Information Centre
-// https://www.iana.org/domains/root/db/abudhabi.html
-abudhabi
-
-// academy : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/academy.html
-academy
-
-// accenture : Accenture plc
-// https://www.iana.org/domains/root/db/accenture.html
-accenture
-
-// accountant : dot Accountant Limited
-// https://www.iana.org/domains/root/db/accountant.html
-accountant
-
-// accountants : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/accountants.html
-accountants
-
-// aco : ACO Severin Ahlmann GmbH & Co. KG
-// https://www.iana.org/domains/root/db/aco.html
-aco
-
-// actor : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/actor.html
-actor
-
-// ads : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/ads.html
-ads
-
-// adult : ICM Registry AD LLC
-// https://www.iana.org/domains/root/db/adult.html
-adult
-
-// aeg : Aktiebolaget Electrolux
-// https://www.iana.org/domains/root/db/aeg.html
-aeg
-
-// aetna : Aetna Life Insurance Company
-// https://www.iana.org/domains/root/db/aetna.html
-aetna
-
-// afl : Australian Football League
-// https://www.iana.org/domains/root/db/afl.html
-afl
-
-// africa : ZA Central Registry NPC trading as Registry.Africa
-// https://www.iana.org/domains/root/db/africa.html
-africa
-
-// agakhan : Fondation Aga Khan (Aga Khan Foundation)
-// https://www.iana.org/domains/root/db/agakhan.html
-agakhan
-
-// agency : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/agency.html
-agency
-
-// aig : American International Group, Inc.
-// https://www.iana.org/domains/root/db/aig.html
-aig
-
-// airbus : Airbus S.A.S.
-// https://www.iana.org/domains/root/db/airbus.html
-airbus
-
-// airforce : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/airforce.html
-airforce
-
-// airtel : Bharti Airtel Limited
-// https://www.iana.org/domains/root/db/airtel.html
-airtel
-
-// akdn : Fondation Aga Khan (Aga Khan Foundation)
-// https://www.iana.org/domains/root/db/akdn.html
-akdn
-
-// alibaba : Alibaba Group Holding Limited
-// https://www.iana.org/domains/root/db/alibaba.html
-alibaba
-
-// alipay : Alibaba Group Holding Limited
-// https://www.iana.org/domains/root/db/alipay.html
-alipay
-
-// allfinanz : Allfinanz Deutsche Vermögensberatung Aktiengesellschaft
-// https://www.iana.org/domains/root/db/allfinanz.html
-allfinanz
-
-// allstate : Allstate Fire and Casualty Insurance Company
-// https://www.iana.org/domains/root/db/allstate.html
-allstate
-
-// ally : Ally Financial Inc.
-// https://www.iana.org/domains/root/db/ally.html
-ally
-
-// alsace : Region Grand Est
-// https://www.iana.org/domains/root/db/alsace.html
-alsace
-
-// alstom : ALSTOM
-// https://www.iana.org/domains/root/db/alstom.html
-alstom
-
-// amazon : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/amazon.html
-amazon
-
-// americanexpress : American Express Travel Related Services Company, Inc.
-// https://www.iana.org/domains/root/db/americanexpress.html
-americanexpress
-
-// americanfamily : AmFam, Inc.
-// https://www.iana.org/domains/root/db/americanfamily.html
-americanfamily
-
-// amex : American Express Travel Related Services Company, Inc.
-// https://www.iana.org/domains/root/db/amex.html
-amex
-
-// amfam : AmFam, Inc.
-// https://www.iana.org/domains/root/db/amfam.html
-amfam
-
-// amica : Amica Mutual Insurance Company
-// https://www.iana.org/domains/root/db/amica.html
-amica
-
-// amsterdam : Gemeente Amsterdam
-// https://www.iana.org/domains/root/db/amsterdam.html
-amsterdam
-
-// analytics : Campus IP LLC
-// https://www.iana.org/domains/root/db/analytics.html
-analytics
-
-// android : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/android.html
-android
-
-// anquan : Beijing Qihu Keji Co., Ltd.
-// https://www.iana.org/domains/root/db/anquan.html
-anquan
-
-// anz : Australia and New Zealand Banking Group Limited
-// https://www.iana.org/domains/root/db/anz.html
-anz
-
-// aol : Yahoo Inc.
-// https://www.iana.org/domains/root/db/aol.html
-aol
-
-// apartments : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/apartments.html
-apartments
-
-// app : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/app.html
-app
-
-// apple : Apple Inc.
-// https://www.iana.org/domains/root/db/apple.html
-apple
-
-// aquarelle : Aquarelle.com
-// https://www.iana.org/domains/root/db/aquarelle.html
-aquarelle
-
-// arab : League of Arab States
-// https://www.iana.org/domains/root/db/arab.html
-arab
-
-// aramco : Aramco Services Company
-// https://www.iana.org/domains/root/db/aramco.html
-aramco
-
-// archi : Identity Digital Limited
-// https://www.iana.org/domains/root/db/archi.html
-archi
-
-// army : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/army.html
-army
-
-// art : UK Creative Ideas Limited
-// https://www.iana.org/domains/root/db/art.html
-art
-
-// arte : Association Relative à la Télévision Européenne G.E.I.E.
-// https://www.iana.org/domains/root/db/arte.html
-arte
-
-// asda : Asda Stores Limited
-// https://www.iana.org/domains/root/db/asda.html
-asda
-
-// associates : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/associates.html
-associates
-
-// athleta : The Gap, Inc.
-// https://www.iana.org/domains/root/db/athleta.html
-athleta
-
-// attorney : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/attorney.html
-attorney
-
-// auction : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/auction.html
-auction
-
-// audi : AUDI Aktiengesellschaft
-// https://www.iana.org/domains/root/db/audi.html
-audi
-
-// audible : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/audible.html
-audible
-
-// audio : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/audio.html
-audio
-
-// auspost : Australian Postal Corporation
-// https://www.iana.org/domains/root/db/auspost.html
-auspost
-
-// author : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/author.html
-author
-
-// auto : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/auto.html
-auto
-
-// autos : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/autos.html
-autos
-
-// aws : AWS Registry LLC
-// https://www.iana.org/domains/root/db/aws.html
-aws
-
-// axa : AXA Group Operations SAS
-// https://www.iana.org/domains/root/db/axa.html
-axa
-
-// azure : Microsoft Corporation
-// https://www.iana.org/domains/root/db/azure.html
-azure
-
-// baby : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/baby.html
-baby
-
-// baidu : Baidu, Inc.
-// https://www.iana.org/domains/root/db/baidu.html
-baidu
-
-// banamex : Citigroup Inc.
-// https://www.iana.org/domains/root/db/banamex.html
-banamex
-
-// band : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/band.html
-band
-
-// bank : fTLD Registry Services LLC
-// https://www.iana.org/domains/root/db/bank.html
-bank
-
-// bar : Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable
-// https://www.iana.org/domains/root/db/bar.html
-bar
-
-// barcelona : Municipi de Barcelona
-// https://www.iana.org/domains/root/db/barcelona.html
-barcelona
-
-// barclaycard : Barclays Bank PLC
-// https://www.iana.org/domains/root/db/barclaycard.html
-barclaycard
-
-// barclays : Barclays Bank PLC
-// https://www.iana.org/domains/root/db/barclays.html
-barclays
-
-// barefoot : Gallo Vineyards, Inc.
-// https://www.iana.org/domains/root/db/barefoot.html
-barefoot
-
-// bargains : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/bargains.html
-bargains
-
-// baseball : MLB Advanced Media DH, LLC
-// https://www.iana.org/domains/root/db/baseball.html
-baseball
-
-// basketball : Fédération Internationale de Basketball (FIBA)
-// https://www.iana.org/domains/root/db/basketball.html
-basketball
-
-// bauhaus : Werkhaus GmbH
-// https://www.iana.org/domains/root/db/bauhaus.html
-bauhaus
-
-// bayern : Bayern Connect GmbH
-// https://www.iana.org/domains/root/db/bayern.html
-bayern
-
-// bbc : British Broadcasting Corporation
-// https://www.iana.org/domains/root/db/bbc.html
-bbc
-
-// bbt : BB&T Corporation
-// https://www.iana.org/domains/root/db/bbt.html
-bbt
-
-// bbva : BANCO BILBAO VIZCAYA ARGENTARIA, S.A.
-// https://www.iana.org/domains/root/db/bbva.html
-bbva
-
-// bcg : The Boston Consulting Group, Inc.
-// https://www.iana.org/domains/root/db/bcg.html
-bcg
-
-// bcn : Municipi de Barcelona
-// https://www.iana.org/domains/root/db/bcn.html
-bcn
-
-// beats : Beats Electronics, LLC
-// https://www.iana.org/domains/root/db/beats.html
-beats
-
-// beauty : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/beauty.html
-beauty
-
-// beer : Registry Services, LLC
-// https://www.iana.org/domains/root/db/beer.html
-beer
-
-// bentley : Bentley Motors Limited
-// https://www.iana.org/domains/root/db/bentley.html
-bentley
-
-// berlin : dotBERLIN GmbH & Co. KG
-// https://www.iana.org/domains/root/db/berlin.html
-berlin
-
-// best : BestTLD Pty Ltd
-// https://www.iana.org/domains/root/db/best.html
-best
-
-// bestbuy : BBY Solutions, Inc.
-// https://www.iana.org/domains/root/db/bestbuy.html
-bestbuy
-
-// bet : Identity Digital Limited
-// https://www.iana.org/domains/root/db/bet.html
-bet
-
-// bharti : Bharti Enterprises (Holding) Private Limited
-// https://www.iana.org/domains/root/db/bharti.html
-bharti
-
-// bible : American Bible Society
-// https://www.iana.org/domains/root/db/bible.html
-bible
-
-// bid : dot Bid Limited
-// https://www.iana.org/domains/root/db/bid.html
-bid
-
-// bike : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/bike.html
-bike
-
-// bing : Microsoft Corporation
-// https://www.iana.org/domains/root/db/bing.html
-bing
-
-// bingo : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/bingo.html
-bingo
-
-// bio : Identity Digital Limited
-// https://www.iana.org/domains/root/db/bio.html
-bio
-
-// black : Identity Digital Limited
-// https://www.iana.org/domains/root/db/black.html
-black
-
-// blackfriday : Registry Services, LLC
-// https://www.iana.org/domains/root/db/blackfriday.html
-blackfriday
-
-// blockbuster : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/blockbuster.html
-blockbuster
-
-// blog : Knock Knock WHOIS There, LLC
-// https://www.iana.org/domains/root/db/blog.html
-blog
-
-// bloomberg : Bloomberg IP Holdings LLC
-// https://www.iana.org/domains/root/db/bloomberg.html
-bloomberg
-
-// blue : Identity Digital Limited
-// https://www.iana.org/domains/root/db/blue.html
-blue
-
-// bms : Bristol-Myers Squibb Company
-// https://www.iana.org/domains/root/db/bms.html
-bms
-
-// bmw : Bayerische Motoren Werke Aktiengesellschaft
-// https://www.iana.org/domains/root/db/bmw.html
-bmw
-
-// bnpparibas : BNP Paribas
-// https://www.iana.org/domains/root/db/bnpparibas.html
-bnpparibas
-
-// boats : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/boats.html
-boats
-
-// boehringer : Boehringer Ingelheim International GmbH
-// https://www.iana.org/domains/root/db/boehringer.html
-boehringer
-
-// bofa : Bank of America Corporation
-// https://www.iana.org/domains/root/db/bofa.html
-bofa
-
-// bom : Núcleo de Informação e Coordenação do Ponto BR - NIC.br
-// https://www.iana.org/domains/root/db/bom.html
-bom
-
-// bond : ShortDot SA
-// https://www.iana.org/domains/root/db/bond.html
-bond
-
-// boo : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/boo.html
-boo
-
-// book : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/book.html
-book
-
-// booking : Booking.com B.V.
-// https://www.iana.org/domains/root/db/booking.html
-booking
-
-// bosch : Robert Bosch GMBH
-// https://www.iana.org/domains/root/db/bosch.html
-bosch
-
-// bostik : Bostik SA
-// https://www.iana.org/domains/root/db/bostik.html
-bostik
-
-// boston : Registry Services, LLC
-// https://www.iana.org/domains/root/db/boston.html
-boston
-
-// bot : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/bot.html
-bot
-
-// boutique : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/boutique.html
-boutique
-
-// box : Intercap Registry Inc.
-// https://www.iana.org/domains/root/db/box.html
-box
-
-// bradesco : Banco Bradesco S.A.
-// https://www.iana.org/domains/root/db/bradesco.html
-bradesco
-
-// bridgestone : Bridgestone Corporation
-// https://www.iana.org/domains/root/db/bridgestone.html
-bridgestone
-
-// broadway : Celebrate Broadway, Inc.
-// https://www.iana.org/domains/root/db/broadway.html
-broadway
-
-// broker : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/broker.html
-broker
-
-// brother : Brother Industries, Ltd.
-// https://www.iana.org/domains/root/db/brother.html
-brother
-
-// brussels : DNS.be vzw
-// https://www.iana.org/domains/root/db/brussels.html
-brussels
-
-// build : Plan Bee LLC
-// https://www.iana.org/domains/root/db/build.html
-build
-
-// builders : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/builders.html
-builders
-
-// business : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/business.html
-business
-
-// buy : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/buy.html
-buy
-
-// buzz : DOTSTRATEGY CO.
-// https://www.iana.org/domains/root/db/buzz.html
-buzz
-
-// bzh : Association www.bzh
-// https://www.iana.org/domains/root/db/bzh.html
-bzh
-
-// cab : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cab.html
-cab
-
-// cafe : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cafe.html
-cafe
-
-// cal : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/cal.html
-cal
-
-// call : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/call.html
-call
-
-// calvinklein : PVH gTLD Holdings LLC
-// https://www.iana.org/domains/root/db/calvinklein.html
-calvinklein
-
-// cam : Cam Connecting SARL
-// https://www.iana.org/domains/root/db/cam.html
-cam
-
-// camera : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/camera.html
-camera
-
-// camp : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/camp.html
-camp
-
-// canon : Canon Inc.
-// https://www.iana.org/domains/root/db/canon.html
-canon
-
-// capetown : ZA Central Registry NPC trading as ZA Central Registry
-// https://www.iana.org/domains/root/db/capetown.html
-capetown
-
-// capital : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/capital.html
-capital
-
-// capitalone : Capital One Financial Corporation
-// https://www.iana.org/domains/root/db/capitalone.html
-capitalone
-
-// car : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/car.html
-car
-
-// caravan : Caravan International, Inc.
-// https://www.iana.org/domains/root/db/caravan.html
-caravan
-
-// cards : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cards.html
-cards
-
-// care : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/care.html
-care
-
-// career : dotCareer LLC
-// https://www.iana.org/domains/root/db/career.html
-career
-
-// careers : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/careers.html
-careers
-
-// cars : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/cars.html
-cars
-
-// casa : Registry Services, LLC
-// https://www.iana.org/domains/root/db/casa.html
-casa
-
-// case : Digity, LLC
-// https://www.iana.org/domains/root/db/case.html
-case
-
-// cash : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cash.html
-cash
-
-// casino : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/casino.html
-casino
-
-// catering : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/catering.html
-catering
-
-// catholic : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
-// https://www.iana.org/domains/root/db/catholic.html
-catholic
-
-// cba : COMMONWEALTH BANK OF AUSTRALIA
-// https://www.iana.org/domains/root/db/cba.html
-cba
-
-// cbn : The Christian Broadcasting Network, Inc.
-// https://www.iana.org/domains/root/db/cbn.html
-cbn
-
-// cbre : CBRE, Inc.
-// https://www.iana.org/domains/root/db/cbre.html
-cbre
-
-// center : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/center.html
-center
-
-// ceo : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/ceo.html
-ceo
-
-// cern : European Organization for Nuclear Research ("CERN")
-// https://www.iana.org/domains/root/db/cern.html
-cern
-
-// cfa : CFA Institute
-// https://www.iana.org/domains/root/db/cfa.html
-cfa
-
-// cfd : ShortDot SA
-// https://www.iana.org/domains/root/db/cfd.html
-cfd
-
-// chanel : Chanel International B.V.
-// https://www.iana.org/domains/root/db/chanel.html
-chanel
-
-// channel : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/channel.html
-channel
-
-// charity : Public Interest Registry
-// https://www.iana.org/domains/root/db/charity.html
-charity
-
-// chase : JPMorgan Chase Bank, National Association
-// https://www.iana.org/domains/root/db/chase.html
-chase
-
-// chat : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/chat.html
-chat
-
-// cheap : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cheap.html
-cheap
-
-// chintai : CHINTAI Corporation
-// https://www.iana.org/domains/root/db/chintai.html
-chintai
-
-// christmas : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/christmas.html
-christmas
-
-// chrome : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/chrome.html
-chrome
-
-// church : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/church.html
-church
-
-// cipriani : Hotel Cipriani Srl
-// https://www.iana.org/domains/root/db/cipriani.html
-cipriani
-
-// circle : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/circle.html
-circle
-
-// cisco : Cisco Technology, Inc.
-// https://www.iana.org/domains/root/db/cisco.html
-cisco
-
-// citadel : Citadel Domain LLC
-// https://www.iana.org/domains/root/db/citadel.html
-citadel
-
-// citi : Citigroup Inc.
-// https://www.iana.org/domains/root/db/citi.html
-citi
-
-// citic : CITIC Group Corporation
-// https://www.iana.org/domains/root/db/citic.html
-citic
-
-// city : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/city.html
-city
-
-// claims : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/claims.html
-claims
-
-// cleaning : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cleaning.html
-cleaning
-
-// click : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/click.html
-click
-
-// clinic : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/clinic.html
-clinic
-
-// clinique : The Estée Lauder Companies Inc.
-// https://www.iana.org/domains/root/db/clinique.html
-clinique
-
-// clothing : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/clothing.html
-clothing
-
-// cloud : Aruba PEC S.p.A.
-// https://www.iana.org/domains/root/db/cloud.html
-cloud
-
-// club : Registry Services, LLC
-// https://www.iana.org/domains/root/db/club.html
-club
-
-// clubmed : Club Méditerranée S.A.
-// https://www.iana.org/domains/root/db/clubmed.html
-clubmed
-
-// coach : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/coach.html
-coach
-
-// codes : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/codes.html
-codes
-
-// coffee : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/coffee.html
-coffee
-
-// college : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/college.html
-college
-
-// cologne : dotKoeln GmbH
-// https://www.iana.org/domains/root/db/cologne.html
-cologne
-
-// commbank : COMMONWEALTH BANK OF AUSTRALIA
-// https://www.iana.org/domains/root/db/commbank.html
-commbank
-
-// community : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/community.html
-community
-
-// company : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/company.html
-company
-
-// compare : Registry Services, LLC
-// https://www.iana.org/domains/root/db/compare.html
-compare
-
-// computer : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/computer.html
-computer
-
-// comsec : VeriSign, Inc.
-// https://www.iana.org/domains/root/db/comsec.html
-comsec
-
-// condos : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/condos.html
-condos
-
-// construction : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/construction.html
-construction
-
-// consulting : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/consulting.html
-consulting
-
-// contact : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/contact.html
-contact
-
-// contractors : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/contractors.html
-contractors
-
-// cooking : Registry Services, LLC
-// https://www.iana.org/domains/root/db/cooking.html
-cooking
-
-// cool : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cool.html
-cool
-
-// corsica : Collectivité de Corse
-// https://www.iana.org/domains/root/db/corsica.html
-corsica
-
-// country : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/country.html
-country
-
-// coupon : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/coupon.html
-coupon
-
-// coupons : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/coupons.html
-coupons
-
-// courses : Registry Services, LLC
-// https://www.iana.org/domains/root/db/courses.html
-courses
-
-// cpa : American Institute of Certified Public Accountants
-// https://www.iana.org/domains/root/db/cpa.html
-cpa
-
-// credit : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/credit.html
-credit
-
-// creditcard : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/creditcard.html
-creditcard
-
-// creditunion : DotCooperation LLC
-// https://www.iana.org/domains/root/db/creditunion.html
-creditunion
-
-// cricket : dot Cricket Limited
-// https://www.iana.org/domains/root/db/cricket.html
-cricket
-
-// crown : Crown Equipment Corporation
-// https://www.iana.org/domains/root/db/crown.html
-crown
-
-// crs : Federated Co-operatives Limited
-// https://www.iana.org/domains/root/db/crs.html
-crs
-
-// cruise : Viking River Cruises (Bermuda) Ltd.
-// https://www.iana.org/domains/root/db/cruise.html
-cruise
-
-// cruises : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/cruises.html
-cruises
-
-// cuisinella : SCHMIDT GROUPE S.A.S.
-// https://www.iana.org/domains/root/db/cuisinella.html
-cuisinella
-
-// cymru : Nominet UK
-// https://www.iana.org/domains/root/db/cymru.html
-cymru
-
-// cyou : ShortDot SA
-// https://www.iana.org/domains/root/db/cyou.html
-cyou
-
-// dad : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/dad.html
-dad
-
-// dance : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/dance.html
-dance
-
-// data : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/data.html
-data
-
-// date : dot Date Limited
-// https://www.iana.org/domains/root/db/date.html
-date
-
-// dating : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/dating.html
-dating
-
-// datsun : NISSAN MOTOR CO., LTD.
-// https://www.iana.org/domains/root/db/datsun.html
-datsun
-
-// day : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/day.html
-day
-
-// dclk : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/dclk.html
-dclk
-
-// dds : Registry Services, LLC
-// https://www.iana.org/domains/root/db/dds.html
-dds
-
-// deal : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/deal.html
-deal
-
-// dealer : Intercap Registry Inc.
-// https://www.iana.org/domains/root/db/dealer.html
-dealer
-
-// deals : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/deals.html
-deals
-
-// degree : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/degree.html
-degree
-
-// delivery : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/delivery.html
-delivery
-
-// dell : Dell Inc.
-// https://www.iana.org/domains/root/db/dell.html
-dell
-
-// deloitte : Deloitte Touche Tohmatsu
-// https://www.iana.org/domains/root/db/deloitte.html
-deloitte
-
-// delta : Delta Air Lines, Inc.
-// https://www.iana.org/domains/root/db/delta.html
-delta
-
-// democrat : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/democrat.html
-democrat
-
-// dental : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/dental.html
-dental
-
-// dentist : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/dentist.html
-dentist
-
-// desi
-// https://www.iana.org/domains/root/db/desi.html
-desi
-
-// design : Registry Services, LLC
-// https://www.iana.org/domains/root/db/design.html
-design
-
-// dev : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/dev.html
-dev
-
-// dhl : Deutsche Post AG
-// https://www.iana.org/domains/root/db/dhl.html
-dhl
-
-// diamonds : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/diamonds.html
-diamonds
-
-// diet : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/diet.html
-diet
-
-// digital : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/digital.html
-digital
-
-// direct : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/direct.html
-direct
-
-// directory : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/directory.html
-directory
-
-// discount : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/discount.html
-discount
-
-// discover : Discover Financial Services
-// https://www.iana.org/domains/root/db/discover.html
-discover
-
-// dish : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/dish.html
-dish
-
-// diy : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/diy.html
-diy
-
-// dnp : Dai Nippon Printing Co., Ltd.
-// https://www.iana.org/domains/root/db/dnp.html
-dnp
-
-// docs : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/docs.html
-docs
-
-// doctor : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/doctor.html
-doctor
-
-// dog : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/dog.html
-dog
-
-// domains : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/domains.html
-domains
-
-// dot : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/dot.html
-dot
-
-// download : dot Support Limited
-// https://www.iana.org/domains/root/db/download.html
-download
-
-// drive : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/drive.html
-drive
-
-// dtv : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/dtv.html
-dtv
-
-// dubai : Dubai Smart Government Department
-// https://www.iana.org/domains/root/db/dubai.html
-dubai
-
-// dunlop : The Goodyear Tire & Rubber Company
-// https://www.iana.org/domains/root/db/dunlop.html
-dunlop
-
-// dupont : DuPont Specialty Products USA, LLC
-// https://www.iana.org/domains/root/db/dupont.html
-dupont
-
-// durban : ZA Central Registry NPC trading as ZA Central Registry
-// https://www.iana.org/domains/root/db/durban.html
-durban
-
-// dvag : Deutsche Vermögensberatung Aktiengesellschaft DVAG
-// https://www.iana.org/domains/root/db/dvag.html
-dvag
-
-// dvr : DISH Technologies L.L.C.
-// https://www.iana.org/domains/root/db/dvr.html
-dvr
-
-// earth : Interlink Systems Innovation Institute K.K.
-// https://www.iana.org/domains/root/db/earth.html
-earth
-
-// eat : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/eat.html
-eat
-
-// eco : Big Room Inc.
-// https://www.iana.org/domains/root/db/eco.html
-eco
-
-// edeka : EDEKA Verband kaufmännischer Genossenschaften e.V.
-// https://www.iana.org/domains/root/db/edeka.html
-edeka
-
-// education : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/education.html
-education
-
-// email : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/email.html
-email
-
-// emerck : Merck KGaA
-// https://www.iana.org/domains/root/db/emerck.html
-emerck
-
-// energy : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/energy.html
-energy
-
-// engineer : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/engineer.html
-engineer
-
-// engineering : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/engineering.html
-engineering
-
-// enterprises : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/enterprises.html
-enterprises
-
-// epson : Seiko Epson Corporation
-// https://www.iana.org/domains/root/db/epson.html
-epson
-
-// equipment : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/equipment.html
-equipment
-
-// ericsson : Telefonaktiebolaget L M Ericsson
-// https://www.iana.org/domains/root/db/ericsson.html
-ericsson
-
-// erni : ERNI Group Holding AG
-// https://www.iana.org/domains/root/db/erni.html
-erni
-
-// esq : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/esq.html
-esq
-
-// estate : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/estate.html
-estate
-
-// eurovision : European Broadcasting Union (EBU)
-// https://www.iana.org/domains/root/db/eurovision.html
-eurovision
-
-// eus : Puntueus Fundazioa
-// https://www.iana.org/domains/root/db/eus.html
-eus
-
-// events : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/events.html
-events
-
-// exchange : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/exchange.html
-exchange
-
-// expert : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/expert.html
-expert
-
-// exposed : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/exposed.html
-exposed
-
-// express : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/express.html
-express
-
-// extraspace : Extra Space Storage LLC
-// https://www.iana.org/domains/root/db/extraspace.html
-extraspace
-
-// fage : Fage International S.A.
-// https://www.iana.org/domains/root/db/fage.html
-fage
-
-// fail : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/fail.html
-fail
-
-// fairwinds : FairWinds Partners, LLC
-// https://www.iana.org/domains/root/db/fairwinds.html
-fairwinds
-
-// faith : dot Faith Limited
-// https://www.iana.org/domains/root/db/faith.html
-faith
-
-// family : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/family.html
-family
-
-// fan : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/fan.html
-fan
-
-// fans : ZDNS International Limited
-// https://www.iana.org/domains/root/db/fans.html
-fans
-
-// farm : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/farm.html
-farm
-
-// farmers : Farmers Insurance Exchange
-// https://www.iana.org/domains/root/db/farmers.html
-farmers
-
-// fashion : Registry Services, LLC
-// https://www.iana.org/domains/root/db/fashion.html
-fashion
-
-// fast : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/fast.html
-fast
-
-// fedex : Federal Express Corporation
-// https://www.iana.org/domains/root/db/fedex.html
-fedex
-
-// feedback : Top Level Spectrum, Inc.
-// https://www.iana.org/domains/root/db/feedback.html
-feedback
-
-// ferrari : Fiat Chrysler Automobiles N.V.
-// https://www.iana.org/domains/root/db/ferrari.html
-ferrari
-
-// ferrero : Ferrero Trading Lux S.A.
-// https://www.iana.org/domains/root/db/ferrero.html
-ferrero
-
-// fidelity : Fidelity Brokerage Services LLC
-// https://www.iana.org/domains/root/db/fidelity.html
-fidelity
-
-// fido : Rogers Communications Canada Inc.
-// https://www.iana.org/domains/root/db/fido.html
-fido
-
-// film : Motion Picture Domain Registry Pty Ltd
-// https://www.iana.org/domains/root/db/film.html
-film
-
-// final : Núcleo de Informação e Coordenação do Ponto BR - NIC.br
-// https://www.iana.org/domains/root/db/final.html
-final
-
-// finance : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/finance.html
-finance
-
-// financial : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/financial.html
-financial
-
-// fire : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/fire.html
-fire
-
-// firestone : Bridgestone Licensing Services, Inc
-// https://www.iana.org/domains/root/db/firestone.html
-firestone
-
-// firmdale : Firmdale Holdings Limited
-// https://www.iana.org/domains/root/db/firmdale.html
-firmdale
-
-// fish : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/fish.html
-fish
-
-// fishing : Registry Services, LLC
-// https://www.iana.org/domains/root/db/fishing.html
-fishing
-
-// fit : Registry Services, LLC
-// https://www.iana.org/domains/root/db/fit.html
-fit
-
-// fitness : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/fitness.html
-fitness
-
-// flickr : Flickr, Inc.
-// https://www.iana.org/domains/root/db/flickr.html
-flickr
-
-// flights : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/flights.html
-flights
-
-// flir : FLIR Systems, Inc.
-// https://www.iana.org/domains/root/db/flir.html
-flir
-
-// florist : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/florist.html
-florist
-
-// flowers : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/flowers.html
-flowers
-
-// fly : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/fly.html
-fly
-
-// foo : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/foo.html
-foo
-
-// food : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/food.html
-food
-
-// football : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/football.html
-football
-
-// ford : Ford Motor Company
-// https://www.iana.org/domains/root/db/ford.html
-ford
-
-// forex : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/forex.html
-forex
-
-// forsale : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/forsale.html
-forsale
-
-// forum : Waterford Limited
-// https://www.iana.org/domains/root/db/forum.html
-forum
-
-// foundation : Public Interest Registry
-// https://www.iana.org/domains/root/db/foundation.html
-foundation
-
-// fox : FOX Registry, LLC
-// https://www.iana.org/domains/root/db/fox.html
-fox
-
-// free : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/free.html
-free
-
-// fresenius : Fresenius Immobilien-Verwaltungs-GmbH
-// https://www.iana.org/domains/root/db/fresenius.html
-fresenius
-
-// frl : FRLregistry B.V.
-// https://www.iana.org/domains/root/db/frl.html
-frl
-
-// frogans : OP3FT
-// https://www.iana.org/domains/root/db/frogans.html
-frogans
-
-// frontier : Frontier Communications Corporation
-// https://www.iana.org/domains/root/db/frontier.html
-frontier
-
-// ftr : Frontier Communications Corporation
-// https://www.iana.org/domains/root/db/ftr.html
-ftr
-
-// fujitsu : Fujitsu Limited
-// https://www.iana.org/domains/root/db/fujitsu.html
-fujitsu
-
-// fun : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/fun.html
-fun
-
-// fund : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/fund.html
-fund
-
-// furniture : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/furniture.html
-furniture
-
-// futbol : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/futbol.html
-futbol
-
-// fyi : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/fyi.html
-fyi
-
-// gal : Asociación puntoGAL
-// https://www.iana.org/domains/root/db/gal.html
-gal
-
-// gallery : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/gallery.html
-gallery
-
-// gallo : Gallo Vineyards, Inc.
-// https://www.iana.org/domains/root/db/gallo.html
-gallo
-
-// gallup : Gallup, Inc.
-// https://www.iana.org/domains/root/db/gallup.html
-gallup
-
-// game : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/game.html
-game
-
-// games : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/games.html
-games
-
-// gap : The Gap, Inc.
-// https://www.iana.org/domains/root/db/gap.html
-gap
-
-// garden : Registry Services, LLC
-// https://www.iana.org/domains/root/db/garden.html
-garden
-
-// gay : Registry Services, LLC
-// https://www.iana.org/domains/root/db/gay.html
-gay
-
-// gbiz : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/gbiz.html
-gbiz
-
-// gdn : Joint Stock Company "Navigation-information systems"
-// https://www.iana.org/domains/root/db/gdn.html
-gdn
-
-// gea : GEA Group Aktiengesellschaft
-// https://www.iana.org/domains/root/db/gea.html
-gea
-
-// gent : Easyhost BV
-// https://www.iana.org/domains/root/db/gent.html
-gent
-
-// genting : Resorts World Inc Pte. Ltd.
-// https://www.iana.org/domains/root/db/genting.html
-genting
-
-// george : Wal-Mart Stores, Inc.
-// https://www.iana.org/domains/root/db/george.html
-george
-
-// ggee : GMO Internet, Inc.
-// https://www.iana.org/domains/root/db/ggee.html
-ggee
-
-// gift : DotGift, LLC
-// https://www.iana.org/domains/root/db/gift.html
-gift
-
-// gifts : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/gifts.html
-gifts
-
-// gives : Public Interest Registry
-// https://www.iana.org/domains/root/db/gives.html
-gives
-
-// giving : Public Interest Registry
-// https://www.iana.org/domains/root/db/giving.html
-giving
-
-// glass : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/glass.html
-glass
-
-// gle : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/gle.html
-gle
-
-// global : Identity Digital Limited
-// https://www.iana.org/domains/root/db/global.html
-global
-
-// globo : Globo Comunicação e Participações S.A
-// https://www.iana.org/domains/root/db/globo.html
-globo
-
-// gmail : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/gmail.html
-gmail
-
-// gmbh : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/gmbh.html
-gmbh
-
-// gmo : GMO Internet, Inc.
-// https://www.iana.org/domains/root/db/gmo.html
-gmo
-
-// gmx : 1&1 Mail & Media GmbH
-// https://www.iana.org/domains/root/db/gmx.html
-gmx
-
-// godaddy : Go Daddy East, LLC
-// https://www.iana.org/domains/root/db/godaddy.html
-godaddy
-
-// gold : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/gold.html
-gold
-
-// goldpoint : YODOBASHI CAMERA CO.,LTD.
-// https://www.iana.org/domains/root/db/goldpoint.html
-goldpoint
-
-// golf : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/golf.html
-golf
-
-// goo : NTT DOCOMO, INC.
-// https://www.iana.org/domains/root/db/goo.html
-goo
-
-// goodyear : The Goodyear Tire & Rubber Company
-// https://www.iana.org/domains/root/db/goodyear.html
-goodyear
-
-// goog : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/goog.html
-goog
-
-// google : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/google.html
-google
-
-// gop : Republican State Leadership Committee, Inc.
-// https://www.iana.org/domains/root/db/gop.html
-gop
-
-// got : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/got.html
-got
-
-// grainger : Grainger Registry Services, LLC
-// https://www.iana.org/domains/root/db/grainger.html
-grainger
-
-// graphics : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/graphics.html
-graphics
-
-// gratis : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/gratis.html
-gratis
-
-// green : Identity Digital Limited
-// https://www.iana.org/domains/root/db/green.html
-green
-
-// gripe : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/gripe.html
-gripe
-
-// grocery : Wal-Mart Stores, Inc.
-// https://www.iana.org/domains/root/db/grocery.html
-grocery
-
-// group : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/group.html
-group
-
-// gucci : Guccio Gucci S.p.a.
-// https://www.iana.org/domains/root/db/gucci.html
-gucci
-
-// guge : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/guge.html
-guge
-
-// guide : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/guide.html
-guide
-
-// guitars : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/guitars.html
-guitars
-
-// guru : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/guru.html
-guru
-
-// hair : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/hair.html
-hair
-
-// hamburg : Hamburg Top-Level-Domain GmbH
-// https://www.iana.org/domains/root/db/hamburg.html
-hamburg
-
-// hangout : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/hangout.html
-hangout
-
-// haus : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/haus.html
-haus
-
-// hbo : HBO Registry Services, Inc.
-// https://www.iana.org/domains/root/db/hbo.html
-hbo
-
-// hdfc : HDFC BANK LIMITED
-// https://www.iana.org/domains/root/db/hdfc.html
-hdfc
-
-// hdfcbank : HDFC BANK LIMITED
-// https://www.iana.org/domains/root/db/hdfcbank.html
-hdfcbank
-
-// health : Registry Services, LLC
-// https://www.iana.org/domains/root/db/health.html
-health
-
-// healthcare : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/healthcare.html
-healthcare
-
-// help : Innovation service Limited
-// https://www.iana.org/domains/root/db/help.html
-help
-
-// helsinki : City of Helsinki
-// https://www.iana.org/domains/root/db/helsinki.html
-helsinki
-
-// here : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/here.html
-here
-
-// hermes : HERMES INTERNATIONAL
-// https://www.iana.org/domains/root/db/hermes.html
-hermes
-
-// hiphop : Dot Hip Hop, LLC
-// https://www.iana.org/domains/root/db/hiphop.html
-hiphop
-
-// hisamitsu : Hisamitsu Pharmaceutical Co.,Inc.
-// https://www.iana.org/domains/root/db/hisamitsu.html
-hisamitsu
-
-// hitachi : Hitachi, Ltd.
-// https://www.iana.org/domains/root/db/hitachi.html
-hitachi
-
-// hiv : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/hiv.html
-hiv
-
-// hkt : PCCW-HKT DataCom Services Limited
-// https://www.iana.org/domains/root/db/hkt.html
-hkt
-
-// hockey : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/hockey.html
-hockey
-
-// holdings : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/holdings.html
-holdings
-
-// holiday : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/holiday.html
-holiday
-
-// homedepot : Home Depot Product Authority, LLC
-// https://www.iana.org/domains/root/db/homedepot.html
-homedepot
-
-// homegoods : The TJX Companies, Inc.
-// https://www.iana.org/domains/root/db/homegoods.html
-homegoods
-
-// homes : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/homes.html
-homes
-
-// homesense : The TJX Companies, Inc.
-// https://www.iana.org/domains/root/db/homesense.html
-homesense
-
-// honda : Honda Motor Co., Ltd.
-// https://www.iana.org/domains/root/db/honda.html
-honda
-
-// horse : Registry Services, LLC
-// https://www.iana.org/domains/root/db/horse.html
-horse
-
-// hospital : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/hospital.html
-hospital
-
-// host : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/host.html
-host
-
-// hosting : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/hosting.html
-hosting
-
-// hot : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/hot.html
-hot
-
-// hotels : Booking.com B.V.
-// https://www.iana.org/domains/root/db/hotels.html
-hotels
-
-// hotmail : Microsoft Corporation
-// https://www.iana.org/domains/root/db/hotmail.html
-hotmail
-
-// house : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/house.html
-house
-
-// how : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/how.html
-how
-
-// hsbc : HSBC Global Services (UK) Limited
-// https://www.iana.org/domains/root/db/hsbc.html
-hsbc
-
-// hughes : Hughes Satellite Systems Corporation
-// https://www.iana.org/domains/root/db/hughes.html
-hughes
-
-// hyatt : Hyatt GTLD, L.L.C.
-// https://www.iana.org/domains/root/db/hyatt.html
-hyatt
-
-// hyundai : Hyundai Motor Company
-// https://www.iana.org/domains/root/db/hyundai.html
-hyundai
-
-// ibm : International Business Machines Corporation
-// https://www.iana.org/domains/root/db/ibm.html
-ibm
-
-// icbc : Industrial and Commercial Bank of China Limited
-// https://www.iana.org/domains/root/db/icbc.html
-icbc
-
-// ice : IntercontinentalExchange, Inc.
-// https://www.iana.org/domains/root/db/ice.html
-ice
-
-// icu : ShortDot SA
-// https://www.iana.org/domains/root/db/icu.html
-icu
-
-// ieee : IEEE Global LLC
-// https://www.iana.org/domains/root/db/ieee.html
-ieee
-
-// ifm : ifm electronic gmbh
-// https://www.iana.org/domains/root/db/ifm.html
-ifm
-
-// ikano : Ikano S.A.
-// https://www.iana.org/domains/root/db/ikano.html
-ikano
-
-// imamat : Fondation Aga Khan (Aga Khan Foundation)
-// https://www.iana.org/domains/root/db/imamat.html
-imamat
-
-// imdb : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/imdb.html
-imdb
-
-// immo : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/immo.html
-immo
-
-// immobilien : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/immobilien.html
-immobilien
-
-// inc : Intercap Registry Inc.
-// https://www.iana.org/domains/root/db/inc.html
-inc
-
-// industries : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/industries.html
-industries
-
-// infiniti : NISSAN MOTOR CO., LTD.
-// https://www.iana.org/domains/root/db/infiniti.html
-infiniti
-
-// ing : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/ing.html
-ing
-
-// ink : Registry Services, LLC
-// https://www.iana.org/domains/root/db/ink.html
-ink
-
-// institute : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/institute.html
-institute
-
-// insurance : fTLD Registry Services LLC
-// https://www.iana.org/domains/root/db/insurance.html
-insurance
-
-// insure : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/insure.html
-insure
-
-// international : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/international.html
-international
-
-// intuit : Intuit Administrative Services, Inc.
-// https://www.iana.org/domains/root/db/intuit.html
-intuit
-
-// investments : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/investments.html
-investments
-
-// ipiranga : Ipiranga Produtos de Petroleo S.A.
-// https://www.iana.org/domains/root/db/ipiranga.html
-ipiranga
-
-// irish : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/irish.html
-irish
-
-// ismaili : Fondation Aga Khan (Aga Khan Foundation)
-// https://www.iana.org/domains/root/db/ismaili.html
-ismaili
-
-// ist : Istanbul Metropolitan Municipality
-// https://www.iana.org/domains/root/db/ist.html
-ist
-
-// istanbul : Istanbul Metropolitan Municipality
-// https://www.iana.org/domains/root/db/istanbul.html
-istanbul
-
-// itau : Itau Unibanco Holding S.A.
-// https://www.iana.org/domains/root/db/itau.html
-itau
-
-// itv : ITV Services Limited
-// https://www.iana.org/domains/root/db/itv.html
-itv
-
-// jaguar : Jaguar Land Rover Ltd
-// https://www.iana.org/domains/root/db/jaguar.html
-jaguar
-
-// java : Oracle Corporation
-// https://www.iana.org/domains/root/db/java.html
-java
-
-// jcb : JCB Co., Ltd.
-// https://www.iana.org/domains/root/db/jcb.html
-jcb
-
-// jeep : FCA US LLC.
-// https://www.iana.org/domains/root/db/jeep.html
-jeep
-
-// jetzt : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/jetzt.html
-jetzt
-
-// jewelry : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/jewelry.html
-jewelry
-
-// jio : Reliance Industries Limited
-// https://www.iana.org/domains/root/db/jio.html
-jio
-
-// jll : Jones Lang LaSalle Incorporated
-// https://www.iana.org/domains/root/db/jll.html
-jll
-
-// jmp : Matrix IP LLC
-// https://www.iana.org/domains/root/db/jmp.html
-jmp
-
-// jnj : Johnson & Johnson Services, Inc.
-// https://www.iana.org/domains/root/db/jnj.html
-jnj
-
-// joburg : ZA Central Registry NPC trading as ZA Central Registry
-// https://www.iana.org/domains/root/db/joburg.html
-joburg
-
-// jot : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/jot.html
-jot
-
-// joy : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/joy.html
-joy
-
-// jpmorgan : JPMorgan Chase Bank, National Association
-// https://www.iana.org/domains/root/db/jpmorgan.html
-jpmorgan
-
-// jprs : Japan Registry Services Co., Ltd.
-// https://www.iana.org/domains/root/db/jprs.html
-jprs
-
-// juegos : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/juegos.html
-juegos
-
-// juniper : JUNIPER NETWORKS, INC.
-// https://www.iana.org/domains/root/db/juniper.html
-juniper
-
-// kaufen : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/kaufen.html
-kaufen
-
-// kddi : KDDI CORPORATION
-// https://www.iana.org/domains/root/db/kddi.html
-kddi
-
-// kerryhotels : Kerry Trading Co. Limited
-// https://www.iana.org/domains/root/db/kerryhotels.html
-kerryhotels
-
-// kerrylogistics : Kerry Trading Co. Limited
-// https://www.iana.org/domains/root/db/kerrylogistics.html
-kerrylogistics
-
-// kerryproperties : Kerry Trading Co. Limited
-// https://www.iana.org/domains/root/db/kerryproperties.html
-kerryproperties
-
-// kfh : Kuwait Finance House
-// https://www.iana.org/domains/root/db/kfh.html
-kfh
-
-// kia : KIA MOTORS CORPORATION
-// https://www.iana.org/domains/root/db/kia.html
-kia
-
-// kids : DotKids Foundation Limited
-// https://www.iana.org/domains/root/db/kids.html
-kids
-
-// kim : Identity Digital Limited
-// https://www.iana.org/domains/root/db/kim.html
-kim
-
-// kindle : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/kindle.html
-kindle
-
-// kitchen : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/kitchen.html
-kitchen
-
-// kiwi : DOT KIWI LIMITED
-// https://www.iana.org/domains/root/db/kiwi.html
-kiwi
-
-// koeln : dotKoeln GmbH
-// https://www.iana.org/domains/root/db/koeln.html
-koeln
-
-// komatsu : Komatsu Ltd.
-// https://www.iana.org/domains/root/db/komatsu.html
-komatsu
-
-// kosher : Kosher Marketing Assets LLC
-// https://www.iana.org/domains/root/db/kosher.html
-kosher
-
-// kpmg : KPMG International Cooperative (KPMG International Genossenschaft)
-// https://www.iana.org/domains/root/db/kpmg.html
-kpmg
-
-// kpn : Koninklijke KPN N.V.
-// https://www.iana.org/domains/root/db/kpn.html
-kpn
-
-// krd : KRG Department of Information Technology
-// https://www.iana.org/domains/root/db/krd.html
-krd
-
-// kred : KredTLD Pty Ltd
-// https://www.iana.org/domains/root/db/kred.html
-kred
-
-// kuokgroup : Kerry Trading Co. Limited
-// https://www.iana.org/domains/root/db/kuokgroup.html
-kuokgroup
-
-// kyoto : Academic Institution: Kyoto Jyoho Gakuen
-// https://www.iana.org/domains/root/db/kyoto.html
-kyoto
-
-// lacaixa : Fundación Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa”
-// https://www.iana.org/domains/root/db/lacaixa.html
-lacaixa
-
-// lamborghini : Automobili Lamborghini S.p.A.
-// https://www.iana.org/domains/root/db/lamborghini.html
-lamborghini
-
-// lamer : The Estée Lauder Companies Inc.
-// https://www.iana.org/domains/root/db/lamer.html
-lamer
-
-// lancaster : LANCASTER
-// https://www.iana.org/domains/root/db/lancaster.html
-lancaster
-
-// land : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/land.html
-land
-
-// landrover : Jaguar Land Rover Ltd
-// https://www.iana.org/domains/root/db/landrover.html
-landrover
-
-// lanxess : LANXESS Corporation
-// https://www.iana.org/domains/root/db/lanxess.html
-lanxess
-
-// lasalle : Jones Lang LaSalle Incorporated
-// https://www.iana.org/domains/root/db/lasalle.html
-lasalle
-
-// lat : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/lat.html
-lat
-
-// latino : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/latino.html
-latino
-
-// latrobe : La Trobe University
-// https://www.iana.org/domains/root/db/latrobe.html
-latrobe
-
-// law : Registry Services, LLC
-// https://www.iana.org/domains/root/db/law.html
-law
-
-// lawyer : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/lawyer.html
-lawyer
-
-// lds : IRI Domain Management, LLC
-// https://www.iana.org/domains/root/db/lds.html
-lds
-
-// lease : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/lease.html
-lease
-
-// leclerc : A.C.D. LEC Association des Centres Distributeurs Edouard Leclerc
-// https://www.iana.org/domains/root/db/leclerc.html
-leclerc
-
-// lefrak : LeFrak Organization, Inc.
-// https://www.iana.org/domains/root/db/lefrak.html
-lefrak
-
-// legal : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/legal.html
-legal
-
-// lego : LEGO Juris A/S
-// https://www.iana.org/domains/root/db/lego.html
-lego
-
-// lexus : TOYOTA MOTOR CORPORATION
-// https://www.iana.org/domains/root/db/lexus.html
-lexus
-
-// lgbt : Identity Digital Limited
-// https://www.iana.org/domains/root/db/lgbt.html
-lgbt
-
-// lidl : Schwarz Domains und Services GmbH & Co. KG
-// https://www.iana.org/domains/root/db/lidl.html
-lidl
-
-// life : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/life.html
-life
-
-// lifeinsurance : American Council of Life Insurers
-// https://www.iana.org/domains/root/db/lifeinsurance.html
-lifeinsurance
-
-// lifestyle : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/lifestyle.html
-lifestyle
-
-// lighting : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/lighting.html
-lighting
-
-// like : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/like.html
-like
-
-// lilly : Eli Lilly and Company
-// https://www.iana.org/domains/root/db/lilly.html
-lilly
-
-// limited : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/limited.html
-limited
-
-// limo : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/limo.html
-limo
-
-// lincoln : Ford Motor Company
-// https://www.iana.org/domains/root/db/lincoln.html
-lincoln
-
-// link : Nova Registry Ltd
-// https://www.iana.org/domains/root/db/link.html
-link
-
-// lipsy : Lipsy Ltd
-// https://www.iana.org/domains/root/db/lipsy.html
-lipsy
-
-// live : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/live.html
-live
-
-// living : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/living.html
-living
-
-// llc : Identity Digital Limited
-// https://www.iana.org/domains/root/db/llc.html
-llc
-
-// llp : Intercap Registry Inc.
-// https://www.iana.org/domains/root/db/llp.html
-llp
-
-// loan : dot Loan Limited
-// https://www.iana.org/domains/root/db/loan.html
-loan
-
-// loans : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/loans.html
-loans
-
-// locker : Orange Domains LLC
-// https://www.iana.org/domains/root/db/locker.html
-locker
-
-// locus : Locus Analytics LLC
-// https://www.iana.org/domains/root/db/locus.html
-locus
-
-// lol : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/lol.html
-lol
-
-// london : Dot London Domains Limited
-// https://www.iana.org/domains/root/db/london.html
-london
-
-// lotte : Lotte Holdings Co., Ltd.
-// https://www.iana.org/domains/root/db/lotte.html
-lotte
-
-// lotto : Identity Digital Limited
-// https://www.iana.org/domains/root/db/lotto.html
-lotto
-
-// love : Waterford Limited
-// https://www.iana.org/domains/root/db/love.html
-love
-
-// lpl : LPL Holdings, Inc.
-// https://www.iana.org/domains/root/db/lpl.html
-lpl
-
-// lplfinancial : LPL Holdings, Inc.
-// https://www.iana.org/domains/root/db/lplfinancial.html
-lplfinancial
-
-// ltd : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/ltd.html
-ltd
-
-// ltda : InterNetX, Corp
-// https://www.iana.org/domains/root/db/ltda.html
-ltda
-
-// lundbeck : H. Lundbeck A/S
-// https://www.iana.org/domains/root/db/lundbeck.html
-lundbeck
-
-// luxe : Registry Services, LLC
-// https://www.iana.org/domains/root/db/luxe.html
-luxe
-
-// luxury : Luxury Partners, LLC
-// https://www.iana.org/domains/root/db/luxury.html
-luxury
-
-// madrid : Comunidad de Madrid
-// https://www.iana.org/domains/root/db/madrid.html
-madrid
-
-// maif : Mutuelle Assurance Instituteur France (MAIF)
-// https://www.iana.org/domains/root/db/maif.html
-maif
-
-// maison : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/maison.html
-maison
-
-// makeup : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/makeup.html
-makeup
-
-// man : MAN Truck & Bus SE
-// https://www.iana.org/domains/root/db/man.html
-man
-
-// management : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/management.html
-management
-
-// mango : PUNTO FA S.L.
-// https://www.iana.org/domains/root/db/mango.html
-mango
-
-// map : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/map.html
-map
-
-// market : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/market.html
-market
-
-// marketing : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/marketing.html
-marketing
-
-// markets : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/markets.html
-markets
-
-// marriott : Marriott Worldwide Corporation
-// https://www.iana.org/domains/root/db/marriott.html
-marriott
-
-// marshalls : The TJX Companies, Inc.
-// https://www.iana.org/domains/root/db/marshalls.html
-marshalls
-
-// mattel : Mattel Sites, Inc.
-// https://www.iana.org/domains/root/db/mattel.html
-mattel
-
-// mba : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/mba.html
-mba
-
-// mckinsey : McKinsey Holdings, Inc.
-// https://www.iana.org/domains/root/db/mckinsey.html
-mckinsey
-
-// med : Medistry LLC
-// https://www.iana.org/domains/root/db/med.html
-med
-
-// media : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/media.html
-media
-
-// meet : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/meet.html
-meet
-
-// melbourne : The Crown in right of the State of Victoria, represented by its Department of State Development, Business and Innovation
-// https://www.iana.org/domains/root/db/melbourne.html
-melbourne
-
-// meme : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/meme.html
-meme
-
-// memorial : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/memorial.html
-memorial
-
-// men : Exclusive Registry Limited
-// https://www.iana.org/domains/root/db/men.html
-men
-
-// menu : Dot Menu Registry, LLC
-// https://www.iana.org/domains/root/db/menu.html
-menu
-
-// merck : Merck Registry Holdings, Inc.
-// https://www.iana.org/domains/root/db/merck.html
-merck
-
-// merckmsd : MSD Registry Holdings, Inc.
-// https://www.iana.org/domains/root/db/merckmsd.html
-merckmsd
-
-// miami : Registry Services, LLC
-// https://www.iana.org/domains/root/db/miami.html
-miami
-
-// microsoft : Microsoft Corporation
-// https://www.iana.org/domains/root/db/microsoft.html
-microsoft
-
-// mini : Bayerische Motoren Werke Aktiengesellschaft
-// https://www.iana.org/domains/root/db/mini.html
-mini
-
-// mint : Intuit Administrative Services, Inc.
-// https://www.iana.org/domains/root/db/mint.html
-mint
-
-// mit : Massachusetts Institute of Technology
-// https://www.iana.org/domains/root/db/mit.html
-mit
-
-// mitsubishi : Mitsubishi Corporation
-// https://www.iana.org/domains/root/db/mitsubishi.html
-mitsubishi
-
-// mlb : MLB Advanced Media DH, LLC
-// https://www.iana.org/domains/root/db/mlb.html
-mlb
-
-// mls : The Canadian Real Estate Association
-// https://www.iana.org/domains/root/db/mls.html
-mls
-
-// mma : MMA IARD
-// https://www.iana.org/domains/root/db/mma.html
-mma
-
-// mobile : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/mobile.html
-mobile
-
-// moda : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/moda.html
-moda
-
-// moe : Interlink Systems Innovation Institute K.K.
-// https://www.iana.org/domains/root/db/moe.html
-moe
-
-// moi : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/moi.html
-moi
-
-// mom : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/mom.html
-mom
-
-// monash : Monash University
-// https://www.iana.org/domains/root/db/monash.html
-monash
-
-// money : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/money.html
-money
-
-// monster : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/monster.html
-monster
-
-// mormon : IRI Domain Management, LLC
-// https://www.iana.org/domains/root/db/mormon.html
-mormon
-
-// mortgage : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/mortgage.html
-mortgage
-
-// moscow : Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
-// https://www.iana.org/domains/root/db/moscow.html
-moscow
-
-// moto : Motorola Trademark Holdings, LLC
-// https://www.iana.org/domains/root/db/moto.html
-moto
-
-// motorcycles : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/motorcycles.html
-motorcycles
-
-// mov : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/mov.html
-mov
-
-// movie : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/movie.html
-movie
-
-// msd : MSD Registry Holdings, Inc.
-// https://www.iana.org/domains/root/db/msd.html
-msd
-
-// mtn : MTN Dubai Limited
-// https://www.iana.org/domains/root/db/mtn.html
-mtn
-
-// mtr : MTR Corporation Limited
-// https://www.iana.org/domains/root/db/mtr.html
-mtr
-
-// music : DotMusic Limited
-// https://www.iana.org/domains/root/db/music.html
-music
-
-// nab : National Australia Bank Limited
-// https://www.iana.org/domains/root/db/nab.html
-nab
-
-// nagoya : GMO Registry, Inc.
-// https://www.iana.org/domains/root/db/nagoya.html
-nagoya
-
-// navy : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/navy.html
-navy
-
-// nba : NBA REGISTRY, LLC
-// https://www.iana.org/domains/root/db/nba.html
-nba
-
-// nec : NEC Corporation
-// https://www.iana.org/domains/root/db/nec.html
-nec
-
-// netbank : COMMONWEALTH BANK OF AUSTRALIA
-// https://www.iana.org/domains/root/db/netbank.html
-netbank
-
-// netflix : Netflix, Inc.
-// https://www.iana.org/domains/root/db/netflix.html
-netflix
-
-// network : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/network.html
-network
-
-// neustar : NeuStar, Inc.
-// https://www.iana.org/domains/root/db/neustar.html
-neustar
-
-// new : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/new.html
-new
-
-// news : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/news.html
-news
-
-// next : Next plc
-// https://www.iana.org/domains/root/db/next.html
-next
-
-// nextdirect : Next plc
-// https://www.iana.org/domains/root/db/nextdirect.html
-nextdirect
-
-// nexus : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/nexus.html
-nexus
-
-// nfl : NFL Reg Ops LLC
-// https://www.iana.org/domains/root/db/nfl.html
-nfl
-
-// ngo : Public Interest Registry
-// https://www.iana.org/domains/root/db/ngo.html
-ngo
-
-// nhk : Japan Broadcasting Corporation (NHK)
-// https://www.iana.org/domains/root/db/nhk.html
-nhk
-
-// nico : DWANGO Co., Ltd.
-// https://www.iana.org/domains/root/db/nico.html
-nico
-
-// nike : NIKE, Inc.
-// https://www.iana.org/domains/root/db/nike.html
-nike
-
-// nikon : NIKON CORPORATION
-// https://www.iana.org/domains/root/db/nikon.html
-nikon
-
-// ninja : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/ninja.html
-ninja
-
-// nissan : NISSAN MOTOR CO., LTD.
-// https://www.iana.org/domains/root/db/nissan.html
-nissan
-
-// nissay : Nippon Life Insurance Company
-// https://www.iana.org/domains/root/db/nissay.html
-nissay
-
-// nokia : Nokia Corporation
-// https://www.iana.org/domains/root/db/nokia.html
-nokia
-
-// norton : Gen Digital Inc.
-// https://www.iana.org/domains/root/db/norton.html
-norton
-
-// now : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/now.html
-now
-
-// nowruz
-// https://www.iana.org/domains/root/db/nowruz.html
-nowruz
-
-// nowtv : Starbucks (HK) Limited
-// https://www.iana.org/domains/root/db/nowtv.html
-nowtv
-
-// nra : NRA Holdings Company, INC.
-// https://www.iana.org/domains/root/db/nra.html
-nra
-
-// nrw : Minds + Machines GmbH
-// https://www.iana.org/domains/root/db/nrw.html
-nrw
-
-// ntt : NIPPON TELEGRAPH AND TELEPHONE CORPORATION
-// https://www.iana.org/domains/root/db/ntt.html
-ntt
-
-// nyc : The City of New York by and through the New York City Department of Information Technology & Telecommunications
-// https://www.iana.org/domains/root/db/nyc.html
-nyc
-
-// obi : OBI Group Holding SE & Co. KGaA
-// https://www.iana.org/domains/root/db/obi.html
-obi
-
-// observer : Fegistry, LLC
-// https://www.iana.org/domains/root/db/observer.html
-observer
-
-// office : Microsoft Corporation
-// https://www.iana.org/domains/root/db/office.html
-office
-
-// okinawa : BRregistry, Inc.
-// https://www.iana.org/domains/root/db/okinawa.html
-okinawa
-
-// olayan : Competrol (Luxembourg) Sarl
-// https://www.iana.org/domains/root/db/olayan.html
-olayan
-
-// olayangroup : Competrol (Luxembourg) Sarl
-// https://www.iana.org/domains/root/db/olayangroup.html
-olayangroup
-
-// ollo : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/ollo.html
-ollo
-
-// omega : The Swatch Group Ltd
-// https://www.iana.org/domains/root/db/omega.html
-omega
-
-// one : One.com A/S
-// https://www.iana.org/domains/root/db/one.html
-one
-
-// ong : Public Interest Registry
-// https://www.iana.org/domains/root/db/ong.html
-ong
-
-// onl : iRegistry GmbH
-// https://www.iana.org/domains/root/db/onl.html
-onl
-
-// online : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/online.html
-online
-
-// ooo : INFIBEAM AVENUES LIMITED
-// https://www.iana.org/domains/root/db/ooo.html
-ooo
-
-// open : American Express Travel Related Services Company, Inc.
-// https://www.iana.org/domains/root/db/open.html
-open
-
-// oracle : Oracle Corporation
-// https://www.iana.org/domains/root/db/oracle.html
-oracle
-
-// orange : Orange Brand Services Limited
-// https://www.iana.org/domains/root/db/orange.html
-orange
-
-// organic : Identity Digital Limited
-// https://www.iana.org/domains/root/db/organic.html
-organic
-
-// origins : The Estée Lauder Companies Inc.
-// https://www.iana.org/domains/root/db/origins.html
-origins
-
-// osaka : Osaka Registry Co., Ltd.
-// https://www.iana.org/domains/root/db/osaka.html
-osaka
-
-// otsuka : Otsuka Holdings Co., Ltd.
-// https://www.iana.org/domains/root/db/otsuka.html
-otsuka
-
-// ott : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/ott.html
-ott
-
-// ovh : MédiaBC
-// https://www.iana.org/domains/root/db/ovh.html
-ovh
-
-// page : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/page.html
-page
-
-// panasonic : Panasonic Holdings Corporation
-// https://www.iana.org/domains/root/db/panasonic.html
-panasonic
-
-// paris : City of Paris
-// https://www.iana.org/domains/root/db/paris.html
-paris
-
-// pars
-// https://www.iana.org/domains/root/db/pars.html
-pars
-
-// partners : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/partners.html
-partners
-
-// parts : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/parts.html
-parts
-
-// party : Blue Sky Registry Limited
-// https://www.iana.org/domains/root/db/party.html
-party
-
-// pay : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/pay.html
-pay
-
-// pccw : PCCW Enterprises Limited
-// https://www.iana.org/domains/root/db/pccw.html
-pccw
-
-// pet : Identity Digital Limited
-// https://www.iana.org/domains/root/db/pet.html
-pet
-
-// pfizer : Pfizer Inc.
-// https://www.iana.org/domains/root/db/pfizer.html
-pfizer
-
-// pharmacy : National Association of Boards of Pharmacy
-// https://www.iana.org/domains/root/db/pharmacy.html
-pharmacy
-
-// phd : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/phd.html
-phd
-
-// philips : Koninklijke Philips N.V.
-// https://www.iana.org/domains/root/db/philips.html
-philips
-
-// phone : Dish DBS Corporation
-// https://www.iana.org/domains/root/db/phone.html
-phone
-
-// photo : Registry Services, LLC
-// https://www.iana.org/domains/root/db/photo.html
-photo
-
-// photography : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/photography.html
-photography
-
-// photos : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/photos.html
-photos
-
-// physio : PhysBiz Pty Ltd
-// https://www.iana.org/domains/root/db/physio.html
-physio
-
-// pics : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/pics.html
-pics
-
-// pictet : Pictet Europe S.A.
-// https://www.iana.org/domains/root/db/pictet.html
-pictet
-
-// pictures : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/pictures.html
-pictures
-
-// pid : Top Level Spectrum, Inc.
-// https://www.iana.org/domains/root/db/pid.html
-pid
-
-// pin : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/pin.html
-pin
-
-// ping : Ping Registry Provider, Inc.
-// https://www.iana.org/domains/root/db/ping.html
-ping
-
-// pink : Identity Digital Limited
-// https://www.iana.org/domains/root/db/pink.html
-pink
-
-// pioneer : Pioneer Corporation
-// https://www.iana.org/domains/root/db/pioneer.html
-pioneer
-
-// pizza : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/pizza.html
-pizza
-
-// place : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/place.html
-place
-
-// play : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/play.html
-play
-
-// playstation : Sony Interactive Entertainment Inc.
-// https://www.iana.org/domains/root/db/playstation.html
-playstation
-
-// plumbing : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/plumbing.html
-plumbing
-
-// plus : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/plus.html
-plus
-
-// pnc : PNC Domain Co., LLC
-// https://www.iana.org/domains/root/db/pnc.html
-pnc
-
-// pohl : Deutsche Vermögensberatung Aktiengesellschaft DVAG
-// https://www.iana.org/domains/root/db/pohl.html
-pohl
-
-// poker : Identity Digital Limited
-// https://www.iana.org/domains/root/db/poker.html
-poker
-
-// politie : Politie Nederland
-// https://www.iana.org/domains/root/db/politie.html
-politie
-
-// porn : ICM Registry PN LLC
-// https://www.iana.org/domains/root/db/porn.html
-porn
-
-// pramerica : Prudential Financial, Inc.
-// https://www.iana.org/domains/root/db/pramerica.html
-pramerica
-
-// praxi : Praxi S.p.A.
-// https://www.iana.org/domains/root/db/praxi.html
-praxi
-
-// press : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/press.html
-press
-
-// prime : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/prime.html
-prime
-
-// prod : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/prod.html
-prod
-
-// productions : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/productions.html
-productions
-
-// prof : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/prof.html
-prof
-
-// progressive : Progressive Casualty Insurance Company
-// https://www.iana.org/domains/root/db/progressive.html
-progressive
-
-// promo : Identity Digital Limited
-// https://www.iana.org/domains/root/db/promo.html
-promo
-
-// properties : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/properties.html
-properties
-
-// property : Digital Property Infrastructure Limited
-// https://www.iana.org/domains/root/db/property.html
-property
-
-// protection : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/protection.html
-protection
-
-// pru : Prudential Financial, Inc.
-// https://www.iana.org/domains/root/db/pru.html
-pru
-
-// prudential : Prudential Financial, Inc.
-// https://www.iana.org/domains/root/db/prudential.html
-prudential
-
-// pub : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/pub.html
-pub
-
-// pwc : PricewaterhouseCoopers LLP
-// https://www.iana.org/domains/root/db/pwc.html
-pwc
-
-// qpon : dotQPON LLC
-// https://www.iana.org/domains/root/db/qpon.html
-qpon
-
-// quebec : PointQuébec Inc
-// https://www.iana.org/domains/root/db/quebec.html
-quebec
-
-// quest : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/quest.html
-quest
-
-// racing : Premier Registry Limited
-// https://www.iana.org/domains/root/db/racing.html
-racing
-
-// radio : European Broadcasting Union (EBU)
-// https://www.iana.org/domains/root/db/radio.html
-radio
-
-// read : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/read.html
-read
-
-// realestate : dotRealEstate LLC
-// https://www.iana.org/domains/root/db/realestate.html
-realestate
-
-// realtor : Real Estate Domains LLC
-// https://www.iana.org/domains/root/db/realtor.html
-realtor
-
-// realty : Waterford Limited
-// https://www.iana.org/domains/root/db/realty.html
-realty
-
-// recipes : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/recipes.html
-recipes
-
-// red : Identity Digital Limited
-// https://www.iana.org/domains/root/db/red.html
-red
-
-// redstone : Redstone Haute Couture Co., Ltd.
-// https://www.iana.org/domains/root/db/redstone.html
-redstone
-
-// redumbrella : Travelers TLD, LLC
-// https://www.iana.org/domains/root/db/redumbrella.html
-redumbrella
-
-// rehab : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/rehab.html
-rehab
-
-// reise : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/reise.html
-reise
-
-// reisen : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/reisen.html
-reisen
-
-// reit : National Association of Real Estate Investment Trusts, Inc.
-// https://www.iana.org/domains/root/db/reit.html
-reit
-
-// reliance : Reliance Industries Limited
-// https://www.iana.org/domains/root/db/reliance.html
-reliance
-
-// ren : ZDNS International Limited
-// https://www.iana.org/domains/root/db/ren.html
-ren
-
-// rent : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/rent.html
-rent
-
-// rentals : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/rentals.html
-rentals
-
-// repair : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/repair.html
-repair
-
-// report : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/report.html
-report
-
-// republican : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/republican.html
-republican
-
-// rest : Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable
-// https://www.iana.org/domains/root/db/rest.html
-rest
-
-// restaurant : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/restaurant.html
-restaurant
-
-// review : dot Review Limited
-// https://www.iana.org/domains/root/db/review.html
-review
-
-// reviews : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/reviews.html
-reviews
-
-// rexroth : Robert Bosch GMBH
-// https://www.iana.org/domains/root/db/rexroth.html
-rexroth
-
-// rich : iRegistry GmbH
-// https://www.iana.org/domains/root/db/rich.html
-rich
-
-// richardli : Pacific Century Asset Management (HK) Limited
-// https://www.iana.org/domains/root/db/richardli.html
-richardli
-
-// ricoh : Ricoh Company, Ltd.
-// https://www.iana.org/domains/root/db/ricoh.html
-ricoh
-
-// ril : Reliance Industries Limited
-// https://www.iana.org/domains/root/db/ril.html
-ril
-
-// rio : Empresa Municipal de Informática SA - IPLANRIO
-// https://www.iana.org/domains/root/db/rio.html
-rio
-
-// rip : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/rip.html
-rip
-
-// rocks : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/rocks.html
-rocks
-
-// rodeo : Registry Services, LLC
-// https://www.iana.org/domains/root/db/rodeo.html
-rodeo
-
-// rogers : Rogers Communications Canada Inc.
-// https://www.iana.org/domains/root/db/rogers.html
-rogers
-
-// room : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/room.html
-room
-
-// rsvp : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/rsvp.html
-rsvp
-
-// rugby : World Rugby Strategic Developments Limited
-// https://www.iana.org/domains/root/db/rugby.html
-rugby
-
-// ruhr : dotSaarland GmbH
-// https://www.iana.org/domains/root/db/ruhr.html
-ruhr
-
-// run : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/run.html
-run
-
-// rwe : RWE AG
-// https://www.iana.org/domains/root/db/rwe.html
-rwe
-
-// ryukyu : BRregistry, Inc.
-// https://www.iana.org/domains/root/db/ryukyu.html
-ryukyu
-
-// saarland : dotSaarland GmbH
-// https://www.iana.org/domains/root/db/saarland.html
-saarland
-
-// safe : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/safe.html
-safe
-
-// safety : Safety Registry Services, LLC.
-// https://www.iana.org/domains/root/db/safety.html
-safety
-
-// sakura : SAKURA Internet Inc.
-// https://www.iana.org/domains/root/db/sakura.html
-sakura
-
-// sale : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/sale.html
-sale
-
-// salon : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/salon.html
-salon
-
-// samsclub : Wal-Mart Stores, Inc.
-// https://www.iana.org/domains/root/db/samsclub.html
-samsclub
-
-// samsung : SAMSUNG SDS CO., LTD
-// https://www.iana.org/domains/root/db/samsung.html
-samsung
-
-// sandvik : Sandvik AB
-// https://www.iana.org/domains/root/db/sandvik.html
-sandvik
-
-// sandvikcoromant : Sandvik AB
-// https://www.iana.org/domains/root/db/sandvikcoromant.html
-sandvikcoromant
-
-// sanofi : Sanofi
-// https://www.iana.org/domains/root/db/sanofi.html
-sanofi
-
-// sap : SAP AG
-// https://www.iana.org/domains/root/db/sap.html
-sap
-
-// sarl : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/sarl.html
-sarl
-
-// sas : Research IP LLC
-// https://www.iana.org/domains/root/db/sas.html
-sas
-
-// save : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/save.html
-save
-
-// saxo : Saxo Bank A/S
-// https://www.iana.org/domains/root/db/saxo.html
-saxo
-
-// sbi : STATE BANK OF INDIA
-// https://www.iana.org/domains/root/db/sbi.html
-sbi
-
-// sbs : ShortDot SA
-// https://www.iana.org/domains/root/db/sbs.html
-sbs
-
-// scb : The Siam Commercial Bank Public Company Limited ("SCB")
-// https://www.iana.org/domains/root/db/scb.html
-scb
-
-// schaeffler : Schaeffler Technologies AG & Co. KG
-// https://www.iana.org/domains/root/db/schaeffler.html
-schaeffler
-
-// schmidt : SCHMIDT GROUPE S.A.S.
-// https://www.iana.org/domains/root/db/schmidt.html
-schmidt
-
-// scholarships : Scholarships.com, LLC
-// https://www.iana.org/domains/root/db/scholarships.html
-scholarships
-
-// school : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/school.html
-school
-
-// schule : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/schule.html
-schule
-
-// schwarz : Schwarz Domains und Services GmbH & Co. KG
-// https://www.iana.org/domains/root/db/schwarz.html
-schwarz
-
-// science : dot Science Limited
-// https://www.iana.org/domains/root/db/science.html
-science
-
-// scot : Dot Scot Registry Limited
-// https://www.iana.org/domains/root/db/scot.html
-scot
-
-// search : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/search.html
-search
-
-// seat : SEAT, S.A. (Sociedad Unipersonal)
-// https://www.iana.org/domains/root/db/seat.html
-seat
-
-// secure : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/secure.html
-secure
-
-// security : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/security.html
-security
-
-// seek : Seek Limited
-// https://www.iana.org/domains/root/db/seek.html
-seek
-
-// select : Registry Services, LLC
-// https://www.iana.org/domains/root/db/select.html
-select
-
-// sener : Sener Ingeniería y Sistemas, S.A.
-// https://www.iana.org/domains/root/db/sener.html
-sener
-
-// services : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/services.html
-services
-
-// seven : Seven West Media Ltd
-// https://www.iana.org/domains/root/db/seven.html
-seven
-
-// sew : SEW-EURODRIVE GmbH & Co KG
-// https://www.iana.org/domains/root/db/sew.html
-sew
-
-// sex : ICM Registry SX LLC
-// https://www.iana.org/domains/root/db/sex.html
-sex
-
-// sexy : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/sexy.html
-sexy
-
-// sfr : Societe Francaise du Radiotelephone - SFR
-// https://www.iana.org/domains/root/db/sfr.html
-sfr
-
-// shangrila : Shangri‐La International Hotel Management Limited
-// https://www.iana.org/domains/root/db/shangrila.html
-shangrila
-
-// sharp : Sharp Corporation
-// https://www.iana.org/domains/root/db/sharp.html
-sharp
-
-// shell : Shell Information Technology International Inc
-// https://www.iana.org/domains/root/db/shell.html
-shell
-
-// shia
-// https://www.iana.org/domains/root/db/shia.html
-shia
-
-// shiksha : Identity Digital Limited
-// https://www.iana.org/domains/root/db/shiksha.html
-shiksha
-
-// shoes : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/shoes.html
-shoes
-
-// shop : GMO Registry, Inc.
-// https://www.iana.org/domains/root/db/shop.html
-shop
-
-// shopping : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/shopping.html
-shopping
-
-// shouji : Beijing Qihu Keji Co., Ltd.
-// https://www.iana.org/domains/root/db/shouji.html
-shouji
-
-// show : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/show.html
-show
-
-// silk : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/silk.html
-silk
-
-// sina : Sina Corporation
-// https://www.iana.org/domains/root/db/sina.html
-sina
-
-// singles : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/singles.html
-singles
-
-// site : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/site.html
-site
-
-// ski : Identity Digital Limited
-// https://www.iana.org/domains/root/db/ski.html
-ski
-
-// skin : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/skin.html
-skin
-
-// sky : Sky UK Limited
-// https://www.iana.org/domains/root/db/sky.html
-sky
-
-// skype : Microsoft Corporation
-// https://www.iana.org/domains/root/db/skype.html
-skype
-
-// sling : DISH Technologies L.L.C.
-// https://www.iana.org/domains/root/db/sling.html
-sling
-
-// smart : Smart Communications, Inc. (SMART)
-// https://www.iana.org/domains/root/db/smart.html
-smart
-
-// smile : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/smile.html
-smile
-
-// sncf : Société Nationale SNCF
-// https://www.iana.org/domains/root/db/sncf.html
-sncf
-
-// soccer : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/soccer.html
-soccer
-
-// social : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/social.html
-social
-
-// softbank : SoftBank Group Corp.
-// https://www.iana.org/domains/root/db/softbank.html
-softbank
-
-// software : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/software.html
-software
-
-// sohu : Sohu.com Limited
-// https://www.iana.org/domains/root/db/sohu.html
-sohu
-
-// solar : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/solar.html
-solar
-
-// solutions : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/solutions.html
-solutions
-
-// song : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/song.html
-song
-
-// sony : Sony Corporation
-// https://www.iana.org/domains/root/db/sony.html
-sony
-
-// soy : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/soy.html
-soy
-
-// spa : Asia Spa and Wellness Promotion Council Limited
-// https://www.iana.org/domains/root/db/spa.html
-spa
-
-// space : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/space.html
-space
-
-// sport : SportAccord
-// https://www.iana.org/domains/root/db/sport.html
-sport
-
-// spot : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/spot.html
-spot
-
-// srl : InterNetX, Corp
-// https://www.iana.org/domains/root/db/srl.html
-srl
-
-// stada : STADA Arzneimittel AG
-// https://www.iana.org/domains/root/db/stada.html
-stada
-
-// staples : Staples, Inc.
-// https://www.iana.org/domains/root/db/staples.html
-staples
-
-// star : Star India Private Limited
-// https://www.iana.org/domains/root/db/star.html
-star
-
-// statebank : STATE BANK OF INDIA
-// https://www.iana.org/domains/root/db/statebank.html
-statebank
-
-// statefarm : State Farm Mutual Automobile Insurance Company
-// https://www.iana.org/domains/root/db/statefarm.html
-statefarm
-
-// stc : Saudi Telecom Company
-// https://www.iana.org/domains/root/db/stc.html
-stc
-
-// stcgroup : Saudi Telecom Company
-// https://www.iana.org/domains/root/db/stcgroup.html
-stcgroup
-
-// stockholm : Stockholms kommun
-// https://www.iana.org/domains/root/db/stockholm.html
-stockholm
-
-// storage : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/storage.html
-storage
-
-// store : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/store.html
-store
-
-// stream : dot Stream Limited
-// https://www.iana.org/domains/root/db/stream.html
-stream
-
-// studio : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/studio.html
-studio
-
-// study : Registry Services, LLC
-// https://www.iana.org/domains/root/db/study.html
-study
-
-// style : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/style.html
-style
-
-// sucks : Vox Populi Registry Ltd.
-// https://www.iana.org/domains/root/db/sucks.html
-sucks
-
-// supplies : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/supplies.html
-supplies
-
-// supply : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/supply.html
-supply
-
-// support : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/support.html
-support
-
-// surf : Registry Services, LLC
-// https://www.iana.org/domains/root/db/surf.html
-surf
-
-// surgery : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/surgery.html
-surgery
-
-// suzuki : SUZUKI MOTOR CORPORATION
-// https://www.iana.org/domains/root/db/suzuki.html
-suzuki
-
-// swatch : The Swatch Group Ltd
-// https://www.iana.org/domains/root/db/swatch.html
-swatch
-
-// swiss : Swiss Confederation
-// https://www.iana.org/domains/root/db/swiss.html
-swiss
-
-// sydney : State of New South Wales, Department of Premier and Cabinet
-// https://www.iana.org/domains/root/db/sydney.html
-sydney
-
-// systems : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/systems.html
-systems
-
-// tab : Tabcorp Holdings Limited
-// https://www.iana.org/domains/root/db/tab.html
-tab
-
-// taipei : Taipei City Government
-// https://www.iana.org/domains/root/db/taipei.html
-taipei
-
-// talk : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/talk.html
-talk
-
-// taobao : Alibaba Group Holding Limited
-// https://www.iana.org/domains/root/db/taobao.html
-taobao
-
-// target : Target Domain Holdings, LLC
-// https://www.iana.org/domains/root/db/target.html
-target
-
-// tatamotors : Tata Motors Ltd
-// https://www.iana.org/domains/root/db/tatamotors.html
-tatamotors
-
-// tatar : Limited Liability Company "Coordination Center of Regional Domain of Tatarstan Republic"
-// https://www.iana.org/domains/root/db/tatar.html
-tatar
-
-// tattoo : Registry Services, LLC
-// https://www.iana.org/domains/root/db/tattoo.html
-tattoo
-
-// tax : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/tax.html
-tax
-
-// taxi : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/taxi.html
-taxi
-
-// tci
-// https://www.iana.org/domains/root/db/tci.html
-tci
-
-// tdk : TDK Corporation
-// https://www.iana.org/domains/root/db/tdk.html
-tdk
-
-// team : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/team.html
-team
-
-// tech : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/tech.html
-tech
-
-// technology : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/technology.html
-technology
-
-// temasek : Temasek Holdings (Private) Limited
-// https://www.iana.org/domains/root/db/temasek.html
-temasek
-
-// tennis : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/tennis.html
-tennis
-
-// teva : Teva Pharmaceutical Industries Limited
-// https://www.iana.org/domains/root/db/teva.html
-teva
-
-// thd : Home Depot Product Authority, LLC
-// https://www.iana.org/domains/root/db/thd.html
-thd
-
-// theater : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/theater.html
-theater
-
-// theatre : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/theatre.html
-theatre
-
-// tiaa : Teachers Insurance and Annuity Association of America
-// https://www.iana.org/domains/root/db/tiaa.html
-tiaa
-
-// tickets : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/tickets.html
-tickets
-
-// tienda : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/tienda.html
-tienda
-
-// tips : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/tips.html
-tips
-
-// tires : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/tires.html
-tires
-
-// tirol : punkt Tirol GmbH
-// https://www.iana.org/domains/root/db/tirol.html
-tirol
-
-// tjmaxx : The TJX Companies, Inc.
-// https://www.iana.org/domains/root/db/tjmaxx.html
-tjmaxx
-
-// tjx : The TJX Companies, Inc.
-// https://www.iana.org/domains/root/db/tjx.html
-tjx
-
-// tkmaxx : The TJX Companies, Inc.
-// https://www.iana.org/domains/root/db/tkmaxx.html
-tkmaxx
-
-// tmall : Alibaba Group Holding Limited
-// https://www.iana.org/domains/root/db/tmall.html
-tmall
-
-// today : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/today.html
-today
-
-// tokyo : GMO Registry, Inc.
-// https://www.iana.org/domains/root/db/tokyo.html
-tokyo
-
-// tools : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/tools.html
-tools
-
-// top : .TOP Registry
-// https://www.iana.org/domains/root/db/top.html
-top
-
-// toray : Toray Industries, Inc.
-// https://www.iana.org/domains/root/db/toray.html
-toray
-
-// toshiba : TOSHIBA Corporation
-// https://www.iana.org/domains/root/db/toshiba.html
-toshiba
-
-// total : TotalEnergies SE
-// https://www.iana.org/domains/root/db/total.html
-total
-
-// tours : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/tours.html
-tours
-
-// town : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/town.html
-town
-
-// toyota : TOYOTA MOTOR CORPORATION
-// https://www.iana.org/domains/root/db/toyota.html
-toyota
-
-// toys : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/toys.html
-toys
-
-// trade : Elite Registry Limited
-// https://www.iana.org/domains/root/db/trade.html
-trade
-
-// trading : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/trading.html
-trading
-
-// training : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/training.html
-training
-
-// travel : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/travel.html
-travel
-
-// travelers : Travelers TLD, LLC
-// https://www.iana.org/domains/root/db/travelers.html
-travelers
-
-// travelersinsurance : Travelers TLD, LLC
-// https://www.iana.org/domains/root/db/travelersinsurance.html
-travelersinsurance
-
-// trust : Internet Naming Company LLC
-// https://www.iana.org/domains/root/db/trust.html
-trust
-
-// trv : Travelers TLD, LLC
-// https://www.iana.org/domains/root/db/trv.html
-trv
-
-// tube : Latin American Telecom LLC
-// https://www.iana.org/domains/root/db/tube.html
-tube
-
-// tui : TUI AG
-// https://www.iana.org/domains/root/db/tui.html
-tui
-
-// tunes : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/tunes.html
-tunes
-
-// tushu : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/tushu.html
-tushu
-
-// tvs : T V SUNDRAM IYENGAR  & SONS LIMITED
-// https://www.iana.org/domains/root/db/tvs.html
-tvs
-
-// ubank : National Australia Bank Limited
-// https://www.iana.org/domains/root/db/ubank.html
-ubank
-
-// ubs : UBS AG
-// https://www.iana.org/domains/root/db/ubs.html
-ubs
-
-// unicom : China United Network Communications Corporation Limited
-// https://www.iana.org/domains/root/db/unicom.html
-unicom
-
-// university : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/university.html
-university
-
-// uno : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/uno.html
-uno
-
-// uol : UBN INTERNET LTDA.
-// https://www.iana.org/domains/root/db/uol.html
-uol
-
-// ups : UPS Market Driver, Inc.
-// https://www.iana.org/domains/root/db/ups.html
-ups
-
-// vacations : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/vacations.html
-vacations
-
-// vana : D3 Registry LLC
-// https://www.iana.org/domains/root/db/vana.html
-vana
-
-// vanguard : The Vanguard Group, Inc.
-// https://www.iana.org/domains/root/db/vanguard.html
-vanguard
-
-// vegas : Dot Vegas, Inc.
-// https://www.iana.org/domains/root/db/vegas.html
-vegas
-
-// ventures : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/ventures.html
-ventures
-
-// verisign : VeriSign, Inc.
-// https://www.iana.org/domains/root/db/verisign.html
-verisign
-
-// versicherung : tldbox GmbH
-// https://www.iana.org/domains/root/db/versicherung.html
-versicherung
-
-// vet : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/vet.html
-vet
-
-// viajes : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/viajes.html
-viajes
-
-// video : Dog Beach, LLC
-// https://www.iana.org/domains/root/db/video.html
-video
-
-// vig : VIENNA INSURANCE GROUP AG Wiener Versicherung Gruppe
-// https://www.iana.org/domains/root/db/vig.html
-vig
-
-// viking : Viking River Cruises (Bermuda) Ltd.
-// https://www.iana.org/domains/root/db/viking.html
-viking
-
-// villas : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/villas.html
-villas
-
-// vin : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/vin.html
-vin
-
-// vip : Registry Services, LLC
-// https://www.iana.org/domains/root/db/vip.html
-vip
-
-// virgin : Virgin Enterprises Limited
-// https://www.iana.org/domains/root/db/virgin.html
-virgin
-
-// visa : Visa Worldwide Pte. Limited
-// https://www.iana.org/domains/root/db/visa.html
-visa
-
-// vision : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/vision.html
-vision
-
-// viva : Saudi Telecom Company
-// https://www.iana.org/domains/root/db/viva.html
-viva
-
-// vivo : Telefonica Brasil S.A.
-// https://www.iana.org/domains/root/db/vivo.html
-vivo
-
-// vlaanderen : DNS.be vzw
-// https://www.iana.org/domains/root/db/vlaanderen.html
-vlaanderen
-
-// vodka : Registry Services, LLC
-// https://www.iana.org/domains/root/db/vodka.html
-vodka
-
-// volvo : Volvo Holding Sverige Aktiebolag
-// https://www.iana.org/domains/root/db/volvo.html
-volvo
-
-// vote : Monolith Registry LLC
-// https://www.iana.org/domains/root/db/vote.html
-vote
-
-// voting : Valuetainment Corp.
-// https://www.iana.org/domains/root/db/voting.html
-voting
-
-// voto : Monolith Registry LLC
-// https://www.iana.org/domains/root/db/voto.html
-voto
-
-// voyage : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/voyage.html
-voyage
-
-// wales : Nominet UK
-// https://www.iana.org/domains/root/db/wales.html
-wales
-
-// walmart : Wal-Mart Stores, Inc.
-// https://www.iana.org/domains/root/db/walmart.html
-walmart
-
-// walter : Sandvik AB
-// https://www.iana.org/domains/root/db/walter.html
-walter
-
-// wang : Zodiac Wang Limited
-// https://www.iana.org/domains/root/db/wang.html
-wang
-
-// wanggou : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/wanggou.html
-wanggou
-
-// watch : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/watch.html
-watch
-
-// watches : Identity Digital Limited
-// https://www.iana.org/domains/root/db/watches.html
-watches
-
-// weather : International Business Machines Corporation
-// https://www.iana.org/domains/root/db/weather.html
-weather
-
-// weatherchannel : International Business Machines Corporation
-// https://www.iana.org/domains/root/db/weatherchannel.html
-weatherchannel
-
-// webcam : dot Webcam Limited
-// https://www.iana.org/domains/root/db/webcam.html
-webcam
-
-// weber : Saint-Gobain Weber SA
-// https://www.iana.org/domains/root/db/weber.html
-weber
-
-// website : Radix Technologies Inc.
-// https://www.iana.org/domains/root/db/website.html
-website
-
-// wed
-// https://www.iana.org/domains/root/db/wed.html
-wed
-
-// wedding : Registry Services, LLC
-// https://www.iana.org/domains/root/db/wedding.html
-wedding
-
-// weibo : Sina Corporation
-// https://www.iana.org/domains/root/db/weibo.html
-weibo
-
-// weir : Weir Group IP Limited
-// https://www.iana.org/domains/root/db/weir.html
-weir
-
-// whoswho : Who's Who Registry
-// https://www.iana.org/domains/root/db/whoswho.html
-whoswho
-
-// wien : punkt.wien GmbH
-// https://www.iana.org/domains/root/db/wien.html
-wien
-
-// wiki : Registry Services, LLC
-// https://www.iana.org/domains/root/db/wiki.html
-wiki
-
-// williamhill : William Hill Organization Limited
-// https://www.iana.org/domains/root/db/williamhill.html
-williamhill
-
-// win : First Registry Limited
-// https://www.iana.org/domains/root/db/win.html
-win
-
-// windows : Microsoft Corporation
-// https://www.iana.org/domains/root/db/windows.html
-windows
-
-// wine : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/wine.html
-wine
-
-// winners : The TJX Companies, Inc.
-// https://www.iana.org/domains/root/db/winners.html
-winners
-
-// wme : William Morris Endeavor Entertainment, LLC
-// https://www.iana.org/domains/root/db/wme.html
-wme
-
-// wolterskluwer : Wolters Kluwer N.V.
-// https://www.iana.org/domains/root/db/wolterskluwer.html
-wolterskluwer
-
-// woodside : Woodside Petroleum Limited
-// https://www.iana.org/domains/root/db/woodside.html
-woodside
-
-// work : Registry Services, LLC
-// https://www.iana.org/domains/root/db/work.html
-work
-
-// works : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/works.html
-works
-
-// world : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/world.html
-world
-
-// wow : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/wow.html
-wow
-
-// wtc : World Trade Centers Association, Inc.
-// https://www.iana.org/domains/root/db/wtc.html
-wtc
-
-// wtf : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/wtf.html
-wtf
-
-// xbox : Microsoft Corporation
-// https://www.iana.org/domains/root/db/xbox.html
-xbox
-
-// xerox : Xerox DNHC LLC
-// https://www.iana.org/domains/root/db/xerox.html
-xerox
-
-// xihuan : Beijing Qihu Keji Co., Ltd.
-// https://www.iana.org/domains/root/db/xihuan.html
-xihuan
-
-// xin : Elegant Leader Limited
-// https://www.iana.org/domains/root/db/xin.html
-xin
-
-// xn--11b4c3d : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--11b4c3d.html
-कॉम
-
-// xn--1ck2e1b : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--1ck2e1b.html
-セール
-
-// xn--1qqw23a : Guangzhou YU Wei Information Technology Co., Ltd.
-// https://www.iana.org/domains/root/db/xn--1qqw23a.html
-佛山
-
-// xn--30rr7y : Excellent First Limited
-// https://www.iana.org/domains/root/db/xn--30rr7y.html
-慈善
-
-// xn--3bst00m : Eagle Horizon Limited
-// https://www.iana.org/domains/root/db/xn--3bst00m.html
-集团
-
-// xn--3ds443g : Beijing TLD Registry Technology Limited
-// https://www.iana.org/domains/root/db/xn--3ds443g.html
-在线
-
-// xn--3pxu8k : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--3pxu8k.html
-点看
-
-// xn--42c2d9a : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--42c2d9a.html
-คอม
-
-// xn--45q11c : Zodiac Gemini Ltd
-// https://www.iana.org/domains/root/db/xn--45q11c.html
-八卦
-
-// xn--4gbrim : Helium TLDs Ltd
-// https://www.iana.org/domains/root/db/xn--4gbrim.html
-موقع
-
-// xn--55qw42g : China Organizational Name Administration Center
-// https://www.iana.org/domains/root/db/xn--55qw42g.html
-公益
-
-// xn--55qx5d : China Internet Network Information Center (CNNIC)
-// https://www.iana.org/domains/root/db/xn--55qx5d.html
-公司
-
-// xn--5su34j936bgsg : Shangri‐La International Hotel Management Limited
-// https://www.iana.org/domains/root/db/xn--5su34j936bgsg.html
-香格里拉
-
-// xn--5tzm5g : Global Website TLD Asia Limited
-// https://www.iana.org/domains/root/db/xn--5tzm5g.html
-网站
-
-// xn--6frz82g : Identity Digital Limited
-// https://www.iana.org/domains/root/db/xn--6frz82g.html
-移动
-
-// xn--6qq986b3xl : Tycoon Treasure Limited
-// https://www.iana.org/domains/root/db/xn--6qq986b3xl.html
-我爱你
-
-// xn--80adxhks : Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
-// https://www.iana.org/domains/root/db/xn--80adxhks.html
-москва
-
-// xn--80aqecdr1a : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
-// https://www.iana.org/domains/root/db/xn--80aqecdr1a.html
-католик
-
-// xn--80asehdb : CORE Association
-// https://www.iana.org/domains/root/db/xn--80asehdb.html
-онлайн
-
-// xn--80aswg : CORE Association
-// https://www.iana.org/domains/root/db/xn--80aswg.html
-сайт
-
-// xn--8y0a063a : China United Network Communications Corporation Limited
-// https://www.iana.org/domains/root/db/xn--8y0a063a.html
-联通
-
-// xn--9dbq2a : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--9dbq2a.html
-קום
-
-// xn--9et52u : RISE VICTORY LIMITED
-// https://www.iana.org/domains/root/db/xn--9et52u.html
-时尚
-
-// xn--9krt00a : Sina Corporation
-// https://www.iana.org/domains/root/db/xn--9krt00a.html
-微博
-
-// xn--b4w605ferd : Temasek Holdings (Private) Limited
-// https://www.iana.org/domains/root/db/xn--b4w605ferd.html
-淡马锡
-
-// xn--bck1b9a5dre4c : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--bck1b9a5dre4c.html
-ファッション
-
-// xn--c1avg : Public Interest Registry
-// https://www.iana.org/domains/root/db/xn--c1avg.html
-орг
-
-// xn--c2br7g : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--c2br7g.html
-नेट
-
-// xn--cck2b3b : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--cck2b3b.html
-ストア
-
-// xn--cckwcxetd : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--cckwcxetd.html
-アマゾン
-
-// xn--cg4bki : SAMSUNG SDS CO., LTD
-// https://www.iana.org/domains/root/db/xn--cg4bki.html
-삼성
-
-// xn--czr694b : Internet DotTrademark Organisation Limited
-// https://www.iana.org/domains/root/db/xn--czr694b.html
-商标
-
-// xn--czrs0t : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/xn--czrs0t.html
-商店
-
-// xn--czru2d : Zodiac Aquarius Limited
-// https://www.iana.org/domains/root/db/xn--czru2d.html
-商城
-
-// xn--d1acj3b : The Foundation for Network Initiatives “The Smart Internet”
-// https://www.iana.org/domains/root/db/xn--d1acj3b.html
-дети
-
-// xn--eckvdtc9d : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--eckvdtc9d.html
-ポイント
-
-// xn--efvy88h : Guangzhou YU Wei Information Technology Co., Ltd.
-// https://www.iana.org/domains/root/db/xn--efvy88h.html
-新闻
-
-// xn--fct429k : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--fct429k.html
-家電
-
-// xn--fhbei : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--fhbei.html
-كوم
-
-// xn--fiq228c5hs : TLD REGISTRY LIMITED OY
-// https://www.iana.org/domains/root/db/xn--fiq228c5hs.html
-中文网
-
-// xn--fiq64b : CITIC Group Corporation
-// https://www.iana.org/domains/root/db/xn--fiq64b.html
-中信
-
-// xn--fjq720a : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/xn--fjq720a.html
-娱乐
-
-// xn--flw351e : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/xn--flw351e.html
-谷歌
-
-// xn--fzys8d69uvgm : PCCW Enterprises Limited
-// https://www.iana.org/domains/root/db/xn--fzys8d69uvgm.html
-電訊盈科
-
-// xn--g2xx48c : Nawang Heli(Xiamen) Network Service Co., LTD.
-// https://www.iana.org/domains/root/db/xn--g2xx48c.html
-购物
-
-// xn--gckr3f0f : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--gckr3f0f.html
-クラウド
-
-// xn--gk3at1e : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--gk3at1e.html
-通販
-
-// xn--hxt814e : Zodiac Taurus Limited
-// https://www.iana.org/domains/root/db/xn--hxt814e.html
-网店
-
-// xn--i1b6b1a6a2e : Public Interest Registry
-// https://www.iana.org/domains/root/db/xn--i1b6b1a6a2e.html
-संगठन
-
-// xn--imr513n : Internet DotTrademark Organisation Limited
-// https://www.iana.org/domains/root/db/xn--imr513n.html
-餐厅
-
-// xn--io0a7i : China Internet Network Information Center (CNNIC)
-// https://www.iana.org/domains/root/db/xn--io0a7i.html
-网络
-
-// xn--j1aef : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--j1aef.html
-ком
-
-// xn--jlq480n2rg : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--jlq480n2rg.html
-亚马逊
-
-// xn--jvr189m : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--jvr189m.html
-食品
-
-// xn--kcrx77d1x4a : Koninklijke Philips N.V.
-// https://www.iana.org/domains/root/db/xn--kcrx77d1x4a.html
-飞利浦
-
-// xn--kput3i : Beijing RITT-Net Technology Development Co., Ltd
-// https://www.iana.org/domains/root/db/xn--kput3i.html
-手机
-
-// xn--mgba3a3ejt : Aramco Services Company
-// https://www.iana.org/domains/root/db/xn--mgba3a3ejt.html
-ارامكو
-
-// xn--mgba7c0bbn0a : Competrol (Luxembourg) Sarl
-// https://www.iana.org/domains/root/db/xn--mgba7c0bbn0a.html
-العليان
-
-// xn--mgbab2bd : CORE Association
-// https://www.iana.org/domains/root/db/xn--mgbab2bd.html
-بازار
-
-// xn--mgbca7dzdo : Abu Dhabi Systems and Information Centre
-// https://www.iana.org/domains/root/db/xn--mgbca7dzdo.html
-ابوظبي
-
-// xn--mgbi4ecexp : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
-// https://www.iana.org/domains/root/db/xn--mgbi4ecexp.html
-كاثوليك
-
-// xn--mgbt3dhd
-// https://www.iana.org/domains/root/db/xn--mgbt3dhd.html
-همراه
-
-// xn--mk1bu44c : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--mk1bu44c.html
-닷컴
-
-// xn--mxtq1m : Net-Chinese Co., Ltd.
-// https://www.iana.org/domains/root/db/xn--mxtq1m.html
-政府
-
-// xn--ngbc5azd : International Domain Registry Pty. Ltd.
-// https://www.iana.org/domains/root/db/xn--ngbc5azd.html
-شبكة
-
-// xn--ngbe9e0a : Kuwait Finance House
-// https://www.iana.org/domains/root/db/xn--ngbe9e0a.html
-بيتك
-
-// xn--ngbrx : League of Arab States
-// https://www.iana.org/domains/root/db/xn--ngbrx.html
-عرب
-
-// xn--nqv7f : Public Interest Registry
-// https://www.iana.org/domains/root/db/xn--nqv7f.html
-机构
-
-// xn--nqv7fs00ema : Public Interest Registry
-// https://www.iana.org/domains/root/db/xn--nqv7fs00ema.html
-组织机构
-
-// xn--nyqy26a : Stable Tone Limited
-// https://www.iana.org/domains/root/db/xn--nyqy26a.html
-健康
-
-// xn--otu796d : Jiang Yu Liang Cai Technology Company Limited
-// https://www.iana.org/domains/root/db/xn--otu796d.html
-招聘
-
-// xn--p1acf : Rusnames Limited
-// https://www.iana.org/domains/root/db/xn--p1acf.html
-рус
-
-// xn--pssy2u : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--pssy2u.html
-大拿
-
-// xn--q9jyb4c : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/xn--q9jyb4c.html
-みんな
-
-// xn--qcka1pmc : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/xn--qcka1pmc.html
-グーグル
-
-// xn--rhqv96g : Stable Tone Limited
-// https://www.iana.org/domains/root/db/xn--rhqv96g.html
-世界
-
-// xn--rovu88b : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/xn--rovu88b.html
-書籍
-
-// xn--ses554g : KNET Co., Ltd.
-// https://www.iana.org/domains/root/db/xn--ses554g.html
-网址
-
-// xn--t60b56a : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--t60b56a.html
-닷넷
-
-// xn--tckwe : VeriSign Sarl
-// https://www.iana.org/domains/root/db/xn--tckwe.html
-コム
-
-// xn--tiq49xqyj : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
-// https://www.iana.org/domains/root/db/xn--tiq49xqyj.html
-天主教
-
-// xn--unup4y : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/xn--unup4y.html
-游戏
-
-// xn--vermgensberater-ctb : Deutsche Vermögensberatung Aktiengesellschaft DVAG
-// https://www.iana.org/domains/root/db/xn--vermgensberater-ctb.html
-vermögensberater
-
-// xn--vermgensberatung-pwb : Deutsche Vermögensberatung Aktiengesellschaft DVAG
-// https://www.iana.org/domains/root/db/xn--vermgensberatung-pwb.html
-vermögensberatung
-
-// xn--vhquv : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/xn--vhquv.html
-企业
-
-// xn--vuq861b : Beijing Tele-info Technology Co., Ltd.
-// https://www.iana.org/domains/root/db/xn--vuq861b.html
-信息
-
-// xn--w4r85el8fhu5dnra : Kerry Trading Co. Limited
-// https://www.iana.org/domains/root/db/xn--w4r85el8fhu5dnra.html
-嘉里大酒店
-
-// xn--w4rs40l : Kerry Trading Co. Limited
-// https://www.iana.org/domains/root/db/xn--w4rs40l.html
-嘉里
-
-// xn--xhq521b : Guangzhou YU Wei Information Technology Co., Ltd.
-// https://www.iana.org/domains/root/db/xn--xhq521b.html
-广东
-
-// xn--zfr164b : China Organizational Name Administration Center
-// https://www.iana.org/domains/root/db/xn--zfr164b.html
-政务
-
-// xyz : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/xyz.html
-xyz
-
-// yachts : XYZ.COM LLC
-// https://www.iana.org/domains/root/db/yachts.html
-yachts
-
-// yahoo : Yahoo Inc.
-// https://www.iana.org/domains/root/db/yahoo.html
-yahoo
-
-// yamaxun : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/yamaxun.html
-yamaxun
-
-// yandex : ADC Tech Netherlands B.V.
-// https://www.iana.org/domains/root/db/yandex.html
-yandex
-
-// yodobashi : YODOBASHI CAMERA CO.,LTD.
-// https://www.iana.org/domains/root/db/yodobashi.html
-yodobashi
-
-// yoga : Registry Services, LLC
-// https://www.iana.org/domains/root/db/yoga.html
-yoga
-
-// yokohama : GMO Registry, Inc.
-// https://www.iana.org/domains/root/db/yokohama.html
-yokohama
-
-// you : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/you.html
-you
-
-// youtube : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/youtube.html
-youtube
-
-// yun : Beijing Qihu Keji Co., Ltd.
-// https://www.iana.org/domains/root/db/yun.html
-yun
-
-// zappos : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/zappos.html
-zappos
-
-// zara : Industria de Diseño Textil, S.A. (INDITEX, S.A.)
-// https://www.iana.org/domains/root/db/zara.html
-zara
-
-// zero : Amazon Registry Services, Inc.
-// https://www.iana.org/domains/root/db/zero.html
-zero
-
-// zip : Charleston Road Registry Inc.
-// https://www.iana.org/domains/root/db/zip.html
-zip
-
-// zone : Binky Moon, LLC
-// https://www.iana.org/domains/root/db/zone.html
-zone
-
-// zuerich : Kanton Zürich (Canton of Zurich)
-// https://www.iana.org/domains/root/db/zuerich.html
-zuerich
-
-// ===END ICANN DOMAINS===
-
-// ===BEGIN PRIVATE DOMAINS===
-
-// (Note: these are in alphabetical order by company name)
-
-// .KRD : https://nic.krd
-co.krd
-edu.krd
-
-// .pl domains (grandfathered)
-art.pl
-gliwice.pl
-krakow.pl
-poznan.pl
-wroc.pl
-zakopane.pl
-
-// .US
-// Submitted by Ed Moore <[email protected]>
-lib.de.us
-
-// 12CHARS : https://12chars.com
-// Submitted by Kenny Niehage <[email protected]>
-12chars.dev
-12chars.it
-12chars.pro
-
-// 1GB LLC : https://www.1gb.ua/
-// Submitted by 1GB LLC <[email protected]>
-cc.ua
-inf.ua
-ltd.ua
-
-// 611 blockchain domain name system : https://611project.net/
-611.to
-
-// A2 Hosting
-// Submitted by Tyler Hall <[email protected]>
-a2hosted.com
-cpserver.com
-
-// Acorn Labs : https://acorn.io
-// Submitted by Craig Jellick <[email protected]>
-*.on-acorn.io
-
-// ActiveTrail : https://www.activetrail.biz/
-// Submitted by Ofer Kalaora <[email protected]>
-activetrail.biz
-
-// Adaptable.io : https://adaptable.io
-// Submitted by Mark Terrel <[email protected]>
-adaptable.app
-
-// addr.tools : https://addr.tools/
-// Submitted by Brian Shea <[email protected]>
-myaddr.dev
-myaddr.io
-dyn.addr.tools
-myaddr.tools
-
-// Adobe : https://www.adobe.com/
-// Submitted by Ian Boston <[email protected]> and Lars Trieloff <[email protected]>
-adobeaemcloud.com
-*.dev.adobeaemcloud.com
-aem.live
-hlx.live
-adobeaemcloud.net
-aem.page
-hlx.page
-hlx3.page
-
-// Adobe Developer Platform : https://developer.adobe.com
-// Submitted by Jesse MacFadyen<[email protected]>
-adobeio-static.net
-adobeioruntime.net
-
-// Africa.com Web Solutions Ltd : https://registry.africa.com
-// Submitted by Gavin Brown <[email protected]>
-africa.com
-
-// Agnat sp. z o.o. : https://domena.pl
-// Submitted by Przemyslaw Plewa <[email protected]>
-beep.pl
-
-// Airkit : https://www.airkit.com/
-// Submitted by Grant Cooksey <[email protected]>
-airkitapps.com
-airkitapps-au.com
-airkitapps.eu
-
-// Aiven : https://aiven.io/
-// Submitted by Aiven Security Team <[email protected]>
-aiven.app
-aivencloud.com
-
-// Akamai : https://www.akamai.com/
-// Submitted by Akamai Team <[email protected]>
-akadns.net
-akamai.net
-akamai-staging.net
-akamaiedge.net
-akamaiedge-staging.net
-akamaihd.net
-akamaihd-staging.net
-akamaiorigin.net
-akamaiorigin-staging.net
-akamaized.net
-akamaized-staging.net
-edgekey.net
-edgekey-staging.net
-edgesuite.net
-edgesuite-staging.net
-
-// alboto.ca : http://alboto.ca
-// Submitted by Anton Avramov <[email protected]>
-barsy.ca
-
-// Alces Software Ltd : http://alces-software.com
-// Submitted by Mark J. Titorenko <[email protected]>
-*.compute.estate
-*.alces.network
-
-// all-inkl.com : https://all-inkl.com
-// Submitted by Werner Kaltofen <[email protected]>
-kasserver.com
-
-// Altervista : https://www.altervista.org
-// Submitted by Carlo Cannas <[email protected]>
-altervista.org
-
-// alwaysdata : https://www.alwaysdata.com
-// Submitted by Cyril <[email protected]>
-alwaysdata.net
-
-// Amaze Software : https://amaze.co
-// Submitted by Domain Admin <[email protected]>
-myamaze.net
-
-// Amazon : https://www.amazon.com/
-// Submitted by AWS Security <[email protected]>
-// Subsections of Amazon/subsidiaries will appear until "concludes" tag
-
-// Amazon API Gateway
-// Submitted by AWS Security <[email protected]>
-// Reference: 6a4f5a95-8c7d-4077-a7af-9cf1abec0a53
-execute-api.cn-north-1.amazonaws.com.cn
-execute-api.cn-northwest-1.amazonaws.com.cn
-execute-api.af-south-1.amazonaws.com
-execute-api.ap-east-1.amazonaws.com
-execute-api.ap-northeast-1.amazonaws.com
-execute-api.ap-northeast-2.amazonaws.com
-execute-api.ap-northeast-3.amazonaws.com
-execute-api.ap-south-1.amazonaws.com
-execute-api.ap-south-2.amazonaws.com
-execute-api.ap-southeast-1.amazonaws.com
-execute-api.ap-southeast-2.amazonaws.com
-execute-api.ap-southeast-3.amazonaws.com
-execute-api.ap-southeast-4.amazonaws.com
-execute-api.ap-southeast-5.amazonaws.com
-execute-api.ca-central-1.amazonaws.com
-execute-api.ca-west-1.amazonaws.com
-execute-api.eu-central-1.amazonaws.com
-execute-api.eu-central-2.amazonaws.com
-execute-api.eu-north-1.amazonaws.com
-execute-api.eu-south-1.amazonaws.com
-execute-api.eu-south-2.amazonaws.com
-execute-api.eu-west-1.amazonaws.com
-execute-api.eu-west-2.amazonaws.com
-execute-api.eu-west-3.amazonaws.com
-execute-api.il-central-1.amazonaws.com
-execute-api.me-central-1.amazonaws.com
-execute-api.me-south-1.amazonaws.com
-execute-api.sa-east-1.amazonaws.com
-execute-api.us-east-1.amazonaws.com
-execute-api.us-east-2.amazonaws.com
-execute-api.us-gov-east-1.amazonaws.com
-execute-api.us-gov-west-1.amazonaws.com
-execute-api.us-west-1.amazonaws.com
-execute-api.us-west-2.amazonaws.com
-
-// Amazon CloudFront
-// Submitted by Donavan Miller <[email protected]>
-// Reference: 54144616-fd49-4435-8535-19c6a601bdb3
-cloudfront.net
-
-// Amazon Cognito
-// Submitted by AWS Security <[email protected]>
-// Reference: cb38c251-c93d-4cda-81ec-e72c4f0fdb72
-auth.af-south-1.amazoncognito.com
-auth.ap-east-1.amazoncognito.com
-auth.ap-northeast-1.amazoncognito.com
-auth.ap-northeast-2.amazoncognito.com
-auth.ap-northeast-3.amazoncognito.com
-auth.ap-south-1.amazoncognito.com
-auth.ap-south-2.amazoncognito.com
-auth.ap-southeast-1.amazoncognito.com
-auth.ap-southeast-2.amazoncognito.com
-auth.ap-southeast-3.amazoncognito.com
-auth.ap-southeast-4.amazoncognito.com
-auth.ca-central-1.amazoncognito.com
-auth.ca-west-1.amazoncognito.com
-auth.eu-central-1.amazoncognito.com
-auth.eu-central-2.amazoncognito.com
-auth.eu-north-1.amazoncognito.com
-auth.eu-south-1.amazoncognito.com
-auth.eu-south-2.amazoncognito.com
-auth.eu-west-1.amazoncognito.com
-auth.eu-west-2.amazoncognito.com
-auth.eu-west-3.amazoncognito.com
-auth.il-central-1.amazoncognito.com
-auth.me-central-1.amazoncognito.com
-auth.me-south-1.amazoncognito.com
-auth.sa-east-1.amazoncognito.com
-auth.us-east-1.amazoncognito.com
-auth-fips.us-east-1.amazoncognito.com
-auth.us-east-2.amazoncognito.com
-auth-fips.us-east-2.amazoncognito.com
-auth-fips.us-gov-west-1.amazoncognito.com
-auth.us-west-1.amazoncognito.com
-auth-fips.us-west-1.amazoncognito.com
-auth.us-west-2.amazoncognito.com
-auth-fips.us-west-2.amazoncognito.com
-
-// Amazon EC2
-// Submitted by Luke Wells <[email protected]>
-// Reference: 4c38fa71-58ac-4768-99e5-689c1767e537
-*.compute.amazonaws.com.cn
-*.compute.amazonaws.com
-*.compute-1.amazonaws.com
-us-east-1.amazonaws.com
-
-// Amazon EMR
-// Submitted by AWS Security <[email protected]>
-// Reference: 82f43f9f-bbb8-400e-8349-854f5a62f20d
-emrappui-prod.cn-north-1.amazonaws.com.cn
-emrnotebooks-prod.cn-north-1.amazonaws.com.cn
-emrstudio-prod.cn-north-1.amazonaws.com.cn
-emrappui-prod.cn-northwest-1.amazonaws.com.cn
-emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn
-emrstudio-prod.cn-northwest-1.amazonaws.com.cn
-emrappui-prod.af-south-1.amazonaws.com
-emrnotebooks-prod.af-south-1.amazonaws.com
-emrstudio-prod.af-south-1.amazonaws.com
-emrappui-prod.ap-east-1.amazonaws.com
-emrnotebooks-prod.ap-east-1.amazonaws.com
-emrstudio-prod.ap-east-1.amazonaws.com
-emrappui-prod.ap-northeast-1.amazonaws.com
-emrnotebooks-prod.ap-northeast-1.amazonaws.com
-emrstudio-prod.ap-northeast-1.amazonaws.com
-emrappui-prod.ap-northeast-2.amazonaws.com
-emrnotebooks-prod.ap-northeast-2.amazonaws.com
-emrstudio-prod.ap-northeast-2.amazonaws.com
-emrappui-prod.ap-northeast-3.amazonaws.com
-emrnotebooks-prod.ap-northeast-3.amazonaws.com
-emrstudio-prod.ap-northeast-3.amazonaws.com
-emrappui-prod.ap-south-1.amazonaws.com
-emrnotebooks-prod.ap-south-1.amazonaws.com
-emrstudio-prod.ap-south-1.amazonaws.com
-emrappui-prod.ap-south-2.amazonaws.com
-emrnotebooks-prod.ap-south-2.amazonaws.com
-emrstudio-prod.ap-south-2.amazonaws.com
-emrappui-prod.ap-southeast-1.amazonaws.com
-emrnotebooks-prod.ap-southeast-1.amazonaws.com
-emrstudio-prod.ap-southeast-1.amazonaws.com
-emrappui-prod.ap-southeast-2.amazonaws.com
-emrnotebooks-prod.ap-southeast-2.amazonaws.com
-emrstudio-prod.ap-southeast-2.amazonaws.com
-emrappui-prod.ap-southeast-3.amazonaws.com
-emrnotebooks-prod.ap-southeast-3.amazonaws.com
-emrstudio-prod.ap-southeast-3.amazonaws.com
-emrappui-prod.ap-southeast-4.amazonaws.com
-emrnotebooks-prod.ap-southeast-4.amazonaws.com
-emrstudio-prod.ap-southeast-4.amazonaws.com
-emrappui-prod.ca-central-1.amazonaws.com
-emrnotebooks-prod.ca-central-1.amazonaws.com
-emrstudio-prod.ca-central-1.amazonaws.com
-emrappui-prod.ca-west-1.amazonaws.com
-emrnotebooks-prod.ca-west-1.amazonaws.com
-emrstudio-prod.ca-west-1.amazonaws.com
-emrappui-prod.eu-central-1.amazonaws.com
-emrnotebooks-prod.eu-central-1.amazonaws.com
-emrstudio-prod.eu-central-1.amazonaws.com
-emrappui-prod.eu-central-2.amazonaws.com
-emrnotebooks-prod.eu-central-2.amazonaws.com
-emrstudio-prod.eu-central-2.amazonaws.com
-emrappui-prod.eu-north-1.amazonaws.com
-emrnotebooks-prod.eu-north-1.amazonaws.com
-emrstudio-prod.eu-north-1.amazonaws.com
-emrappui-prod.eu-south-1.amazonaws.com
-emrnotebooks-prod.eu-south-1.amazonaws.com
-emrstudio-prod.eu-south-1.amazonaws.com
-emrappui-prod.eu-south-2.amazonaws.com
-emrnotebooks-prod.eu-south-2.amazonaws.com
-emrstudio-prod.eu-south-2.amazonaws.com
-emrappui-prod.eu-west-1.amazonaws.com
-emrnotebooks-prod.eu-west-1.amazonaws.com
-emrstudio-prod.eu-west-1.amazonaws.com
-emrappui-prod.eu-west-2.amazonaws.com
-emrnotebooks-prod.eu-west-2.amazonaws.com
-emrstudio-prod.eu-west-2.amazonaws.com
-emrappui-prod.eu-west-3.amazonaws.com
-emrnotebooks-prod.eu-west-3.amazonaws.com
-emrstudio-prod.eu-west-3.amazonaws.com
-emrappui-prod.il-central-1.amazonaws.com
-emrnotebooks-prod.il-central-1.amazonaws.com
-emrstudio-prod.il-central-1.amazonaws.com
-emrappui-prod.me-central-1.amazonaws.com
-emrnotebooks-prod.me-central-1.amazonaws.com
-emrstudio-prod.me-central-1.amazonaws.com
-emrappui-prod.me-south-1.amazonaws.com
-emrnotebooks-prod.me-south-1.amazonaws.com
-emrstudio-prod.me-south-1.amazonaws.com
-emrappui-prod.sa-east-1.amazonaws.com
-emrnotebooks-prod.sa-east-1.amazonaws.com
-emrstudio-prod.sa-east-1.amazonaws.com
-emrappui-prod.us-east-1.amazonaws.com
-emrnotebooks-prod.us-east-1.amazonaws.com
-emrstudio-prod.us-east-1.amazonaws.com
-emrappui-prod.us-east-2.amazonaws.com
-emrnotebooks-prod.us-east-2.amazonaws.com
-emrstudio-prod.us-east-2.amazonaws.com
-emrappui-prod.us-gov-east-1.amazonaws.com
-emrnotebooks-prod.us-gov-east-1.amazonaws.com
-emrstudio-prod.us-gov-east-1.amazonaws.com
-emrappui-prod.us-gov-west-1.amazonaws.com
-emrnotebooks-prod.us-gov-west-1.amazonaws.com
-emrstudio-prod.us-gov-west-1.amazonaws.com
-emrappui-prod.us-west-1.amazonaws.com
-emrnotebooks-prod.us-west-1.amazonaws.com
-emrstudio-prod.us-west-1.amazonaws.com
-emrappui-prod.us-west-2.amazonaws.com
-emrnotebooks-prod.us-west-2.amazonaws.com
-emrstudio-prod.us-west-2.amazonaws.com
-
-// Amazon Managed Workflows for Apache Airflow
-// Submitted by AWS Security <[email protected]>
-// Reference: f5ea5d0a-ec6a-4f23-ac1c-553fbff13f5c
-*.cn-north-1.airflow.amazonaws.com.cn
-*.cn-northwest-1.airflow.amazonaws.com.cn
-*.af-south-1.airflow.amazonaws.com
-*.ap-east-1.airflow.amazonaws.com
-*.ap-northeast-1.airflow.amazonaws.com
-*.ap-northeast-2.airflow.amazonaws.com
-*.ap-northeast-3.airflow.amazonaws.com
-*.ap-south-1.airflow.amazonaws.com
-*.ap-south-2.airflow.amazonaws.com
-*.ap-southeast-1.airflow.amazonaws.com
-*.ap-southeast-2.airflow.amazonaws.com
-*.ap-southeast-3.airflow.amazonaws.com
-*.ap-southeast-4.airflow.amazonaws.com
-*.ca-central-1.airflow.amazonaws.com
-*.ca-west-1.airflow.amazonaws.com
-*.eu-central-1.airflow.amazonaws.com
-*.eu-central-2.airflow.amazonaws.com
-*.eu-north-1.airflow.amazonaws.com
-*.eu-south-1.airflow.amazonaws.com
-*.eu-south-2.airflow.amazonaws.com
-*.eu-west-1.airflow.amazonaws.com
-*.eu-west-2.airflow.amazonaws.com
-*.eu-west-3.airflow.amazonaws.com
-*.il-central-1.airflow.amazonaws.com
-*.me-central-1.airflow.amazonaws.com
-*.me-south-1.airflow.amazonaws.com
-*.sa-east-1.airflow.amazonaws.com
-*.us-east-1.airflow.amazonaws.com
-*.us-east-2.airflow.amazonaws.com
-*.us-west-1.airflow.amazonaws.com
-*.us-west-2.airflow.amazonaws.com
-
-// Amazon S3
-// Submitted by AWS Security <[email protected]>
-// Reference: ada5c9df-55e1-4195-a1ce-732d6c81e357
-s3.dualstack.cn-north-1.amazonaws.com.cn
-s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn
-s3-website.dualstack.cn-north-1.amazonaws.com.cn
-s3.cn-north-1.amazonaws.com.cn
-s3-accesspoint.cn-north-1.amazonaws.com.cn
-s3-deprecated.cn-north-1.amazonaws.com.cn
-s3-object-lambda.cn-north-1.amazonaws.com.cn
-s3-website.cn-north-1.amazonaws.com.cn
-s3.dualstack.cn-northwest-1.amazonaws.com.cn
-s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn
-s3.cn-northwest-1.amazonaws.com.cn
-s3-accesspoint.cn-northwest-1.amazonaws.com.cn
-s3-object-lambda.cn-northwest-1.amazonaws.com.cn
-s3-website.cn-northwest-1.amazonaws.com.cn
-s3.dualstack.af-south-1.amazonaws.com
-s3-accesspoint.dualstack.af-south-1.amazonaws.com
-s3-website.dualstack.af-south-1.amazonaws.com
-s3.af-south-1.amazonaws.com
-s3-accesspoint.af-south-1.amazonaws.com
-s3-object-lambda.af-south-1.amazonaws.com
-s3-website.af-south-1.amazonaws.com
-s3.dualstack.ap-east-1.amazonaws.com
-s3-accesspoint.dualstack.ap-east-1.amazonaws.com
-s3.ap-east-1.amazonaws.com
-s3-accesspoint.ap-east-1.amazonaws.com
-s3-object-lambda.ap-east-1.amazonaws.com
-s3-website.ap-east-1.amazonaws.com
-s3.dualstack.ap-northeast-1.amazonaws.com
-s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com
-s3-website.dualstack.ap-northeast-1.amazonaws.com
-s3.ap-northeast-1.amazonaws.com
-s3-accesspoint.ap-northeast-1.amazonaws.com
-s3-object-lambda.ap-northeast-1.amazonaws.com
-s3-website.ap-northeast-1.amazonaws.com
-s3.dualstack.ap-northeast-2.amazonaws.com
-s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com
-s3-website.dualstack.ap-northeast-2.amazonaws.com
-s3.ap-northeast-2.amazonaws.com
-s3-accesspoint.ap-northeast-2.amazonaws.com
-s3-object-lambda.ap-northeast-2.amazonaws.com
-s3-website.ap-northeast-2.amazonaws.com
-s3.dualstack.ap-northeast-3.amazonaws.com
-s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com
-s3-website.dualstack.ap-northeast-3.amazonaws.com
-s3.ap-northeast-3.amazonaws.com
-s3-accesspoint.ap-northeast-3.amazonaws.com
-s3-object-lambda.ap-northeast-3.amazonaws.com
-s3-website.ap-northeast-3.amazonaws.com
-s3.dualstack.ap-south-1.amazonaws.com
-s3-accesspoint.dualstack.ap-south-1.amazonaws.com
-s3-website.dualstack.ap-south-1.amazonaws.com
-s3.ap-south-1.amazonaws.com
-s3-accesspoint.ap-south-1.amazonaws.com
-s3-object-lambda.ap-south-1.amazonaws.com
-s3-website.ap-south-1.amazonaws.com
-s3.dualstack.ap-south-2.amazonaws.com
-s3-accesspoint.dualstack.ap-south-2.amazonaws.com
-s3-website.dualstack.ap-south-2.amazonaws.com
-s3.ap-south-2.amazonaws.com
-s3-accesspoint.ap-south-2.amazonaws.com
-s3-object-lambda.ap-south-2.amazonaws.com
-s3-website.ap-south-2.amazonaws.com
-s3.dualstack.ap-southeast-1.amazonaws.com
-s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com
-s3-website.dualstack.ap-southeast-1.amazonaws.com
-s3.ap-southeast-1.amazonaws.com
-s3-accesspoint.ap-southeast-1.amazonaws.com
-s3-object-lambda.ap-southeast-1.amazonaws.com
-s3-website.ap-southeast-1.amazonaws.com
-s3.dualstack.ap-southeast-2.amazonaws.com
-s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com
-s3-website.dualstack.ap-southeast-2.amazonaws.com
-s3.ap-southeast-2.amazonaws.com
-s3-accesspoint.ap-southeast-2.amazonaws.com
-s3-object-lambda.ap-southeast-2.amazonaws.com
-s3-website.ap-southeast-2.amazonaws.com
-s3.dualstack.ap-southeast-3.amazonaws.com
-s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com
-s3-website.dualstack.ap-southeast-3.amazonaws.com
-s3.ap-southeast-3.amazonaws.com
-s3-accesspoint.ap-southeast-3.amazonaws.com
-s3-object-lambda.ap-southeast-3.amazonaws.com
-s3-website.ap-southeast-3.amazonaws.com
-s3.dualstack.ap-southeast-4.amazonaws.com
-s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com
-s3-website.dualstack.ap-southeast-4.amazonaws.com
-s3.ap-southeast-4.amazonaws.com
-s3-accesspoint.ap-southeast-4.amazonaws.com
-s3-object-lambda.ap-southeast-4.amazonaws.com
-s3-website.ap-southeast-4.amazonaws.com
-s3.dualstack.ap-southeast-5.amazonaws.com
-s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com
-s3-website.dualstack.ap-southeast-5.amazonaws.com
-s3.ap-southeast-5.amazonaws.com
-s3-accesspoint.ap-southeast-5.amazonaws.com
-s3-deprecated.ap-southeast-5.amazonaws.com
-s3-object-lambda.ap-southeast-5.amazonaws.com
-s3-website.ap-southeast-5.amazonaws.com
-s3.dualstack.ca-central-1.amazonaws.com
-s3-accesspoint.dualstack.ca-central-1.amazonaws.com
-s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com
-s3-fips.dualstack.ca-central-1.amazonaws.com
-s3-website.dualstack.ca-central-1.amazonaws.com
-s3.ca-central-1.amazonaws.com
-s3-accesspoint.ca-central-1.amazonaws.com
-s3-accesspoint-fips.ca-central-1.amazonaws.com
-s3-fips.ca-central-1.amazonaws.com
-s3-object-lambda.ca-central-1.amazonaws.com
-s3-website.ca-central-1.amazonaws.com
-s3.dualstack.ca-west-1.amazonaws.com
-s3-accesspoint.dualstack.ca-west-1.amazonaws.com
-s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com
-s3-fips.dualstack.ca-west-1.amazonaws.com
-s3-website.dualstack.ca-west-1.amazonaws.com
-s3.ca-west-1.amazonaws.com
-s3-accesspoint.ca-west-1.amazonaws.com
-s3-accesspoint-fips.ca-west-1.amazonaws.com
-s3-fips.ca-west-1.amazonaws.com
-s3-object-lambda.ca-west-1.amazonaws.com
-s3-website.ca-west-1.amazonaws.com
-s3.dualstack.eu-central-1.amazonaws.com
-s3-accesspoint.dualstack.eu-central-1.amazonaws.com
-s3-website.dualstack.eu-central-1.amazonaws.com
-s3.eu-central-1.amazonaws.com
-s3-accesspoint.eu-central-1.amazonaws.com
-s3-object-lambda.eu-central-1.amazonaws.com
-s3-website.eu-central-1.amazonaws.com
-s3.dualstack.eu-central-2.amazonaws.com
-s3-accesspoint.dualstack.eu-central-2.amazonaws.com
-s3-website.dualstack.eu-central-2.amazonaws.com
-s3.eu-central-2.amazonaws.com
-s3-accesspoint.eu-central-2.amazonaws.com
-s3-object-lambda.eu-central-2.amazonaws.com
-s3-website.eu-central-2.amazonaws.com
-s3.dualstack.eu-north-1.amazonaws.com
-s3-accesspoint.dualstack.eu-north-1.amazonaws.com
-s3.eu-north-1.amazonaws.com
-s3-accesspoint.eu-north-1.amazonaws.com
-s3-object-lambda.eu-north-1.amazonaws.com
-s3-website.eu-north-1.amazonaws.com
-s3.dualstack.eu-south-1.amazonaws.com
-s3-accesspoint.dualstack.eu-south-1.amazonaws.com
-s3-website.dualstack.eu-south-1.amazonaws.com
-s3.eu-south-1.amazonaws.com
-s3-accesspoint.eu-south-1.amazonaws.com
-s3-object-lambda.eu-south-1.amazonaws.com
-s3-website.eu-south-1.amazonaws.com
-s3.dualstack.eu-south-2.amazonaws.com
-s3-accesspoint.dualstack.eu-south-2.amazonaws.com
-s3-website.dualstack.eu-south-2.amazonaws.com
-s3.eu-south-2.amazonaws.com
-s3-accesspoint.eu-south-2.amazonaws.com
-s3-object-lambda.eu-south-2.amazonaws.com
-s3-website.eu-south-2.amazonaws.com
-s3.dualstack.eu-west-1.amazonaws.com
-s3-accesspoint.dualstack.eu-west-1.amazonaws.com
-s3-website.dualstack.eu-west-1.amazonaws.com
-s3.eu-west-1.amazonaws.com
-s3-accesspoint.eu-west-1.amazonaws.com
-s3-deprecated.eu-west-1.amazonaws.com
-s3-object-lambda.eu-west-1.amazonaws.com
-s3-website.eu-west-1.amazonaws.com
-s3.dualstack.eu-west-2.amazonaws.com
-s3-accesspoint.dualstack.eu-west-2.amazonaws.com
-s3.eu-west-2.amazonaws.com
-s3-accesspoint.eu-west-2.amazonaws.com
-s3-object-lambda.eu-west-2.amazonaws.com
-s3-website.eu-west-2.amazonaws.com
-s3.dualstack.eu-west-3.amazonaws.com
-s3-accesspoint.dualstack.eu-west-3.amazonaws.com
-s3-website.dualstack.eu-west-3.amazonaws.com
-s3.eu-west-3.amazonaws.com
-s3-accesspoint.eu-west-3.amazonaws.com
-s3-object-lambda.eu-west-3.amazonaws.com
-s3-website.eu-west-3.amazonaws.com
-s3.dualstack.il-central-1.amazonaws.com
-s3-accesspoint.dualstack.il-central-1.amazonaws.com
-s3-website.dualstack.il-central-1.amazonaws.com
-s3.il-central-1.amazonaws.com
-s3-accesspoint.il-central-1.amazonaws.com
-s3-object-lambda.il-central-1.amazonaws.com
-s3-website.il-central-1.amazonaws.com
-s3.dualstack.me-central-1.amazonaws.com
-s3-accesspoint.dualstack.me-central-1.amazonaws.com
-s3-website.dualstack.me-central-1.amazonaws.com
-s3.me-central-1.amazonaws.com
-s3-accesspoint.me-central-1.amazonaws.com
-s3-object-lambda.me-central-1.amazonaws.com
-s3-website.me-central-1.amazonaws.com
-s3.dualstack.me-south-1.amazonaws.com
-s3-accesspoint.dualstack.me-south-1.amazonaws.com
-s3.me-south-1.amazonaws.com
-s3-accesspoint.me-south-1.amazonaws.com
-s3-object-lambda.me-south-1.amazonaws.com
-s3-website.me-south-1.amazonaws.com
-s3.amazonaws.com
-s3-1.amazonaws.com
-s3-ap-east-1.amazonaws.com
-s3-ap-northeast-1.amazonaws.com
-s3-ap-northeast-2.amazonaws.com
-s3-ap-northeast-3.amazonaws.com
-s3-ap-south-1.amazonaws.com
-s3-ap-southeast-1.amazonaws.com
-s3-ap-southeast-2.amazonaws.com
-s3-ca-central-1.amazonaws.com
-s3-eu-central-1.amazonaws.com
-s3-eu-north-1.amazonaws.com
-s3-eu-west-1.amazonaws.com
-s3-eu-west-2.amazonaws.com
-s3-eu-west-3.amazonaws.com
-s3-external-1.amazonaws.com
-s3-fips-us-gov-east-1.amazonaws.com
-s3-fips-us-gov-west-1.amazonaws.com
-mrap.accesspoint.s3-global.amazonaws.com
-s3-me-south-1.amazonaws.com
-s3-sa-east-1.amazonaws.com
-s3-us-east-2.amazonaws.com
-s3-us-gov-east-1.amazonaws.com
-s3-us-gov-west-1.amazonaws.com
-s3-us-west-1.amazonaws.com
-s3-us-west-2.amazonaws.com
-s3-website-ap-northeast-1.amazonaws.com
-s3-website-ap-southeast-1.amazonaws.com
-s3-website-ap-southeast-2.amazonaws.com
-s3-website-eu-west-1.amazonaws.com
-s3-website-sa-east-1.amazonaws.com
-s3-website-us-east-1.amazonaws.com
-s3-website-us-gov-west-1.amazonaws.com
-s3-website-us-west-1.amazonaws.com
-s3-website-us-west-2.amazonaws.com
-s3.dualstack.sa-east-1.amazonaws.com
-s3-accesspoint.dualstack.sa-east-1.amazonaws.com
-s3-website.dualstack.sa-east-1.amazonaws.com
-s3.sa-east-1.amazonaws.com
-s3-accesspoint.sa-east-1.amazonaws.com
-s3-object-lambda.sa-east-1.amazonaws.com
-s3-website.sa-east-1.amazonaws.com
-s3.dualstack.us-east-1.amazonaws.com
-s3-accesspoint.dualstack.us-east-1.amazonaws.com
-s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com
-s3-fips.dualstack.us-east-1.amazonaws.com
-s3-website.dualstack.us-east-1.amazonaws.com
-s3.us-east-1.amazonaws.com
-s3-accesspoint.us-east-1.amazonaws.com
-s3-accesspoint-fips.us-east-1.amazonaws.com
-s3-deprecated.us-east-1.amazonaws.com
-s3-fips.us-east-1.amazonaws.com
-s3-object-lambda.us-east-1.amazonaws.com
-s3-website.us-east-1.amazonaws.com
-s3.dualstack.us-east-2.amazonaws.com
-s3-accesspoint.dualstack.us-east-2.amazonaws.com
-s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com
-s3-fips.dualstack.us-east-2.amazonaws.com
-s3-website.dualstack.us-east-2.amazonaws.com
-s3.us-east-2.amazonaws.com
-s3-accesspoint.us-east-2.amazonaws.com
-s3-accesspoint-fips.us-east-2.amazonaws.com
-s3-deprecated.us-east-2.amazonaws.com
-s3-fips.us-east-2.amazonaws.com
-s3-object-lambda.us-east-2.amazonaws.com
-s3-website.us-east-2.amazonaws.com
-s3.dualstack.us-gov-east-1.amazonaws.com
-s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com
-s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com
-s3-fips.dualstack.us-gov-east-1.amazonaws.com
-s3.us-gov-east-1.amazonaws.com
-s3-accesspoint.us-gov-east-1.amazonaws.com
-s3-accesspoint-fips.us-gov-east-1.amazonaws.com
-s3-fips.us-gov-east-1.amazonaws.com
-s3-object-lambda.us-gov-east-1.amazonaws.com
-s3-website.us-gov-east-1.amazonaws.com
-s3.dualstack.us-gov-west-1.amazonaws.com
-s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com
-s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com
-s3-fips.dualstack.us-gov-west-1.amazonaws.com
-s3.us-gov-west-1.amazonaws.com
-s3-accesspoint.us-gov-west-1.amazonaws.com
-s3-accesspoint-fips.us-gov-west-1.amazonaws.com
-s3-fips.us-gov-west-1.amazonaws.com
-s3-object-lambda.us-gov-west-1.amazonaws.com
-s3-website.us-gov-west-1.amazonaws.com
-s3.dualstack.us-west-1.amazonaws.com
-s3-accesspoint.dualstack.us-west-1.amazonaws.com
-s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com
-s3-fips.dualstack.us-west-1.amazonaws.com
-s3-website.dualstack.us-west-1.amazonaws.com
-s3.us-west-1.amazonaws.com
-s3-accesspoint.us-west-1.amazonaws.com
-s3-accesspoint-fips.us-west-1.amazonaws.com
-s3-fips.us-west-1.amazonaws.com
-s3-object-lambda.us-west-1.amazonaws.com
-s3-website.us-west-1.amazonaws.com
-s3.dualstack.us-west-2.amazonaws.com
-s3-accesspoint.dualstack.us-west-2.amazonaws.com
-s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com
-s3-fips.dualstack.us-west-2.amazonaws.com
-s3-website.dualstack.us-west-2.amazonaws.com
-s3.us-west-2.amazonaws.com
-s3-accesspoint.us-west-2.amazonaws.com
-s3-accesspoint-fips.us-west-2.amazonaws.com
-s3-deprecated.us-west-2.amazonaws.com
-s3-fips.us-west-2.amazonaws.com
-s3-object-lambda.us-west-2.amazonaws.com
-s3-website.us-west-2.amazonaws.com
-
-// Amazon SageMaker Ground Truth
-// Submitted by AWS Security <[email protected]>
-// Reference: 98dbfde4-7802-48c3-8751-b60f204e0d9c
-labeling.ap-northeast-1.sagemaker.aws
-labeling.ap-northeast-2.sagemaker.aws
-labeling.ap-south-1.sagemaker.aws
-labeling.ap-southeast-1.sagemaker.aws
-labeling.ap-southeast-2.sagemaker.aws
-labeling.ca-central-1.sagemaker.aws
-labeling.eu-central-1.sagemaker.aws
-labeling.eu-west-1.sagemaker.aws
-labeling.eu-west-2.sagemaker.aws
-labeling.us-east-1.sagemaker.aws
-labeling.us-east-2.sagemaker.aws
-labeling.us-west-2.sagemaker.aws
-
-// Amazon SageMaker Notebook Instances
-// Submitted by AWS Security <[email protected]>
-// Reference: b5ea56df-669e-43cc-9537-14aa172f5dfc
-notebook.af-south-1.sagemaker.aws
-notebook.ap-east-1.sagemaker.aws
-notebook.ap-northeast-1.sagemaker.aws
-notebook.ap-northeast-2.sagemaker.aws
-notebook.ap-northeast-3.sagemaker.aws
-notebook.ap-south-1.sagemaker.aws
-notebook.ap-south-2.sagemaker.aws
-notebook.ap-southeast-1.sagemaker.aws
-notebook.ap-southeast-2.sagemaker.aws
-notebook.ap-southeast-3.sagemaker.aws
-notebook.ap-southeast-4.sagemaker.aws
-notebook.ca-central-1.sagemaker.aws
-notebook-fips.ca-central-1.sagemaker.aws
-notebook.ca-west-1.sagemaker.aws
-notebook-fips.ca-west-1.sagemaker.aws
-notebook.eu-central-1.sagemaker.aws
-notebook.eu-central-2.sagemaker.aws
-notebook.eu-north-1.sagemaker.aws
-notebook.eu-south-1.sagemaker.aws
-notebook.eu-south-2.sagemaker.aws
-notebook.eu-west-1.sagemaker.aws
-notebook.eu-west-2.sagemaker.aws
-notebook.eu-west-3.sagemaker.aws
-notebook.il-central-1.sagemaker.aws
-notebook.me-central-1.sagemaker.aws
-notebook.me-south-1.sagemaker.aws
-notebook.sa-east-1.sagemaker.aws
-notebook.us-east-1.sagemaker.aws
-notebook-fips.us-east-1.sagemaker.aws
-notebook.us-east-2.sagemaker.aws
-notebook-fips.us-east-2.sagemaker.aws
-notebook.us-gov-east-1.sagemaker.aws
-notebook-fips.us-gov-east-1.sagemaker.aws
-notebook.us-gov-west-1.sagemaker.aws
-notebook-fips.us-gov-west-1.sagemaker.aws
-notebook.us-west-1.sagemaker.aws
-notebook-fips.us-west-1.sagemaker.aws
-notebook.us-west-2.sagemaker.aws
-notebook-fips.us-west-2.sagemaker.aws
-notebook.cn-north-1.sagemaker.com.cn
-notebook.cn-northwest-1.sagemaker.com.cn
-
-// Amazon SageMaker Studio
-// Submitted by AWS Security <[email protected]>
-// Reference: 475f237e-ab88-4041-9f41-7cfccdf66aeb
-studio.af-south-1.sagemaker.aws
-studio.ap-east-1.sagemaker.aws
-studio.ap-northeast-1.sagemaker.aws
-studio.ap-northeast-2.sagemaker.aws
-studio.ap-northeast-3.sagemaker.aws
-studio.ap-south-1.sagemaker.aws
-studio.ap-southeast-1.sagemaker.aws
-studio.ap-southeast-2.sagemaker.aws
-studio.ap-southeast-3.sagemaker.aws
-studio.ca-central-1.sagemaker.aws
-studio.eu-central-1.sagemaker.aws
-studio.eu-central-2.sagemaker.aws
-studio.eu-north-1.sagemaker.aws
-studio.eu-south-1.sagemaker.aws
-studio.eu-south-2.sagemaker.aws
-studio.eu-west-1.sagemaker.aws
-studio.eu-west-2.sagemaker.aws
-studio.eu-west-3.sagemaker.aws
-studio.il-central-1.sagemaker.aws
-studio.me-central-1.sagemaker.aws
-studio.me-south-1.sagemaker.aws
-studio.sa-east-1.sagemaker.aws
-studio.us-east-1.sagemaker.aws
-studio.us-east-2.sagemaker.aws
-studio.us-gov-east-1.sagemaker.aws
-studio-fips.us-gov-east-1.sagemaker.aws
-studio.us-gov-west-1.sagemaker.aws
-studio-fips.us-gov-west-1.sagemaker.aws
-studio.us-west-1.sagemaker.aws
-studio.us-west-2.sagemaker.aws
-studio.cn-north-1.sagemaker.com.cn
-studio.cn-northwest-1.sagemaker.com.cn
-
-// Amazon SageMaker with MLflow
-// Submited by: AWS Security <[email protected]>
-// Reference: c19f92b3-a82a-452d-8189-831b572eea7e
-*.experiments.sagemaker.aws
-
-// Analytics on AWS
-// Submitted by AWS Security <[email protected]>
-// Reference: 955f9f40-a495-4e73-ae85-67b77ac9cadd
-analytics-gateway.ap-northeast-1.amazonaws.com
-analytics-gateway.ap-northeast-2.amazonaws.com
-analytics-gateway.ap-south-1.amazonaws.com
-analytics-gateway.ap-southeast-1.amazonaws.com
-analytics-gateway.ap-southeast-2.amazonaws.com
-analytics-gateway.eu-central-1.amazonaws.com
-analytics-gateway.eu-west-1.amazonaws.com
-analytics-gateway.us-east-1.amazonaws.com
-analytics-gateway.us-east-2.amazonaws.com
-analytics-gateway.us-west-2.amazonaws.com
-
-// AWS Amplify
-// Submitted by AWS Security <[email protected]>
-// Reference: c35bed18-6f4f-424f-9298-5756f2f7d72b
-amplifyapp.com
-
-// AWS App Runner
-// Submitted by AWS Security <[email protected]>
-// Reference: 6828c008-ba5d-442f-ade5-48da4e7c2316
-*.awsapprunner.com
-
-// AWS Cloud9
-// Submitted by: AWS Security <[email protected]>
-// Reference: 30717f72-4007-4f0f-8ed4-864c6f2efec9
-webview-assets.aws-cloud9.af-south-1.amazonaws.com
-vfs.cloud9.af-south-1.amazonaws.com
-webview-assets.cloud9.af-south-1.amazonaws.com
-webview-assets.aws-cloud9.ap-east-1.amazonaws.com
-vfs.cloud9.ap-east-1.amazonaws.com
-webview-assets.cloud9.ap-east-1.amazonaws.com
-webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com
-vfs.cloud9.ap-northeast-1.amazonaws.com
-webview-assets.cloud9.ap-northeast-1.amazonaws.com
-webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com
-vfs.cloud9.ap-northeast-2.amazonaws.com
-webview-assets.cloud9.ap-northeast-2.amazonaws.com
-webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com
-vfs.cloud9.ap-northeast-3.amazonaws.com
-webview-assets.cloud9.ap-northeast-3.amazonaws.com
-webview-assets.aws-cloud9.ap-south-1.amazonaws.com
-vfs.cloud9.ap-south-1.amazonaws.com
-webview-assets.cloud9.ap-south-1.amazonaws.com
-webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com
-vfs.cloud9.ap-southeast-1.amazonaws.com
-webview-assets.cloud9.ap-southeast-1.amazonaws.com
-webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com
-vfs.cloud9.ap-southeast-2.amazonaws.com
-webview-assets.cloud9.ap-southeast-2.amazonaws.com
-webview-assets.aws-cloud9.ca-central-1.amazonaws.com
-vfs.cloud9.ca-central-1.amazonaws.com
-webview-assets.cloud9.ca-central-1.amazonaws.com
-webview-assets.aws-cloud9.eu-central-1.amazonaws.com
-vfs.cloud9.eu-central-1.amazonaws.com
-webview-assets.cloud9.eu-central-1.amazonaws.com
-webview-assets.aws-cloud9.eu-north-1.amazonaws.com
-vfs.cloud9.eu-north-1.amazonaws.com
-webview-assets.cloud9.eu-north-1.amazonaws.com
-webview-assets.aws-cloud9.eu-south-1.amazonaws.com
-vfs.cloud9.eu-south-1.amazonaws.com
-webview-assets.cloud9.eu-south-1.amazonaws.com
-webview-assets.aws-cloud9.eu-west-1.amazonaws.com
-vfs.cloud9.eu-west-1.amazonaws.com
-webview-assets.cloud9.eu-west-1.amazonaws.com
-webview-assets.aws-cloud9.eu-west-2.amazonaws.com
-vfs.cloud9.eu-west-2.amazonaws.com
-webview-assets.cloud9.eu-west-2.amazonaws.com
-webview-assets.aws-cloud9.eu-west-3.amazonaws.com
-vfs.cloud9.eu-west-3.amazonaws.com
-webview-assets.cloud9.eu-west-3.amazonaws.com
-webview-assets.aws-cloud9.il-central-1.amazonaws.com
-vfs.cloud9.il-central-1.amazonaws.com
-webview-assets.aws-cloud9.me-south-1.amazonaws.com
-vfs.cloud9.me-south-1.amazonaws.com
-webview-assets.cloud9.me-south-1.amazonaws.com
-webview-assets.aws-cloud9.sa-east-1.amazonaws.com
-vfs.cloud9.sa-east-1.amazonaws.com
-webview-assets.cloud9.sa-east-1.amazonaws.com
-webview-assets.aws-cloud9.us-east-1.amazonaws.com
-vfs.cloud9.us-east-1.amazonaws.com
-webview-assets.cloud9.us-east-1.amazonaws.com
-webview-assets.aws-cloud9.us-east-2.amazonaws.com
-vfs.cloud9.us-east-2.amazonaws.com
-webview-assets.cloud9.us-east-2.amazonaws.com
-webview-assets.aws-cloud9.us-west-1.amazonaws.com
-vfs.cloud9.us-west-1.amazonaws.com
-webview-assets.cloud9.us-west-1.amazonaws.com
-webview-assets.aws-cloud9.us-west-2.amazonaws.com
-vfs.cloud9.us-west-2.amazonaws.com
-webview-assets.cloud9.us-west-2.amazonaws.com
-
-// AWS Directory Service
-// Submitted by AWS Security <[email protected]>
-// Reference: a13203e8-42dc-4045-a0d2-2ee67bed1068
-awsapps.com
-
-// AWS Elastic Beanstalk
-// Submitted by AWS Security <[email protected]>
-// Reference: bb5a965c-dec3-4967-aa22-e306ad064797
-cn-north-1.eb.amazonaws.com.cn
-cn-northwest-1.eb.amazonaws.com.cn
-elasticbeanstalk.com
-af-south-1.elasticbeanstalk.com
-ap-east-1.elasticbeanstalk.com
-ap-northeast-1.elasticbeanstalk.com
-ap-northeast-2.elasticbeanstalk.com
-ap-northeast-3.elasticbeanstalk.com
-ap-south-1.elasticbeanstalk.com
-ap-southeast-1.elasticbeanstalk.com
-ap-southeast-2.elasticbeanstalk.com
-ap-southeast-3.elasticbeanstalk.com
-ca-central-1.elasticbeanstalk.com
-eu-central-1.elasticbeanstalk.com
-eu-north-1.elasticbeanstalk.com
-eu-south-1.elasticbeanstalk.com
-eu-west-1.elasticbeanstalk.com
-eu-west-2.elasticbeanstalk.com
-eu-west-3.elasticbeanstalk.com
-il-central-1.elasticbeanstalk.com
-me-south-1.elasticbeanstalk.com
-sa-east-1.elasticbeanstalk.com
-us-east-1.elasticbeanstalk.com
-us-east-2.elasticbeanstalk.com
-us-gov-east-1.elasticbeanstalk.com
-us-gov-west-1.elasticbeanstalk.com
-us-west-1.elasticbeanstalk.com
-us-west-2.elasticbeanstalk.com
-
-// (AWS) Elastic Load Balancing
-// Submitted by Luke Wells <[email protected]>
-// Reference: 12a3d528-1bac-4433-a359-a395867ffed2
-*.elb.amazonaws.com.cn
-*.elb.amazonaws.com
-
-// AWS Global Accelerator
-// Submitted by Daniel Massaguer <[email protected]>
-// Reference: d916759d-a08b-4241-b536-4db887383a6a
-awsglobalaccelerator.com
-
-// AWS re:Post Private
-// Submitted by AWS Security <[email protected]>
-// Reference: 83385945-225f-416e-9aa0-ad0632bfdcee
-*.private.repost.aws
-
-// AWS Transfer Family web apps
-// Submitted by AWS Security <[email protected]>
-// Reference: 67e9cfe6-ac57-49c7-b197-6652711c8e8d
-transfer-webapp.ap-northeast-1.on.aws
-transfer-webapp.ap-southeast-1.on.aws
-transfer-webapp.ap-southeast-2.on.aws
-transfer-webapp.eu-central-1.on.aws
-transfer-webapp.eu-north-1.on.aws
-transfer-webapp.eu-west-1.on.aws
-transfer-webapp.us-east-1.on.aws
-transfer-webapp.us-east-2.on.aws
-transfer-webapp.us-west-2.on.aws
-
-// eero
-// Submitted by Yue Kang <[email protected]>
-// Reference: 264afe70-f62c-4c02-8ab9-b5281ed24461
-eero.online
-eero-stage.online
-
-// concludes Amazon
-
-// Apigee : https://apigee.com/
-// Submitted by Apigee Security Team <[email protected]>
-apigee.io
-
-// Apis Networks : https://apisnetworks.com
-// Submitted by Matt Saladna <[email protected]>
-panel.dev
-
-// Apphud : https://apphud.com
-// Submitted by Alexander Selivanov <[email protected]>
-siiites.com
-
-// Appspace : https://www.appspace.com
-// Submitted by Appspace Security Team <[email protected]>
-appspacehosted.com
-appspaceusercontent.com
-
-// Appudo UG (haftungsbeschränkt) : https://www.appudo.com
-// Submitted by Alexander Hochbaum <[email protected]>
-appudo.net
-
-// Aptible : https://www.aptible.com/
-// Submitted by Thomas Orozco <[email protected]>
-on-aptible.com
-
-// Aquapal : https://aquapal.net/
-// Submitted by Aki Ueno <[email protected]>
-f5.si
-
-// ArvanCloud EdgeCompute
-// Submitted by ArvanCloud CDN <[email protected]>
-arvanedge.ir
-
-// ASEINet : https://www.aseinet.com/
-// Submitted by Asei SEKIGUCHI <[email protected]>
-user.aseinet.ne.jp
-gv.vc
-d.gv.vc
-
-// Asociación Amigos de la Informática "Euskalamiga" : http://encounter.eus/
-// Submitted by Hector Martin <[email protected]>
-user.party.eus
-
-// Association potager.org : https://potager.org/
-// Submitted by Lunar <[email protected]>
-pimienta.org
-poivron.org
-potager.org
-sweetpepper.org
-
-// ASUSTOR Inc. : http://www.asustor.com
-// Submitted by Vincent Tseng <[email protected]>
-myasustor.com
-
-// Atlassian : https://atlassian.com
-// Submitted by Sam Smyth <[email protected]>
-cdn.prod.atlassian-dev.net
-
-// Authentick UG (haftungsbeschränkt) : https://authentick.net
-// Submitted by Lukas Reschke <[email protected]>
-translated.page
-
-// AVM : https://avm.de
-// Submitted by Andreas Weise <[email protected]>
-myfritz.link
-myfritz.net
-
-// AVStack Pte. Ltd. : https://avstack.io
-// Submitted by Jasper Hugo <[email protected]>
-onavstack.net
-
-// AW AdvisorWebsites.com Software Inc : https://advisorwebsites.com
-// Submitted by James Kennedy <[email protected]>
-*.awdev.ca
-*.advisor.ws
-
-// AZ.pl sp. z.o.o : https://az.pl
-// Submitted by Krzysztof Wolski <[email protected]>
-ecommerce-shop.pl
-
-// b-data GmbH : https://www.b-data.io
-// Submitted by Olivier Benz <[email protected]>
-b-data.io
-
-// Balena : https://www.balena.io
-// Submitted by Petros Angelatos <[email protected]>
-balena-devices.com
-
-// BASE, Inc. : https://binc.jp
-// Submitted by Yuya NAGASAWA <[email protected]>
-base.ec
-official.ec
-buyshop.jp
-fashionstore.jp
-handcrafted.jp
-kawaiishop.jp
-supersale.jp
-theshop.jp
-shopselect.net
-base.shop
-
-// BeagleBoard.org Foundation : https://beagleboard.org
-// Submitted by Jason Kridner <[email protected]>
-beagleboard.io
-
-// Beget Ltd
-// Submitted by Lev Nekrasov <[email protected]>
-*.beget.app
-
-// Besties : https://besties.house
-// Submitted by Hazel Cora <[email protected]>
-pages.gay
-
-// BinaryLane : http://www.binarylane.com
-// Submitted by Nathan O'Sullivan <[email protected]>
-bnr.la
-
-// Bitbucket : http://bitbucket.org
-// Submitted by Andy Ortlieb <[email protected]>
-bitbucket.io
-
-// Blackbaud, Inc. : https://www.blackbaud.com
-// Submitted by Paul Crowder <[email protected]>
-blackbaudcdn.net
-
-// Blatech : http://www.blatech.net
-// Submitted by Luke Bratch <[email protected]>
-of.je
-
-// Blue Bite, LLC : https://bluebite.com
-// Submitted by Joshua Weiss <[email protected]>
-bluebite.io
-
-// Boomla : https://boomla.com
-// Submitted by Tibor Halter <[email protected]>
-boomla.net
-
-// Boutir : https://www.boutir.com
-// Submitted by Eric Ng Ka Ka <[email protected]>
-boutir.com
-
-// Boxfuse : https://boxfuse.com
-// Submitted by Axel Fontaine <[email protected]>
-boxfuse.io
-
-// bplaced : https://www.bplaced.net/
-// Submitted by Miroslav Bozic <[email protected]>
-square7.ch
-bplaced.com
-bplaced.de
-square7.de
-bplaced.net
-square7.net
-
-// Brave : https://brave.com
-// Submitted by Andrea Brancaleoni <[email protected]>
-*.s.brave.io
-
-// Brendly : https://brendly.rs
-// Submitted by Dusan Radovanovic <[email protected]>
-shop.brendly.hr
-shop.brendly.rs
-
-// BrowserSafetyMark
-// Submitted by Dave Tharp <[email protected]>
-browsersafetymark.io
-
-// BRS Media : https://brsmedia.com/
-// Submitted by Gavin Brown <[email protected]>
-radio.am
-radio.fm
-
-// Bytemark Hosting : https://www.bytemark.co.uk
-// Submitted by Paul Cammish <[email protected]>
-uk0.bigv.io
-dh.bytemark.co.uk
-vm.bytemark.co.uk
-
-// Caf.js Labs LLC : https://www.cafjs.com
-// Submitted by Antonio Lain <[email protected]>
-cafjs.com
-
-// Canva Pty Ltd : https://canva.com/
-// Submitted by Joel Aquilina <[email protected]>
-canva-apps.cn
-*.my.canvasite.cn
-canva-apps.com
-*.my.canva.site
-
-// Carrd : https://carrd.co
-// Submitted by AJ <[email protected]>
-drr.ac
-uwu.ai
-carrd.co
-crd.co
-ju.mp
-
-// CDDO : https://www.gov.uk/guidance/get-an-api-domain-on-govuk
-// Submitted by Jamie Tanna <[email protected]>
-api.gov.uk
-
-// CDN77.com : http://www.cdn77.com
-// Submitted by Jan Krpes <[email protected]>
-cdn77-storage.com
-rsc.contentproxy9.cz
-r.cdn77.net
-cdn77-ssl.net
-c.cdn77.org
-rsc.cdn77.org
-ssl.origin.cdn77-secure.org
-
-// CentralNic : https://teaminternet.com/
-// Submitted by registry <[email protected]>
-za.bz
-br.com
-cn.com
-de.com
-eu.com
-jpn.com
-mex.com
-ru.com
-sa.com
-uk.com
-us.com
-za.com
-com.de
-gb.net
-hu.net
-jp.net
-se.net
-uk.net
-ae.org
-com.se
-
-// Cityhost LLC : https://cityhost.ua
-// Submitted by Maksym Rivtin <[email protected]>
-cx.ua
-
-// Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/
-// Submitted by Rishabh Nambiar & Michael Brown <[email protected]>
-discourse.group
-discourse.team
-
-// Clerk : https://www.clerk.dev
-// Submitted by Colin Sidoti <[email protected]>
-clerk.app
-clerkstage.app
-*.lcl.dev
-*.lclstage.dev
-*.stg.dev
-*.stgstage.dev
-
-// Clever Cloud : https://www.clever-cloud.com/
-// Submitted by Quentin Adam <[email protected]>
-cleverapps.cc
-*.services.clever-cloud.com
-cleverapps.io
-cleverapps.tech
-
-// ClickRising : https://clickrising.com/
-// Submitted by Umut Gumeli <[email protected]>
-clickrising.net
-
-// Cloud DNS Ltd : http://www.cloudns.net
-// Submitted by Aleksander Hristov <[email protected]> & Boyan Peychev <[email protected]>
-cloudns.asia
-cloudns.be
-cloud-ip.biz
-cloudns.biz
-cloudns.cc
-cloudns.ch
-cloudns.cl
-cloudns.club
-dnsabr.com
-ip-ddns.com
-cloudns.cx
-cloudns.eu
-cloudns.in
-cloudns.info
-ddns-ip.net
-dns-cloud.net
-dns-dynamic.net
-cloudns.nz
-cloudns.org
-ip-dynamic.org
-cloudns.ph
-cloudns.pro
-cloudns.pw
-cloudns.us
-
-// Cloud66 : https://www.cloud66.com/
-// Submitted by Khash Sajadi <[email protected]>
-c66.me
-cloud66.ws
-cloud66.zone
-
-// CloudAccess.net : https://www.cloudaccess.net/
-// Submitted by Pawel Panek <[email protected]>
-jdevcloud.com
-wpdevcloud.com
-cloudaccess.host
-freesite.host
-cloudaccess.net
-
-// Cloudbees, Inc. : https://www.cloudbees.com/
-// Submitted by Mohideen Shajith <[email protected]>
-cloudbeesusercontent.io
-
-// Cloudera, Inc. : https://www.cloudera.com/
-// Submitted by Kedarnath Waikar <[email protected]>
-*.cloudera.site
-
-// Cloudflare, Inc. : https://www.cloudflare.com/
-// Submitted by Cloudflare Team <[email protected]>
-cf-ipfs.com
-cloudflare-ipfs.com
-trycloudflare.com
-pages.dev
-r2.dev
-workers.dev
-cloudflare.net
-cdn.cloudflare.net
-cdn.cloudflareanycast.net
-cdn.cloudflarecn.net
-cdn.cloudflareglobal.net
-
-// cloudscale.ch AG : https://www.cloudscale.ch/
-// Submitted by Gaudenz Steinlin <[email protected]>
-cust.cloudscale.ch
-objects.lpg.cloudscale.ch
-objects.rma.cloudscale.ch
-
-// Clovyr : https://clovyr.io
-// Submitted by Patrick Nielsen <[email protected]>
-wnext.app
-
-// CNPY : https://cnpy.gdn
-// Submitted by Angelo Gladding <[email protected]>
-cnpy.gdn
-
-// Co & Co : https://co-co.nl/
-// Submitted by Govert Versluis <[email protected]>
-*.otap.co
-
-// co.ca : http://registry.co.ca/
-co.ca
-
-// co.com Registry, LLC : https://registry.co.com
-// Submitted by Gavin Brown <[email protected]>
-co.com
-
-// Codeberg e. V. : https://codeberg.org
-// Submitted by Moritz Marquardt <[email protected]>
-codeberg.page
-
-// CodeSandbox B.V. : https://codesandbox.io
-// Submitted by Ives van Hoorne <[email protected]>
-csb.app
-preview.csb.app
-
-// CoDNS B.V.
-co.nl
-co.no
-
-// Combell.com : https://www.combell.com
-// Submitted by Thomas Wouters <[email protected]>
-webhosting.be
-hosting-cluster.nl
-
-// Contentful GmbH : https://www.contentful.com
-// Submitted by Contentful Developer Experience Team <[email protected]>
-ctfcloud.net
-
-// Convex : https://convex.dev/
-// Submitted by James Cowling <[email protected]>
-convex.site
-
-// Coordination Center for TLD RU and XN--P1AI : https://cctld.ru/en/domains/domens_ru/reserved/
-// Submitted by George Georgievsky <[email protected]>
-ac.ru
-edu.ru
-gov.ru
-int.ru
-mil.ru
-
-// COSIMO GmbH : http://www.cosimo.de
-// Submitted by Rene Marticke <[email protected]>
-dyn.cosidns.de
-dnsupdater.de
-dynamisches-dns.de
-internet-dns.de
-l-o-g-i-n.de
-dynamic-dns.info
-feste-ip.net
-knx-server.net
-static-access.net
-
-// Craft Docs Ltd : https://www.craft.do/
-// Submitted by Zsombor Fuszenecker <[email protected]>
-craft.me
-
-// Craynic, s.r.o. : http://www.craynic.com/
-// Submitted by Ales Krajnik <[email protected]>
-realm.cz
-
-// Crisp IM SAS : https://crisp.chat/
-// Submitted by Baptiste Jamin <[email protected]>
-on.crisp.email
-
-// Cryptonomic : https://cryptonomic.net/
-// Submitted by Andrew Cady <[email protected]>
-*.cryptonomic.net
-
-// cyber_Folks S.A. : https://cyberfolks.pl
-// Submitted by Bartlomiej Kida <[email protected]>
-cfolks.pl
-
-// cyon GmbH : https://www.cyon.ch/
-// Submitted by Dominic Luechinger <[email protected]>
-cyon.link
-cyon.site
-
-// Dansk.net : http://www.dansk.net/
-// Submitted by Anani Voule <[email protected]>
-biz.dk
-co.dk
-firm.dk
-reg.dk
-store.dk
-
-// dappnode.io : https://dappnode.io/
-// Submitted by Abel Boldu / DAppNode Team <[email protected]>
-dyndns.dappnode.io
-
-// Dark, Inc. : https://darklang.com
-// Submitted by Paul Biggar <[email protected]>
-builtwithdark.com
-darklang.io
-
-// DataDetect, LLC. : https://datadetect.com
-// Submitted by Andrew Banchich <[email protected]>
-demo.datadetect.com
-instance.datadetect.com
-
-// Datawire, Inc : https://www.datawire.io
-// Submitted by Richard Li <[email protected]>
-edgestack.me
-
-// Datto, Inc. : https://www.datto.com/
-// Submitted by Philipp Heckel <[email protected]>
-dattolocal.com
-dattorelay.com
-dattoweb.com
-mydatto.com
-dattolocal.net
-mydatto.net
-
-// ddnss.de : https://www.ddnss.de/
-// Submitted by Robert Niedziela <[email protected]>
-ddnss.de
-dyn.ddnss.de
-dyndns.ddnss.de
-dyn-ip24.de
-dyndns1.de
-home-webserver.de
-dyn.home-webserver.de
-myhome-server.de
-ddnss.org
-
-// Debian : https://www.debian.org/
-// Submitted by Peter Palfrader / Debian Sysadmin Team <[email protected]>
-debian.net
-
-// Definima : http://www.definima.com/
-// Submitted by Maxence Bitterli <[email protected]>
-definima.io
-definima.net
-
-// Deno Land Inc : https://deno.com/
-// Submitted by Luca Casonato <[email protected]>
-deno.dev
-deno-staging.dev
-
-// deSEC : https://desec.io/
-// Submitted by Peter Thomassen <[email protected]>
-dedyn.io
-
-// Deta : https://www.deta.sh/
-// Submitted by Aavash Shrestha <[email protected]>
-deta.app
-deta.dev
-
-// dhosting.pl Sp. z o.o. : https://dhosting.pl/
-// Submitted by Michal Kokoszkiewicz <[email protected]>
-dfirma.pl
-dkonto.pl
-you2.pl
-
-// DigitalOcean App Platform : https://www.digitalocean.com/products/app-platform/
-// Submitted by Braxton Huggins <[email protected]>
-ondigitalocean.app
-
-// DigitalOcean Spaces : https://www.digitalocean.com/products/spaces/
-// Submitted by Robin H. Johnson <[email protected]>
-*.digitaloceanspaces.com
-
-// DigitalPlat : https://www.digitalplat.org/
-// Submitted by Edward Hsing <[email protected]>
-us.kg
-
-// Discord Inc : https://discord.com
-// Submitted by Sahn Lam <[email protected]>
-discordsays.com
-discordsez.com
-
-// DNS Africa Ltd : https://dns.business
-// Submitted by Calvin Browne <[email protected]>
-jozi.biz
-
-// DNShome : https://www.dnshome.de/
-// Submitted by Norbert Auler <[email protected]>
-dnshome.de
-
-// DotArai : https://www.dotarai.com/
-// Submitted by Atsadawat Netcharadsang <[email protected]>
-online.th
-shop.th
-
-// DrayTek Corp. : https://www.draytek.com/
-// Submitted by Paul Fang <[email protected]>
-drayddns.com
-
-// DreamCommerce : https://shoper.pl/
-// Submitted by Konrad Kotarba <[email protected]>
-shoparena.pl
-
-// DreamHost : http://www.dreamhost.com/
-// Submitted by Andrew Farmer <[email protected]>
-dreamhosters.com
-
-// Dreamyoungs, Inc. : https://durumis.com
-// Submitted by Infra Team <[email protected]>
-durumis.com
-
-// Drobo : http://www.drobo.com/
-// Submitted by Ricardo Padilha <[email protected]>
-mydrobo.com
-
-// DuckDNS : http://www.duckdns.org/
-// Submitted by Richard Harper <[email protected]>
-duckdns.org
-
-// dy.fi : http://dy.fi/
-// Submitted by Heikki Hannikainen <[email protected]>
-dy.fi
-tunk.org
-
-// DynDNS.com : http://www.dyndns.com/services/dns/dyndns/
-dyndns.biz
-for-better.biz
-for-more.biz
-for-some.biz
-for-the.biz
-selfip.biz
-webhop.biz
-ftpaccess.cc
-game-server.cc
-myphotos.cc
-scrapping.cc
-blogdns.com
-cechire.com
-dnsalias.com
-dnsdojo.com
-doesntexist.com
-dontexist.com
-doomdns.com
-dyn-o-saur.com
-dynalias.com
-dyndns-at-home.com
-dyndns-at-work.com
-dyndns-blog.com
-dyndns-free.com
-dyndns-home.com
-dyndns-ip.com
-dyndns-mail.com
-dyndns-office.com
-dyndns-pics.com
-dyndns-remote.com
-dyndns-server.com
-dyndns-web.com
-dyndns-wiki.com
-dyndns-work.com
-est-a-la-maison.com
-est-a-la-masion.com
-est-le-patron.com
-est-mon-blogueur.com
-from-ak.com
-from-al.com
-from-ar.com
-from-ca.com
-from-ct.com
-from-dc.com
-from-de.com
-from-fl.com
-from-ga.com
-from-hi.com
-from-ia.com
-from-id.com
-from-il.com
-from-in.com
-from-ks.com
-from-ky.com
-from-ma.com
-from-md.com
-from-mi.com
-from-mn.com
-from-mo.com
-from-ms.com
-from-mt.com
-from-nc.com
-from-nd.com
-from-ne.com
-from-nh.com
-from-nj.com
-from-nm.com
-from-nv.com
-from-oh.com
-from-ok.com
-from-or.com
-from-pa.com
-from-pr.com
-from-ri.com
-from-sc.com
-from-sd.com
-from-tn.com
-from-tx.com
-from-ut.com
-from-va.com
-from-vt.com
-from-wa.com
-from-wi.com
-from-wv.com
-from-wy.com
-getmyip.com
-gotdns.com
-hobby-site.com
-homelinux.com
-homeunix.com
-iamallama.com
-is-a-anarchist.com
-is-a-blogger.com
-is-a-bookkeeper.com
-is-a-bulls-fan.com
-is-a-caterer.com
-is-a-chef.com
-is-a-conservative.com
-is-a-cpa.com
-is-a-cubicle-slave.com
-is-a-democrat.com
-is-a-designer.com
-is-a-doctor.com
-is-a-financialadvisor.com
-is-a-geek.com
-is-a-green.com
-is-a-guru.com
-is-a-hard-worker.com
-is-a-hunter.com
-is-a-landscaper.com
-is-a-lawyer.com
-is-a-liberal.com
-is-a-libertarian.com
-is-a-llama.com
-is-a-musician.com
-is-a-nascarfan.com
-is-a-nurse.com
-is-a-painter.com
-is-a-personaltrainer.com
-is-a-photographer.com
-is-a-player.com
-is-a-republican.com
-is-a-rockstar.com
-is-a-socialist.com
-is-a-student.com
-is-a-teacher.com
-is-a-techie.com
-is-a-therapist.com
-is-an-accountant.com
-is-an-actor.com
-is-an-actress.com
-is-an-anarchist.com
-is-an-artist.com
-is-an-engineer.com
-is-an-entertainer.com
-is-certified.com
-is-gone.com
-is-into-anime.com
-is-into-cars.com
-is-into-cartoons.com
-is-into-games.com
-is-leet.com
-is-not-certified.com
-is-slick.com
-is-uberleet.com
-is-with-theband.com
-isa-geek.com
-isa-hockeynut.com
-issmarterthanyou.com
-likes-pie.com
-likescandy.com
-neat-url.com
-saves-the-whales.com
-selfip.com
-sells-for-less.com
-sells-for-u.com
-servebbs.com
-simple-url.com
-space-to-rent.com
-teaches-yoga.com
-writesthisblog.com
-ath.cx
-fuettertdasnetz.de
-isteingeek.de
-istmein.de
-lebtimnetz.de
-leitungsen.de
-traeumtgerade.de
-barrel-of-knowledge.info
-barrell-of-knowledge.info
-dyndns.info
-for-our.info
-groks-the.info
-groks-this.info
-here-for-more.info
-knowsitall.info
-selfip.info
-webhop.info
-forgot.her.name
-forgot.his.name
-at-band-camp.net
-blogdns.net
-broke-it.net
-buyshouses.net
-dnsalias.net
-dnsdojo.net
-does-it.net
-dontexist.net
-dynalias.net
-dynathome.net
-endofinternet.net
-from-az.net
-from-co.net
-from-la.net
-from-ny.net
-gets-it.net
-ham-radio-op.net
-homeftp.net
-homeip.net
-homelinux.net
-homeunix.net
-in-the-band.net
-is-a-chef.net
-is-a-geek.net
-isa-geek.net
-kicks-ass.net
-office-on-the.net
-podzone.net
-scrapper-site.net
-selfip.net
-sells-it.net
-servebbs.net
-serveftp.net
-thruhere.net
-webhop.net
-merseine.nu
-mine.nu
-shacknet.nu
-blogdns.org
-blogsite.org
-boldlygoingnowhere.org
-dnsalias.org
-dnsdojo.org
-doesntexist.org
-dontexist.org
-doomdns.org
-dvrdns.org
-dynalias.org
-dyndns.org
-go.dyndns.org
-home.dyndns.org
-endofinternet.org
-endoftheinternet.org
-from-me.org
-game-host.org
-gotdns.org
-hobby-site.org
-homedns.org
-homeftp.org
-homelinux.org
-homeunix.org
-is-a-bruinsfan.org
-is-a-candidate.org
-is-a-celticsfan.org
-is-a-chef.org
-is-a-geek.org
-is-a-knight.org
-is-a-linux-user.org
-is-a-patsfan.org
-is-a-soxfan.org
-is-found.org
-is-lost.org
-is-saved.org
-is-very-bad.org
-is-very-evil.org
-is-very-good.org
-is-very-nice.org
-is-very-sweet.org
-isa-geek.org
-kicks-ass.org
-misconfused.org
-podzone.org
-readmyblog.org
-selfip.org
-sellsyourhome.org
-servebbs.org
-serveftp.org
-servegame.org
-stuff-4-sale.org
-webhop.org
-better-than.tv
-dyndns.tv
-on-the-web.tv
-worse-than.tv
-is-by.us
-land-4-sale.us
-stuff-4-sale.us
-dyndns.ws
-mypets.ws
-
-// Dynu.com : https://www.dynu.com/
-// Submitted by Sue Ye <[email protected]>
-ddnsfree.com
-ddnsgeek.com
-giize.com
-gleeze.com
-kozow.com
-loseyourip.com
-ooguy.com
-theworkpc.com
-casacam.net
-dynu.net
-accesscam.org
-camdvr.org
-freeddns.org
-mywire.org
-webredirect.org
-myddns.rocks
-
-// dynv6 : https://dynv6.com
-// Submitted by Dominik Menke <[email protected]>
-dynv6.net
-
-// E4YOU spol. s.r.o. : https://e4you.cz/
-// Submitted by Vladimir Dudr <[email protected]>
-e4.cz
-
-// Easypanel : https://easypanel.io
-// Submitted by Andrei Canta <[email protected]>
-easypanel.app
-easypanel.host
-
-// EasyWP : https://www.easywp.com
-// Submitted by <[email protected]>
-*.ewp.live
-
-// eDirect Corp. : https://hosting.url.com.tw/
-// Submitted by C.S. chang <[email protected]>
-twmail.cc
-twmail.net
-twmail.org
-mymailer.com.tw
-url.tw
-
-// Electromagnetic Field : https://www.emfcamp.org
-// Submitted by <[email protected]>
-at.emf.camp
-
-// Elefunc, Inc. : https://elefunc.com
-// Submitted by Cetin Sert <[email protected]>
-rt.ht
-
-// Elementor : Elementor Ltd.
-// Submitted by Anton Barkan <[email protected]>
-elementor.cloud
-elementor.cool
-
-// En root‽ : https://en-root.org
-// Submitted by Emmanuel Raviart <[email protected]>
-en-root.fr
-
-// Enalean SAS : https://www.enalean.com
-// Submitted by Enalean Security Team <[email protected]>
-mytuleap.com
-tuleap-partners.com
-
-// Encoretivity AB : https://encore.dev
-// Submitted by André Eriksson <[email protected]>
-encr.app
-encoreapi.com
-
-// encoway GmbH : https://www.encoway.de
-// Submitted by Marcel Daus <[email protected]>
-eu.encoway.cloud
-
-// EU.org : https://eu.org/
-// Submitted by Pierre Beyssac <[email protected]>
-eu.org
-al.eu.org
-asso.eu.org
-at.eu.org
-au.eu.org
-be.eu.org
-bg.eu.org
-ca.eu.org
-cd.eu.org
-ch.eu.org
-cn.eu.org
-cy.eu.org
-cz.eu.org
-de.eu.org
-dk.eu.org
-edu.eu.org
-ee.eu.org
-es.eu.org
-fi.eu.org
-fr.eu.org
-gr.eu.org
-hr.eu.org
-hu.eu.org
-ie.eu.org
-il.eu.org
-in.eu.org
-int.eu.org
-is.eu.org
-it.eu.org
-jp.eu.org
-kr.eu.org
-lt.eu.org
-lu.eu.org
-lv.eu.org
-me.eu.org
-mk.eu.org
-mt.eu.org
-my.eu.org
-net.eu.org
-ng.eu.org
-nl.eu.org
-no.eu.org
-nz.eu.org
-pl.eu.org
-pt.eu.org
-ro.eu.org
-ru.eu.org
-se.eu.org
-si.eu.org
-sk.eu.org
-tr.eu.org
-uk.eu.org
-us.eu.org
-
-// Eurobyte : https://eurobyte.ru
-// Submitted by Evgeniy Subbotin <[email protected]>
-eurodir.ru
-
-// Evennode : http://www.evennode.com/
-// Submitted by Michal Kralik <[email protected]>
-eu-1.evennode.com
-eu-2.evennode.com
-eu-3.evennode.com
-eu-4.evennode.com
-us-1.evennode.com
-us-2.evennode.com
-us-3.evennode.com
-us-4.evennode.com
-
-// Evervault : https://evervault.com
-// Submitted by Hannah Neary <[email protected]>
-relay.evervault.app
-relay.evervault.dev
-
-// Expo : https://expo.dev/
-// Submitted by James Ide <[email protected]>
-expo.app
-staging.expo.app
-
-// Fabrica Technologies, Inc. : https://www.fabrica.dev/
-// Submitted by Eric Jiang <[email protected]>
-onfabrica.com
-
-// FAITID : https://faitid.org/
-// Submitted by Maxim Alzoba <[email protected]>
-// https://www.flexireg.net/stat_info
-ru.net
-adygeya.ru
-bashkiria.ru
-bir.ru
-cbg.ru
-com.ru
-dagestan.ru
-grozny.ru
-kalmykia.ru
-kustanai.ru
-marine.ru
-mordovia.ru
-msk.ru
-mytis.ru
-nalchik.ru
-nov.ru
-pyatigorsk.ru
-spb.ru
-vladikavkaz.ru
-vladimir.ru
-abkhazia.su
-adygeya.su
-aktyubinsk.su
-arkhangelsk.su
-armenia.su
-ashgabad.su
-azerbaijan.su
-balashov.su
-bashkiria.su
-bryansk.su
-bukhara.su
-chimkent.su
-dagestan.su
-east-kazakhstan.su
-exnet.su
-georgia.su
-grozny.su
-ivanovo.su
-jambyl.su
-kalmykia.su
-kaluga.su
-karacol.su
-karaganda.su
-karelia.su
-khakassia.su
-krasnodar.su
-kurgan.su
-kustanai.su
-lenug.su
-mangyshlak.su
-mordovia.su
-msk.su
-murmansk.su
-nalchik.su
-navoi.su
-north-kazakhstan.su
-nov.su
-obninsk.su
-penza.su
-pokrovsk.su
-sochi.su
-spb.su
-tashkent.su
-termez.su
-togliatti.su
-troitsk.su
-tselinograd.su
-tula.su
-tuva.su
-vladikavkaz.su
-vladimir.su
-vologda.su
-
-// Fancy Bits, LLC : http://getchannels.com
-// Submitted by Aman Gupta <[email protected]>
-channelsdvr.net
-u.channelsdvr.net
-
-// Fastly Inc. : http://www.fastly.com/
-// Submitted by Fastly Security <[email protected]>
-edgecompute.app
-fastly-edge.com
-fastly-terrarium.com
-freetls.fastly.net
-map.fastly.net
-a.prod.fastly.net
-global.prod.fastly.net
-a.ssl.fastly.net
-b.ssl.fastly.net
-global.ssl.fastly.net
-fastlylb.net
-map.fastlylb.net
-
-// Fastmail : https://www.fastmail.com/
-// Submitted by Marc Bradshaw <[email protected]>
-*.user.fm
-
-// FASTVPS EESTI OU : https://fastvps.ru/
-// Submitted by Likhachev Vasiliy <[email protected]>
-fastvps-server.com
-fastvps.host
-myfast.host
-fastvps.site
-myfast.space
-
-// FearWorks Media Ltd. : https://fearworksmedia.co.uk
-// Submitted by Keith Fairley <[email protected]>
-conn.uk
-copro.uk
-hosp.uk
-
-// Fedora : https://fedoraproject.org/
-// Submitted by Patrick Uiterwijk <[email protected]>
-fedorainfracloud.org
-fedorapeople.org
-cloud.fedoraproject.org
-app.os.fedoraproject.org
-app.os.stg.fedoraproject.org
-
-// Fermax : https://fermax.com/
-// Submitted by Koen Van Isterdael <[email protected]>
-mydobiss.com
-
-// FH Muenster : https://www.fh-muenster.de
-// Submitted by Robin Naundorf <[email protected]>
-fh-muenster.io
-
-// Filegear Inc. : https://www.filegear.com
-// Submitted by Jason Zhu <[email protected]>
-filegear.me
-
-// Firebase, Inc.
-// Submitted by Chris Raynor <[email protected]>
-firebaseapp.com
-
-// FlashDrive : https://flashdrive.io
-// Submitted by Eric Chan <[email protected]>
-fldrv.com
-
-// Fleek Labs Inc : https://fleek.xyz
-// Submitted by Parsa Ghadimi <[email protected]>
-on-fleek.app
-
-// FlutterFlow : https://flutterflow.io
-// Submitted by Anton Emelyanov <[email protected]>
-flutterflow.app
-
-// fly.io : https://fly.io
-// Submitted by Kurt Mackey <[email protected]>
-fly.dev
-shw.io
-edgeapp.net
-
-// Forgerock : https://www.forgerock.com
-// Submitted by Roderick Parr <[email protected]>
-forgeblocks.com
-id.forgerock.io
-
-// Framer : https://www.framer.com
-// Submitted by Koen Rouwhorst <[email protected]>
-framer.ai
-framer.app
-framercanvas.com
-framer.media
-framer.photos
-framer.website
-framer.wiki
-
-// Frederik Braun : https://frederik-braun.com
-// Submitted by Frederik Braun <[email protected]>
-*.0e.vc
-
-// Freebox : http://www.freebox.fr
-// Submitted by Romain Fliedel <[email protected]>
-freebox-os.com
-freeboxos.com
-fbx-os.fr
-fbxos.fr
-freebox-os.fr
-freeboxos.fr
-
-// freedesktop.org : https://www.freedesktop.org
-// Submitted by Daniel Stone <[email protected]>
-freedesktop.org
-
-// freemyip.com : https://freemyip.com
-// Submitted by Cadence <[email protected]>
-freemyip.com
-
-// Frusky MEDIA&PR : https://www.frusky.de
-// Submitted by Victor Pupynin <[email protected]>
-*.frusky.de
-
-// FunkFeuer - Verein zur Förderung freier Netze : https://www.funkfeuer.at
-// Submitted by Daniel A. Maierhofer <[email protected]>
-wien.funkfeuer.at
-
-// Future Versatile Group. : https://www.fvg-on.net/
-// T.Kabu <[email protected]>
-daemon.asia
-dix.asia
-mydns.bz
-0am.jp
-0g0.jp
-0j0.jp
-0t0.jp
-mydns.jp
-pgw.jp
-wjg.jp
-keyword-on.net
-live-on.net
-server-on.net
-mydns.tw
-mydns.vc
-
-// Futureweb GmbH : https://www.futureweb.at
-// Submitted by Andreas Schnederle-Wagner <[email protected]>
-*.futurecms.at
-*.ex.futurecms.at
-*.in.futurecms.at
-futurehosting.at
-futuremailing.at
-*.ex.ortsinfo.at
-*.kunden.ortsinfo.at
-*.statics.cloud
-
-// GCom Internet : https://www.gcom.net.au
-// Submitted by Leo Julius <[email protected]>
-aliases121.com
-
-// GDS : https://www.gov.uk/service-manual/technology/managing-domain-names
-// Submitted by Stephen Ford <[email protected]>
-campaign.gov.uk
-service.gov.uk
-independent-commission.uk
-independent-inquest.uk
-independent-inquiry.uk
-independent-panel.uk
-independent-review.uk
-public-inquiry.uk
-royal-commission.uk
-
-// Gehirn Inc. : https://www.gehirn.co.jp/
-// Submitted by Kohei YOSHIDA <[email protected]>
-gehirn.ne.jp
-usercontent.jp
-
-// Gentlent, Inc. : https://www.gentlent.com
-// Submitted by Tom Klein <[email protected]>
-gentapps.com
-gentlentapis.com
-cdn-edges.net
-
-// GignoSystemJapan : http://gsj.bz
-// Submitted by GignoSystemJapan <[email protected]>
-gsj.bz
-
-// GitHub, Inc.
-// Submitted by Patrick Toomey <[email protected]>
-githubusercontent.com
-githubpreview.dev
-github.io
-
-// GitLab, Inc. : https://about.gitlab.com/
-// Submitted by Alex Hanselka <[email protected]>
-gitlab.io
-
-// Gitplac.si : https://gitplac.si
-// Submitted by Aljaž Starc <[email protected]>
-gitapp.si
-gitpage.si
-
-// Glitch, Inc : https://glitch.com
-// Submitted by Mads Hartmann <[email protected]>
-glitch.me
-
-// Global NOG Alliance : https://nogalliance.org/
-// Submitted by Sander Steffann <[email protected]>
-nog.community
-
-// Globe Hosting SRL : https://www.globehosting.com/
-// Submitted by Gavin Brown <[email protected]>
-co.ro
-shop.ro
-
-// GMO Pepabo, Inc. : https://pepabo.com/
-// Submitted by Hosting Div <[email protected]>
-lolipop.io
-angry.jp
-babyblue.jp
-babymilk.jp
-backdrop.jp
-bambina.jp
-bitter.jp
-blush.jp
-boo.jp
-boy.jp
-boyfriend.jp
-but.jp
-candypop.jp
-capoo.jp
-catfood.jp
-cheap.jp
-chicappa.jp
-chillout.jp
-chips.jp
-chowder.jp
-chu.jp
-ciao.jp
-cocotte.jp
-coolblog.jp
-cranky.jp
-cutegirl.jp
-daa.jp
-deca.jp
-deci.jp
-digick.jp
-egoism.jp
-fakefur.jp
-fem.jp
-flier.jp
-floppy.jp
-fool.jp
-frenchkiss.jp
-girlfriend.jp
-girly.jp
-gloomy.jp
-gonna.jp
-greater.jp
-hacca.jp
-heavy.jp
-her.jp
-hiho.jp
-hippy.jp
-holy.jp
-hungry.jp
-icurus.jp
-itigo.jp
-jellybean.jp
-kikirara.jp
-kill.jp
-kilo.jp
-kuron.jp
-littlestar.jp
-lolipopmc.jp
-lolitapunk.jp
-lomo.jp
-lovepop.jp
-lovesick.jp
-main.jp
-mods.jp
-mond.jp
-mongolian.jp
-moo.jp
-namaste.jp
-nikita.jp
-nobushi.jp
-noor.jp
-oops.jp
-parallel.jp
-parasite.jp
-pecori.jp
-peewee.jp
-penne.jp
-pepper.jp
-perma.jp
-pigboat.jp
-pinoko.jp
-punyu.jp
-pupu.jp
-pussycat.jp
-pya.jp
-raindrop.jp
-readymade.jp
-sadist.jp
-schoolbus.jp
-secret.jp
-staba.jp
-stripper.jp
-sub.jp
-sunnyday.jp
-thick.jp
-tonkotsu.jp
-under.jp
-upper.jp
-velvet.jp
-verse.jp
-versus.jp
-vivian.jp
-watson.jp
-weblike.jp
-whitesnow.jp
-zombie.jp
-heteml.net
-
-// GoDaddy Registry : https://registry.godaddy
-// Submitted by Rohan Durrant <[email protected]>
-graphic.design
-
-// GoIP DNS Services : http://www.goip.de
-// Submitted by Christian Poulter <[email protected]>
-goip.de
-
-// Google, Inc.
-// Submitted by Shannon McCabe <[email protected]>
-*.hosted.app
-*.run.app
-web.app
-*.0emm.com
-appspot.com
-*.r.appspot.com
-blogspot.com
-codespot.com
-googleapis.com
-googlecode.com
-pagespeedmobilizer.com
-withgoogle.com
-withyoutube.com
-*.gateway.dev
-cloud.goog
-translate.goog
-*.usercontent.goog
-cloudfunctions.net
-
-// Goupile : https://goupile.fr
-// Submitted by Niels Martignene <[email protected]>
-goupile.fr
-
-// GOV.UK Pay : https://www.payments.service.gov.uk/
-// Submitted by Richard Baker <[email protected]>
-pymnt.uk
-
-// GOV.UK Platform as a Service : https://www.cloud.service.gov.uk/
-// Submitted by Tom Whitwell <[email protected]>
-cloudapps.digital
-london.cloudapps.digital
-
-// Government of the Netherlands : https://www.government.nl
-// Submitted by <[email protected]>
-gov.nl
-
-// Grafana Labs : https://grafana.com/
-// Submitted by Platform Engineering <[email protected]>
-grafana-dev.net
-
-// GrayJay Web Solutions Inc. : https://grayjaysports.ca
-// Submitted by Matt Yamkowy <[email protected]>
-grayjayleagues.com
-
-// GünstigBestellen : https://günstigbestellen.de
-// Submitted by Furkan Akkoc <[email protected]>
-günstigbestellen.de
-günstigliefern.de
-
-// Häkkinen.fi : https://www.häkkinen.fi/
-// Submitted by Eero Häkkinen <Eero+psl@Häkkinen.fi>
-häkkinen.fi
-
-// Harrison Network : https://hrsn.net
-// Submitted by William Harrison <[email protected]>
-hrsn.dev
-
-// Hashbang : https://hashbang.sh
-hashbang.sh
-
-// Hasura : https://hasura.io
-// Submitted by Shahidh K Muhammed <[email protected]>
-hasura.app
-hasura-app.io
-
-// Hatena Co., Ltd. : https://hatena.co.jp
-// Submitted by Masato Nakamura <[email protected]>
-hatenablog.com
-hatenadiary.com
-hateblo.jp
-hatenablog.jp
-hatenadiary.jp
-hatenadiary.org
-
-// Heilbronn University of Applied Sciences - Faculty Informatics (GitLab Pages) : https://www.hs-heilbronn.de
-// Submitted by Richard Zowalla <[email protected]>
-pages.it.hs-heilbronn.de
-pages-research.it.hs-heilbronn.de
-
-// HeiyuSpace : https://lazycat.cloud
-// Submitted by Xia Bin <[email protected]>
-heiyu.space
-
-// Helio Networks : https://heliohost.org
-// Submitted by Ben Frede <[email protected]>
-helioho.st
-heliohost.us
-
-// Hepforge : https://www.hepforge.org
-// Submitted by David Grellscheid <[email protected]>
-hepforge.org
-
-// Heroku : https://www.heroku.com/
-// Submitted by Shumon Huque <[email protected]>
-herokuapp.com
-
-// Heyflow : https://www.heyflow.com
-// Submitted by Mirko Nitschke <[email protected]>
-heyflow.page
-heyflow.site
-
-// Hibernating Rhinos
-// Submitted by Oren Eini <[email protected]>
-ravendb.cloud
-ravendb.community
-development.run
-ravendb.run
-
-// home.pl S.A. : https://home.pl
-// Submitted by Krzysztof Wolski <[email protected]>
-homesklep.pl
-
-// Homebase : https://homebase.id/
-// Submitted by Jason Babo <[email protected]>
-*.kin.one
-*.id.pub
-*.kin.pub
-
-// Hoplix : https://www.hoplix.com
-// Submitted by Danilo De Franco<[email protected]>
-hoplix.shop
-
-// HOSTBIP REGISTRY : https://www.hostbip.com/
-// Submitted by Atanunu Igbunuroghene <[email protected]>
-orx.biz
-biz.gl
-biz.ng
-co.biz.ng
-dl.biz.ng
-go.biz.ng
-lg.biz.ng
-on.biz.ng
-col.ng
-firm.ng
-gen.ng
-ltd.ng
-ngo.ng
-plc.ng
-
-// HostFly : https://www.ie.ua
-// Submitted by Bohdan Dub <[email protected]>
-ie.ua
-
-// HostyHosting : https://hostyhosting.com
-hostyhosting.io
-
-// Hugging Face : https://huggingface.co
-// Submitted by Eliott Coyac <[email protected]>
-hf.space
-static.hf.space
-
-// Hypernode B.V. : https://www.hypernode.com/
-// Submitted by Cipriano Groenendal <[email protected]>
-hypernode.io
-
-// I-O DATA DEVICE, INC. : http://www.iodata.com/
-// Submitted by Yuji Minagawa <[email protected]>
-iobb.net
-
-// i-registry s.r.o. : http://www.i-registry.cz/
-// Submitted by Martin Semrad <[email protected]>
-co.cz
-
-// Ici la Lune : http://www.icilalune.com/
-// Submitted by Simon Morvan <[email protected]>
-*.moonscale.io
-moonscale.net
-
-// iDOT Services Limited : http://www.domain.gr.com
-// Submitted by Gavin Brown <[email protected]>
-gr.com
-
-// iki.fi
-// Submitted by Hannu Aronsson <[email protected]>
-iki.fi
-
-// iliad italia : https://www.iliad.it
-// Submitted by Marios Makassikis <[email protected]>
-ibxos.it
-iliadboxos.it
-
-// Incsub, LLC : https://incsub.com/
-// Submitted by Aaron Edwards <[email protected]>
-smushcdn.com
-wphostedmail.com
-wpmucdn.com
-tempurl.host
-wpmudev.host
-
-// Individual Network Berlin e.V. : https://www.in-berlin.de/
-// Submitted by Christian Seitz <[email protected]>
-dyn-berlin.de
-in-berlin.de
-in-brb.de
-in-butter.de
-in-dsl.de
-in-vpn.de
-in-dsl.net
-in-vpn.net
-in-dsl.org
-in-vpn.org
-
-// info.at : http://www.info.at/
-biz.at
-info.at
-
-// info.cx : http://info.cx
-// Submitted by June Slater <[email protected]>
-info.cx
-
-// Interlegis : http://www.interlegis.leg.br
-// Submitted by Gabriel Ferreira <[email protected]>
-ac.leg.br
-al.leg.br
-am.leg.br
-ap.leg.br
-ba.leg.br
-ce.leg.br
-df.leg.br
-es.leg.br
-go.leg.br
-ma.leg.br
-mg.leg.br
-ms.leg.br
-mt.leg.br
-pa.leg.br
-pb.leg.br
-pe.leg.br
-pi.leg.br
-pr.leg.br
-rj.leg.br
-rn.leg.br
-ro.leg.br
-rr.leg.br
-rs.leg.br
-sc.leg.br
-se.leg.br
-sp.leg.br
-to.leg.br
-
-// intermetrics GmbH : https://pixolino.com/
-// Submitted by Wolfgang Schwarz <[email protected]>
-pixolino.com
-
-// Internet-Pro, LLP : https://netangels.ru/
-// Submitted by Vasiliy Sheredeko <[email protected]>
-na4u.ru
-
-// Inventor Services : https://inventor.gg/
-// Submitted by Inventor Team <[email protected]>
-botdash.app
-botdash.dev
-botdash.gg
-botdash.net
-botda.sh
-botdash.xyz
-
-// IONOS SE : https://www.ionos.com/
-// IONOS Group SE : https://www.ionos-group.com/
-// Submitted by Henrik Willert <[email protected]>
-apps-1and1.com
-live-website.com
-apps-1and1.net
-websitebuilder.online
-app-ionos.space
-
-// iopsys software solutions AB : https://iopsys.eu/
-// Submitted by Roman Azarenko <[email protected]>
-iopsys.se
-
-// IPFS Project : https://ipfs.tech/
-// Submitted by Interplanetary Shipyard <[email protected]>
-*.dweb.link
-
-// IPiFony Systems, Inc. : https://www.ipifony.com/
-// Submitted by Matthew Hardeman <[email protected]>
-ipifony.net
-
-// ir.md : https://nic.ir.md
-// Submitted by Ali Soizi <[email protected]>
-ir.md
-
-// is-a-good.dev : https://is-a-good.dev
-// Submitted by William Harrison <[email protected]>
-is-a-good.dev
-
-// is-a.dev : https://is-a.dev
-// Submitted by William Harrison <[email protected]>
-is-a.dev
-
-// IServ GmbH : https://iserv.de
-// Submitted by Mario Hoberg <[email protected]>
-iservschule.de
-mein-iserv.de
-schulplattform.de
-schulserver.de
-test-iserv.de
-iserv.dev
-
-// Jelastic, Inc. : https://jelastic.com/
-// Submitted by Ihor Kolodyuk <[email protected]>
-mel.cloudlets.com.au
-cloud.interhostsolutions.be
-alp1.ae.flow.ch
-appengine.flow.ch
-es-1.axarnet.cloud
-diadem.cloud
-vip.jelastic.cloud
-jele.cloud
-it1.eur.aruba.jenv-aruba.cloud
-it1.jenv-aruba.cloud
-keliweb.cloud
-cs.keliweb.cloud
-oxa.cloud
-tn.oxa.cloud
-uk.oxa.cloud
-primetel.cloud
-uk.primetel.cloud
-ca.reclaim.cloud
-uk.reclaim.cloud
-us.reclaim.cloud
-ch.trendhosting.cloud
-de.trendhosting.cloud
-jele.club
-dopaas.com
-paas.hosted-by-previder.com
-rag-cloud.hosteur.com
-rag-cloud-ch.hosteur.com
-jcloud.ik-server.com
-jcloud-ver-jpc.ik-server.com
-demo.jelastic.com
-paas.massivegrid.com
-jed.wafaicloud.com
-ryd.wafaicloud.com
-j.scaleforce.com.cy
-jelastic.dogado.eu
-fi.cloudplatform.fi
-demo.datacenter.fi
-paas.datacenter.fi
-jele.host
-mircloud.host
-paas.beebyte.io
-sekd1.beebyteapp.io
-jele.io
-jc.neen.it
-jcloud.kz
-cloudjiffy.net
-fra1-de.cloudjiffy.net
-west1-us.cloudjiffy.net
-jls-sto1.elastx.net
-jls-sto2.elastx.net
-jls-sto3.elastx.net
-fr-1.paas.massivegrid.net
-lon-1.paas.massivegrid.net
-lon-2.paas.massivegrid.net
-ny-1.paas.massivegrid.net
-ny-2.paas.massivegrid.net
-sg-1.paas.massivegrid.net
-jelastic.saveincloud.net
-nordeste-idc.saveincloud.net
-j.scaleforce.net
-sdscloud.pl
-unicloud.pl
-mircloud.ru
-enscaled.sg
-jele.site
-jelastic.team
-orangecloud.tn
-j.layershift.co.uk
-phx.enscaled.us
-mircloud.us
-
-// Jino : https://www.jino.ru
-// Submitted by Sergey Ulyashin <[email protected]>
-myjino.ru
-*.hosting.myjino.ru
-*.landing.myjino.ru
-*.spectrum.myjino.ru
-*.vps.myjino.ru
-
-// Jotelulu S.L. : https://jotelulu.com
-// Submitted by Daniel Fariña <[email protected]>
-jotelulu.cloud
-
-// JouwWeb B.V. : https://www.jouwweb.nl
-// Submitted by Camilo Sperberg <[email protected]>
-webadorsite.com
-jouwweb.site
-
-// Joyent : https://www.joyent.com/
-// Submitted by Brian Bennett <[email protected]>
-*.cns.joyent.com
-*.triton.zone
-
-// JS.ORG : http://dns.js.org
-// Submitted by Stefan Keim <[email protected]>
-js.org
-
-// KaasHosting : http://www.kaashosting.nl/
-// Submitted by Wouter Bakker <[email protected]>
-kaas.gg
-khplay.nl
-
-// Kapsi : https://kapsi.fi
-// Submitted by Tomi Juntunen <[email protected]>
-kapsi.fi
-
-// Katholieke Universiteit Leuven : https://www.kuleuven.be
-// Submitted by Abuse KU Leuven <[email protected]>
-ezproxy.kuleuven.be
-kuleuven.cloud
-
-// Keyweb AG : https://www.keyweb.de
-// Submitted by Martin Dannehl <[email protected]>
-keymachine.de
-
-// KingHost : https://king.host
-// Submitted by Felipe Keller Braz <[email protected]>
-kinghost.net
-uni5.net
-
-// KnightPoint Systems, LLC : http://www.knightpoint.com/
-// Submitted by Roy Keene <[email protected]>
-knightpoint.systems
-
-// KoobinEvent, SL : https://www.koobin.com
-// Submitted by Iván Oliva <[email protected]>
-koobin.events
-
-// Krellian Ltd. : https://krellian.com
-// Submitted by Ben Francis <[email protected]>
-webthings.io
-krellian.net
-
-// KUROKU LTD : https://kuroku.ltd/
-// Submitted by DisposaBoy <[email protected]>
-oya.to
-
-// LCube - Professional hosting e.K. : https://www.lcube-webhosting.de
-// Submitted by Lars Laehn <[email protected]>
-git-repos.de
-lcube-server.de
-svn-repos.de
-
-// Leadpages : https://www.leadpages.net
-// Submitted by Greg Dallavalle <[email protected]>
-leadpages.co
-lpages.co
-lpusercontent.com
-
-// Liara : https://liara.ir
-// Submitted by Amirhossein Badinloo <[email protected]>
-liara.run
-iran.liara.run
-
-// libp2p project : https://libp2p.io
-// Submitted by Interplanetary Shipyard <[email protected]>
-libp2p.direct
-
-// Libre IT Ltd : https://libre.nz
-// Submitted by Tomas Maggio <[email protected]>
-runcontainers.dev
-
-// Lifetime Hosting : https://Lifetime.Hosting/
-// Submitted by Mike Fillator <[email protected]>
-co.business
-co.education
-co.events
-co.financial
-co.network
-co.place
-co.technology
-
-// linkyard ldt : https://www.linkyard.ch/
-// Submitted by Mario Siegenthaler <[email protected]>
-linkyard-cloud.ch
-linkyard.cloud
-
-// Linode : https://linode.com
-// Submitted by <[email protected]>
-members.linode.com
-*.nodebalancer.linode.com
-*.linodeobjects.com
-ip.linodeusercontent.com
-
-// LiquidNet Ltd : http://www.liquidnetlimited.com/
-// Submitted by Victor Velchev <[email protected]>
-we.bs
-
-// Listen53 : https://www.l53.net
-// Submitted by Gerry Keh <[email protected]>
-filegear-sg.me
-ggff.net
-
-// Localcert : https://localcert.dev
-// Submitted by Lann Martin <[email protected]>
-*.user.localcert.dev
-
-// LocalCert : https://localcert.net
-// Submitted by William Harrison <[email protected]>
-localcert.net
-localhostcert.net
-
-// Lodz University of Technology LODMAN regional domains : https://www.man.lodz.pl/dns
-// Submitted by Piotr Wilk <[email protected]>
-lodz.pl
-pabianice.pl
-plock.pl
-sieradz.pl
-skierniewice.pl
-zgierz.pl
-
-// Log'in Line : https://www.loginline.com/
-// Submitted by Rémi Mach <[email protected]>
-loginline.app
-loginline.dev
-loginline.io
-loginline.services
-loginline.site
-
-// Lõhmus Family, The : https://lohmus.me/
-// Submitted by Heiki Lõhmus <[email protected]>
-lohmus.me
-
-// Lokalized : https://lokalized.nl
-// Submitted by Noah Taheij <[email protected]>
-servers.run
-
-// LubMAN UMCS Sp. z o.o : https://lubman.pl/
-// Submitted by Ireneusz Maliszewski <[email protected]>
-krasnik.pl
-leczna.pl
-lubartow.pl
-lublin.pl
-poniatowa.pl
-swidnik.pl
-
-// Lug.org.uk : https://lug.org.uk
-// Submitted by Jon Spriggs <[email protected]>
-glug.org.uk
-lug.org.uk
-lugs.org.uk
-
-// Lukanet Ltd : https://lukanet.com
-// Submitted by Anton Avramov <[email protected]>
-barsy.bg
-barsy.club
-barsycenter.com
-barsyonline.com
-barsy.de
-barsy.dev
-barsy.eu
-barsy.gr
-barsy.in
-barsy.info
-barsy.io
-barsy.me
-barsy.menu
-barsyonline.menu
-barsy.mobi
-barsy.net
-barsy.online
-barsy.org
-barsy.pro
-barsy.pub
-barsy.ro
-barsy.rs
-barsy.shop
-barsyonline.shop
-barsy.site
-barsy.store
-barsy.support
-barsy.uk
-barsy.co.uk
-barsyonline.co.uk
-
-// Magento Commerce
-// Submitted by Damien Tournoud <[email protected]>
-*.magentosite.cloud
-
-// Mail.Ru Group : https://hb.cldmail.ru
-// Submitted by Ilya Zaretskiy <[email protected]>
-hb.cldmail.ru
-
-// MathWorks : https://www.mathworks.com/
-// Submitted by Emily Reed <[email protected]>
-matlab.cloud
-modelscape.com
-mwcloudnonprod.com
-polyspace.com
-
-// May First - People Link : https://mayfirst.org/
-// Submitted by Jamie McClelland <[email protected]>
-mayfirst.info
-mayfirst.org
-
-// Maze Play : https://www.mazeplay.com
-// Submitted by Adam Humpherys <[email protected]>
-mazeplay.com
-
-// McHost : https://mchost.ru
-// Submitted by Evgeniy Subbotin <[email protected]>
-mcdir.me
-mcdir.ru
-vps.mcdir.ru
-mcpre.ru
-
-// Mediatech : https://mediatech.by
-// Submitted by Evgeniy Kozhuhovskiy <[email protected]>
-mediatech.by
-mediatech.dev
-
-// Medicom Health : https://medicomhealth.com
-// Submitted by Michael Olson <[email protected]>
-hra.health
-
-// MedusaJS, Inc : https://medusajs.com/
-// Submitted by Stevche Radevski <[email protected]>
-medusajs.app
-
-// Memset hosting : https://www.memset.com
-// Submitted by Tom Whitwell <[email protected]>
-miniserver.com
-memset.net
-
-// Messerli Informatik AG : https://www.messerli.ch/
-// Submitted by Ruben Schmidmeister <[email protected]>
-messerli.app
-
-// Meta Platforms, Inc. : https://meta.com/
-// Submitted by Jacob Cordero <[email protected]>
-atmeta.com
-apps.fbsbx.com
-
-// MetaCentrum, CESNET z.s.p.o. : https://www.metacentrum.cz/en/
-// Submitted by Zdeněk Šustr <[email protected]> and Radim Janča <[email protected]>
-*.cloud.metacentrum.cz
-custom.metacentrum.cz
-flt.cloud.muni.cz
-usr.cloud.muni.cz
-
-// Meteor Development Group : https://www.meteor.com/hosting
-// Submitted by Pierre Carrier <[email protected]>
-meteorapp.com
-eu.meteorapp.com
-
-// Michau Enterprises Limited : http://www.co.pl/
-co.pl
-
-// Microsoft Corporation : http://microsoft.com
-// Submitted by Public Suffix List Admin <[email protected]>
-// Managed by Corporate Domains
-// Microsoft Azure : https://home.azure
-*.azurecontainer.io
-azure-api.net
-azure-mobile.net
-azureedge.net
-azurefd.net
-azurestaticapps.net
-1.azurestaticapps.net
-2.azurestaticapps.net
-3.azurestaticapps.net
-4.azurestaticapps.net
-5.azurestaticapps.net
-6.azurestaticapps.net
-7.azurestaticapps.net
-centralus.azurestaticapps.net
-eastasia.azurestaticapps.net
-eastus2.azurestaticapps.net
-westeurope.azurestaticapps.net
-westus2.azurestaticapps.net
-azurewebsites.net
-cloudapp.net
-trafficmanager.net
-blob.core.windows.net
-servicebus.windows.net
-
-// MikroTik : https://mikrotik.com
-// Submitted by MikroTik SysAdmin Team <[email protected]>
-routingthecloud.com
-sn.mynetname.net
-routingthecloud.net
-routingthecloud.org
-
-// minion.systems : http://minion.systems
-// Submitted by Robert Böttinger <[email protected]>
-csx.cc
-
-// Mittwald CM Service GmbH & Co. KG : https://mittwald.de
-// Submitted by Marco Rieger <[email protected]>
-mydbserver.com
-webspaceconfig.de
-mittwald.info
-mittwaldserver.info
-typo3server.info
-project.space
-
-// MODX Systems LLC : https://modx.com
-// Submitted by Elizabeth Southwell <[email protected]>
-modx.dev
-
-// Mozilla Foundation : https://mozilla.org/
-// Submitted by glob <[email protected]>
-bmoattachments.org
-
-// MSK-IX : https://www.msk-ix.ru/
-// Submitted by Khannanov Roman <[email protected]>
-net.ru
-org.ru
-pp.ru
-
-// Mythic Beasts : https://www.mythic-beasts.com
-// Submitted by Paul Cammish <[email protected]>
-hostedpi.com
-caracal.mythic-beasts.com
-customer.mythic-beasts.com
-fentiger.mythic-beasts.com
-lynx.mythic-beasts.com
-ocelot.mythic-beasts.com
-oncilla.mythic-beasts.com
-onza.mythic-beasts.com
-sphinx.mythic-beasts.com
-vs.mythic-beasts.com
-x.mythic-beasts.com
-yali.mythic-beasts.com
-cust.retrosnub.co.uk
-
-// Nabu Casa : https://www.nabucasa.com
-// Submitted by Paulus Schoutsen <[email protected]>
-ui.nabu.casa
-
-// Net at Work Gmbh : https://www.netatwork.de
-// Submitted by Jan Jaeschke <[email protected]>
-cloud.nospamproxy.com
-o365.cloud.nospamproxy.com
-
-// Net libre : https://www.netlib.re
-// Submitted by Philippe PITTOLI <[email protected]>
-netlib.re
-
-// Netfy Domains : https://netfy.domains
-// Submitted by Suranga Ranasinghe <[email protected]>
-netfy.app
-
-// Netlify : https://www.netlify.com
-// Submitted by Jessica Parsons <[email protected]>
-netlify.app
-
-// Neustar Inc.
-// Submitted by Trung Tran <[email protected]>
-4u.com
-
-// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
-// Submitted by Jeff Wheelhouse <[email protected]>
-nfshost.com
-
-// NFT.Storage : https://nft.storage/
-// Submitted by Vasco Santos <[email protected]> or <[email protected]>
-ipfs.nftstorage.link
-
-// NGO.US Registry : https://nic.ngo.us
-// Submitted by Alstra Solutions Ltd. Networking Team <[email protected]>
-ngo.us
-
-// ngrok : https://ngrok.com/
-// Submitted by Alan Shreve <[email protected]>
-ngrok.app
-ngrok-free.app
-ngrok.dev
-ngrok-free.dev
-ngrok.io
-ap.ngrok.io
-au.ngrok.io
-eu.ngrok.io
-in.ngrok.io
-jp.ngrok.io
-sa.ngrok.io
-us.ngrok.io
-ngrok.pizza
-ngrok.pro
-
-// Nicolaus Copernicus University in Torun - MSK TORMAN : https://www.man.torun.pl
-torun.pl
-
-// Nimbus Hosting Ltd. : https://www.nimbushosting.co.uk/
-// Submitted by Nicholas Ford <[email protected]>
-nh-serv.co.uk
-nimsite.uk
-
-// No-IP.com : https://noip.com/
-// Submitted by Deven Reza <[email protected]>
-mmafan.biz
-myftp.biz
-no-ip.biz
-no-ip.ca
-fantasyleague.cc
-gotdns.ch
-3utilities.com
-blogsyte.com
-ciscofreak.com
-damnserver.com
-ddnsking.com
-ditchyourip.com
-dnsiskinky.com
-dynns.com
-geekgalaxy.com
-health-carereform.com
-homesecuritymac.com
-homesecuritypc.com
-myactivedirectory.com
-mysecuritycamera.com
-myvnc.com
-net-freaks.com
-onthewifi.com
-point2this.com
-quicksytes.com
-securitytactics.com
-servebeer.com
-servecounterstrike.com
-serveexchange.com
-serveftp.com
-servegame.com
-servehalflife.com
-servehttp.com
-servehumour.com
-serveirc.com
-servemp3.com
-servep2p.com
-servepics.com
-servequake.com
-servesarcasm.com
-stufftoread.com
-unusualperson.com
-workisboring.com
-dvrcam.info
-ilovecollege.info
-no-ip.info
-brasilia.me
-ddns.me
-dnsfor.me
-hopto.me
-loginto.me
-noip.me
-webhop.me
-bounceme.net
-ddns.net
-eating-organic.net
-mydissent.net
-myeffect.net
-mymediapc.net
-mypsx.net
-mysecuritycamera.net
-nhlfan.net
-no-ip.net
-pgafan.net
-privatizehealthinsurance.net
-redirectme.net
-serveblog.net
-serveminecraft.net
-sytes.net
-cable-modem.org
-collegefan.org
-couchpotatofries.org
-hopto.org
-mlbfan.org
-myftp.org
-mysecuritycamera.org
-nflfan.org
-no-ip.org
-read-books.org
-ufcfan.org
-zapto.org
-no-ip.co.uk
-golffan.us
-noip.us
-pointto.us
-
-// NodeArt : https://nodeart.io
-// Submitted by Konstantin Nosov <[email protected]>
-stage.nodeart.io
-
-// Noop : https://noop.app
-// Submitted by Nathaniel Schweinberg <[email protected]>
-*.developer.app
-noop.app
-
-// Northflank Ltd. : https://northflank.com/
-// Submitted by Marco Suter <[email protected]>
-*.northflank.app
-*.build.run
-*.code.run
-*.database.run
-*.migration.run
-
-// Noticeable : https://noticeable.io
-// Submitted by Laurent Pellegrino <[email protected]>
-noticeable.news
-
-// Notion Labs, Inc : https://www.notion.so/
-// Submitted by Jess Yao <[email protected]>
-notion.site
-
-// Now-DNS : https://now-dns.com
-// Submitted by Steve Russell <[email protected]>
-dnsking.ch
-mypi.co
-myiphost.com
-forumz.info
-soundcast.me
-tcp4.me
-dnsup.net
-hicam.net
-now-dns.net
-ownip.net
-vpndns.net
-dynserv.org
-now-dns.org
-x443.pw
-ntdll.top
-freeddns.us
-
-// nsupdate.info : https://www.nsupdate.info/
-// Submitted by Thomas Waldmann <[email protected]>
-nsupdate.info
-nerdpol.ovh
-
-// NYC.mn : https://dot.nyc.mn/
-// Submitted by NYC.mn Subdomain Service <[email protected]>
-nyc.mn
-
-// O3O.Foundation : https://o3o.foundation/
-// Submitted by the prvcy.page Registry Team <[email protected]>
-prvcy.page
-
-// Obl.ong : https://obl.ong
-// Submitted by Reese Armstrong <[email protected]>
-obl.ong
-
-// Observable, Inc. : https://observablehq.com
-// Submitted by Mike Bostock <[email protected]>
-observablehq.cloud
-static.observableusercontent.com
-
-// OMG.LOL : https://omg.lol
-// Submitted by Adam Newbold <[email protected]>
-omg.lol
-
-// Omnibond Systems, LLC. : https://www.omnibond.com
-// Submitted by Cole Estep <[email protected]>
-cloudycluster.net
-
-// OmniWe Limited : https://omniwe.com
-// Submitted by Vicary Archangel <[email protected]>
-omniwe.site
-
-// One.com : https://www.one.com/
-// Submitted by Jacob Bunk Nielsen <[email protected]>
-123webseite.at
-123website.be
-simplesite.com.br
-123website.ch
-simplesite.com
-123webseite.de
-123hjemmeside.dk
-123miweb.es
-123kotisivu.fi
-123siteweb.fr
-simplesite.gr
-123homepage.it
-123website.lu
-123website.nl
-123hjemmeside.no
-service.one
-simplesite.pl
-123paginaweb.pt
-123minsida.se
-
-// Open Domains : https://open-domains.net
-// Submitted by William Harrison <[email protected]>
-is-a-fullstack.dev
-is-cool.dev
-is-not-a.dev
-localplayer.dev
-is-local.org
-
-// Open Social : https://www.getopensocial.com/
-// Submitted by Alexander Varwijk <[email protected]>
-opensocial.site
-
-// OpenCraft GmbH : http://opencraft.com/
-// Submitted by Sven Marnach <[email protected]>
-opencraft.hosting
-
-// OpenHost : https://registry.openhost.uk
-// Submitted by OpenHost Registry Team <[email protected]>
-16-b.it
-32-b.it
-64-b.it
-
-// OpenResearch GmbH : https://openresearch.com/
-// Submitted by Philipp Schmid <[email protected]>
-orsites.com
-
-// Opera Software, A.S.A.
-// Submitted by Yngve Pettersen <[email protected]>
-operaunite.com
-
-// Oracle Dyn : https://cloud.oracle.com/home https://dyn.com/dns/
-// Submitted by Gregory Drake <[email protected]>
-// Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label
-*.customer-oci.com
-*.oci.customer-oci.com
-*.ocp.customer-oci.com
-*.ocs.customer-oci.com
-*.oraclecloudapps.com
-*.oraclegovcloudapps.com
-*.oraclegovcloudapps.uk
-
-// Orange : https://www.orange.com
-// Submitted by Alexandre Linte <[email protected]>
-tech.orange
-
-// OsSav Technology Ltd. : https://ossav.com/
-// Submitted by OsSav Technology Ltd. <[email protected]>
-// https://nic.can.re
-can.re
-
-// Oursky Limited : https://authgear.com/
-// Submitted by Authgear Team <[email protected]> & Skygear Developer <[email protected]>
-authgear-staging.com
-authgearapps.com
-skygearapp.com
-
-// OutSystems
-// Submitted by Duarte Santos <[email protected]>
-outsystemscloud.com
-
-// OVHcloud : https://ovhcloud.com
-// Submitted by Vincent Cassé <[email protected]>
-*.hosting.ovh.net
-*.webpaas.ovh.net
-
-// OwnProvider GmbH : http://www.ownprovider.com
-// Submitted by Jan Moennich <[email protected]>
-ownprovider.com
-own.pm
-
-// OwO : https://whats-th.is/
-// Submitted by Dean Sheather <[email protected]>
-*.owo.codes
-
-// OX : http://www.ox.rs
-// Submitted by Adam Grand <[email protected]>
-ox.rs
-
-// oy.lc
-// Submitted by Charly Coste <[email protected]>
-oy.lc
-
-// Pagefog : https://pagefog.com/
-// Submitted by Derek Myers <[email protected]>
-pgfog.com
-
-// PageXL : https://pagexl.com
-// Submitted by Yann Guichard <[email protected]>
-pagexl.com
-
-// Pantheon Systems, Inc. : https://pantheon.io/
-// Submitted by Gary Dylina <[email protected]>
-gotpantheon.com
-pantheonsite.io
-
-// Paywhirl, Inc : https://paywhirl.com/
-// Submitted by Daniel Netzer <[email protected]>
-*.paywhirl.com
-
-// pcarrier.ca Software Inc : https://pcarrier.ca/
-// Submitted by Pierre Carrier <[email protected]>
-*.xmit.co
-xmit.dev
-madethis.site
-srv.us
-gh.srv.us
-gl.srv.us
-
-// PE Ulyanov Kirill Sergeevich : https://airy.host
-// Submitted by Kirill Ulyanov <[email protected]>
-lk3.ru
-
-// Peplink | Pepwave : http://peplink.com/
-// Submitted by Steve Leung <[email protected]>
-mypep.link
-
-// Perspecta : https://perspecta.com/
-// Submitted by Kenneth Van Alstyne <[email protected]>
-perspecta.cloud
-
-// Planet-Work : https://www.planet-work.com/
-// Submitted by Frédéric VANNIÈRE <[email protected]>
-on-web.fr
-
-// Platform.sh : https://platform.sh
-// Submitted by Nikola Kotur <[email protected]>
-*.upsun.app
-upsunapp.com
-ent.platform.sh
-eu.platform.sh
-us.platform.sh
-*.platformsh.site
-*.tst.site
-
-// Platter : https://platter.dev
-// Submitted by Patrick Flor <[email protected]>
-platter-app.dev
-platterp.us
-
-// Pley AB : https://www.pley.com/
-// Submitted by Henning Pohl <[email protected]>
-pley.games
-
-// Porter : https://porter.run/
-// Submitted by Rudraksh MK <[email protected]>
-onporter.run
-
-// Positive Codes Technology Company : http://co.bn/faq.html
-// Submitted by Zulfais <[email protected]>
-co.bn
-
-// Postman, Inc : https://postman.com
-// Submitted by Rahul Dhawan <[email protected]>
-postman-echo.com
-pstmn.io
-mock.pstmn.io
-httpbin.org
-
-// prequalifyme.today : https://prequalifyme.today
-// Submitted by DeepakTiwari [email protected]
-prequalifyme.today
-
-// prgmr.com : https://prgmr.com/
-// Submitted by Sarah Newman <[email protected]>
-xen.prgmr.com
-
-// priv.at : http://www.nic.priv.at/
-// Submitted by registry <[email protected]>
-priv.at
-
-// Protonet GmbH : http://protonet.io
-// Submitted by Martin Meier <[email protected]>
-protonet.io
-
-// PSL Sandbox : https://psl.hrsn.dev
-// Submitted by William Harrison <[email protected]>
-sub.psl.hrsn.dev
-*.wc.psl.hrsn.dev
-!ignored.wc.psl.hrsn.dev
-*.sub.wc.psl.hrsn.dev
-!ignored.sub.wc.psl.hrsn.dev
-
-// Publication Presse Communication SARL : https://ppcom.fr
-// Submitted by Yaacov Akiba Slama <[email protected]>
-chirurgiens-dentistes-en-france.fr
-byen.site
-
-// pubtls.org : https://www.pubtls.org
-// Submitted by Kor Nielsen <[email protected]>
-pubtls.org
-
-// PythonAnywhere LLP : https://www.pythonanywhere.com
-// Submitted by Giles Thomas <[email protected]>
-pythonanywhere.com
-eu.pythonanywhere.com
-
-// QA2
-// Submitted by Daniel Dent : https://www.danieldent.com/
-qa2.com
-
-// QCX
-// Submitted by Cassandra Beelen <[email protected]>
-qcx.io
-*.sys.qcx.io
-
-// QNAP System Inc : https://www.qnap.com
-// Submitted by Nick Chang <[email protected]>
-myqnapcloud.cn
-alpha-myqnapcloud.com
-dev-myqnapcloud.com
-mycloudnas.com
-mynascloud.com
-myqnapcloud.com
-
-// QOTO, Org.
-// Submitted by Jeffrey Phillips Freeman <[email protected]>
-qoto.io
-
-// Qualifio : https://qualifio.com/
-// Submitted by Xavier De Cock <[email protected]>
-qualifioapp.com
-
-// Quality Unit : https://qualityunit.com
-// Submitted by Vasyl Tsalko <[email protected]>
-ladesk.com
-
-// QuickBackend : https://www.quickbackend.com
-// Submitted by Dani Biro <[email protected]>
-qbuser.com
-
-// Quip : https://quip.com
-// Submitted by Patrick Linehan <[email protected]>
-*.quipelements.com
-
-// Qutheory LLC : http://qutheory.io
-// Submitted by Jonas Schwartz <[email protected]>
-vapor.cloud
-vaporcloud.io
-
-// Rackmaze LLC : https://www.rackmaze.com
-// Submitted by Kirill Pertsev <[email protected]>
-rackmaze.com
-rackmaze.net
-
-// Rad Web Hosting : https://radwebhosting.com
-// Submitted by Scott Claeys <[email protected]>
-cloudsite.builders
-myradweb.net
-servername.us
-
-// Radix FZC : http://domains.in.net
-// Submitted by Gavin Brown <[email protected]>
-web.in
-in.net
-
-// Raidboxes GmbH : https://raidboxes.de
-// Submitted by Auke Tembrink <[email protected]>
-myrdbx.io
-site.rb-hosting.io
-
-// Rancher Labs, Inc : https://rancher.com
-// Submitted by Vincent Fiduccia <[email protected]>
-*.on-rancher.cloud
-*.on-k3s.io
-*.on-rio.io
-
-// RavPage : https://www.ravpage.co.il
-// Submitted by Roni Horowitz <[email protected]>
-ravpage.co.il
-
-// Read The Docs, Inc : https://www.readthedocs.org
-// Submitted by David Fischer <[email protected]>
-readthedocs-hosted.com
-readthedocs.io
-
-// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
-// Submitted by Tim Kramer <[email protected]>
-rhcloud.com
-
-// Redgate Software : https://red-gate.com
-// Submitted by Andrew Farries <[email protected]>
-instances.spawn.cc
-
-// Render : https://render.com
-// Submitted by Anurag Goel <[email protected]>
-onrender.com
-app.render.com
-
-// Repl.it : https://repl.it
-// Submitted by Lincoln Bergeson <[email protected]>
-replit.app
-id.replit.app
-firewalledreplit.co
-id.firewalledreplit.co
-repl.co
-id.repl.co
-replit.dev
-archer.replit.dev
-bones.replit.dev
-canary.replit.dev
-global.replit.dev
-hacker.replit.dev
-id.replit.dev
-janeway.replit.dev
-kim.replit.dev
-kira.replit.dev
-kirk.replit.dev
-odo.replit.dev
-paris.replit.dev
-picard.replit.dev
-pike.replit.dev
-prerelease.replit.dev
-reed.replit.dev
-riker.replit.dev
-sisko.replit.dev
-spock.replit.dev
-staging.replit.dev
-sulu.replit.dev
-tarpit.replit.dev
-teams.replit.dev
-tucker.replit.dev
-wesley.replit.dev
-worf.replit.dev
-repl.run
-
-// Resin.io : https://resin.io
-// Submitted by Tim Perry <[email protected]>
-resindevice.io
-devices.resinstaging.io
-
-// RethinkDB : https://www.rethinkdb.com/
-// Submitted by Chris Kastorff <[email protected]>
-hzc.io
-
-// Rico Developments Limited : https://adimo.co
-// Submitted by Colin Brown <[email protected]>
-adimo.co.uk
-
-// Riseup Networks : https://riseup.net
-// Submitted by Micah Anderson <[email protected]>
-itcouldbewor.se
-
-// Roar Domains LLC : https://roar.basketball/
-// Submitted by Gavin Brown <[email protected]>
-aus.basketball
-nz.basketball
-
-// ROBOT PAYMENT INC. : https://www.robotpayment.co.jp/
-// Submitted by Kentaro Takamori <[email protected]>
-subsc-pay.com
-subsc-pay.net
-
-// Rochester Institute of Technology : http://www.rit.edu/
-// Submitted by Jennifer Herting <[email protected]>
-git-pages.rit.edu
-
-// Rocky Enterprise Software Foundation : https://resf.org
-// Submitted by Neil Hanlon <[email protected]>
-rocky.page
-
-// Ruhr University Bochum : https://www.ruhr-uni-bochum.de/
-// Submitted by Andreas Jobs <[email protected]>
-rub.de
-ruhr-uni-bochum.de
-io.noc.ruhr-uni-bochum.de
-
-// Rusnames Limited : http://rusnames.ru/
-// Submitted by Sergey Zotov <[email protected]>
-биз.рус
-ком.рус
-крым.рус
-мир.рус
-мск.рус
-орг.рус
-самара.рус
-сочи.рус
-спб.рус
-я.рус
-
-// Russian Academy of Sciences
-// Submitted by Tech Support <[email protected]>
-ras.ru
-
-// Sakura Frp : https://www.natfrp.com
-// Submitted by Bobo Liu <[email protected]>
-nyat.app
-
-// SAKURA Internet Inc. : https://www.sakura.ad.jp/
-// Submitted by Internet Service Department <[email protected]>
-180r.com
-dojin.com
-sakuratan.com
-sakuraweb.com
-x0.com
-2-d.jp
-bona.jp
-crap.jp
-daynight.jp
-eek.jp
-flop.jp
-halfmoon.jp
-jeez.jp
-matrix.jp
-mimoza.jp
-ivory.ne.jp
-mail-box.ne.jp
-mints.ne.jp
-mokuren.ne.jp
-opal.ne.jp
-sakura.ne.jp
-sumomo.ne.jp
-topaz.ne.jp
-netgamers.jp
-nyanta.jp
-o0o0.jp
-rdy.jp
-rgr.jp
-rulez.jp
-s3.isk01.sakurastorage.jp
-s3.isk02.sakurastorage.jp
-saloon.jp
-sblo.jp
-skr.jp
-tank.jp
-uh-oh.jp
-undo.jp
-rs.webaccel.jp
-user.webaccel.jp
-websozai.jp
-xii.jp
-squares.net
-jpn.org
-kirara.st
-x0.to
-from.tv
-sakura.tv
-
-// Salesforce.com, Inc. : https://salesforce.com/
-// Submitted by Salesforce Public Suffix List Team <[email protected]>
-*.builder.code.com
-*.dev-builder.code.com
-*.stg-builder.code.com
-*.001.test.code-builder-stg.platform.salesforce.com
-*.d.crm.dev
-*.w.crm.dev
-*.wa.crm.dev
-*.wb.crm.dev
-*.wc.crm.dev
-*.wd.crm.dev
-*.we.crm.dev
-*.wf.crm.dev
-
-// Sandstorm Development Group, Inc. : https://sandcats.io/
-// Submitted by Asheesh Laroia <[email protected]>
-sandcats.io
-
-// SBE network solutions GmbH : https://www.sbe.de/
-// Submitted by Norman Meilick <[email protected]>
-logoip.com
-logoip.de
-
-// Scaleway : https://www.scaleway.com/
-// Submitted by Rémy Léone <[email protected]>
-fr-par-1.baremetal.scw.cloud
-fr-par-2.baremetal.scw.cloud
-nl-ams-1.baremetal.scw.cloud
-cockpit.fr-par.scw.cloud
-fnc.fr-par.scw.cloud
-functions.fnc.fr-par.scw.cloud
-k8s.fr-par.scw.cloud
-nodes.k8s.fr-par.scw.cloud
-s3.fr-par.scw.cloud
-s3-website.fr-par.scw.cloud
-whm.fr-par.scw.cloud
-priv.instances.scw.cloud
-pub.instances.scw.cloud
-k8s.scw.cloud
-cockpit.nl-ams.scw.cloud
-k8s.nl-ams.scw.cloud
-nodes.k8s.nl-ams.scw.cloud
-s3.nl-ams.scw.cloud
-s3-website.nl-ams.scw.cloud
-whm.nl-ams.scw.cloud
-cockpit.pl-waw.scw.cloud
-k8s.pl-waw.scw.cloud
-nodes.k8s.pl-waw.scw.cloud
-s3.pl-waw.scw.cloud
-s3-website.pl-waw.scw.cloud
-scalebook.scw.cloud
-smartlabeling.scw.cloud
-dedibox.fr
-
-// schokokeks.org GbR : https://schokokeks.org/
-// Submitted by Hanno Böck <[email protected]>
-schokokeks.net
-
-// Scottish Government : https://www.gov.scot
-// Submitted by Martin Ellis <[email protected]>
-gov.scot
-service.gov.scot
-
-// Scry Security : http://www.scrysec.com
-// Submitted by Shante Adam <[email protected]>
-scrysec.com
-
-// Scrypted : https://scrypted.app
-// Submitted by Koushik Dutta <[email protected]>
-client.scrypted.io
-
-// Securepoint GmbH : https://www.securepoint.de
-// Submitted by Erik Anders <[email protected]>
-firewall-gateway.com
-firewall-gateway.de
-my-gateway.de
-my-router.de
-spdns.de
-spdns.eu
-firewall-gateway.net
-my-firewall.org
-myfirewall.org
-spdns.org
-
-// Seidat : https://www.seidat.com
-// Submitted by Artem Kondratev <[email protected]>
-seidat.net
-
-// Sellfy : https://sellfy.com
-// Submitted by Yuriy Romadin <[email protected]>
-sellfy.store
-
-// Sendmsg : https://www.sendmsg.co.il
-// Submitted by Assaf Stern <[email protected]>
-minisite.ms
-
-// Senseering GmbH : https://www.senseering.de
-// Submitted by Felix Mönckemeyer <[email protected]>
-senseering.net
-
-// Servebolt AS : https://servebolt.com
-// Submitted by Daniel Kjeserud <[email protected]>
-servebolt.cloud
-
-// Service Online LLC : http://drs.ua/
-// Submitted by Serhii Bulakh <[email protected]>
-biz.ua
-co.ua
-pp.ua
-
-// Shanghai Accounting Society : https://www.sasf.org.cn
-// Submitted by Information Administration <[email protected]>
-as.sh.cn
-
-// Sheezy.Art : https://sheezy.art
-// Submitted by Nyoom <[email protected]>
-sheezy.games
-
-// Shopblocks : http://www.shopblocks.com/
-// Submitted by Alex Bowers <[email protected]>
-myshopblocks.com
-
-// Shopify : https://www.shopify.com
-// Submitted by Alex Richter <[email protected]>
-myshopify.com
-
-// Shopit : https://www.shopitcommerce.com/
-// Submitted by Craig McMahon <[email protected]>
-shopitsite.com
-
-// shopware AG : https://shopware.com
-// Submitted by Jens Küper <[email protected]>
-shopware.shop
-shopware.store
-
-// Siemens Mobility GmbH
-// Submitted by Oliver Graebner <[email protected]>
-mo-siemens.io
-
-// SinaAppEngine : http://sae.sina.com.cn/
-// Submitted by SinaAppEngine <[email protected]>
-1kapp.com
-appchizi.com
-applinzi.com
-sinaapp.com
-vipsinaapp.com
-
-// Siteleaf : https://www.siteleaf.com/
-// Submitted by Skylar Challand <[email protected]>
-siteleaf.net
-
-// Small Technology Foundation : https://small-tech.org
-// Submitted by Aral Balkan <[email protected]>
-small-web.org
-
-// Smallregistry by Promopixel SARL : https://www.smallregistry.net
-// Former AFNIC's SLDs
-// Submitted by Jérôme Lipowicz <[email protected]>
-aeroport.fr
-avocat.fr
-chambagri.fr
-chirurgiens-dentistes.fr
-experts-comptables.fr
-medecin.fr
-notaires.fr
-pharmacien.fr
-port.fr
-veterinaire.fr
-
-// Smoove.io : https://www.smoove.io/
-// Submitted by Dan Kozak <[email protected]>
-vp4.me
-
-// Snowflake Inc : https://www.snowflake.com/
-// Submitted by Sam Haar <[email protected]>
-*.snowflake.app
-*.privatelink.snowflake.app
-streamlit.app
-streamlitapp.com
-
-// Snowplow Analytics : https://snowplowanalytics.com/
-// Submitted by Ian Streeter <[email protected]>
-try-snowplow.com
-
-// Software Consulting Michal Zalewski : https://www.mafelo.com
-// Submitted by Michal Zalewski <[email protected]>
-mafelo.net
-
-// Sony Interactive Entertainment LLC : https://sie.com/
-// Submitted by David Coles <[email protected]>
-playstation-cloud.com
-
-// SourceHut : https://sourcehut.org
-// Submitted by Drew DeVault <[email protected]>
-srht.site
-
-// SourceLair PC : https://www.sourcelair.com
-// Submitted by Antonis Kalipetis <[email protected]>
-apps.lair.io
-*.stolos.io
-
-// SparrowHost : https://sparrowhost.in/
-// Submitted by Anant Pandey <[email protected]>
-ind.mom
-
-// SpeedPartner GmbH : https://www.speedpartner.de/
-// Submitted by Stefan Neufeind <[email protected]>
-customer.speedpartner.de
-
-// Spreadshop (sprd.net AG) : https://www.spreadshop.com/
-// Submitted by Martin Breest <[email protected]>
-myspreadshop.at
-myspreadshop.com.au
-myspreadshop.be
-myspreadshop.ca
-myspreadshop.ch
-myspreadshop.com
-myspreadshop.de
-myspreadshop.dk
-myspreadshop.es
-myspreadshop.fi
-myspreadshop.fr
-myspreadshop.ie
-myspreadshop.it
-myspreadshop.net
-myspreadshop.nl
-myspreadshop.no
-myspreadshop.pl
-myspreadshop.se
-myspreadshop.co.uk
-
-// StackBlitz : https://stackblitz.com
-// Submitted by Dominic Elm <[email protected]>
-w-corp-staticblitz.com
-w-credentialless-staticblitz.com
-w-staticblitz.com
-
-// Stackhero : https://www.stackhero.io
-// Submitted by Adrien Gillon <[email protected]>
-stackhero-network.com
-
-// STACKIT GmbH & Co. KG : https://www.stackit.de/en/
-// Submitted by STACKIT-DNS Team (Simon Stier) <[email protected]>
-runs.onstackit.cloud
-stackit.gg
-stackit.rocks
-stackit.run
-stackit.zone
-
-// Staclar : https://staclar.com
-// Submitted by Q Misell <[email protected]>
-// Submitted by Matthias Merkel <[email protected]>
-musician.io
-novecore.site
-
-// Standard Library : https://stdlib.com
-// Submitted by Jacob Lee <[email protected]>
-api.stdlib.com
-
-// stereosense GmbH : https://www.involve.me
-// Submitted by Florian Burmann <[email protected]>
-feedback.ac
-forms.ac
-assessments.cx
-calculators.cx
-funnels.cx
-paynow.cx
-quizzes.cx
-researched.cx
-tests.cx
-surveys.so
-
-// Storebase : https://www.storebase.io
-// Submitted by Tony Schirmer <[email protected]>
-storebase.store
-
-// Storipress : https://storipress.com
-// Submitted by Benno Liu <[email protected]>
-storipress.app
-
-// Storj Labs Inc. : https://storj.io/
-// Submitted by Philip Hutchins <[email protected]>
-storj.farm
-
-// Strapi : https://strapi.io/
-// Submitted by Florent Baldino <[email protected]>
-strapiapp.com
-media.strapiapp.com
-
-// Strategic System Consulting (eApps Hosting) : https://www.eapps.com/
-// Submitted by Alex Oancea <[email protected]>
-vps-host.net
-atl.jelastic.vps-host.net
-njs.jelastic.vps-host.net
-ric.jelastic.vps-host.net
-
-// Streak : https://streak.com
-// Submitted by Blake Kadatz <[email protected]>
-streak-link.com
-streaklinks.com
-streakusercontent.com
-
-// Student-Run Computing Facility : https://www.srcf.net/
-// Submitted by Edwin Balani <[email protected]>
-soc.srcf.net
-user.srcf.net
-
-// Studenten Net Twente : http://www.snt.utwente.nl/
-// Submitted by Silke Hofstra <[email protected]>
-utwente.io
-
-// Sub 6 Limited : http://www.sub6.com
-// Submitted by Dan Miller <[email protected]>
-temp-dns.com
-
-// Supabase : https://supabase.io
-// Submitted by Inian Parameshwaran <[email protected]>
-supabase.co
-supabase.in
-supabase.net
-
-// Syncloud : https://syncloud.org
-// Submitted by Boris Rybalkin <[email protected]>
-syncloud.it
-
-// Synology, Inc. : https://www.synology.com/
-// Submitted by Rony Weng <[email protected]>
-dscloud.biz
-direct.quickconnect.cn
-dsmynas.com
-familyds.com
-diskstation.me
-dscloud.me
-i234.me
-myds.me
-synology.me
-dscloud.mobi
-dsmynas.net
-familyds.net
-dsmynas.org
-familyds.org
-direct.quickconnect.to
-vpnplus.to
-
-// Tabit Technologies Ltd. : https://tabit.cloud/
-// Submitted by Oren Agiv <[email protected]>
-mytabit.com
-mytabit.co.il
-tabitorder.co.il
-
-// TAIFUN Software AG : http://taifun-software.de
-// Submitted by Bjoern Henke <[email protected]>
-taifun-dns.de
-
-// Tailscale Inc. : https://www.tailscale.com
-// Submitted by David Anderson <[email protected]>
-ts.net
-*.c.ts.net
-
-// TASK geographical domains : https://task.gda.pl/en/services/for-entrepreneurs/
-gda.pl
-gdansk.pl
-gdynia.pl
-med.pl
-sopot.pl
-
-// Tave Creative Corp : https://tave.com/
-// Submitted by Adrian Ziemkowski <[email protected]>
-taveusercontent.com
-
-// tawk.to, Inc : https://www.tawk.to
-// Submitted by tawk.to developer team <[email protected]>
-p.tawk.email
-p.tawkto.email
-
-// team.blue : https://team.blue
-// Submitted by Cedric Dubois <[email protected]>
-site.tb-hosting.com
-
-// Teckids e.V. : https://www.teckids.org
-// Submitted by Dominik George <[email protected]>
-edugit.io
-s3.teckids.org
-
-// Telebit : https://telebit.cloud
-// Submitted by AJ ONeal <[email protected]>
-telebit.app
-telebit.io
-*.telebit.xyz
-
-// Thingdust AG : https://thingdust.com/
-// Submitted by Adrian Imboden <[email protected]>
-*.firenet.ch
-*.svc.firenet.ch
-reservd.com
-thingdustdata.com
-cust.dev.thingdust.io
-reservd.dev.thingdust.io
-cust.disrec.thingdust.io
-reservd.disrec.thingdust.io
-cust.prod.thingdust.io
-cust.testing.thingdust.io
-reservd.testing.thingdust.io
-
-// ticket i/O GmbH : https://ticket.io
-// Submitted by Christian Franke <[email protected]>
-tickets.io
-
-// Tlon.io : https://tlon.io
-// Submitted by Mark Staarink <[email protected]>
-arvo.network
-azimuth.network
-tlon.network
-
-// Tor Project, Inc. : https://torproject.org
-// Submitted by Antoine Beaupré <[email protected]>
-torproject.net
-pages.torproject.net
-
-// TownNews.com : http://www.townnews.com
-// Submitted by Dustin Ward <[email protected]>
-townnews-staging.com
-
-// TrafficPlex GmbH : https://www.trafficplex.de/
-// Submitted by Phillipp Röll <[email protected]>
-12hp.at
-2ix.at
-4lima.at
-lima-city.at
-12hp.ch
-2ix.ch
-4lima.ch
-lima-city.ch
-trafficplex.cloud
-de.cool
-12hp.de
-2ix.de
-4lima.de
-lima-city.de
-1337.pictures
-clan.rip
-lima-city.rocks
-webspace.rocks
-lima.zone
-
-// TransIP : https://www.transip.nl
-// Submitted by Rory Breuk <[email protected]> and Cedric Dubois <[email protected]>
-*.transurl.be
-*.transurl.eu
-site.transip.me
-*.transurl.nl
-
-// TuxFamily : http://tuxfamily.org
-// Submitted by TuxFamily administrators <[email protected]>
-tuxfamily.org
-
-// TwoDNS : https://www.twodns.de/
-// Submitted by TwoDNS-Support <[email protected]>
-dd-dns.de
-dray-dns.de
-draydns.de
-dyn-vpn.de
-dynvpn.de
-mein-vigor.de
-my-vigor.de
-my-wan.de
-syno-ds.de
-synology-diskstation.de
-synology-ds.de
-diskstation.eu
-diskstation.org
-
-// Typedream : https://typedream.com
-// Submitted by Putri Karunia <[email protected]>
-typedream.app
-
-// Typeform : https://www.typeform.com
-// Submitted by Sergi Ferriz <[email protected]>
-pro.typeform.com
-
-// Uberspace : https://uberspace.de
-// Submitted by Moritz Werner <[email protected]>
-*.uberspace.de
-uber.space
-
-// UDR Limited : http://www.udr.hk.com
-// Submitted by registry <[email protected]>
-hk.com
-inc.hk
-ltd.hk
-hk.org
-
-// UK Intis Telecom LTD : https://it.com
-// Submitted by ITComdomains <[email protected]>
-it.com
-
-// Unison Computing, PBC : https://unison.cloud
-// Submitted by Simon Højberg <[email protected]>
-unison-services.cloud
-
-// United Gameserver GmbH : https://united-gameserver.de
-// Submitted by Stefan Schwarz <[email protected]>
-virtual-user.de
-virtualuser.de
-
-// UNIVERSAL DOMAIN REGISTRY : https://www.udr.org.yt/
-// see also: whois -h whois.udr.org.yt help
-// Submitted by Atanunu Igbunuroghene <[email protected]>
-name.pm
-sch.tf
-biz.wf
-sch.wf
-org.yt
-
-// University of Banja Luka : https://unibl.org
-// Domains for Republic of Srpska administrative entity.
-// Submitted by Marko Ivanovic <[email protected]>
-rs.ba
-
-// University of Bielsko-Biala regional domain : http://dns.bielsko.pl/
-// Submitted by Marcin <[email protected]>
-bielsko.pl
-
-// urown.net : https://urown.net
-// Submitted by Hostmaster <[email protected]>
-urown.cloud
-dnsupdate.info
-
-// US REGISTRY LLC : http://us.org
-// Submitted by Gavin Brown <[email protected]>
-us.org
-
-// V.UA Domain Administrator : https://domain.v.ua/
-// Submitted by Serhii Rostilo <[email protected]>
-v.ua
-
-// Val Town, Inc : https://val.town/
-// Submitted by Tom MacWright <[email protected]>
-express.val.run
-web.val.run
-
-// Vercel, Inc : https://vercel.com/
-// Submitted by Max Leiter <[email protected]>
-vercel.app
-v0.build
-vercel.dev
-vusercontent.net
-now.sh
-
-// VeryPositive SIA : http://very.lv
-// Submitted by Danko Aleksejevs <[email protected]>
-2038.io
-
-// Viprinet Europe GmbH : http://www.viprinet.com
-// Submitted by Simon Kissel <[email protected]>
-router.management
-
-// Virtual-Info : https://www.virtual-info.info/
-// Submitted by Adnan RIHAN <[email protected]>
-v-info.info
-
-// Voorloper.com : https://voorloper.com
-// Submitted by Nathan van Bakel <[email protected]>
-voorloper.cloud
-
-// Vultr Objects : https://www.vultr.com/products/object-storage/
-// Submitted by Niels Maumenee <[email protected]>
-*.vultrobjects.com
-
-// Waffle Computer Inc., Ltd. : https://docs.waffleinfo.com
-// Submitted by Masayuki Note <[email protected]>
-wafflecell.com
-
-// Webflow, Inc. : https://www.webflow.com
-// Submitted by Webflow Security Team <[email protected]>
-webflow.io
-webflowtest.io
-
-// WebHare bv : https://www.webhare.com/
-// Submitted by Arnold Hendriks <[email protected]>
-*.webhare.dev
-
-// WebHotelier Technologies Ltd : https://www.webhotelier.net/
-// Submitted by Apostolos Tsakpinis <[email protected]>
-bookonline.app
-hotelwithflight.com
-reserve-online.com
-reserve-online.net
-
-// WebPros International, LLC : https://webpros.com/
-// Submitted by Nicolas Rochelemagne <[email protected]>
-cprapid.com
-pleskns.com
-wp2.host
-pdns.page
-plesk.page
-wpsquared.site
-
-// WebWaddle Ltd : https://webwaddle.com/
-// Submitted by Merlin Glander <[email protected]>
-*.wadl.top
-
-// Western Digital Technologies, Inc : https://www.wdc.com
-// Submitted by Jung Jin <[email protected]>
-remotewd.com
-
-// Whatbox Inc. : https://whatbox.ca/
-// Submitted by Anthony Ryan <[email protected]>
-box.ca
-
-// WIARD Enterprises : https://wiardweb.com
-// Submitted by Kidd Hustle <[email protected]>
-pages.wiardweb.com
-
-// Wikimedia Labs : https://wikitech.wikimedia.org
-// Submitted by Arturo Borrero Gonzalez <[email protected]>
-toolforge.org
-wmcloud.org
-wmflabs.org
-
-// William Harrison : https://wharrison.com.au
-// Submitted by William Harrison <[email protected]>
-wdh.app
-
-// WISP : https://wisp.gg
-// Submitted by Stepan Fedotov <[email protected]>
-panel.gg
-daemon.panel.gg
-
-// Wix.com, Inc. : https://www.wix.com
-// Submitted by Shahar Talmi / Alon Kochba <[email protected]>
-wixsite.com
-wixstudio.com
-editorx.io
-wixstudio.io
-wix.run
-
-// Wizard Zines : https://wizardzines.com
-// Submitted by Julia Evans <[email protected]>
-messwithdns.com
-
-// WoltLab GmbH : https://www.woltlab.com
-// Submitted by Tim Düsterhus <[email protected]>
-woltlab-demo.com
-myforum.community
-community-pro.de
-diskussionsbereich.de
-community-pro.net
-meinforum.net
-
-// Woods Valldata : https://www.woodsvalldata.co.uk/
-// Submitted by Chris Whittle <[email protected]>
-affinitylottery.org.uk
-raffleentry.org.uk
-weeklylottery.org.uk
-
-// WP Engine : https://wpengine.com/
-// Submitted by Michael Smith <[email protected]>
-// Submitted by Brandon DuRette <[email protected]>
-wpenginepowered.com
-js.wpenginepowered.com
-
-// XenonCloud GbR : https://xenoncloud.net
-// Submitted by Julian Uphoff <[email protected]>
-half.host
-
-// XnBay Technology : http://www.xnbay.com/
-// Submitted by XnBay Developer <[email protected]>
-xnbay.com
-u2.xnbay.com
-u2-local.xnbay.com
-
-// XS4ALL Internet bv : https://www.xs4all.nl/
-// Submitted by Daniel Mostertman <[email protected]>
-cistron.nl
-demon.nl
-xs4all.space
-
-// Yandex.Cloud LLC : https://cloud.yandex.com
-// Submitted by Alexander Lodin <[email protected]>
-yandexcloud.net
-storage.yandexcloud.net
-website.yandexcloud.net
-
-// YesCourse Pty Ltd : https://yescourse.com
-// Submitted by Atul Bhouraskar <[email protected]>
-official.academy
-
-// Yola : https://www.yola.com/
-// Submitted by Stefano Rivera <[email protected]>
-yolasite.com
-
-// Yunohost : https://yunohost.org
-// Submitted by Valentin Grimaud <[email protected]>
-ynh.fr
-nohost.me
-noho.st
-
-// ZaNiC : http://www.za.net/
-// Submitted by registry <[email protected]>
-za.net
-za.org
-
-// ZAP-Hosting GmbH & Co. KG : https://zap-hosting.com
-// Submitted by Julian Alker <[email protected]>
-zap.cloud
-
-// Zeabur : https://zeabur.com/
-// Submitted by Zeabur Team <[email protected]>
-zeabur.app
-
-// Zine EOOD : https://zine.bg/
-// Submitted by Martin Angelov <[email protected]>
-bss.design
-
-// Zitcom A/S : https://www.zitcom.dk
-// Submitted by Emil Stahl <[email protected]>
-basicserver.io
-virtualserver.io
-enterprisecloud.nu
-
-// ===END PRIVATE DOMAINS===

+ 12 - 0
constant/script.go

@@ -0,0 +1,12 @@
+package constant
+
+const (
+	ScriptTypeSurgeGeneric      = "sg-generic"
+	ScriptTypeSurgeHTTPRequest  = "sg-http-request"
+	ScriptTypeSurgeHTTPResponse = "sg-http-response"
+	ScriptTypeSurgeCron         = "sg-cron"
+	ScriptTypeSurgeEvent        = "sg-event"
+
+	ScriptSourceLocal  = "local"
+	ScriptSourceRemote = "remote"
+)

+ 65 - 4
experimental/cachefile/cache.go

@@ -19,10 +19,12 @@ import (
 )
 
 var (
-	bucketSelected = []byte("selected")
-	bucketExpand   = []byte("group_expand")
-	bucketMode     = []byte("clash_mode")
-	bucketRuleSet  = []byte("rule_set")
+	bucketSelected          = []byte("selected")
+	bucketExpand            = []byte("group_expand")
+	bucketMode              = []byte("clash_mode")
+	bucketRuleSet           = []byte("rule_set")
+	bucketScript            = []byte("script")
+	bucketSgPersistentStore = []byte("sg_persistent_store")
 
 	bucketNameList = []string{
 		string(bucketSelected),
@@ -316,3 +318,62 @@ func (c *CacheFile) SaveRuleSet(tag string, set *adapter.SavedBinary) error {
 		return bucket.Put([]byte(tag), setBinary)
 	})
 }
+
+func (c *CacheFile) LoadScript(tag string) *adapter.SavedBinary {
+	var savedSet adapter.SavedBinary
+	err := c.DB.View(func(t *bbolt.Tx) error {
+		bucket := c.bucket(t, bucketScript)
+		if bucket == nil {
+			return os.ErrNotExist
+		}
+		scriptBinary := bucket.Get([]byte(tag))
+		if len(scriptBinary) == 0 {
+			return os.ErrInvalid
+		}
+		return savedSet.UnmarshalBinary(scriptBinary)
+	})
+	if err != nil {
+		return nil
+	}
+	return &savedSet
+}
+
+func (c *CacheFile) SaveScript(tag string, set *adapter.SavedBinary) error {
+	return c.DB.Batch(func(t *bbolt.Tx) error {
+		bucket, err := c.createBucket(t, bucketScript)
+		if err != nil {
+			return err
+		}
+		scriptBinary, err := set.MarshalBinary()
+		if err != nil {
+			return err
+		}
+		return bucket.Put([]byte(tag), scriptBinary)
+	})
+}
+
+func (c *CacheFile) SurgePersistentStoreRead(key string) string {
+	var value string
+	_ = c.DB.View(func(t *bbolt.Tx) error {
+		bucket := c.bucket(t, bucketSgPersistentStore)
+		if bucket == nil {
+			return nil
+		}
+		valueBinary := bucket.Get([]byte(key))
+		if len(valueBinary) > 0 {
+			value = string(valueBinary)
+		}
+		return nil
+	})
+	return value
+}
+
+func (c *CacheFile) SurgePersistentStoreWrite(key string, value string) error {
+	return c.DB.Batch(func(t *bbolt.Tx) error {
+		bucket, err := c.createBucket(t, bucketSgPersistentStore)
+		if err != nil {
+			return err
+		}
+		return bucket.Put([]byte(key), []byte(value))
+	})
+}

+ 5 - 0
experimental/libbox/platform/interface.go

@@ -32,4 +32,9 @@ type Notification struct {
 	Subtitle   string
 	Body       string
 	OpenURL    string
+	Clipboard  string
+	MediaURL   string
+	MediaData  []byte
+	MediaType  string
+	Timeout    int
 }

+ 5 - 3
go.mod

@@ -3,9 +3,11 @@ module github.com/sagernet/sing-box
 go 1.20
 
 require (
+	github.com/adhocore/gronx v1.19.5
 	github.com/caddyserver/certmagic v0.20.0
 	github.com/cloudflare/circl v1.3.7
 	github.com/cretz/bine v0.2.0
+	github.com/dop251/goja v0.0.0-20250125213203-5ef83b82af17
 	github.com/go-chi/chi/v5 v5.1.0
 	github.com/go-chi/render v1.0.3
 	github.com/gofrs/uuid/v5 v5.3.0
@@ -61,15 +63,17 @@ require (
 	github.com/cenkalti/backoff/v4 v4.3.0 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1 // indirect
+	github.com/dlclark/regexp2 v1.11.4 // indirect
 	github.com/fsnotify/fsnotify v1.7.0 // indirect
 	github.com/go-ole/go-ole v1.3.0 // indirect
+	github.com/go-sourcemap/sourcemap v2.1.4+incompatible // indirect
 	github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
 	github.com/gobwas/httphead v0.1.0 // indirect
 	github.com/gobwas/pool v0.2.1 // indirect
 	github.com/google/btree v1.1.3 // indirect
 	github.com/google/go-cmp v0.6.0 // indirect
 	github.com/google/go-querystring v1.1.0 // indirect
-	github.com/google/pprof v0.0.0-20231101202521-4ca4178f5c7a // indirect
+	github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 // indirect
 	github.com/hashicorp/yamux v0.1.2 // indirect
 	github.com/inconshreveable/mousetrap v1.1.0 // indirect
 	github.com/josharian/native v1.1.0 // indirect
@@ -78,7 +82,6 @@ require (
 	github.com/libdns/libdns v0.2.2 // indirect
 	github.com/mdlayher/netlink v1.7.2 // indirect
 	github.com/mdlayher/socket v0.4.1 // indirect
-	github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
 	github.com/onsi/ginkgo/v2 v2.9.7 // indirect
 	github.com/pierrec/lz4/v4 v4.1.14 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
@@ -97,7 +100,6 @@ require (
 	golang.org/x/tools v0.24.0 // indirect
 	golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
-	gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	lukechampine.com/blake3 v1.3.0 // indirect
 )

+ 14 - 18
go.sum

@@ -1,3 +1,6 @@
+github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
+github.com/adhocore/gronx v1.19.5 h1:cwIG4nT1v9DvadxtHBe6MzE+FZ1JDvAUC45U2fl4eSQ=
+github.com/adhocore/gronx v1.19.5/go.mod h1:7oUY1WAU8rEJWmAxXR2DN0JaO4gi9khSgKjiRypqteg=
 github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU=
 github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
 github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI=
@@ -16,6 +19,10 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1 h1:CaO/zOnF8VvUfEbhRatPcwKVWamvbYd8tQGRWacE9kU=
 github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1/go.mod h1:+hnT3ywWDTAFrW5aE+u2Sa/wT555ZqwoCS+pk3p6ry4=
+github.com/dlclark/regexp2 v1.11.4 h1:rPYF9/LECdNymJufQKmri9gV604RvvABwgOA8un7yAo=
+github.com/dlclark/regexp2 v1.11.4/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
+github.com/dop251/goja v0.0.0-20250125213203-5ef83b82af17 h1:spJaibPy2sZNwo6Q0HjBVufq7hBUj5jNFOKRoogCBow=
+github.com/dop251/goja v0.0.0-20250125213203-5ef83b82af17/go.mod h1:MxLav0peU43GgvwVgNbLAj1s/bSGboKkhuULvq/7hx4=
 github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
 github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
 github.com/go-chi/chi/v5 v5.1.0 h1:acVI1TYaD+hhedDJ3r54HyA6sExp3HfXq7QWEEY/xMw=
@@ -25,6 +32,8 @@ github.com/go-chi/render v1.0.3/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIo
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
 github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
 github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
+github.com/go-sourcemap/sourcemap v2.1.4+incompatible h1:a+iTbH5auLKxaNwQFg0B+TCYl6lbukKPc7b5x0n1s6Q=
+github.com/go-sourcemap/sourcemap v2.1.4+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
 github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
@@ -41,8 +50,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
 github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
-github.com/google/pprof v0.0.0-20231101202521-4ca4178f5c7a h1:fEBsGL/sjAuJrgah5XqmmYsTLzJp/TO9Lhy39gkverk=
-github.com/google/pprof v0.0.0-20231101202521-4ca4178f5c7a/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
 github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8=
 github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns=
 github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -58,9 +67,6 @@ github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6K
 github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
 github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
 github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/libdns/alidns v1.0.3 h1:LFHuGnbseq5+HCeGa1aW8awyX/4M2psB9962fdD2+yQ=
 github.com/libdns/alidns v1.0.3/go.mod h1:e18uAG6GanfRhcJj6/tps2rCMzQJaYVcGKT+ELjdjGE=
 github.com/libdns/cloudflare v0.1.1 h1:FVPfWwP8zZCqj268LZjmkDleXlHPlFU9KC4OJ3yn054=
@@ -80,8 +86,6 @@ github.com/mholt/acmez v1.2.0 h1:1hhLxSgY5FvH5HCnGUuwbKY2VQVo8IU7rxXKSnZ7F30=
 github.com/mholt/acmez v1.2.0/go.mod h1:VT9YwH1xgNX1kmYY89gY8xPJC84BFAisjo8Egigt4kE=
 github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=
 github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
 github.com/onsi/ginkgo/v2 v2.9.7 h1:06xGQy5www2oN160RtEZoTvnP2sPhEfePYmCDc2szss=
 github.com/onsi/ginkgo/v2 v2.9.7/go.mod h1:cxrmXWykAwTwhQsJOPfdIDiJ+l2RYq7U8hFU+M/1uw0=
 github.com/onsi/gomega v1.27.7 h1:fVih9JD6ogIiHUN6ePK7HJidyEDpWGVB5mzM7cWNXoU=
@@ -114,8 +118,6 @@ github.com/sagernet/netlink v0.0.0-20240612041022-b9a21c07ac6a h1:ObwtHN2VpqE0ZN
 github.com/sagernet/netlink v0.0.0-20240612041022-b9a21c07ac6a/go.mod h1:xLnfdiJbSp8rNqYEdIW/6eDO4mVoogml14Bh2hSiFpM=
 github.com/sagernet/nftables v0.3.0-beta.4 h1:kbULlAwAC3jvdGAC1P5Fa3GSxVwQJibNenDW2zaXr8I=
 github.com/sagernet/nftables v0.3.0-beta.4/go.mod h1:OQXAjvjNGGFxaTgVCSTRIhYB5/llyVDeapVoENYBDS8=
-github.com/sagernet/quic-go v0.48.2-beta.1 h1:W0plrLWa1XtOWDTdX3CJwxmQuxkya12nN5BRGZ87kEg=
-github.com/sagernet/quic-go v0.48.2-beta.1/go.mod h1:1WgdDIVD1Gybp40JTWketeSfKA/+or9YMLaG5VeTk4k=
 github.com/sagernet/quic-go v0.49.0-beta.1 h1:3LdoCzVVfYRibZns1tYWSIoB65fpTmrwy+yfK8DQ8Jk=
 github.com/sagernet/quic-go v0.49.0-beta.1/go.mod h1:uesWD1Ihrldq1M3XtjuEvIUqi8WHNsRs71b3Lt1+p/U=
 github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691 h1:5Th31OC6yj8byLGkEnIYp6grlXfo1QYUfiYFGjewIdc=
@@ -172,8 +174,6 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
 go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBseWJUpBw5I82+2U4M=
 go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y=
 golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
-golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
-golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
 golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
 golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
@@ -182,8 +182,6 @@ golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
 golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo=
-golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM=
 golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
 golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
 golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
@@ -195,12 +193,10 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
-golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
 golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
+golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
@@ -222,10 +218,10 @@ google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
 google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
 google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
 google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
-gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg=
+gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

+ 5 - 1
log/log.go

@@ -10,6 +10,10 @@ import (
 	E "github.com/sagernet/sing/common/exceptions"
 )
 
+const (
+	DefaultTimeFormat = "-0700 2006-01-02 15:04:05"
+)
+
 type Options struct {
 	Context        context.Context
 	Options        option.LogOptions
@@ -47,7 +51,7 @@ func New(options Options) (Factory, error) {
 		DisableColors:    logOptions.DisableColor || logFilePath != "",
 		DisableTimestamp: !logOptions.Timestamp && logFilePath != "",
 		FullTimestamp:    logOptions.Timestamp,
-		TimestampFormat:  "-0700 2006-01-02 15:04:05",
+		TimestampFormat:  DefaultTimeFormat,
 	}
 	factory := NewDefaultFactory(
 		options.Context,

+ 11 - 0
mitm/constants.go

@@ -0,0 +1,11 @@
+package mitm
+
+import (
+	"encoding/base64"
+
+	"github.com/sagernet/sing/common"
+)
+
+var surgeTinyGif = common.OnceValue(func() []byte {
+	return common.Must1(base64.StdEncoding.DecodeString("R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA="))
+})

+ 597 - 0
mitm/engine.go

@@ -0,0 +1,597 @@
+package mitm
+
+import (
+	"bufio"
+	"bytes"
+	"context"
+	"crypto/tls"
+	"crypto/x509"
+	"encoding/base64"
+	"io"
+	"mime"
+	"net"
+	"net/http"
+	"net/url"
+	"os"
+	"path/filepath"
+	"strings"
+	"time"
+
+	"github.com/sagernet/sing-box/adapter"
+	"github.com/sagernet/sing-box/common/dialer"
+	sTLS "github.com/sagernet/sing-box/common/tls"
+	"github.com/sagernet/sing-box/option"
+	"github.com/sagernet/sing/common"
+	"github.com/sagernet/sing/common/atomic"
+	E "github.com/sagernet/sing/common/exceptions"
+	"github.com/sagernet/sing/common/logger"
+	M "github.com/sagernet/sing/common/metadata"
+	N "github.com/sagernet/sing/common/network"
+	"github.com/sagernet/sing/common/ntp"
+	sHTTP "github.com/sagernet/sing/protocol/http"
+	"github.com/sagernet/sing/service"
+
+	"golang.org/x/crypto/pkcs12"
+)
+
+var _ adapter.MITMEngine = (*Engine)(nil)
+
+type Engine struct {
+	ctx        context.Context
+	logger     logger.ContextLogger
+	connection adapter.ConnectionManager
+	script     adapter.ScriptManager
+	timeFunc   func() time.Time
+
+	http2Enabled         bool
+	tlsDecryptionEnabled bool
+	tlsPrivateKey        any
+	tlsCertificate       *x509.Certificate
+}
+
+func NewEngine(ctx context.Context, logger logger.ContextLogger, options option.MITMOptions) (*Engine, error) {
+	engine := &Engine{
+		ctx:    ctx,
+		logger: logger,
+		// http2Enabled: options.HTTP2Enabled,
+	}
+	if options.TLSDecryptionOptions != nil && options.TLSDecryptionOptions.Enabled {
+		pfxBytes, err := base64.StdEncoding.DecodeString(options.TLSDecryptionOptions.KeyPair)
+		if err != nil {
+			return nil, E.Cause(err, "decode key pair base64 bytes")
+		}
+		privateKey, certificate, err := pkcs12.Decode(pfxBytes, options.TLSDecryptionOptions.KeyPassword)
+		if err != nil {
+			return nil, E.Cause(err, "decode key pair")
+		}
+		engine.tlsDecryptionEnabled = true
+		engine.tlsPrivateKey = privateKey
+		engine.tlsCertificate = certificate
+	}
+	return engine, nil
+}
+
+func (e *Engine) Start(stage adapter.StartStage) error {
+	switch stage {
+	case adapter.StartStateInitialize:
+		e.connection = service.FromContext[adapter.ConnectionManager](e.ctx)
+		e.script = service.FromContext[adapter.ScriptManager](e.ctx)
+		e.timeFunc = ntp.TimeFuncFromContext(e.ctx)
+		if e.timeFunc == nil {
+			e.timeFunc = time.Now
+		}
+	}
+	return nil
+}
+
+func (e *Engine) Close() error {
+	return nil
+}
+
+func (e *Engine) NewConnection(ctx context.Context, this N.Dialer, conn net.Conn, metadata adapter.InboundContext, onClose N.CloseHandlerFunc) {
+	if e.tlsDecryptionEnabled && metadata.ClientHello != nil {
+		err := e.newTLS(ctx, this, conn, metadata, onClose)
+		if err != nil {
+			e.logger.ErrorContext(ctx, err)
+		} else {
+			e.logger.DebugContext(ctx, "connection closed")
+		}
+		if onClose != nil {
+			onClose(err)
+		}
+		return
+	} else if metadata.HTTPRequest != nil {
+		err := e.newHTTP1(ctx, this, conn, nil, metadata)
+		if err != nil {
+			e.logger.ErrorContext(ctx, err)
+		} else {
+			e.logger.DebugContext(ctx, "connection closed")
+		}
+		if onClose != nil {
+			onClose(err)
+		}
+		return
+	} else {
+		e.logger.DebugContext(ctx, "HTTP and TLS not detected, skipped")
+	}
+	metadata.MITM = nil
+	e.connection.NewConnection(ctx, this, conn, metadata, onClose)
+}
+
+func (e *Engine) newTLS(ctx context.Context, this N.Dialer, conn net.Conn, metadata adapter.InboundContext, onClose N.CloseHandlerFunc) error {
+	acceptHTTP := len(metadata.ClientHello.SupportedProtos) == 0 || common.Contains(metadata.ClientHello.SupportedProtos, "http/1.1")
+	acceptH2 := e.http2Enabled && common.Contains(metadata.ClientHello.SupportedProtos, "h2")
+	if !acceptHTTP && !acceptH2 {
+		e.logger.DebugContext(ctx, "unsupported application protocol: ", strings.Join(metadata.ClientHello.SupportedProtos, ","))
+		e.connection.NewConnection(ctx, this, conn, metadata, onClose)
+		return nil
+	}
+	var nextProtos []string
+	if acceptH2 {
+		nextProtos = append(nextProtos, "h2")
+	} else if acceptHTTP {
+		nextProtos = append(nextProtos, "http/1.1")
+	}
+	var (
+		maxVersion uint16
+		minVersion uint16
+	)
+	for _, version := range metadata.ClientHello.SupportedVersions {
+		maxVersion = common.Max(maxVersion, version)
+		minVersion = common.Min(minVersion, version)
+	}
+	serverName := metadata.ClientHello.ServerName
+	if serverName == "" && metadata.Destination.IsIP() {
+		serverName = metadata.Destination.Addr.String()
+	}
+	tlsConfig := &tls.Config{
+		Time:             e.timeFunc,
+		CipherSuites:     metadata.ClientHello.CipherSuites,
+		ServerName:       serverName,
+		CurvePreferences: metadata.ClientHello.SupportedCurves,
+		NextProtos:       nextProtos,
+		MinVersion:       minVersion,
+		GetCertificate: func(info *tls.ClientHelloInfo) (*tls.Certificate, error) {
+			return sTLS.GenerateKeyPair(e.tlsCertificate, e.tlsPrivateKey, e.timeFunc, serverName)
+		},
+	}
+	tlsConn := tls.Server(conn, tlsConfig)
+	err := tlsConn.HandshakeContext(ctx)
+	if err != nil {
+		return E.Cause(err, "TLS handshake")
+	}
+	if tlsConn.ConnectionState().NegotiatedProtocol == "h2" {
+		return e.newHTTP2(ctx, this, tlsConn, metadata, onClose)
+	} else {
+		return e.newHTTP1(ctx, this, tlsConn, tlsConfig, metadata)
+	}
+}
+
+func (e *Engine) newHTTP1(ctx context.Context, this N.Dialer, conn net.Conn, tlsConfig *tls.Config, metadata adapter.InboundContext) error {
+	options := metadata.MITM
+	metadata.MITM = nil
+	defer conn.Close()
+	reader := bufio.NewReader(conn)
+	request, err := sHTTP.ReadRequest(reader)
+	if err != nil {
+		return E.Cause(err, "read HTTP request")
+	}
+	rawRequestURL := request.URL
+	rawRequestURL.Scheme = "https"
+	if rawRequestURL.Host == "" {
+		rawRequestURL.Host = request.Host
+	}
+	requestURL := rawRequestURL.String()
+	request.RequestURI = ""
+	var (
+		requestMatch  bool
+		requestScript adapter.HTTPRequestScript
+	)
+	for _, script := range e.script.Scripts() {
+		if !common.Contains(options.Script, script.Tag()) {
+			continue
+		}
+		httpScript, isHTTP := script.(adapter.HTTPRequestScript)
+		if !isHTTP {
+			_, isHTTP = script.(adapter.HTTPScript)
+			if !isHTTP {
+				e.logger.WarnContext(ctx, "specified script/", script.Type(), "[", script.Tag(), "] is not a HTTP request/response script")
+			}
+			continue
+		}
+		if !httpScript.Match(requestURL) {
+			continue
+		}
+		e.logger.DebugContext(ctx, "match script/", httpScript.Type(), "[", httpScript.Tag(), "]")
+		requestScript = httpScript
+		requestMatch = true
+		break
+	}
+	if requestScript != nil {
+		var body []byte
+		if requestScript.RequiresBody() && request.ContentLength > 0 && (requestScript.MaxSize() == 0 && request.ContentLength <= 131072 || request.ContentLength <= requestScript.MaxSize()) {
+			body, err = io.ReadAll(request.Body)
+			if err != nil {
+				return E.Cause(err, "read HTTP request body")
+			}
+			request.Body = io.NopCloser(bytes.NewReader(body))
+		}
+		var result *adapter.HTTPRequestScriptResult
+		result, err = requestScript.Run(ctx, request, body)
+		if err != nil {
+			return E.Cause(err, "execute script/", requestScript.Type(), "[", requestScript.Tag(), "]")
+		}
+		if result.Response != nil {
+			if result.Response.Status == 0 {
+				result.Response.Status = http.StatusOK
+			}
+			response := &http.Response{
+				StatusCode: result.Response.Status,
+				Status:     http.StatusText(result.Response.Status),
+				Proto:      request.Proto,
+				ProtoMajor: request.ProtoMajor,
+				ProtoMinor: request.ProtoMinor,
+				Header:     result.Response.Headers,
+				Body:       io.NopCloser(bytes.NewReader(result.Response.Body)),
+			}
+			err = response.Write(conn)
+			if err != nil {
+				return E.Cause(err, "write fake response body")
+			}
+			return nil
+		} else {
+			if result.URL != "" {
+				var newURL *url.URL
+				newURL, err = url.Parse(result.URL)
+				if err != nil {
+					return E.Cause(err, "parse updated request URL")
+				}
+				request.URL = newURL
+				newDestination := M.ParseSocksaddrHostPortStr(newURL.Hostname(), newURL.Port())
+				if newDestination.Port == 0 {
+					newDestination.Port = metadata.Destination.Port
+				}
+				metadata.Destination = newDestination
+				if tlsConfig != nil {
+					tlsConfig.ServerName = newURL.Hostname()
+				}
+			}
+			for key, values := range result.Headers {
+				request.Header[key] = values
+			}
+			if newHost := result.Headers.Get("Host"); newHost != "" {
+				request.Host = newHost
+				request.Header.Del("Host")
+			}
+			if result.Body != nil {
+				request.Body = io.NopCloser(bytes.NewReader(result.Body))
+				request.ContentLength = int64(len(body))
+			}
+		}
+	}
+	if !requestMatch {
+		for i, rule := range options.SurgeURLRewrite {
+			if !rule.Pattern.MatchString(requestURL) {
+				continue
+			}
+			e.logger.DebugContext(ctx, "match url_rewrite[", i, "] => ", rule.String())
+			if rule.Reject {
+				return E.New("request rejected by url_rewrite")
+			} else if rule.Redirect {
+				w := new(simpleResponseWriter)
+				http.Redirect(w, request, rule.Destination.String(), http.StatusFound)
+				err = w.Build(request).Write(conn)
+				if err != nil {
+					return E.Cause(err, "write url_rewrite 302 response")
+				}
+				return nil
+			}
+			requestMatch = true
+			request.URL = rule.Destination
+			newDestination := M.ParseSocksaddrHostPortStr(rule.Destination.Hostname(), rule.Destination.Port())
+			if newDestination.Port == 0 {
+				newDestination.Port = metadata.Destination.Port
+			}
+			metadata.Destination = newDestination
+			if tlsConfig != nil {
+				tlsConfig.ServerName = rule.Destination.Hostname()
+			}
+			break
+		}
+		for i, rule := range options.SurgeHeaderRewrite {
+			if rule.Response {
+				continue
+			}
+			if !rule.Pattern.MatchString(requestURL) {
+				continue
+			}
+			requestMatch = true
+			e.logger.DebugContext(ctx, "match header_rewrite[", i, "] => ", rule.String())
+			switch {
+			case rule.Add:
+				if strings.ToLower(rule.Key) == "host" {
+					request.Host = rule.Value
+					continue
+				}
+				request.Header.Add(rule.Key, rule.Value)
+			case rule.Delete:
+				request.Header.Del(rule.Key)
+			case rule.Replace:
+				if request.Header.Get(rule.Key) != "" {
+					request.Header.Set(rule.Key, rule.Value)
+				}
+			case rule.ReplaceRegex:
+				if value := request.Header.Get(rule.Key); value != "" {
+					request.Header.Set(rule.Key, rule.Match.ReplaceAllString(value, rule.Value))
+				}
+			}
+		}
+		for i, rule := range options.SurgeBodyRewrite {
+			if rule.Response {
+				continue
+			}
+			if !rule.Pattern.MatchString(requestURL) {
+				continue
+			}
+			requestMatch = true
+			e.logger.DebugContext(ctx, "match body_rewrite[", i, "] => ", rule.String())
+			var body []byte
+			if request.ContentLength <= 0 {
+				e.logger.WarnContext(ctx, "body replace skipped due to non-fixed content length")
+				break
+			} else if request.ContentLength > 131072 {
+				e.logger.WarnContext(ctx, "body replace skipped due to large content length: ", request.ContentLength)
+				break
+			}
+			body, err = io.ReadAll(request.Body)
+			if err != nil {
+				return E.Cause(err, "read HTTP request body")
+			}
+			for mi := 0; i < len(rule.Match); i++ {
+				body = rule.Match[mi].ReplaceAll(body, []byte(rule.Replace[i]))
+			}
+			request.Body = io.NopCloser(bytes.NewReader(body))
+			request.ContentLength = int64(len(body))
+		}
+	}
+	if !requestMatch {
+		for i, rule := range options.SurgeMapLocal {
+			if !rule.Pattern.MatchString(requestURL) {
+				continue
+			}
+			requestMatch = true
+			e.logger.DebugContext(ctx, "match map_local[", i, "] => ", rule.String())
+			var (
+				statusCode = http.StatusOK
+				headers    = make(http.Header)
+				body       []byte
+			)
+			if rule.StatusCode > 0 {
+				statusCode = rule.StatusCode
+			}
+			switch {
+			case rule.File:
+				resource, err := os.ReadFile(rule.Data)
+				if err != nil {
+					return E.Cause(err, "open map local source")
+				}
+				mimeType := mime.TypeByExtension(filepath.Ext(rule.Data))
+				if mimeType == "" {
+					mimeType = "application/octet-stream"
+				}
+				headers.Set("Content-Type", mimeType)
+				body = resource
+			case rule.Text:
+				headers.Set("Content-Type", "text/plain")
+				body = []byte(rule.Data)
+			case rule.TinyGif:
+				headers.Set("Content-Type", "image/gif")
+				body = surgeTinyGif()
+			case rule.Base64:
+				headers.Set("Content-Type", "application/octet-stream")
+				body = rule.Base64Data
+			}
+			response := &http.Response{
+				StatusCode: statusCode,
+				Status:     http.StatusText(statusCode),
+				Proto:      request.Proto,
+				ProtoMajor: request.ProtoMajor,
+				ProtoMinor: request.ProtoMinor,
+				Header:     headers,
+				Body:       io.NopCloser(bytes.NewReader(body)),
+			}
+			err = response.Write(conn)
+			if err != nil {
+				return E.Cause(err, "write map local response")
+			}
+			return nil
+		}
+	}
+	ctx = adapter.WithContext(ctx, &metadata)
+	var remoteConn net.Conn
+	if len(metadata.DestinationAddresses) > 0 || metadata.Destination.IsIP() {
+		remoteConn, err = dialer.DialSerialNetwork(ctx, this, N.NetworkTCP, metadata.Destination, metadata.DestinationAddresses, metadata.NetworkStrategy, metadata.NetworkType, metadata.FallbackNetworkType, metadata.FallbackDelay)
+	} else {
+		remoteConn, err = this.DialContext(ctx, N.NetworkTCP, metadata.Destination)
+	}
+	if err != nil {
+		return E.Cause(err, "open outbound connection")
+	}
+	defer remoteConn.Close()
+	var innerErr atomic.TypedValue[error]
+	httpClient := &http.Client{
+		Transport: &http.Transport{
+			DisableCompression: true,
+			DialTLSContext: func(ctx context.Context, network, address string) (net.Conn, error) {
+				if tlsConfig != nil {
+					return tls.Client(remoteConn, tlsConfig), nil
+				} else {
+					return remoteConn, nil
+				}
+			},
+		},
+		CheckRedirect: func(req *http.Request, via []*http.Request) error {
+			return http.ErrUseLastResponse
+		},
+	}
+	defer httpClient.CloseIdleConnections()
+	requestCtx, cancel := context.WithCancel(ctx)
+	defer cancel()
+	response, err := httpClient.Do(request.WithContext(requestCtx))
+	if err != nil {
+		cancel()
+		return E.Errors(innerErr.Load(), err)
+	}
+	var (
+		responseScript adapter.HTTPResponseScript
+		responseMatch  bool
+	)
+	for _, script := range e.script.Scripts() {
+		if !common.Contains(options.Script, script.Tag()) {
+			continue
+		}
+		httpScript, isHTTP := script.(adapter.HTTPResponseScript)
+		if !isHTTP {
+			_, isHTTP = script.(adapter.HTTPScript)
+			if !isHTTP {
+				e.logger.WarnContext(ctx, "specified script/", script.Type(), "[", script.Tag(), "] is not a HTTP request/response script")
+			}
+			continue
+		}
+		if !httpScript.Match(requestURL) {
+			continue
+		}
+		e.logger.DebugContext(ctx, "match script/", httpScript.Type(), "[", httpScript.Tag(), "]")
+		responseScript = httpScript
+		responseMatch = true
+		break
+	}
+	if responseScript != nil {
+		var body []byte
+		if responseScript.RequiresBody() && response.ContentLength > 0 && (responseScript.MaxSize() == 0 && response.ContentLength <= 131072 || response.ContentLength <= responseScript.MaxSize()) {
+			body, err = io.ReadAll(response.Body)
+			if err != nil {
+				return E.Cause(err, "read HTTP response body")
+			}
+			response.Body = io.NopCloser(bytes.NewReader(body))
+		}
+		var result *adapter.HTTPResponseScriptResult
+		result, err = responseScript.Run(ctx, request, response, body)
+		if err != nil {
+			return E.Cause(err, "execute script/", responseScript.Type(), "[", responseScript.Tag(), "]")
+		}
+		if result.Status > 0 {
+			response.Status = http.StatusText(result.Status)
+			response.StatusCode = result.Status
+		}
+		for key, values := range result.Headers {
+			response.Header[key] = values
+		}
+		if result.Body != nil {
+			response.Body.Close()
+			response.Body = io.NopCloser(bytes.NewReader(result.Body))
+			response.ContentLength = int64(len(result.Body))
+		}
+	}
+	if !responseMatch {
+		for i, rule := range options.SurgeHeaderRewrite {
+			if !rule.Response {
+				continue
+			}
+			if !rule.Pattern.MatchString(requestURL) {
+				continue
+			}
+			responseMatch = true
+			e.logger.DebugContext(ctx, "match header_rewrite[", i, "] => ", rule.String())
+			switch {
+			case rule.Add:
+				response.Header.Add(rule.Key, rule.Value)
+			case rule.Delete:
+				response.Header.Del(rule.Key)
+			case rule.Replace:
+				if response.Header.Get(rule.Key) != "" {
+					response.Header.Set(rule.Key, rule.Value)
+				}
+			case rule.ReplaceRegex:
+				if value := response.Header.Get(rule.Key); value != "" {
+					response.Header.Set(rule.Key, rule.Match.ReplaceAllString(value, rule.Value))
+				}
+			}
+		}
+		for i, rule := range options.SurgeBodyRewrite {
+			if !rule.Response {
+				continue
+			}
+			if !rule.Pattern.MatchString(requestURL) {
+				continue
+			}
+			responseMatch = true
+			e.logger.DebugContext(ctx, "match body_rewrite[", i, "] => ", rule.String())
+			var body []byte
+			if response.ContentLength <= 0 {
+				e.logger.WarnContext(ctx, "body replace skipped due to non-fixed content length")
+				break
+			} else if response.ContentLength > 131072 {
+				e.logger.WarnContext(ctx, "body replace skipped due to large content length: ", request.ContentLength)
+				break
+			}
+			body, err = io.ReadAll(response.Body)
+			if err != nil {
+				return E.Cause(err, "read HTTP request body")
+			}
+			for mi := 0; i < len(rule.Match); i++ {
+				body = rule.Match[mi].ReplaceAll(body, []byte(rule.Replace[i]))
+			}
+			response.Body = io.NopCloser(bytes.NewReader(body))
+			response.ContentLength = int64(len(body))
+		}
+	}
+	if !requestMatch && !responseMatch {
+		e.logger.WarnContext(ctx, "request not modified")
+	}
+	err = response.Write(conn)
+	if err != nil {
+		return E.Errors(E.Cause(err, "write HTTP response"), innerErr.Load())
+	} else if innerErr.Load() != nil {
+		return E.Cause(innerErr.Load(), "write HTTP response")
+	}
+	return nil
+}
+
+func (e *Engine) newHTTP2(ctx context.Context, this N.Dialer, conn *tls.Conn, metadata adapter.InboundContext, onClose N.CloseHandlerFunc) error {
+	// TODO: implement http2 support
+	return nil
+}
+
+type simpleResponseWriter struct {
+	statusCode int
+	header     http.Header
+	body       bytes.Buffer
+}
+
+func (w *simpleResponseWriter) Build(request *http.Request) *http.Response {
+	return &http.Response{
+		StatusCode: w.statusCode,
+		Status:     http.StatusText(w.statusCode),
+		Proto:      request.Proto,
+		ProtoMajor: request.ProtoMajor,
+		ProtoMinor: request.ProtoMinor,
+		Header:     w.header,
+		Body:       io.NopCloser(&w.body),
+	}
+}
+
+func (w *simpleResponseWriter) Header() http.Header {
+	if w.header == nil {
+		w.header = make(http.Header)
+	}
+	return w.header
+}
+
+func (w *simpleResponseWriter) Write(b []byte) (int, error) {
+	return w.body.Write(b)
+}
+
+func (w *simpleResponseWriter) WriteHeader(statusCode int) {
+	w.statusCode = statusCode
+}

+ 26 - 0
option/mitm.go

@@ -0,0 +1,26 @@
+package option
+
+import (
+	"github.com/sagernet/sing/common/json/badoption"
+)
+
+type MITMOptions struct {
+	Enabled bool `json:"enabled,omitempty"`
+	// HTTP2Enabled         bool                  `json:"http2_enabled,omitempty"`
+	TLSDecryptionOptions *TLSDecryptionOptions `json:"tls_decryption,omitempty"`
+}
+
+type TLSDecryptionOptions struct {
+	Enabled     bool   `json:"enabled,omitempty"`
+	KeyPair     string `json:"key_pair_p12,omitempty"`
+	KeyPassword string `json:"key_password,omitempty"`
+}
+
+type MITMRouteOptions struct {
+	Enabled            bool                                       `json:"enabled,omitempty"`
+	Script             badoption.Listable[string]                 `json:"script,omitempty"`
+	SurgeURLRewrite    badoption.Listable[SurgeURLRewriteLine]    `json:"sg_url_rewrite,omitempty"`
+	SurgeHeaderRewrite badoption.Listable[SurgeHeaderRewriteLine] `json:"sg_header_rewrite,omitempty"`
+	SurgeBodyRewrite   badoption.Listable[SurgeBodyRewriteLine]   `json:"sg_body_rewrite,omitempty"`
+	SurgeMapLocal      badoption.Listable[SurgeMapLocalLine]      `json:"sg_map_local,omitempty"`
+}

+ 444 - 0
option/mitm_surge_urlrewrite.go

@@ -0,0 +1,444 @@
+package option
+
+import (
+	"encoding/base64"
+	"net/http"
+	"net/url"
+	"regexp"
+	"strconv"
+	"strings"
+	"unicode"
+
+	"github.com/sagernet/sing/common"
+	E "github.com/sagernet/sing/common/exceptions"
+	F "github.com/sagernet/sing/common/format"
+	"github.com/sagernet/sing/common/json"
+)
+
+type SurgeURLRewriteLine struct {
+	Pattern     *regexp.Regexp
+	Destination *url.URL
+	Redirect    bool
+	Reject      bool
+}
+
+func (l SurgeURLRewriteLine) String() string {
+	var fields []string
+	fields = append(fields, l.Pattern.String())
+	if l.Reject {
+		fields = append(fields, "_")
+	} else {
+		fields = append(fields, l.Destination.String())
+	}
+	switch {
+	case l.Redirect:
+		fields = append(fields, "302")
+	case l.Reject:
+		fields = append(fields, "reject")
+	default:
+		fields = append(fields, "header")
+	}
+	return encodeSurgeKeys(fields)
+}
+
+func (l SurgeURLRewriteLine) MarshalJSON() ([]byte, error) {
+	return json.Marshal(l.String())
+}
+
+func (l *SurgeURLRewriteLine) UnmarshalJSON(bytes []byte) error {
+	var stringValue string
+	err := json.Unmarshal(bytes, &stringValue)
+	if err != nil {
+		return err
+	}
+	fields, err := surgeFields(stringValue)
+	if err != nil {
+		return E.Cause(err, "invalid surge_url_rewrite line: ", stringValue)
+	} else if len(fields) < 2 || len(fields) > 3 {
+		return E.New("invalid surge_url_rewrite line: ", stringValue)
+	}
+	pattern, err := regexp.Compile(fields[0].Key)
+	if err != nil {
+		return E.Cause(err, "invalid surge_url_rewrite line: invalid pattern: ", stringValue)
+	}
+	l.Pattern = pattern
+	l.Destination, err = url.Parse(fields[1].Key)
+	if err != nil {
+		return E.Cause(err, "invalid surge_url_rewrite line: invalid destination: ", stringValue)
+	}
+	if len(fields) == 3 {
+		switch fields[2].Key {
+		case "header":
+		case "302":
+			l.Redirect = true
+		case "reject":
+			l.Reject = true
+		default:
+			return E.New("invalid surge_url_rewrite line: invalid action: ", stringValue)
+		}
+	}
+	return nil
+}
+
+type SurgeHeaderRewriteLine struct {
+	Response     bool
+	Pattern      *regexp.Regexp
+	Add          bool
+	Delete       bool
+	Replace      bool
+	ReplaceRegex bool
+	Key          string
+	Match        *regexp.Regexp
+	Value        string
+}
+
+func (l SurgeHeaderRewriteLine) String() string {
+	var fields []string
+	if !l.Response {
+		fields = append(fields, "http-request")
+	} else {
+		fields = append(fields, "http-response")
+	}
+	fields = append(fields, l.Pattern.String())
+	if l.Add {
+		fields = append(fields, "header-add")
+	} else if l.Delete {
+		fields = append(fields, "header-del")
+	} else if l.Replace {
+		fields = append(fields, "header-replace")
+	} else if l.ReplaceRegex {
+		fields = append(fields, "header-replace-regex")
+	}
+	fields = append(fields, l.Key)
+	if l.Add || l.Replace {
+		fields = append(fields, l.Value)
+	} else if l.ReplaceRegex {
+		fields = append(fields, l.Match.String(), l.Value)
+	}
+	return encodeSurgeKeys(fields)
+}
+
+func (l SurgeHeaderRewriteLine) MarshalJSON() ([]byte, error) {
+	return json.Marshal(l.String())
+}
+
+func (l *SurgeHeaderRewriteLine) UnmarshalJSON(bytes []byte) error {
+	var stringValue string
+	err := json.Unmarshal(bytes, &stringValue)
+	if err != nil {
+		return err
+	}
+	fields, err := surgeFields(stringValue)
+	if err != nil {
+		return E.Cause(err, "invalid surge_header_rewrite line: ", stringValue)
+	} else if len(fields) < 4 {
+		return E.New("invalid surge_header_rewrite line: ", stringValue)
+	}
+	switch fields[0].Key {
+	case "http-request":
+	case "http-response":
+		l.Response = true
+	default:
+		return E.New("invalid surge_header_rewrite line: invalid type: ", stringValue)
+	}
+	l.Pattern, err = regexp.Compile(fields[1].Key)
+	if err != nil {
+		return E.Cause(err, "invalid surge_header_rewrite line: invalid pattern: ", stringValue)
+	}
+	switch fields[2].Key {
+	case "header-add":
+		l.Add = true
+		if len(fields) != 5 {
+			return E.New("invalid surge_header_rewrite line: " + stringValue)
+		}
+		l.Key = fields[3].Key
+		l.Value = fields[4].Key
+	case "header-del":
+		l.Delete = true
+		l.Key = fields[3].Key
+	case "header-replace":
+		l.Replace = true
+		if len(fields) != 5 {
+			return E.New("invalid surge_header_rewrite line: " + stringValue)
+		}
+		l.Key = fields[3].Key
+		l.Value = fields[4].Key
+	case "header-replace-regex":
+		l.ReplaceRegex = true
+		if len(fields) != 6 {
+			return E.New("invalid surge_header_rewrite line: " + stringValue)
+		}
+		l.Key = fields[3].Key
+		l.Match, err = regexp.Compile(fields[4].Key)
+		if err != nil {
+			return E.Cause(err, "invalid surge_header_rewrite line: invalid match: ", stringValue)
+		}
+		l.Value = fields[5].Key
+	default:
+		return E.New("invalid surge_header_rewrite line: invalid action: ", stringValue)
+	}
+	return nil
+}
+
+type SurgeBodyRewriteLine struct {
+	Response bool
+	Pattern  *regexp.Regexp
+	Match    []*regexp.Regexp
+	Replace  []string
+}
+
+func (l SurgeBodyRewriteLine) String() string {
+	var fields []string
+	if !l.Response {
+		fields = append(fields, "http-request")
+	} else {
+		fields = append(fields, "http-response")
+	}
+	for i := 0; i < len(l.Match); i += 2 {
+		fields = append(fields, l.Match[i].String(), l.Replace[i])
+	}
+	return strings.Join(fields, " ")
+}
+
+func (l SurgeBodyRewriteLine) MarshalJSON() ([]byte, error) {
+	return json.Marshal(l.String())
+}
+
+func (l *SurgeBodyRewriteLine) UnmarshalJSON(bytes []byte) error {
+	var stringValue string
+	err := json.Unmarshal(bytes, &stringValue)
+	if err != nil {
+		return err
+	}
+	fields, err := surgeFields(stringValue)
+	if err != nil {
+		return E.Cause(err, "invalid surge_body_rewrite line: ", stringValue)
+	} else if len(fields) < 4 {
+		return E.New("invalid surge_body_rewrite line: ", stringValue)
+	} else if len(fields)%2 != 0 {
+		return E.New("invalid surge_body_rewrite line: ", stringValue)
+	}
+	switch fields[0].Key {
+	case "http-request":
+	case "http-response":
+		l.Response = true
+	default:
+		return E.New("invalid surge_body_rewrite line: invalid type: ", stringValue)
+	}
+	l.Pattern, err = regexp.Compile(fields[1].Key)
+	for i := 2; i < len(fields); i += 2 {
+		var match *regexp.Regexp
+		match, err = regexp.Compile(fields[i].Key)
+		if err != nil {
+			return E.Cause(err, "invalid surge_body_rewrite line: invalid match: ", stringValue)
+		}
+		l.Match = append(l.Match, match)
+		l.Replace = append(l.Replace, fields[i+1].Key)
+	}
+	return nil
+}
+
+type SurgeMapLocalLine struct {
+	Pattern    *regexp.Regexp
+	StatusCode int
+	File       bool
+	Text       bool
+	TinyGif    bool
+	Base64     bool
+	Data       string
+	Base64Data []byte
+	Headers    http.Header
+}
+
+func (l SurgeMapLocalLine) String() string {
+	var fields []surgeField
+	fields = append(fields, surgeField{Key: l.Pattern.String()})
+	if l.File {
+		fields = append(fields, surgeField{Key: "data-type", Value: "file"})
+		fields = append(fields, surgeField{Key: "data", Value: l.Data})
+	} else if l.Text {
+		fields = append(fields, surgeField{Key: "data-type", Value: "text"})
+		fields = append(fields, surgeField{Key: "data", Value: l.Data})
+	} else if l.TinyGif {
+		fields = append(fields, surgeField{Key: "data-type", Value: "tiny-gif"})
+	} else if l.Base64 {
+		fields = append(fields, surgeField{Key: "data-type", Value: "base64"})
+		fields = append(fields, surgeField{Key: "data-type", Value: base64.StdEncoding.EncodeToString(l.Base64Data)})
+	}
+	fields = append(fields, surgeField{Key: "status-code", Value: F.ToString(l.StatusCode), ValueSet: true})
+	if len(l.Headers) > 0 {
+		var headers []string
+		for key, values := range l.Headers {
+			for _, value := range values {
+				headers = append(headers, key+":"+value)
+			}
+		}
+		fields = append(fields, surgeField{Key: "headers", Value: strings.Join(headers, "|")})
+	}
+	return encodeSurgeFields(fields)
+}
+
+func (l SurgeMapLocalLine) MarshalJSON() ([]byte, error) {
+	return json.Marshal(l.String())
+}
+
+func (l *SurgeMapLocalLine) UnmarshalJSON(bytes []byte) error {
+	var stringValue string
+	err := json.Unmarshal(bytes, &stringValue)
+	if err != nil {
+		return err
+	}
+	fields, err := surgeFields(stringValue)
+	if err != nil {
+		return E.Cause(err, "invalid surge_map_local line: ", stringValue)
+	} else if len(fields) < 1 {
+		return E.New("invalid surge_map_local line: ", stringValue)
+	}
+	l.Pattern, err = regexp.Compile(fields[0].Key)
+	if err != nil {
+		return E.Cause(err, "invalid surge_map_local line: invalid pattern: ", stringValue)
+	}
+	dataTypeField := common.Find(fields, func(it surgeField) bool {
+		return it.Key == "data-type"
+	})
+	if !dataTypeField.ValueSet {
+		return E.New("invalid surge_map_local line: missing data-type: ", stringValue)
+	}
+	switch dataTypeField.Value {
+	case "file":
+		l.File = true
+	case "text":
+		l.Text = true
+	case "tiny-gif":
+		l.TinyGif = true
+	case "base64":
+		l.Base64 = true
+	}
+	for i := 1; i < len(fields); i++ {
+		switch fields[i].Key {
+		case "data-type":
+			continue
+		case "data":
+			if l.File {
+				l.Data = fields[i].Value
+			} else if l.Text {
+				l.Data = fields[i].Value
+			} else if l.Base64 {
+				l.Base64Data, err = base64.StdEncoding.DecodeString(fields[i].Value)
+				if err != nil {
+					return E.New("invalid surge_map_local line: invalid base64 data: ", stringValue)
+				}
+			}
+		case "status-code":
+			statusCode, err := strconv.ParseInt(fields[i].Value, 10, 16)
+			if err != nil {
+				return E.New("invalid surge_map_local line: invalid status code: ", stringValue)
+			}
+			l.StatusCode = int(statusCode)
+		case "headers":
+			headers := make(http.Header)
+			for _, headerLine := range strings.Split(fields[i].Value, "|") {
+				if !strings.Contains(headerLine, ":") {
+					return E.New("invalid surge_map_local line: headers: missing `:` in item: ", stringValue, ": ", headerLine)
+				}
+				headers.Add(common.SubstringBefore(headerLine, ":"), common.SubstringAfter(headerLine, ":"))
+			}
+			l.Headers = headers
+		default:
+			return E.New("invalid surge_map_local line: unknown options: ", stringValue)
+		}
+	}
+	return nil
+}
+
+type surgeField struct {
+	Key      string
+	Value    string
+	ValueSet bool
+}
+
+func encodeSurgeKeys(keys []string) string {
+	keys = common.Map(keys, func(it string) string {
+		if strings.ContainsFunc(it, unicode.IsSpace) {
+			return "\"" + it + "\""
+		} else {
+			return it
+		}
+	})
+	return strings.Join(keys, " ")
+}
+
+func encodeSurgeFields(fields []surgeField) string {
+	return strings.Join(common.Map(fields, func(it surgeField) string {
+		if !it.ValueSet {
+			if strings.ContainsFunc(it.Key, unicode.IsSpace) {
+				return "\"" + it.Key + "\""
+			} else {
+				return it.Key
+			}
+		} else {
+			if strings.ContainsFunc(it.Value, unicode.IsSpace) {
+				return it.Key + "=\"" + it.Value + "\""
+			} else {
+				return it.Key + "=" + it.Value
+			}
+		}
+	}), " ")
+}
+
+func surgeFields(s string) ([]surgeField, error) {
+	var (
+		fields       []surgeField
+		currentField *surgeField
+	)
+	for _, field := range strings.Fields(s) {
+		if currentField != nil {
+			field = " " + field
+			if strings.HasSuffix(field, "\"") {
+				field = field[:len(field)-1]
+				if !currentField.ValueSet {
+					currentField.Key += field
+				} else {
+					currentField.Value += field
+				}
+				fields = append(fields, *currentField)
+				currentField = nil
+			} else {
+				if !currentField.ValueSet {
+					currentField.Key += field
+				} else {
+					currentField.Value += " " + field
+				}
+			}
+		}
+		if !strings.Contains(field, "=") {
+			if strings.HasPrefix(field, "\"") {
+				field = field[1:]
+				if strings.HasSuffix(field, "\"") {
+					field = field[:len(field)-1]
+				} else {
+					currentField = &surgeField{Key: field}
+					continue
+				}
+			}
+			fields = append(fields, surgeField{Key: field})
+		} else {
+			key := common.SubstringBefore(field, "=")
+			value := common.SubstringAfter(field, "=")
+			if strings.HasPrefix(value, "\"") {
+				value = value[1:]
+				if strings.HasSuffix(field, "\"") {
+					value = value[:len(value)-1]
+				} else {
+					currentField = &surgeField{Key: key, Value: field, ValueSet: true}
+					continue
+				}
+			}
+			fields = append(fields, surgeField{Key: key, Value: value, ValueSet: true})
+		}
+	}
+	if currentField != nil {
+		return nil, E.New("invalid surge fields line: ", s)
+	}
+	return fields, nil
+}

+ 4 - 2
option/options.go

@@ -12,13 +12,15 @@ type _Options struct {
 	Schema       string               `json:"$schema,omitempty"`
 	Log          *LogOptions          `json:"log,omitempty"`
 	DNS          *DNSOptions          `json:"dns,omitempty"`
-	NTP          *NTPOptions          `json:"ntp,omitempty"`
-	Certificate  *CertificateOptions  `json:"certificate,omitempty"`
 	Endpoints    []Endpoint           `json:"endpoints,omitempty"`
 	Inbounds     []Inbound            `json:"inbounds,omitempty"`
 	Outbounds    []Outbound           `json:"outbounds,omitempty"`
 	Route        *RouteOptions        `json:"route,omitempty"`
 	Experimental *ExperimentalOptions `json:"experimental,omitempty"`
+	NTP          *NTPOptions          `json:"ntp,omitempty"`
+	Certificate  *CertificateOptions  `json:"certificate,omitempty"`
+	MITM         *MITMOptions         `json:"mitm,omitempty"`
+	Scripts      []Script             `json:"scripts,omitempty"`
 }
 
 type Options _Options

+ 2 - 0
option/rule_action.go

@@ -153,6 +153,8 @@ type RawRouteOptionsActionOptions struct {
 
 	TLSFragment              bool               `json:"tls_fragment,omitempty"`
 	TLSFragmentFallbackDelay badoption.Duration `json:"tls_fragment_fallback_delay,omitempty"`
+
+	MITM *MITMRouteOptions `json:"mitm,omitempty"`
 }
 
 type RouteOptionsActionOptions RawRouteOptionsActionOptions

+ 138 - 0
option/script.go

@@ -0,0 +1,138 @@
+package option
+
+import (
+	C "github.com/sagernet/sing-box/constant"
+	E "github.com/sagernet/sing/common/exceptions"
+	"github.com/sagernet/sing/common/json"
+	"github.com/sagernet/sing/common/json/badjson"
+	"github.com/sagernet/sing/common/json/badoption"
+)
+
+type _ScriptSourceOptions struct {
+	Source        string             `json:"source"`
+	LocalOptions  LocalScriptSource  `json:"-"`
+	RemoteOptions RemoteScriptSource `json:"-"`
+}
+
+type LocalScriptSource struct {
+	Path string `json:"path"`
+}
+
+type RemoteScriptSource struct {
+	URL            string             `json:"url"`
+	DownloadDetour string             `json:"download_detour,omitempty"`
+	UpdateInterval badoption.Duration `json:"update_interval,omitempty"`
+}
+
+type ScriptSourceOptions _ScriptSourceOptions
+
+func (o ScriptSourceOptions) MarshalJSON() ([]byte, error) {
+	var source any
+	switch o.Source {
+	case C.ScriptSourceLocal:
+		source = o.LocalOptions
+	case C.ScriptSourceRemote:
+		source = o.RemoteOptions
+	default:
+		return nil, E.New("unknown script source: ", o.Source)
+	}
+	return badjson.MarshallObjects((_ScriptSourceOptions)(o), source)
+}
+
+func (o *ScriptSourceOptions) UnmarshalJSON(bytes []byte) error {
+	err := json.Unmarshal(bytes, (*_ScriptSourceOptions)(o))
+	if err != nil {
+		return err
+	}
+	var source any
+	switch o.Source {
+	case C.ScriptSourceLocal:
+		source = &o.LocalOptions
+	case C.ScriptSourceRemote:
+		source = &o.RemoteOptions
+	default:
+		return E.New("unknown script source: ", o.Source)
+	}
+	return json.Unmarshal(bytes, source)
+}
+
+// TODO: make struct in order
+type Script struct {
+	ScriptSourceOptions
+	ScriptOptions
+}
+
+func (s Script) MarshalJSON() ([]byte, error) {
+	return badjson.MarshallObjects(s.ScriptSourceOptions, s.ScriptOptions)
+}
+
+func (s *Script) UnmarshalJSON(bytes []byte) error {
+	err := json.Unmarshal(bytes, &s.ScriptSourceOptions)
+	if err != nil {
+		return err
+	}
+	return badjson.UnmarshallExcluded(bytes, &s.ScriptSourceOptions, &s.ScriptOptions)
+}
+
+type _ScriptOptions struct {
+	Type        string             `json:"type"`
+	Tag         string             `json:"tag"`
+	Timeout     badoption.Duration `json:"timeout,omitempty"`
+	Arguments   []any              `json:"arguments,omitempty"`
+	HTTPOptions HTTPScriptOptions  `json:"-"`
+	CronOptions CronScriptOptions  `json:"-"`
+}
+
+type ScriptOptions _ScriptOptions
+
+func (o ScriptOptions) MarshalJSON() ([]byte, error) {
+	var v any
+	switch o.Type {
+	case C.ScriptTypeSurgeGeneric:
+		v = nil
+	case C.ScriptTypeSurgeHTTPRequest, C.ScriptTypeSurgeHTTPResponse:
+		v = o.HTTPOptions
+	case C.ScriptTypeSurgeCron:
+		v = o.CronOptions
+	default:
+		return nil, E.New("unknown script type: ", o.Type)
+	}
+	if v == nil {
+		return badjson.MarshallObjects((_ScriptOptions)(o))
+	}
+	return badjson.MarshallObjects((_ScriptOptions)(o), v)
+}
+
+func (o *ScriptOptions) UnmarshalJSON(bytes []byte) error {
+	err := json.Unmarshal(bytes, (*_ScriptOptions)(o))
+	if err != nil {
+		return err
+	}
+	var v any
+	switch o.Type {
+	case C.ScriptTypeSurgeGeneric:
+		v = nil
+	case C.ScriptTypeSurgeHTTPRequest, C.ScriptTypeSurgeHTTPResponse:
+		v = &o.HTTPOptions
+	case C.ScriptTypeSurgeCron:
+		v = &o.CronOptions
+	default:
+		return E.New("unknown script type: ", o.Type)
+	}
+	if v == nil {
+		// check unknown fields
+		return json.UnmarshalDisallowUnknownFields(bytes, &_ScriptOptions{})
+	}
+	return badjson.UnmarshallExcluded(bytes, (*_ScriptOptions)(o), v)
+}
+
+type HTTPScriptOptions struct {
+	Pattern        string `json:"pattern"`
+	RequiresBody   bool   `json:"requires_body,omitempty"`
+	MaxSize        int64  `json:"max_size,omitempty"`
+	BinaryBodyMode bool   `json:"binary_body_mode,omitempty"`
+}
+
+type CronScriptOptions struct {
+	Expression string `json:"expression"`
+}

+ 17 - 1
route/conn.go

@@ -21,23 +21,31 @@ import (
 	M "github.com/sagernet/sing/common/metadata"
 	N "github.com/sagernet/sing/common/network"
 	"github.com/sagernet/sing/common/x/list"
+	"github.com/sagernet/sing/service"
 )
 
 var _ adapter.ConnectionManager = (*ConnectionManager)(nil)
 
 type ConnectionManager struct {
+	ctx         context.Context
 	logger      logger.ContextLogger
+	mitm        adapter.MITMEngine
 	access      sync.Mutex
 	connections list.List[io.Closer]
 }
 
-func NewConnectionManager(logger logger.ContextLogger) *ConnectionManager {
+func NewConnectionManager(ctx context.Context, logger logger.ContextLogger) *ConnectionManager {
 	return &ConnectionManager{
+		ctx:    ctx,
 		logger: logger,
 	}
 }
 
 func (m *ConnectionManager) Start(stage adapter.StartStage) error {
+	switch stage {
+	case adapter.StartStateInitialize:
+		m.mitm = service.FromContext[adapter.MITMEngine](m.ctx)
+	}
 	return nil
 }
 
@@ -52,6 +60,14 @@ func (m *ConnectionManager) Close() error {
 }
 
 func (m *ConnectionManager) NewConnection(ctx context.Context, this N.Dialer, conn net.Conn, metadata adapter.InboundContext, onClose N.CloseHandlerFunc) {
+	if metadata.MITM != nil && metadata.MITM.Enabled {
+		if m.mitm == nil {
+			m.logger.WarnContext(ctx, "MITM disabled")
+		} else {
+			m.mitm.NewConnection(ctx, this, conn, metadata, onClose)
+			return
+		}
+	}
 	ctx = adapter.WithContext(ctx, &metadata)
 	var (
 		remoteConn net.Conn

+ 3 - 0
route/route.go

@@ -458,6 +458,9 @@ match:
 				metadata.TLSFragment = true
 				metadata.TLSFragmentFallbackDelay = routeOptions.TLSFragmentFallbackDelay
 			}
+			if routeOptions.MITM != nil && routeOptions.MITM.Enabled {
+				metadata.MITM = routeOptions.MITM
+			}
 		}
 		switch action := currentRule.Action().(type) {
 		case *rule.RuleActionSniff:

+ 38 - 12
route/rule/rule_action.go

@@ -38,6 +38,7 @@ func NewRuleAction(ctx context.Context, logger logger.ContextLogger, action opti
 				UDPConnect:                action.RouteOptions.UDPConnect,
 				TLSFragment:               action.RouteOptions.TLSFragment,
 				TLSFragmentFallbackDelay:  time.Duration(action.RouteOptions.TLSFragmentFallbackDelay),
+				MITM:                      action.RouteOptions.MITM,
 			},
 		}, nil
 	case C.RuleActionTypeRouteOptions:
@@ -51,6 +52,7 @@ func NewRuleAction(ctx context.Context, logger logger.ContextLogger, action opti
 			UDPTimeout:                time.Duration(action.RouteOptionsOptions.UDPTimeout),
 			TLSFragment:               action.RouteOptionsOptions.TLSFragment,
 			TLSFragmentFallbackDelay:  time.Duration(action.RouteOptionsOptions.TLSFragmentFallbackDelay),
+			MITM:                      action.RouteOptionsOptions.MITM,
 		}, nil
 	case C.RuleActionTypeDirect:
 		directDialer, err := dialer.New(ctx, option.DialerOptions(action.DirectOptions), false)
@@ -140,15 +142,7 @@ func (r *RuleActionRoute) Type() string {
 func (r *RuleActionRoute) String() string {
 	var descriptions []string
 	descriptions = append(descriptions, r.Outbound)
-	if r.UDPDisableDomainUnmapping {
-		descriptions = append(descriptions, "udp-disable-domain-unmapping")
-	}
-	if r.UDPConnect {
-		descriptions = append(descriptions, "udp-connect")
-	}
-	if r.TLSFragment {
-		descriptions = append(descriptions, "tls-fragment")
-	}
+	descriptions = append(descriptions, r.Descriptions()...)
 	return F.ToString("route(", strings.Join(descriptions, ","), ")")
 }
 
@@ -164,14 +158,33 @@ type RuleActionRouteOptions struct {
 	UDPTimeout                time.Duration
 	TLSFragment               bool
 	TLSFragmentFallbackDelay  time.Duration
+	MITM                      *option.MITMRouteOptions
 }
 
 func (r *RuleActionRouteOptions) Type() string {
 	return C.RuleActionTypeRouteOptions
 }
 
-func (r *RuleActionRouteOptions) String() string {
+func (r *RuleActionRouteOptions) Descriptions() []string {
 	var descriptions []string
+	if r.OverrideAddress.IsValid() {
+		descriptions = append(descriptions, F.ToString("override-address=", r.OverrideAddress.String()))
+	}
+	if r.OverridePort > 0 {
+		descriptions = append(descriptions, F.ToString("override-port=", r.OverridePort))
+	}
+	if r.NetworkStrategy != nil {
+		descriptions = append(descriptions, F.ToString("network-strategy=", r.NetworkStrategy))
+	}
+	if r.NetworkType != nil {
+		descriptions = append(descriptions, F.ToString("network-type=", strings.Join(common.Map(r.NetworkType, C.InterfaceType.String), ",")))
+	}
+	if r.FallbackNetworkType != nil {
+		descriptions = append(descriptions, F.ToString("fallback-network-type="+strings.Join(common.Map(r.NetworkType, C.InterfaceType.String), ",")))
+	}
+	if r.FallbackDelay > 0 {
+		descriptions = append(descriptions, F.ToString("fallback-delay=", r.FallbackDelay.String()))
+	}
 	if r.UDPDisableDomainUnmapping {
 		descriptions = append(descriptions, "udp-disable-domain-unmapping")
 	}
@@ -179,9 +192,22 @@ func (r *RuleActionRouteOptions) String() string {
 		descriptions = append(descriptions, "udp-connect")
 	}
 	if r.UDPTimeout > 0 {
-		descriptions = append(descriptions, "udp-timeout")
+		descriptions = append(descriptions, F.ToString("udp-timeout=", r.UDPTimeout))
 	}
-	return F.ToString("route-options(", strings.Join(descriptions, ","), ")")
+	if r.TLSFragment {
+		descriptions = append(descriptions, "tls-fragment")
+		if r.TLSFragmentFallbackDelay > 0 {
+			descriptions = append(descriptions, F.ToString("tls-fragment-fallbac-delay=", r.TLSFragmentFallbackDelay.String()))
+		}
+	}
+	if r.MITM != nil && r.MITM.Enabled {
+		descriptions = append(descriptions, "mitm")
+	}
+	return descriptions
+}
+
+func (r *RuleActionRouteOptions) String() string {
+	return F.ToString("route-options(", strings.Join(r.Descriptions(), ","), ")")
 }
 
 type RuleActionDNSRoute struct {

+ 23 - 0
script/jsc/array.go

@@ -0,0 +1,23 @@
+package jsc
+
+import (
+	_ "unsafe"
+
+	"github.com/dop251/goja"
+)
+
+func NewUint8Array(runtime *goja.Runtime, data []byte) goja.Value {
+	buffer := runtime.NewArrayBuffer(data)
+	ctor, loaded := goja.AssertConstructor(runtimeGetUint8Array(runtime))
+	if !loaded {
+		panic(runtime.NewTypeError("missing UInt8Array constructor"))
+	}
+	array, err := ctor(nil, runtime.ToValue(buffer))
+	if err != nil {
+		panic(runtime.NewGoError(err))
+	}
+	return array
+}
+
+//go:linkname runtimeGetUint8Array github.com/dop251/goja.(*Runtime).getUint8Array
+func runtimeGetUint8Array(r *goja.Runtime) *goja.Object

+ 18 - 0
script/jsc/array_test.go

@@ -0,0 +1,18 @@
+package jsc_test
+
+import (
+	"testing"
+
+	"github.com/sagernet/sing-box/script/jsc"
+
+	"github.com/dop251/goja"
+	"github.com/stretchr/testify/require"
+)
+
+func TestNewUInt8Array(t *testing.T) {
+	runtime := goja.New()
+	runtime.Set("hello", jsc.NewUint8Array(runtime, []byte("world")))
+	result, err := runtime.RunString("hello instanceof Uint8Array")
+	require.NoError(t, err)
+	require.True(t, result.ToBoolean())
+}

+ 121 - 0
script/jsc/assert.go

@@ -0,0 +1,121 @@
+package jsc
+
+import (
+	"net/http"
+
+	F "github.com/sagernet/sing/common/format"
+
+	"github.com/dop251/goja"
+)
+
+func IsNil(value goja.Value) bool {
+	return value == nil || goja.IsUndefined(value) || goja.IsNull(value)
+}
+
+func AssertObject(vm *goja.Runtime, value goja.Value, name string, nilable bool) *goja.Object {
+	if IsNil(value) {
+		if nilable {
+			return nil
+		}
+		panic(vm.NewTypeError(F.ToString("invalid argument: missing ", name)))
+	}
+	objectValue, isObject := value.(*goja.Object)
+	if !isObject {
+		panic(vm.NewTypeError(F.ToString("invalid argument: ", name, ": expected object, but got ", value)))
+	}
+	return objectValue
+}
+
+func AssertString(vm *goja.Runtime, value goja.Value, name string, nilable bool) string {
+	if IsNil(value) {
+		if nilable {
+			return ""
+		}
+		panic(vm.NewTypeError(F.ToString("invalid argument: missing ", name)))
+	}
+	stringValue, isString := value.Export().(string)
+	if !isString {
+		panic(vm.NewTypeError(F.ToString("invalid argument: ", name, ": expected string, but got ", value)))
+	}
+	return stringValue
+}
+
+func AssertInt(vm *goja.Runtime, value goja.Value, name string, nilable bool) int64 {
+	if IsNil(value) {
+		if nilable {
+			return 0
+		}
+		panic(vm.NewTypeError(F.ToString("invalid argument: missing ", name)))
+	}
+	integerValue, isNumber := value.Export().(int64)
+	if !isNumber {
+		panic(vm.NewTypeError(F.ToString("invalid argument: ", name, ": expected integer, but got ", value)))
+	}
+	return integerValue
+}
+
+func AssertBool(vm *goja.Runtime, value goja.Value, name string, nilable bool) bool {
+	if IsNil(value) {
+		if nilable {
+			return false
+		}
+		panic(vm.NewTypeError(F.ToString("invalid argument: missing ", name)))
+	}
+	boolValue, isBool := value.Export().(bool)
+	if !isBool {
+		panic(vm.NewTypeError(F.ToString("invalid argument: ", name, ": expected boolean, but got ", value)))
+	}
+	return boolValue
+}
+
+func AssertBinary(vm *goja.Runtime, value goja.Value, name string, nilable bool) []byte {
+	if IsNil(value) {
+		if nilable {
+			return nil
+		}
+		panic(vm.NewTypeError(F.ToString("invalid argument: missing ", name)))
+	}
+	switch exportedValue := value.Export().(type) {
+	case []byte:
+		return exportedValue
+	case goja.ArrayBuffer:
+		return exportedValue.Bytes()
+	default:
+		panic(vm.NewTypeError(F.ToString("invalid argument: ", name, ": expected Uint8Array or ArrayBuffer, but got ", value)))
+	}
+}
+
+func AssertStringBinary(vm *goja.Runtime, value goja.Value, name string, nilable bool) []byte {
+	if IsNil(value) {
+		if nilable {
+			return nil
+		}
+		panic(vm.NewTypeError(F.ToString("invalid argument: missing ", name)))
+	}
+	switch exportedValue := value.Export().(type) {
+	case string:
+		return []byte(exportedValue)
+	case []byte:
+		return exportedValue
+	case goja.ArrayBuffer:
+		return exportedValue.Bytes()
+	default:
+		panic(vm.NewTypeError(F.ToString("invalid argument: ", name, ": expected string, Uint8Array or ArrayBuffer, but got ", value)))
+	}
+}
+
+func AssertFunction(vm *goja.Runtime, value goja.Value, name string) goja.Callable {
+	functionValue, isFunction := goja.AssertFunction(value)
+	if !isFunction {
+		panic(vm.NewTypeError(F.ToString("invalid argument: ", name, ": expected function, but got ", value)))
+	}
+	return functionValue
+}
+
+func AssertHTTPHeader(vm *goja.Runtime, value goja.Value, name string) http.Header {
+	headersObject := AssertObject(vm, value, name, true)
+	if headersObject == nil {
+		return nil
+	}
+	return ObjectToHeaders(vm, headersObject, name)
+}

+ 56 - 0
script/jsc/headers.go

@@ -0,0 +1,56 @@
+package jsc
+
+import (
+	"net/http"
+	"reflect"
+
+	"github.com/sagernet/sing/common"
+	F "github.com/sagernet/sing/common/format"
+
+	"github.com/dop251/goja"
+)
+
+func HeadersToValue(runtime *goja.Runtime, headers http.Header) goja.Value {
+	object := runtime.NewObject()
+	for key, value := range headers {
+		if len(value) == 1 {
+			object.Set(key, value[0])
+		} else {
+			object.Set(key, ArrayToValue(runtime, value))
+		}
+	}
+	return object
+}
+
+func ArrayToValue[T any](runtime *goja.Runtime, values []T) goja.Value {
+	return runtime.NewArray(common.Map(values, func(it T) any { return it })...)
+}
+
+func ObjectToHeaders(vm *goja.Runtime, object *goja.Object, name string) http.Header {
+	headers := make(http.Header)
+	for _, key := range object.Keys() {
+		valueObject := object.Get(key)
+		switch headerValue := valueObject.(type) {
+		case goja.String:
+			headers.Set(key, headerValue.String())
+		case *goja.Object:
+			values := headerValue.Export()
+			valueArray, isArray := values.([]any)
+			if !isArray {
+				panic(vm.NewTypeError(F.ToString("invalid value: ", name, ".", key, "expected string or string array, got ", valueObject.String())))
+			}
+			newValues := make([]string, 0, len(valueArray))
+			for _, value := range valueArray {
+				stringValue, isString := value.(string)
+				if !isString {
+					panic(vm.NewTypeError(F.ToString("invalid value: ", name, ".", key, " expected string or string array, got array item type: ", reflect.TypeOf(value))))
+				}
+				newValues = append(newValues, stringValue)
+			}
+			headers[key] = newValues
+		default:
+			panic(vm.NewTypeError(F.ToString("invalid value: ", name, ".", key, " expected string or string array, got ", valueObject.String())))
+		}
+	}
+	return headers
+}

+ 31 - 0
script/jsc/headers_test.go

@@ -0,0 +1,31 @@
+package jsc_test
+
+import (
+	"fmt"
+	"net/http"
+	"reflect"
+	"testing"
+
+	"github.com/sagernet/sing-box/script/jsc"
+
+	"github.com/dop251/goja"
+	"github.com/stretchr/testify/require"
+)
+
+func TestHeaders(t *testing.T) {
+	runtime := goja.New()
+	runtime.Set("headers", jsc.HeadersToValue(runtime, http.Header{
+		"My-Header": []string{"My-Value1", "My-Value2"},
+	}))
+	headers := runtime.Get("headers").(*goja.Object).Get("My-Header").(*goja.Object)
+	fmt.Println(reflect.ValueOf(headers.Export()).Type().String())
+}
+
+func TestBody(t *testing.T) {
+	runtime := goja.New()
+	_, err := runtime.RunString(`
+var responseBody = new Uint8Array([1, 2, 3, 4, 5])
+`)
+	require.NoError(t, err)
+	fmt.Println(reflect.TypeOf(runtime.Get("responseBody").Export()))
+}

+ 18 - 0
script/jsc/time.go

@@ -0,0 +1,18 @@
+package jsc
+
+import (
+	"time"
+	_ "unsafe"
+
+	"github.com/dop251/goja"
+)
+
+func TimeToValue(runtime *goja.Runtime, time time.Time) goja.Value {
+	return runtimeNewDateObject(runtime, time, true, runtimeGetDatePrototype(runtime))
+}
+
+//go:linkname runtimeNewDateObject github.com/dop251/goja.(*Runtime).newDateObject
+func runtimeNewDateObject(r *goja.Runtime, t time.Time, isSet bool, proto *goja.Object) *goja.Object
+
+//go:linkname runtimeGetDatePrototype github.com/dop251/goja.(*Runtime).getDatePrototype
+func runtimeGetDatePrototype(r *goja.Runtime) *goja.Object

+ 20 - 0
script/jsc/time_test.go

@@ -0,0 +1,20 @@
+package jsc_test
+
+import (
+	"testing"
+	"time"
+
+	"github.com/sagernet/sing-box/script/jsc"
+
+	"github.com/dop251/goja"
+	"github.com/stretchr/testify/require"
+)
+
+func TestTimeToValue(t *testing.T) {
+	t.Parallel()
+	runtime := goja.New()
+	now := time.Now()
+	err := runtime.Set("now", jsc.TimeToValue(runtime, now))
+	require.NoError(t, err)
+	println(runtime.Get("now").String())
+}

+ 107 - 0
script/manager.go

@@ -0,0 +1,107 @@
+package script
+
+import (
+	"context"
+
+	"github.com/sagernet/sing-box/adapter"
+	"github.com/sagernet/sing-box/common/taskmonitor"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/log"
+	"github.com/sagernet/sing-box/option"
+	E "github.com/sagernet/sing/common/exceptions"
+	F "github.com/sagernet/sing/common/format"
+	"github.com/sagernet/sing/common/logger"
+	"github.com/sagernet/sing/common/task"
+)
+
+var _ adapter.ScriptManager = (*Manager)(nil)
+
+type Manager struct {
+	ctx     context.Context
+	logger  logger.ContextLogger
+	scripts []adapter.Script
+	// scriptByName map[string]adapter.Script
+}
+
+func NewManager(ctx context.Context, logFactory log.Factory, scripts []option.Script) (*Manager, error) {
+	manager := &Manager{
+		ctx:    ctx,
+		logger: logFactory.NewLogger("script"),
+		// scriptByName: make(map[string]adapter.Script),
+	}
+	for _, scriptOptions := range scripts {
+		script, err := NewScript(ctx, logFactory.NewLogger(F.ToString("script/", scriptOptions.Type, "[", scriptOptions.Tag, "]")), scriptOptions)
+		if err != nil {
+			return nil, E.Cause(err, "initialize script: ", scriptOptions.Tag)
+		}
+		manager.scripts = append(manager.scripts, script)
+		// manager.scriptByName[scriptOptions.Tag] = script
+	}
+	return manager, nil
+}
+
+func (m *Manager) Start(stage adapter.StartStage) error {
+	monitor := taskmonitor.New(m.logger, C.StartTimeout)
+	switch stage {
+	case adapter.StartStateStart:
+		var cacheContext *adapter.HTTPStartContext
+		if len(m.scripts) > 0 {
+			monitor.Start("initialize rule-set")
+			cacheContext = adapter.NewHTTPStartContext(m.ctx)
+			var scriptStartGroup task.Group
+			for _, script := range m.scripts {
+				scriptInPlace := script
+				scriptStartGroup.Append0(func(ctx context.Context) error {
+					err := scriptInPlace.StartContext(ctx, cacheContext)
+					if err != nil {
+						return E.Cause(err, "initialize script/", scriptInPlace.Type(), "[", scriptInPlace.Tag(), "]")
+					}
+					return nil
+				})
+			}
+			scriptStartGroup.Concurrency(5)
+			scriptStartGroup.FastFail()
+			err := scriptStartGroup.Run(m.ctx)
+			monitor.Finish()
+			if err != nil {
+				return err
+			}
+		}
+		if cacheContext != nil {
+			cacheContext.Close()
+		}
+	case adapter.StartStatePostStart:
+		for _, script := range m.scripts {
+			monitor.Start(F.ToString("post start script/", script.Type(), "[", script.Tag(), "]"))
+			err := script.PostStart()
+			monitor.Finish()
+			if err != nil {
+				return E.Cause(err, "post start script/", script.Type(), "[", script.Tag(), "]")
+			}
+		}
+	}
+	return nil
+}
+
+func (m *Manager) Close() error {
+	monitor := taskmonitor.New(m.logger, C.StopTimeout)
+	var err error
+	for _, script := range m.scripts {
+		monitor.Start(F.ToString("close start script/", script.Type(), "[", script.Tag(), "]"))
+		err = E.Append(err, script.Close(), func(err error) error {
+			return E.Cause(err, "close script/", script.Type(), "[", script.Tag(), "]")
+		})
+		monitor.Finish()
+	}
+	return err
+}
+
+func (m *Manager) Scripts() []adapter.Script {
+	return m.scripts
+}
+
+/*
+func (m *Manager) Script(name string) (adapter.Script, bool) {
+	script, loaded := m.scriptByName[name]
+	return script, loaded
+}*/

+ 108 - 0
script/modules/console/module.go

@@ -0,0 +1,108 @@
+package console
+
+import (
+	"bytes"
+	"context"
+
+	"github.com/sagernet/sing-box/script/modules/require"
+	"github.com/sagernet/sing/common/logger"
+
+	"github.com/dop251/goja"
+)
+
+const ModuleName = "console"
+
+type Console struct {
+	vm *goja.Runtime
+}
+
+func (c *Console) log(ctx context.Context, p func(ctx context.Context, values ...any)) func(goja.FunctionCall) goja.Value {
+	return func(call goja.FunctionCall) goja.Value {
+		var buffer bytes.Buffer
+		var format string
+		if arg := call.Argument(0); !goja.IsUndefined(arg) {
+			format = arg.String()
+		}
+		var args []goja.Value
+		if len(call.Arguments) > 0 {
+			args = call.Arguments[1:]
+		}
+		c.Format(&buffer, format, args...)
+		p(ctx, buffer.String())
+		return nil
+	}
+}
+
+func (c *Console) Format(b *bytes.Buffer, f string, args ...goja.Value) {
+	pct := false
+	argNum := 0
+	for _, chr := range f {
+		if pct {
+			if argNum < len(args) {
+				if c.format(chr, args[argNum], b) {
+					argNum++
+				}
+			} else {
+				b.WriteByte('%')
+				b.WriteRune(chr)
+			}
+			pct = false
+		} else {
+			if chr == '%' {
+				pct = true
+			} else {
+				b.WriteRune(chr)
+			}
+		}
+	}
+
+	for _, arg := range args[argNum:] {
+		b.WriteByte(' ')
+		b.WriteString(arg.String())
+	}
+}
+
+func (c *Console) format(f rune, val goja.Value, w *bytes.Buffer) bool {
+	switch f {
+	case 's':
+		w.WriteString(val.String())
+	case 'd':
+		w.WriteString(val.ToNumber().String())
+	case 'j':
+		if json, ok := c.vm.Get("JSON").(*goja.Object); ok {
+			if stringify, ok := goja.AssertFunction(json.Get("stringify")); ok {
+				res, err := stringify(json, val)
+				if err != nil {
+					panic(err)
+				}
+				w.WriteString(res.String())
+			}
+		}
+	case '%':
+		w.WriteByte('%')
+		return false
+	default:
+		w.WriteByte('%')
+		w.WriteRune(f)
+		return false
+	}
+	return true
+}
+
+func Require(ctx context.Context, logger logger.ContextLogger) require.ModuleLoader {
+	return func(runtime *goja.Runtime, module *goja.Object) {
+		c := &Console{
+			vm: runtime,
+		}
+		o := module.Get("exports").(*goja.Object)
+		o.Set("log", c.log(ctx, logger.DebugContext))
+		o.Set("error", c.log(ctx, logger.ErrorContext))
+		o.Set("warn", c.log(ctx, logger.WarnContext))
+		o.Set("info", c.log(ctx, logger.InfoContext))
+		o.Set("debug", c.log(ctx, logger.DebugContext))
+	}
+}
+
+func Enable(runtime *goja.Runtime) {
+	runtime.Set("console", require.Require(runtime, ModuleName))
+}

+ 489 - 0
script/modules/eventloop/eventloop.go

@@ -0,0 +1,489 @@
+package eventloop
+
+import (
+	"sync"
+	"sync/atomic"
+	"time"
+
+	"github.com/dop251/goja"
+)
+
+type job struct {
+	cancel func() bool
+	fn     func()
+	idx    int
+
+	cancelled bool
+}
+
+type Timer struct {
+	job
+	timer *time.Timer
+}
+
+type Interval struct {
+	job
+	ticker   *time.Ticker
+	stopChan chan struct{}
+}
+
+type Immediate struct {
+	job
+}
+
+type EventLoop struct {
+	vm       *goja.Runtime
+	jobChan  chan func()
+	jobs     []*job
+	jobCount int32
+	canRun   int32
+
+	auxJobsLock sync.Mutex
+	wakeupChan  chan struct{}
+
+	auxJobsSpare, auxJobs []func()
+
+	stopLock   sync.Mutex
+	stopCond   *sync.Cond
+	running    bool
+	terminated bool
+
+	errorHandler func(error)
+}
+
+func Enable(runtime *goja.Runtime, errorHandler func(error)) *EventLoop {
+	loop := &EventLoop{
+		vm:           runtime,
+		jobChan:      make(chan func()),
+		wakeupChan:   make(chan struct{}, 1),
+		errorHandler: errorHandler,
+	}
+	loop.stopCond = sync.NewCond(&loop.stopLock)
+	runtime.Set("setTimeout", loop.setTimeout)
+	runtime.Set("setInterval", loop.setInterval)
+	runtime.Set("setImmediate", loop.setImmediate)
+	runtime.Set("clearTimeout", loop.clearTimeout)
+	runtime.Set("clearInterval", loop.clearInterval)
+	runtime.Set("clearImmediate", loop.clearImmediate)
+	return loop
+}
+
+func (loop *EventLoop) schedule(call goja.FunctionCall, repeating bool) goja.Value {
+	if fn, ok := goja.AssertFunction(call.Argument(0)); ok {
+		delay := call.Argument(1).ToInteger()
+		var args []goja.Value
+		if len(call.Arguments) > 2 {
+			args = append(args, call.Arguments[2:]...)
+		}
+		f := func() {
+			_, err := fn(nil, args...)
+			if err != nil {
+				loop.errorHandler(err)
+			}
+		}
+		loop.jobCount++
+		var job *job
+		var ret goja.Value
+		if repeating {
+			interval := loop.newInterval(f)
+			interval.start(loop, time.Duration(delay)*time.Millisecond)
+			job = &interval.job
+			ret = loop.vm.ToValue(interval)
+		} else {
+			timeout := loop.newTimeout(f)
+			timeout.start(loop, time.Duration(delay)*time.Millisecond)
+			job = &timeout.job
+			ret = loop.vm.ToValue(timeout)
+		}
+		job.idx = len(loop.jobs)
+		loop.jobs = append(loop.jobs, job)
+		return ret
+	}
+	return nil
+}
+
+func (loop *EventLoop) setTimeout(call goja.FunctionCall) goja.Value {
+	return loop.schedule(call, false)
+}
+
+func (loop *EventLoop) setInterval(call goja.FunctionCall) goja.Value {
+	return loop.schedule(call, true)
+}
+
+func (loop *EventLoop) setImmediate(call goja.FunctionCall) goja.Value {
+	if fn, ok := goja.AssertFunction(call.Argument(0)); ok {
+		var args []goja.Value
+		if len(call.Arguments) > 1 {
+			args = append(args, call.Arguments[1:]...)
+		}
+		f := func() {
+			_, err := fn(nil, args...)
+			if err != nil {
+				loop.errorHandler(err)
+			}
+		}
+		loop.jobCount++
+		return loop.vm.ToValue(loop.addImmediate(f))
+	}
+	return nil
+}
+
+// SetTimeout schedules to run the specified function in the context
+// of the loop as soon as possible after the specified timeout period.
+// SetTimeout returns a Timer which can be passed to ClearTimeout.
+// The instance of goja.Runtime that is passed to the function and any Values derived
+// from it must not be used outside the function. SetTimeout is
+// safe to call inside or outside the loop.
+// If the loop is terminated (see Terminate()) returns nil.
+func (loop *EventLoop) SetTimeout(fn func(*goja.Runtime), timeout time.Duration) *Timer {
+	t := loop.newTimeout(func() { fn(loop.vm) })
+	if loop.addAuxJob(func() {
+		t.start(loop, timeout)
+		loop.jobCount++
+		t.idx = len(loop.jobs)
+		loop.jobs = append(loop.jobs, &t.job)
+	}) {
+		return t
+	}
+	return nil
+}
+
+// ClearTimeout cancels a Timer returned by SetTimeout if it has not run yet.
+// ClearTimeout is safe to call inside or outside the loop.
+func (loop *EventLoop) ClearTimeout(t *Timer) {
+	loop.addAuxJob(func() {
+		loop.clearTimeout(t)
+	})
+}
+
+// SetInterval schedules to repeatedly run the specified function in
+// the context of the loop as soon as possible after every specified
+// timeout period.  SetInterval returns an Interval which can be
+// passed to ClearInterval. The instance of goja.Runtime that is passed to the
+// function and any Values derived from it must not be used outside
+// the function. SetInterval is safe to call inside or outside the
+// loop.
+// If the loop is terminated (see Terminate()) returns nil.
+func (loop *EventLoop) SetInterval(fn func(*goja.Runtime), timeout time.Duration) *Interval {
+	i := loop.newInterval(func() { fn(loop.vm) })
+	if loop.addAuxJob(func() {
+		i.start(loop, timeout)
+		loop.jobCount++
+		i.idx = len(loop.jobs)
+		loop.jobs = append(loop.jobs, &i.job)
+	}) {
+		return i
+	}
+	return nil
+}
+
+// ClearInterval cancels an Interval returned by SetInterval.
+// ClearInterval is safe to call inside or outside the loop.
+func (loop *EventLoop) ClearInterval(i *Interval) {
+	loop.addAuxJob(func() {
+		loop.clearInterval(i)
+	})
+}
+
+func (loop *EventLoop) setRunning() {
+	loop.stopLock.Lock()
+	defer loop.stopLock.Unlock()
+	if loop.running {
+		panic("Loop is already started")
+	}
+	loop.running = true
+	atomic.StoreInt32(&loop.canRun, 1)
+	loop.auxJobsLock.Lock()
+	loop.terminated = false
+	loop.auxJobsLock.Unlock()
+}
+
+// Run calls the specified function, starts the event loop and waits until there are no more delayed jobs to run
+// after which it stops the loop and returns.
+// The instance of goja.Runtime that is passed to the function and any Values derived from it must not be used
+// outside the function.
+// Do NOT use this function while the loop is already running. Use RunOnLoop() instead.
+// If the loop is already started it will panic.
+func (loop *EventLoop) Run(fn func(*goja.Runtime)) {
+	loop.setRunning()
+	fn(loop.vm)
+	loop.run(false)
+}
+
+// Start the event loop in the background. The loop continues to run until Stop() is called.
+// If the loop is already started it will panic.
+func (loop *EventLoop) Start() {
+	loop.setRunning()
+	go loop.run(true)
+}
+
+// StartInForeground starts the event loop in the current goroutine. The loop continues to run until Stop() is called.
+// If the loop is already started it will panic.
+// Use this instead of Start if you want to recover from panics that may occur while calling native Go functions from
+// within setInterval and setTimeout callbacks.
+func (loop *EventLoop) StartInForeground() {
+	loop.setRunning()
+	loop.run(true)
+}
+
+// Stop the loop that was started with Start(). After this function returns there will be no more jobs executed
+// by the loop. It is possible to call Start() or Run() again after this to resume the execution.
+// Note, it does not cancel active timeouts (use Terminate() instead if you want this).
+// It is not allowed to run Start() (or Run()) and Stop() or Terminate() concurrently.
+// Calling Stop() on a non-running loop has no effect.
+// It is not allowed to call Stop() from the loop, because it is synchronous and cannot complete until the loop
+// is not running any jobs. Use StopNoWait() instead.
+// return number of jobs remaining
+func (loop *EventLoop) Stop() int {
+	loop.stopLock.Lock()
+	for loop.running {
+		atomic.StoreInt32(&loop.canRun, 0)
+		loop.wakeup()
+		loop.stopCond.Wait()
+	}
+	loop.stopLock.Unlock()
+	return int(loop.jobCount)
+}
+
+// StopNoWait tells the loop to stop and returns immediately. Can be used inside the loop. Calling it on a
+// non-running loop has no effect.
+func (loop *EventLoop) StopNoWait() {
+	loop.stopLock.Lock()
+	if loop.running {
+		atomic.StoreInt32(&loop.canRun, 0)
+		loop.wakeup()
+	}
+	loop.stopLock.Unlock()
+}
+
+// Terminate stops the loop and clears all active timeouts and intervals. After it returns there are no
+// active timers or goroutines associated with the loop. Any attempt to submit a task (by using RunOnLoop(),
+// SetTimeout() or SetInterval()) will not succeed.
+// After being terminated the loop can be restarted again by using Start() or Run().
+// This method must not be called concurrently with Stop*(), Start(), or Run().
+func (loop *EventLoop) Terminate() {
+	loop.Stop()
+
+	loop.auxJobsLock.Lock()
+	loop.terminated = true
+	loop.auxJobsLock.Unlock()
+
+	loop.runAux()
+
+	for i := 0; i < len(loop.jobs); i++ {
+		job := loop.jobs[i]
+		if !job.cancelled {
+			job.cancelled = true
+			if job.cancel() {
+				loop.removeJob(job)
+				i--
+			}
+		}
+	}
+
+	for len(loop.jobs) > 0 {
+		(<-loop.jobChan)()
+	}
+}
+
+// RunOnLoop schedules to run the specified function in the context of the loop as soon as possible.
+// The order of the runs is preserved (i.e. the functions will be called in the same order as calls to RunOnLoop())
+// The instance of goja.Runtime that is passed to the function and any Values derived from it must not be used
+// outside the function. It is safe to call inside or outside the loop.
+// Returns true on success or false if the loop is terminated (see Terminate()).
+func (loop *EventLoop) RunOnLoop(fn func(*goja.Runtime)) bool {
+	return loop.addAuxJob(func() { fn(loop.vm) })
+}
+
+func (loop *EventLoop) runAux() {
+	loop.auxJobsLock.Lock()
+	jobs := loop.auxJobs
+	loop.auxJobs = loop.auxJobsSpare
+	loop.auxJobsLock.Unlock()
+	for i, job := range jobs {
+		job()
+		jobs[i] = nil
+	}
+	loop.auxJobsSpare = jobs[:0]
+}
+
+func (loop *EventLoop) run(inBackground bool) {
+	loop.runAux()
+	if inBackground {
+		loop.jobCount++
+	}
+LOOP:
+	for loop.jobCount > 0 {
+		select {
+		case job := <-loop.jobChan:
+			job()
+		case <-loop.wakeupChan:
+			loop.runAux()
+			if atomic.LoadInt32(&loop.canRun) == 0 {
+				break LOOP
+			}
+		}
+	}
+	if inBackground {
+		loop.jobCount--
+	}
+
+	loop.stopLock.Lock()
+	loop.running = false
+	loop.stopLock.Unlock()
+	loop.stopCond.Broadcast()
+}
+
+func (loop *EventLoop) wakeup() {
+	select {
+	case loop.wakeupChan <- struct{}{}:
+	default:
+	}
+}
+
+func (loop *EventLoop) addAuxJob(fn func()) bool {
+	loop.auxJobsLock.Lock()
+	if loop.terminated {
+		loop.auxJobsLock.Unlock()
+		return false
+	}
+	loop.auxJobs = append(loop.auxJobs, fn)
+	loop.auxJobsLock.Unlock()
+	loop.wakeup()
+	return true
+}
+
+func (loop *EventLoop) newTimeout(f func()) *Timer {
+	t := &Timer{
+		job: job{fn: f},
+	}
+	t.cancel = t.doCancel
+
+	return t
+}
+
+func (t *Timer) start(loop *EventLoop, timeout time.Duration) {
+	t.timer = time.AfterFunc(timeout, func() {
+		loop.jobChan <- func() {
+			loop.doTimeout(t)
+		}
+	})
+}
+
+func (loop *EventLoop) newInterval(f func()) *Interval {
+	i := &Interval{
+		job:      job{fn: f},
+		stopChan: make(chan struct{}),
+	}
+	i.cancel = i.doCancel
+
+	return i
+}
+
+func (i *Interval) start(loop *EventLoop, timeout time.Duration) {
+	// https://nodejs.org/api/timers.html#timers_setinterval_callback_delay_args
+	if timeout <= 0 {
+		timeout = time.Millisecond
+	}
+	i.ticker = time.NewTicker(timeout)
+	go i.run(loop)
+}
+
+func (loop *EventLoop) addImmediate(f func()) *Immediate {
+	i := &Immediate{
+		job: job{fn: f},
+	}
+	loop.addAuxJob(func() {
+		loop.doImmediate(i)
+	})
+	return i
+}
+
+func (loop *EventLoop) doTimeout(t *Timer) {
+	loop.removeJob(&t.job)
+	if !t.cancelled {
+		t.cancelled = true
+		loop.jobCount--
+		t.fn()
+	}
+}
+
+func (loop *EventLoop) doInterval(i *Interval) {
+	if !i.cancelled {
+		i.fn()
+	}
+}
+
+func (loop *EventLoop) doImmediate(i *Immediate) {
+	if !i.cancelled {
+		i.cancelled = true
+		loop.jobCount--
+		i.fn()
+	}
+}
+
+func (loop *EventLoop) clearTimeout(t *Timer) {
+	if t != nil && !t.cancelled {
+		t.cancelled = true
+		loop.jobCount--
+		if t.doCancel() {
+			loop.removeJob(&t.job)
+		}
+	}
+}
+
+func (loop *EventLoop) clearInterval(i *Interval) {
+	if i != nil && !i.cancelled {
+		i.cancelled = true
+		loop.jobCount--
+		i.doCancel()
+	}
+}
+
+func (loop *EventLoop) removeJob(job *job) {
+	idx := job.idx
+	if idx < 0 {
+		return
+	}
+	if idx < len(loop.jobs)-1 {
+		loop.jobs[idx] = loop.jobs[len(loop.jobs)-1]
+		loop.jobs[idx].idx = idx
+	}
+	loop.jobs[len(loop.jobs)-1] = nil
+	loop.jobs = loop.jobs[:len(loop.jobs)-1]
+	job.idx = -1
+}
+
+func (loop *EventLoop) clearImmediate(i *Immediate) {
+	if i != nil && !i.cancelled {
+		i.cancelled = true
+		loop.jobCount--
+	}
+}
+
+func (i *Interval) doCancel() bool {
+	close(i.stopChan)
+	return false
+}
+
+func (t *Timer) doCancel() bool {
+	return t.timer.Stop()
+}
+
+func (i *Interval) run(loop *EventLoop) {
+L:
+	for {
+		select {
+		case <-i.stopChan:
+			i.ticker.Stop()
+			break L
+		case <-i.ticker.C:
+			loop.jobChan <- func() {
+				loop.doInterval(i)
+			}
+		}
+	}
+	loop.jobChan <- func() {
+		loop.removeJob(&i.job)
+	}
+}

+ 231 - 0
script/modules/require/module.go

@@ -0,0 +1,231 @@
+package require
+
+import (
+	"errors"
+	"io"
+	"io/fs"
+	"os"
+	"path"
+	"path/filepath"
+	"runtime"
+	"sync"
+	"syscall"
+	"text/template"
+
+	js "github.com/dop251/goja"
+	"github.com/dop251/goja/parser"
+)
+
+type ModuleLoader func(*js.Runtime, *js.Object)
+
+// SourceLoader represents a function that returns a file data at a given path.
+// The function should return ModuleFileDoesNotExistError if the file either doesn't exist or is a directory.
+// This error will be ignored by the resolver and the search will continue. Any other errors will be propagated.
+type SourceLoader func(path string) ([]byte, error)
+
+var (
+	InvalidModuleError          = errors.New("Invalid module")
+	IllegalModuleNameError      = errors.New("Illegal module name")
+	NoSuchBuiltInModuleError    = errors.New("No such built-in module")
+	ModuleFileDoesNotExistError = errors.New("module file does not exist")
+)
+
+// Registry contains a cache of compiled modules which can be used by multiple Runtimes
+type Registry struct {
+	sync.Mutex
+	native   map[string]ModuleLoader
+	builtin  map[string]ModuleLoader
+	compiled map[string]*js.Program
+
+	srcLoader     SourceLoader
+	globalFolders []string
+	fsEnabled     bool
+}
+
+type RequireModule struct {
+	r           *Registry
+	runtime     *js.Runtime
+	modules     map[string]*js.Object
+	nodeModules map[string]*js.Object
+}
+
+func NewRegistry(opts ...Option) *Registry {
+	r := &Registry{}
+
+	for _, opt := range opts {
+		opt(r)
+	}
+
+	return r
+}
+
+type Option func(*Registry)
+
+// WithLoader sets a function which will be called by the require() function in order to get a source code for a
+// module at the given path. The same function will be used to get external source maps.
+// Note, this only affects the modules loaded by the require() function. If you need to use it as a source map
+// loader for code parsed in a different way (such as runtime.RunString() or eval()), use (*Runtime).SetParserOptions()
+func WithLoader(srcLoader SourceLoader) Option {
+	return func(r *Registry) {
+		r.srcLoader = srcLoader
+	}
+}
+
+// WithGlobalFolders appends the given paths to the registry's list of
+// global folders to search if the requested module is not found
+// elsewhere.  By default, a registry's global folders list is empty.
+// In the reference Node.js implementation, the default global folders
+// list is $NODE_PATH, $HOME/.node_modules, $HOME/.node_libraries and
+// $PREFIX/lib/node, see
+// https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders.
+func WithGlobalFolders(globalFolders ...string) Option {
+	return func(r *Registry) {
+		r.globalFolders = globalFolders
+	}
+}
+
+func WithFsEnable(enabled bool) Option {
+	return func(r *Registry) {
+		r.fsEnabled = enabled
+	}
+}
+
+// Enable adds the require() function to the specified runtime.
+func (r *Registry) Enable(runtime *js.Runtime) *RequireModule {
+	rrt := &RequireModule{
+		r:           r,
+		runtime:     runtime,
+		modules:     make(map[string]*js.Object),
+		nodeModules: make(map[string]*js.Object),
+	}
+
+	runtime.Set("require", rrt.require)
+	return rrt
+}
+
+func (r *Registry) RegisterNodeModule(name string, loader ModuleLoader) {
+	r.Lock()
+	defer r.Unlock()
+
+	if r.builtin == nil {
+		r.builtin = make(map[string]ModuleLoader)
+	}
+	name = filepathClean(name)
+	r.builtin[name] = loader
+}
+
+func (r *Registry) RegisterNativeModule(name string, loader ModuleLoader) {
+	r.Lock()
+	defer r.Unlock()
+
+	if r.native == nil {
+		r.native = make(map[string]ModuleLoader)
+	}
+	name = filepathClean(name)
+	r.native[name] = loader
+}
+
+// DefaultSourceLoader is used if none was set (see WithLoader()). It simply loads files from the host's filesystem.
+func DefaultSourceLoader(filename string) ([]byte, error) {
+	fp := filepath.FromSlash(filename)
+	f, err := os.Open(fp)
+	if err != nil {
+		if errors.Is(err, fs.ErrNotExist) {
+			err = ModuleFileDoesNotExistError
+		} else if runtime.GOOS == "windows" {
+			if errors.Is(err, syscall.Errno(0x7b)) { // ERROR_INVALID_NAME, The filename, directory name, or volume label syntax is incorrect.
+				err = ModuleFileDoesNotExistError
+			}
+		}
+		return nil, err
+	}
+
+	defer f.Close()
+	// On some systems (e.g. plan9 and FreeBSD) it is possible to use the standard read() call on directories
+	// which means we cannot rely on read() returning an error, we have to do stat() instead.
+	if fi, err := f.Stat(); err == nil {
+		if fi.IsDir() {
+			return nil, ModuleFileDoesNotExistError
+		}
+	} else {
+		return nil, err
+	}
+	return io.ReadAll(f)
+}
+
+func (r *Registry) getSource(p string) ([]byte, error) {
+	srcLoader := r.srcLoader
+	if srcLoader == nil {
+		srcLoader = DefaultSourceLoader
+	}
+	return srcLoader(p)
+}
+
+func (r *Registry) getCompiledSource(p string) (*js.Program, error) {
+	r.Lock()
+	defer r.Unlock()
+
+	prg := r.compiled[p]
+	if prg == nil {
+		buf, err := r.getSource(p)
+		if err != nil {
+			return nil, err
+		}
+		s := string(buf)
+
+		if path.Ext(p) == ".json" {
+			s = "module.exports = JSON.parse('" + template.JSEscapeString(s) + "')"
+		}
+
+		source := "(function(exports, require, module) {" + s + "\n})"
+		parsed, err := js.Parse(p, source, parser.WithSourceMapLoader(r.srcLoader))
+		if err != nil {
+			return nil, err
+		}
+		prg, err = js.CompileAST(parsed, false)
+		if err == nil {
+			if r.compiled == nil {
+				r.compiled = make(map[string]*js.Program)
+			}
+			r.compiled[p] = prg
+		}
+		return prg, err
+	}
+	return prg, nil
+}
+
+func (r *RequireModule) require(call js.FunctionCall) js.Value {
+	ret, err := r.Require(call.Argument(0).String())
+	if err != nil {
+		if _, ok := err.(*js.Exception); !ok {
+			panic(r.runtime.NewGoError(err))
+		}
+		panic(err)
+	}
+	return ret
+}
+
+func filepathClean(p string) string {
+	return path.Clean(p)
+}
+
+// Require can be used to import modules from Go source (similar to JS require() function).
+func (r *RequireModule) Require(p string) (ret js.Value, err error) {
+	module, err := r.resolve(p)
+	if err != nil {
+		return
+	}
+	ret = module.Get("exports")
+	return
+}
+
+func Require(runtime *js.Runtime, name string) js.Value {
+	if r, ok := js.AssertFunction(runtime.Get("require")); ok {
+		mod, err := r(js.Undefined(), runtime.ToValue(name))
+		if err != nil {
+			panic(err)
+		}
+		return mod
+	}
+	panic(runtime.NewTypeError("Please enable require for this runtime using new(require.Registry).Enable(runtime)"))
+}

+ 277 - 0
script/modules/require/resolve.go

@@ -0,0 +1,277 @@
+package require
+
+import (
+	"encoding/json"
+	"errors"
+	"path"
+	"path/filepath"
+	"runtime"
+	"strings"
+
+	js "github.com/dop251/goja"
+)
+
+const NodePrefix = "node:"
+
+// NodeJS module search algorithm described by
+// https://nodejs.org/api/modules.html#modules_all_together
+func (r *RequireModule) resolve(modpath string) (module *js.Object, err error) {
+	origPath, modpath := modpath, filepathClean(modpath)
+	if modpath == "" {
+		return nil, IllegalModuleNameError
+	}
+
+	var start string
+	err = nil
+	if path.IsAbs(origPath) {
+		start = "/"
+	} else {
+		start = r.getCurrentModulePath()
+	}
+
+	p := path.Join(start, modpath)
+	if isFileOrDirectoryPath(origPath) && r.r.fsEnabled {
+		if module = r.modules[p]; module != nil {
+			return
+		}
+		module, err = r.loadAsFileOrDirectory(p)
+		if err == nil && module != nil {
+			r.modules[p] = module
+		}
+	} else {
+		module, err = r.loadNative(origPath)
+		if err == nil {
+			return
+		} else {
+			if err == InvalidModuleError {
+				err = nil
+			} else {
+				return
+			}
+		}
+		if module = r.nodeModules[p]; module != nil {
+			return
+		}
+		if r.r.fsEnabled {
+			module, err = r.loadNodeModules(modpath, start)
+			if err == nil && module != nil {
+				r.nodeModules[p] = module
+			}
+		}
+	}
+
+	if module == nil && err == nil {
+		err = InvalidModuleError
+	}
+	return
+}
+
+func (r *RequireModule) loadNative(path string) (*js.Object, error) {
+	module := r.modules[path]
+	if module != nil {
+		return module, nil
+	}
+
+	var ldr ModuleLoader
+	if r.r.native != nil {
+		ldr = r.r.native[path]
+	}
+	var isBuiltIn, withPrefix bool
+	if ldr == nil {
+		if r.r.builtin != nil {
+			ldr = r.r.builtin[path]
+		}
+		if ldr == nil && strings.HasPrefix(path, NodePrefix) {
+			ldr = r.r.builtin[path[len(NodePrefix):]]
+			if ldr == nil {
+				return nil, NoSuchBuiltInModuleError
+			}
+			withPrefix = true
+		}
+		isBuiltIn = true
+	}
+
+	if ldr != nil {
+		module = r.createModuleObject()
+		r.modules[path] = module
+		if isBuiltIn {
+			if withPrefix {
+				r.modules[path[len(NodePrefix):]] = module
+			} else {
+				if !strings.HasPrefix(path, NodePrefix) {
+					r.modules[NodePrefix+path] = module
+				}
+			}
+		}
+		ldr(r.runtime, module)
+		return module, nil
+	}
+
+	return nil, InvalidModuleError
+}
+
+func (r *RequireModule) loadAsFileOrDirectory(path string) (module *js.Object, err error) {
+	if module, err = r.loadAsFile(path); module != nil || err != nil {
+		return
+	}
+
+	return r.loadAsDirectory(path)
+}
+
+func (r *RequireModule) loadAsFile(path string) (module *js.Object, err error) {
+	if module, err = r.loadModule(path); module != nil || err != nil {
+		return
+	}
+
+	p := path + ".js"
+	if module, err = r.loadModule(p); module != nil || err != nil {
+		return
+	}
+
+	p = path + ".json"
+	return r.loadModule(p)
+}
+
+func (r *RequireModule) loadIndex(modpath string) (module *js.Object, err error) {
+	p := path.Join(modpath, "index.js")
+	if module, err = r.loadModule(p); module != nil || err != nil {
+		return
+	}
+
+	p = path.Join(modpath, "index.json")
+	return r.loadModule(p)
+}
+
+func (r *RequireModule) loadAsDirectory(modpath string) (module *js.Object, err error) {
+	p := path.Join(modpath, "package.json")
+	buf, err := r.r.getSource(p)
+	if err != nil {
+		return r.loadIndex(modpath)
+	}
+	var pkg struct {
+		Main string
+	}
+	err = json.Unmarshal(buf, &pkg)
+	if err != nil || len(pkg.Main) == 0 {
+		return r.loadIndex(modpath)
+	}
+
+	m := path.Join(modpath, pkg.Main)
+	if module, err = r.loadAsFile(m); module != nil || err != nil {
+		return
+	}
+
+	return r.loadIndex(m)
+}
+
+func (r *RequireModule) loadNodeModule(modpath, start string) (*js.Object, error) {
+	return r.loadAsFileOrDirectory(path.Join(start, modpath))
+}
+
+func (r *RequireModule) loadNodeModules(modpath, start string) (module *js.Object, err error) {
+	for _, dir := range r.r.globalFolders {
+		if module, err = r.loadNodeModule(modpath, dir); module != nil || err != nil {
+			return
+		}
+	}
+	for {
+		var p string
+		if path.Base(start) != "node_modules" {
+			p = path.Join(start, "node_modules")
+		} else {
+			p = start
+		}
+		if module, err = r.loadNodeModule(modpath, p); module != nil || err != nil {
+			return
+		}
+		if start == ".." { // Dir('..') is '.'
+			break
+		}
+		parent := path.Dir(start)
+		if parent == start {
+			break
+		}
+		start = parent
+	}
+
+	return
+}
+
+func (r *RequireModule) getCurrentModulePath() string {
+	var buf [2]js.StackFrame
+	frames := r.runtime.CaptureCallStack(2, buf[:0])
+	if len(frames) < 2 {
+		return "."
+	}
+	return path.Dir(frames[1].SrcName())
+}
+
+func (r *RequireModule) createModuleObject() *js.Object {
+	module := r.runtime.NewObject()
+	module.Set("exports", r.runtime.NewObject())
+	return module
+}
+
+func (r *RequireModule) loadModule(path string) (*js.Object, error) {
+	module := r.modules[path]
+	if module == nil {
+		module = r.createModuleObject()
+		r.modules[path] = module
+		err := r.loadModuleFile(path, module)
+		if err != nil {
+			module = nil
+			delete(r.modules, path)
+			if errors.Is(err, ModuleFileDoesNotExistError) {
+				err = nil
+			}
+		}
+		return module, err
+	}
+	return module, nil
+}
+
+func (r *RequireModule) loadModuleFile(path string, jsModule *js.Object) error {
+	prg, err := r.r.getCompiledSource(path)
+	if err != nil {
+		return err
+	}
+
+	f, err := r.runtime.RunProgram(prg)
+	if err != nil {
+		return err
+	}
+
+	if call, ok := js.AssertFunction(f); ok {
+		jsExports := jsModule.Get("exports")
+		jsRequire := r.runtime.Get("require")
+
+		// Run the module source, with "jsExports" as "this",
+		// "jsExports" as the "exports" variable, "jsRequire"
+		// as the "require" variable and "jsModule" as the
+		// "module" variable (Nodejs capable).
+		_, err = call(jsExports, jsExports, jsRequire, jsModule)
+		if err != nil {
+			return err
+		}
+	} else {
+		return InvalidModuleError
+	}
+
+	return nil
+}
+
+func isFileOrDirectoryPath(path string) bool {
+	result := path == "." || path == ".." ||
+		strings.HasPrefix(path, "/") ||
+		strings.HasPrefix(path, "./") ||
+		strings.HasPrefix(path, "../")
+
+	if runtime.GOOS == "windows" {
+		result = result ||
+			strings.HasPrefix(path, `.\`) ||
+			strings.HasPrefix(path, `..\`) ||
+			filepath.IsAbs(path)
+	}
+
+	return result
+}

+ 147 - 0
script/modules/sghttp/module.go

@@ -0,0 +1,147 @@
+package sghttp
+
+import (
+	"bytes"
+	"context"
+	"crypto/tls"
+	"io"
+	"net/http"
+	"net/http/cookiejar"
+	"sync"
+	"time"
+
+	"github.com/sagernet/sing-box/script/jsc"
+	F "github.com/sagernet/sing/common/format"
+
+	"github.com/dop251/goja"
+	"golang.org/x/net/publicsuffix"
+)
+
+type SurgeHTTP struct {
+	vm           *goja.Runtime
+	ctx          context.Context
+	cookieAccess sync.RWMutex
+	cookieJar    *cookiejar.Jar
+	errorHandler func(error)
+}
+
+func Enable(vm *goja.Runtime, ctx context.Context, errorHandler func(error)) {
+	sgHTTP := &SurgeHTTP{
+		vm:           vm,
+		ctx:          ctx,
+		errorHandler: errorHandler,
+	}
+	httpObject := vm.NewObject()
+	httpObject.Set("get", sgHTTP.request(http.MethodGet))
+	httpObject.Set("post", sgHTTP.request(http.MethodPost))
+	httpObject.Set("put", sgHTTP.request(http.MethodPut))
+	httpObject.Set("delete", sgHTTP.request(http.MethodDelete))
+	httpObject.Set("head", sgHTTP.request(http.MethodHead))
+	httpObject.Set("options", sgHTTP.request(http.MethodOptions))
+	httpObject.Set("patch", sgHTTP.request(http.MethodPatch))
+	httpObject.Set("trace", sgHTTP.request(http.MethodTrace))
+	vm.Set("$http", httpObject)
+}
+
+func (s *SurgeHTTP) request(method string) func(call goja.FunctionCall) goja.Value {
+	return func(call goja.FunctionCall) goja.Value {
+		if len(call.Arguments) != 2 {
+			panic(s.vm.NewTypeError("invalid arguments"))
+		}
+		var (
+			url          string
+			headers      http.Header
+			body         []byte
+			timeout      = 5 * time.Second
+			insecure     bool
+			autoCookie   bool
+			autoRedirect bool
+			// policy       string
+			binaryMode bool
+		)
+		switch optionsValue := call.Argument(0).(type) {
+		case goja.String:
+			url = optionsValue.String()
+		case *goja.Object:
+			url = jsc.AssertString(s.vm, optionsValue.Get("url"), "options.url", false)
+			headers = jsc.AssertHTTPHeader(s.vm, optionsValue.Get("headers"), "option.headers")
+			body = jsc.AssertStringBinary(s.vm, optionsValue.Get("body"), "options.body", true)
+			timeoutInt := jsc.AssertInt(s.vm, optionsValue.Get("timeout"), "options.timeout", true)
+			if timeoutInt > 0 {
+				timeout = time.Duration(timeoutInt) * time.Second
+			}
+			insecure = jsc.AssertBool(s.vm, optionsValue.Get("insecure"), "options.insecure", true)
+			autoCookie = jsc.AssertBool(s.vm, optionsValue.Get("auto-cookie"), "options.auto-cookie", true)
+			autoRedirect = jsc.AssertBool(s.vm, optionsValue.Get("auto-redirect"), "options.auto-redirect", true)
+			// policy = jsc.AssertString(s.vm, optionsValue.Get("policy"), "options.policy", true)
+			binaryMode = jsc.AssertBool(s.vm, optionsValue.Get("binary-mode"), "options.binary-mode", true)
+		default:
+			panic(s.vm.NewTypeError(F.ToString("invalid argument: options: expected string or object, but got ", optionsValue)))
+		}
+		callback := jsc.AssertFunction(s.vm, call.Argument(1), "callback")
+		httpClient := &http.Client{
+			Timeout: timeout,
+			Transport: &http.Transport{
+				TLSClientConfig: &tls.Config{
+					InsecureSkipVerify: insecure,
+				},
+				ForceAttemptHTTP2: true,
+			},
+			CheckRedirect: func(req *http.Request, via []*http.Request) error {
+				if autoRedirect {
+					return nil
+				}
+				return http.ErrUseLastResponse
+			},
+		}
+		if autoCookie {
+			s.cookieAccess.Lock()
+			if s.cookieJar == nil {
+				s.cookieJar, _ = cookiejar.New(&cookiejar.Options{
+					PublicSuffixList: publicsuffix.List,
+				})
+			}
+			httpClient.Jar = s.cookieJar
+			s.cookieAccess.Lock()
+		}
+		request, err := http.NewRequestWithContext(s.ctx, method, url, bytes.NewReader(body))
+		if host := headers.Get("Host"); host != "" {
+			request.Host = host
+			headers.Del("Host")
+		}
+		request.Header = headers
+		if err != nil {
+			panic(s.vm.NewGoError(err))
+		}
+		go func() {
+			response, executeErr := httpClient.Do(request)
+			if err != nil {
+				_, err = callback(nil, s.vm.NewGoError(executeErr), nil, nil)
+				if err != nil {
+					s.errorHandler(err)
+				}
+				return
+			}
+			defer response.Body.Close()
+			var content []byte
+			content, err = io.ReadAll(response.Body)
+			if err != nil {
+				_, err = callback(nil, s.vm.NewGoError(err), nil, nil)
+				if err != nil {
+					s.errorHandler(err)
+				}
+			}
+			responseObject := s.vm.NewObject()
+			responseObject.Set("status", response.StatusCode)
+			responseObject.Set("headers", jsc.HeadersToValue(s.vm, response.Header))
+			var bodyValue goja.Value
+			if binaryMode {
+				bodyValue = jsc.NewUint8Array(s.vm, content)
+			} else {
+				bodyValue = s.vm.ToValue(string(content))
+			}
+			_, err = callback(nil, nil, responseObject, bodyValue)
+		}()
+		return goja.Undefined()
+	}
+}

+ 111 - 0
script/modules/sgnotification/module.go

@@ -0,0 +1,111 @@
+package sgnotification
+
+import (
+	"context"
+	"encoding/base64"
+	"strings"
+
+	"github.com/sagernet/sing-box/experimental/libbox/platform"
+	"github.com/sagernet/sing-box/script/jsc"
+	E "github.com/sagernet/sing/common/exceptions"
+	"github.com/sagernet/sing/common/logger"
+	"github.com/sagernet/sing/service"
+
+	"github.com/dop251/goja"
+)
+
+type SurgeNotification struct {
+	vm                *goja.Runtime
+	logger            logger.Logger
+	platformInterface platform.Interface
+	scriptTag         string
+}
+
+func Enable(vm *goja.Runtime, ctx context.Context, logger logger.Logger) {
+	platformInterface := service.FromContext[platform.Interface](ctx)
+	notification := &SurgeNotification{
+		vm:                vm,
+		logger:            logger,
+		platformInterface: platformInterface,
+	}
+	notificationObject := vm.NewObject()
+	notificationObject.Set("post", notification.js_post)
+	vm.Set("$notification", notificationObject)
+}
+
+func (s *SurgeNotification) js_post(call goja.FunctionCall) goja.Value {
+	var (
+		title       string
+		subtitle    string
+		body        string
+		openURL     string
+		clipboard   string
+		mediaURL    string
+		mediaData   []byte
+		mediaType   string
+		autoDismiss int
+	)
+	title = jsc.AssertString(s.vm, call.Argument(0), "title", true)
+	subtitle = jsc.AssertString(s.vm, call.Argument(1), "subtitle", true)
+	body = jsc.AssertString(s.vm, call.Argument(2), "body", true)
+	options := jsc.AssertObject(s.vm, call.Argument(3), "options", true)
+	if options != nil {
+		action := jsc.AssertString(s.vm, options.Get("action"), "options.action", true)
+		switch action {
+		case "open-url":
+			openURL = jsc.AssertString(s.vm, options.Get("url"), "options.url", false)
+		case "clipboard":
+			clipboard = jsc.AssertString(s.vm, options.Get("clipboard"), "options.clipboard", false)
+		}
+		mediaURL = jsc.AssertString(s.vm, options.Get("media-url"), "options.media-url", true)
+		mediaBase64 := jsc.AssertString(s.vm, options.Get("media-base64"), "options.media-base64", true)
+		if mediaBase64 != "" {
+			mediaBinary, err := base64.StdEncoding.DecodeString(mediaBase64)
+			if err != nil {
+				panic(s.vm.NewGoError(E.Cause(err, "decode media-base64")))
+			}
+			mediaData = mediaBinary
+			mediaType = jsc.AssertString(s.vm, options.Get("media-base64-mime"), "options.media-base64-mime", false)
+		}
+		autoDismiss = int(jsc.AssertInt(s.vm, options.Get("auto-dismiss"), "options.auto-dismiss", true))
+	}
+	if title != "" && subtitle == "" && body == "" {
+		body = title
+		title = ""
+	} else if title != "" && subtitle != "" && body == "" {
+		body = subtitle
+		subtitle = ""
+	}
+	var builder strings.Builder
+	if title != "" {
+		builder.WriteString("[")
+		builder.WriteString(title)
+		if subtitle != "" {
+			builder.WriteString(" - ")
+			builder.WriteString(subtitle)
+		}
+		builder.WriteString("]: ")
+	}
+	builder.WriteString(body)
+	s.logger.Info("notification: " + builder.String())
+	if s.platformInterface != nil {
+		err := s.platformInterface.SendNotification(&platform.Notification{
+			Identifier: "surge-script-notification-" + s.scriptTag,
+			TypeName:   "Surge Script Notification (" + s.scriptTag + ")",
+			TypeID:     11,
+			Title:      title,
+			Subtitle:   subtitle,
+			Body:       body,
+			OpenURL:    openURL,
+			Clipboard:  clipboard,
+			MediaURL:   mediaURL,
+			MediaData:  mediaData,
+			MediaType:  mediaType,
+			Timeout:    autoDismiss,
+		})
+		if err != nil {
+			s.logger.Error(E.Cause(err, "send notification"))
+		}
+	}
+	return goja.Undefined()
+}

+ 76 - 0
script/modules/sgstore/module.go

@@ -0,0 +1,76 @@
+package sgstore
+
+import (
+	"context"
+
+	"github.com/sagernet/sing-box/adapter"
+	"github.com/sagernet/sing-box/script/jsc"
+	"github.com/sagernet/sing/service"
+
+	"github.com/dop251/goja"
+)
+
+type SurgePersistentStore struct {
+	vm        *goja.Runtime
+	cacheFile adapter.CacheFile
+	data      map[string]string
+	tag       string
+}
+
+func Enable(vm *goja.Runtime, ctx context.Context) {
+	object := vm.NewObject()
+	cacheFile := service.FromContext[adapter.CacheFile](ctx)
+	tag := vm.Get("$script").(*goja.Object).Get("name").String()
+	store := &SurgePersistentStore{
+		vm:        vm,
+		cacheFile: cacheFile,
+		tag:       tag,
+	}
+	if cacheFile == nil {
+		store.data = make(map[string]string)
+	}
+	object.Set("read", store.js_read)
+	object.Set("write", store.js_write)
+	vm.Set("$persistentStore", object)
+}
+
+func (s *SurgePersistentStore) js_read(call goja.FunctionCall) goja.Value {
+	if len(call.Arguments) > 1 {
+		panic(s.vm.NewTypeError("invalid arguments"))
+	}
+	key := jsc.AssertString(s.vm, call.Argument(0), "key", true)
+	if key == "" {
+		key = s.tag
+	}
+	var value string
+	if s.cacheFile != nil {
+		value = s.cacheFile.SurgePersistentStoreRead(key)
+	} else {
+		value = s.data[key]
+	}
+	if value == "" {
+		return goja.Null()
+	} else {
+		return s.vm.ToValue(value)
+	}
+}
+
+func (s *SurgePersistentStore) js_write(call goja.FunctionCall) goja.Value {
+	if len(call.Arguments) == 0 || len(call.Arguments) > 2 {
+		panic(s.vm.NewTypeError("invalid arguments"))
+	}
+	data := jsc.AssertString(s.vm, call.Argument(0), "data", true)
+	key := jsc.AssertString(s.vm, call.Argument(1), "key", true)
+	if key == "" {
+		key = s.tag
+	}
+	if s.cacheFile != nil {
+		err := s.cacheFile.SurgePersistentStoreWrite(key, data)
+		if err != nil {
+			panic(s.vm.NewGoError(err))
+		}
+	} else {
+		s.data[key] = data
+	}
+	return goja.Undefined()
+}

+ 45 - 0
script/modules/sgutils/module.go

@@ -0,0 +1,45 @@
+package sgutils
+
+import (
+	"bytes"
+	"compress/gzip"
+	"io"
+
+	"github.com/sagernet/sing-box/script/jsc"
+	E "github.com/sagernet/sing/common/exceptions"
+
+	"github.com/dop251/goja"
+)
+
+type SurgeUtils struct {
+	vm *goja.Runtime
+}
+
+func Enable(runtime *goja.Runtime) {
+	utils := &SurgeUtils{runtime}
+	object := runtime.NewObject()
+	object.Set("geoip", utils.js_stub)
+	object.Set("ipasn", utils.js_stub)
+	object.Set("ipaso", utils.js_stub)
+	object.Set("ungzip", utils.js_ungzip)
+}
+
+func (u *SurgeUtils) js_stub(call goja.FunctionCall) goja.Value {
+	panic(u.vm.NewGoError(E.New("not implemented")))
+}
+
+func (u *SurgeUtils) js_ungzip(call goja.FunctionCall) goja.Value {
+	if len(call.Arguments) != 1 {
+		panic(u.vm.NewGoError(E.New("invalid argument")))
+	}
+	binary := jsc.AssertBinary(u.vm, call.Argument(0), "binary", false)
+	reader, err := gzip.NewReader(bytes.NewReader(binary))
+	if err != nil {
+		panic(u.vm.NewGoError(err))
+	}
+	binary, err = io.ReadAll(reader)
+	if err != nil {
+		panic(u.vm.NewGoError(err))
+	}
+	return jsc.NewUint8Array(u.vm, binary)
+}

+ 26 - 0
script/script.go

@@ -0,0 +1,26 @@
+package script
+
+import (
+	"context"
+
+	"github.com/sagernet/sing-box/adapter"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/option"
+	E "github.com/sagernet/sing/common/exceptions"
+	"github.com/sagernet/sing/common/logger"
+)
+
+func NewScript(ctx context.Context, logger logger.ContextLogger, options option.Script) (adapter.Script, error) {
+	switch options.Type {
+	case C.ScriptTypeSurgeGeneric:
+		return NewSurgeGenericScript(ctx, logger, options)
+	case C.ScriptTypeSurgeHTTPRequest:
+		return NewSurgeHTTPRequestScript(ctx, logger, options)
+	case C.ScriptTypeSurgeHTTPResponse:
+		return NewSurgeHTTPResponseScript(ctx, logger, options)
+	case C.ScriptTypeSurgeCron:
+		return NewSurgeCronScript(ctx, logger, options)
+	default:
+		return nil, E.New("unknown script type: ", options.Type)
+	}
+}

+ 119 - 0
script/script_surge_cron.go

@@ -0,0 +1,119 @@
+package script
+
+import (
+	"context"
+	"time"
+
+	"github.com/sagernet/sing-box/adapter"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/log"
+	"github.com/sagernet/sing-box/option"
+	E "github.com/sagernet/sing/common/exceptions"
+	"github.com/sagernet/sing/common/logger"
+
+	"github.com/adhocore/gronx"
+)
+
+var _ adapter.GenericScript = (*SurgeCronScript)(nil)
+
+type SurgeCronScript struct {
+	GenericScript
+	ctx        context.Context
+	expression string
+	timer      *time.Timer
+}
+
+func NewSurgeCronScript(ctx context.Context, logger logger.ContextLogger, options option.Script) (*SurgeCronScript, error) {
+	source, err := NewSource(ctx, logger, options)
+	if err != nil {
+		return nil, err
+	}
+	if !gronx.IsValid(options.CronOptions.Expression) {
+		return nil, E.New("invalid cron expression: ", options.CronOptions.Expression)
+	}
+	return &SurgeCronScript{
+		GenericScript: GenericScript{
+			logger:    logger,
+			tag:       options.Tag,
+			timeout:   time.Duration(options.Timeout),
+			arguments: options.Arguments,
+			source:    source,
+		},
+		ctx:        ctx,
+		expression: options.CronOptions.Expression,
+	}, nil
+}
+
+func (s *SurgeCronScript) Type() string {
+	return C.ScriptTypeSurgeCron
+}
+
+func (s *SurgeCronScript) Tag() string {
+	return s.tag
+}
+
+func (s *SurgeCronScript) StartContext(ctx context.Context, startContext *adapter.HTTPStartContext) error {
+	return s.source.StartContext(ctx, startContext)
+}
+
+func (s *SurgeCronScript) PostStart() error {
+	err := s.source.PostStart()
+	if err != nil {
+		return err
+	}
+	go s.loop()
+	return nil
+}
+
+func (s *SurgeCronScript) loop() {
+	s.logger.Debug("starting event")
+	err := s.Run(s.ctx)
+	if err != nil {
+		s.logger.Error(E.Cause(err, "running event"))
+	}
+	nextTick, err := gronx.NextTick(s.expression, false)
+	if err != nil {
+		s.logger.Error(E.Cause(err, "determine next tick"))
+		return
+	}
+	s.timer = time.NewTimer(nextTick.Sub(time.Now()))
+	s.logger.Debug("next event at: ", nextTick.Format(log.DefaultTimeFormat))
+	for {
+		select {
+		case <-s.ctx.Done():
+			return
+		case <-s.timer.C:
+			s.logger.Debug("starting event")
+			err = s.Run(s.ctx)
+			if err != nil {
+				s.logger.Error(E.Cause(err, "running event"))
+			}
+			nextTick, err = gronx.NextTick(s.expression, false)
+			if err != nil {
+				s.logger.Error(E.Cause(err, "determine next tick"))
+				return
+			}
+			s.timer.Reset(nextTick.Sub(time.Now()))
+			s.logger.Debug("next event at: ", nextTick)
+		}
+	}
+}
+
+func (s *SurgeCronScript) Close() error {
+	return s.source.Close()
+}
+
+func (s *SurgeCronScript) Run(ctx context.Context) error {
+	program := s.source.Program()
+	if program == nil {
+		return E.New("invalid script")
+	}
+	ctx, cancel := context.WithCancelCause(ctx)
+	defer cancel(nil)
+	vm := NewRuntime(ctx, s.logger, cancel)
+	err := SetSurgeModules(vm, ctx, s.logger, cancel, s.Tag(), s.Type(), s.arguments)
+	if err != nil {
+		return err
+	}
+	return ExecuteSurgeGeneral(vm, program, ctx, s.timeout)
+}

+ 183 - 0
script/script_surge_generic.go

@@ -0,0 +1,183 @@
+package script
+
+import (
+	"context"
+	"runtime"
+	"time"
+
+	"github.com/sagernet/sing-box/adapter"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/experimental/locale"
+	"github.com/sagernet/sing-box/option"
+	"github.com/sagernet/sing-box/script/jsc"
+	"github.com/sagernet/sing-box/script/modules/console"
+	"github.com/sagernet/sing-box/script/modules/eventloop"
+	"github.com/sagernet/sing-box/script/modules/require"
+	"github.com/sagernet/sing-box/script/modules/sghttp"
+	"github.com/sagernet/sing-box/script/modules/sgnotification"
+	"github.com/sagernet/sing-box/script/modules/sgstore"
+	"github.com/sagernet/sing-box/script/modules/sgutils"
+	"github.com/sagernet/sing/common"
+	E "github.com/sagernet/sing/common/exceptions"
+	F "github.com/sagernet/sing/common/format"
+	"github.com/sagernet/sing/common/logger"
+	"github.com/sagernet/sing/common/ntp"
+
+	"github.com/dop251/goja"
+	"github.com/dop251/goja/parser"
+)
+
+const defaultScriptTimeout = 10 * time.Second
+
+var _ adapter.GenericScript = (*GenericScript)(nil)
+
+type GenericScript struct {
+	logger    logger.ContextLogger
+	tag       string
+	timeout   time.Duration
+	arguments []any
+	source    Source
+}
+
+func NewSurgeGenericScript(ctx context.Context, logger logger.ContextLogger, options option.Script) (*GenericScript, error) {
+	source, err := NewSource(ctx, logger, options)
+	if err != nil {
+		return nil, err
+	}
+	return &GenericScript{
+		logger:    logger,
+		tag:       options.Tag,
+		timeout:   time.Duration(options.Timeout),
+		arguments: options.Arguments,
+		source:    source,
+	}, nil
+}
+
+func (s *GenericScript) Type() string {
+	return C.ScriptTypeSurgeGeneric
+}
+
+func (s *GenericScript) Tag() string {
+	return s.tag
+}
+
+func (s *GenericScript) StartContext(ctx context.Context, startContext *adapter.HTTPStartContext) error {
+	return s.source.StartContext(ctx, startContext)
+}
+
+func (s *GenericScript) PostStart() error {
+	return s.source.PostStart()
+}
+
+func (s *GenericScript) Close() error {
+	return s.source.Close()
+}
+
+func (s *GenericScript) Run(ctx context.Context) error {
+	program := s.source.Program()
+	if program == nil {
+		return E.New("invalid script")
+	}
+	ctx, cancel := context.WithCancelCause(ctx)
+	defer cancel(nil)
+	vm := NewRuntime(ctx, s.logger, cancel)
+	err := SetSurgeModules(vm, ctx, s.logger, cancel, s.Tag(), s.Type(), s.arguments)
+	if err != nil {
+		return err
+	}
+	return ExecuteSurgeGeneral(vm, program, ctx, s.timeout)
+}
+
+func NewRuntime(ctx context.Context, logger logger.ContextLogger, cancel context.CancelCauseFunc) *goja.Runtime {
+	vm := goja.New()
+	if timeFunc := ntp.TimeFuncFromContext(ctx); timeFunc != nil {
+		vm.SetTimeSource(timeFunc)
+	}
+	vm.SetParserOptions(parser.WithDisableSourceMaps)
+	registry := require.NewRegistry(require.WithLoader(func(path string) ([]byte, error) {
+		return nil, E.New("unsupported usage")
+	}))
+	registry.Enable(vm)
+	registry.RegisterNodeModule(console.ModuleName, console.Require(ctx, logger))
+	console.Enable(vm)
+	eventloop.Enable(vm, cancel)
+	return vm
+}
+
+func SetSurgeModules(vm *goja.Runtime, ctx context.Context, logger logger.Logger, errorHandler func(error), tag string, scriptType string, arguments []any) error {
+	script := vm.NewObject()
+	script.Set("name", F.ToString("script:", tag))
+	script.Set("startTime", jsc.TimeToValue(vm, time.Now()))
+	script.Set("type", scriptType)
+	vm.Set("$script", script)
+
+	environment := vm.NewObject()
+	var system string
+	switch runtime.GOOS {
+	case "ios":
+		system = "iOS"
+	case "darwin":
+		system = "macOS"
+	case "tvos":
+		system = "tvOS"
+	case "linux":
+		system = "Linux"
+	case "android":
+		system = "Android"
+	case "windows":
+		system = "Windows"
+	default:
+		system = runtime.GOOS
+	}
+	environment.Set("system", system)
+	environment.Set("surge-build", "N/A")
+	environment.Set("surge-version", "sing-box "+C.Version)
+	environment.Set("language", locale.Current().Locale)
+	environment.Set("device-model", "N/A")
+	vm.Set("$environment", environment)
+
+	sgstore.Enable(vm, ctx)
+	sgutils.Enable(vm)
+	sghttp.Enable(vm, ctx, errorHandler)
+	sgnotification.Enable(vm, ctx, logger)
+
+	vm.Set("$argument", arguments)
+	return nil
+}
+
+func ExecuteSurgeGeneral(vm *goja.Runtime, program *goja.Program, ctx context.Context, timeout time.Duration) error {
+	if timeout == 0 {
+		timeout = defaultScriptTimeout
+	}
+	ctx, cancel := context.WithTimeout(ctx, timeout)
+	defer cancel()
+
+	vm.ClearInterrupt()
+	done := make(chan struct{})
+	doneFunc := common.OnceFunc(func() {
+		close(done)
+	})
+	vm.Set("done", func(call goja.FunctionCall) goja.Value {
+		doneFunc()
+		return goja.Undefined()
+	})
+	var err error
+	go func() {
+		_, err = vm.RunProgram(program)
+		if err != nil {
+			doneFunc()
+		}
+	}()
+	select {
+	case <-ctx.Done():
+		vm.Interrupt(ctx.Err())
+		return ctx.Err()
+	case <-done:
+		if err != nil {
+			vm.Interrupt(err)
+		} else {
+			vm.Interrupt("script done")
+		}
+	}
+	return err
+}

+ 165 - 0
script/script_surge_http_request.go

@@ -0,0 +1,165 @@
+package script
+
+import (
+	"context"
+	"net/http"
+	"regexp"
+	"time"
+	"unsafe"
+
+	"github.com/sagernet/sing-box/adapter"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/option"
+	"github.com/sagernet/sing-box/script/jsc"
+	"github.com/sagernet/sing/common"
+	E "github.com/sagernet/sing/common/exceptions"
+	F "github.com/sagernet/sing/common/format"
+	"github.com/sagernet/sing/common/logger"
+
+	"github.com/dop251/goja"
+)
+
+var _ adapter.HTTPRequestScript = (*SurgeHTTPRequestScript)(nil)
+
+type SurgeHTTPRequestScript struct {
+	GenericScript
+	pattern        *regexp.Regexp
+	requiresBody   bool
+	maxSize        int64
+	binaryBodyMode bool
+}
+
+func NewSurgeHTTPRequestScript(ctx context.Context, logger logger.ContextLogger, options option.Script) (*SurgeHTTPRequestScript, error) {
+	source, err := NewSource(ctx, logger, options)
+	if err != nil {
+		return nil, err
+	}
+	pattern, err := regexp.Compile(options.HTTPOptions.Pattern)
+	if err != nil {
+		return nil, E.Cause(err, "parse pattern")
+	}
+	return &SurgeHTTPRequestScript{
+		GenericScript: GenericScript{
+			logger:    logger,
+			tag:       options.Tag,
+			timeout:   time.Duration(options.Timeout),
+			arguments: options.Arguments,
+			source:    source,
+		},
+		pattern:        pattern,
+		requiresBody:   options.HTTPOptions.RequiresBody,
+		maxSize:        options.HTTPOptions.MaxSize,
+		binaryBodyMode: options.HTTPOptions.BinaryBodyMode,
+	}, nil
+}
+
+func (s *SurgeHTTPRequestScript) Type() string {
+	return C.ScriptTypeSurgeHTTPRequest
+}
+
+func (s *SurgeHTTPRequestScript) Tag() string {
+	return s.tag
+}
+
+func (s *SurgeHTTPRequestScript) StartContext(ctx context.Context, startContext *adapter.HTTPStartContext) error {
+	return s.source.StartContext(ctx, startContext)
+}
+
+func (s *SurgeHTTPRequestScript) PostStart() error {
+	return s.source.PostStart()
+}
+
+func (s *SurgeHTTPRequestScript) Close() error {
+	return s.source.Close()
+}
+
+func (s *SurgeHTTPRequestScript) Match(requestURL string) bool {
+	return s.pattern.MatchString(requestURL)
+}
+
+func (s *SurgeHTTPRequestScript) RequiresBody() bool {
+	return s.requiresBody
+}
+
+func (s *SurgeHTTPRequestScript) MaxSize() int64 {
+	return s.maxSize
+}
+
+func (s *SurgeHTTPRequestScript) Run(ctx context.Context, request *http.Request, body []byte) (*adapter.HTTPRequestScriptResult, error) {
+	program := s.source.Program()
+	if program == nil {
+		return nil, E.New("invalid script")
+	}
+	ctx, cancel := context.WithCancelCause(ctx)
+	defer cancel(nil)
+	vm := NewRuntime(ctx, s.logger, cancel)
+	err := SetSurgeModules(vm, ctx, s.logger, cancel, s.Tag(), s.Type(), s.arguments)
+	if err != nil {
+		return nil, err
+	}
+	return ExecuteSurgeHTTPRequest(vm, program, ctx, s.timeout, request, body, s.binaryBodyMode)
+}
+
+func ExecuteSurgeHTTPRequest(vm *goja.Runtime, program *goja.Program, ctx context.Context, timeout time.Duration, request *http.Request, body []byte, binaryBody bool) (*adapter.HTTPRequestScriptResult, error) {
+	if timeout == 0 {
+		timeout = defaultScriptTimeout
+	}
+	ctx, cancel := context.WithTimeout(ctx, timeout)
+	defer cancel()
+
+	vm.ClearInterrupt()
+	requestObject := vm.NewObject()
+	requestObject.Set("url", request.URL.String())
+	requestObject.Set("method", request.Method)
+	requestObject.Set("headers", jsc.HeadersToValue(vm, request.Header))
+	if !binaryBody {
+		requestObject.Set("body", string(body))
+	} else {
+		requestObject.Set("body", jsc.NewUint8Array(vm, body))
+	}
+	requestObject.Set("id", F.ToString(uintptr(unsafe.Pointer(request))))
+	vm.Set("request", requestObject)
+	done := make(chan struct{})
+	doneFunc := common.OnceFunc(func() {
+		close(done)
+	})
+	var result adapter.HTTPRequestScriptResult
+	vm.Set("done", func(call goja.FunctionCall) goja.Value {
+		defer doneFunc()
+		resultObject := jsc.AssertObject(vm, call.Argument(0), "done() argument", true)
+		if resultObject == nil {
+			panic(vm.NewGoError(E.New("request rejected by script")))
+		}
+		result.URL = jsc.AssertString(vm, resultObject.Get("url"), "url", true)
+		result.Headers = jsc.AssertHTTPHeader(vm, resultObject.Get("headers"), "headers")
+		result.Body = jsc.AssertStringBinary(vm, resultObject.Get("body"), "body", true)
+		responseObject := jsc.AssertObject(vm, resultObject.Get("response"), "response", true)
+		if responseObject != nil {
+			result.Response = &adapter.HTTPRequestScriptResponse{
+				Status:  int(jsc.AssertInt(vm, responseObject.Get("status"), "status", true)),
+				Headers: jsc.AssertHTTPHeader(vm, responseObject.Get("headers"), "headers"),
+				Body:    jsc.AssertStringBinary(vm, responseObject.Get("body"), "body", true),
+			}
+		}
+		return goja.Undefined()
+	})
+	var err error
+	go func() {
+		_, err = vm.RunProgram(program)
+		if err != nil {
+			doneFunc()
+		}
+	}()
+	select {
+	case <-ctx.Done():
+		vm.Interrupt(ctx.Err())
+		return nil, ctx.Err()
+	case <-done:
+		if err != nil {
+			vm.Interrupt(err)
+		} else {
+			vm.Interrupt("script done")
+		}
+	}
+	return &result, err
+}

+ 175 - 0
script/script_surge_http_response.go

@@ -0,0 +1,175 @@
+package script
+
+import (
+	"context"
+	"net/http"
+	"regexp"
+	"sync"
+	"time"
+	"unsafe"
+
+	"github.com/sagernet/sing-box/adapter"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/option"
+	"github.com/sagernet/sing-box/script/jsc"
+	"github.com/sagernet/sing/common"
+	E "github.com/sagernet/sing/common/exceptions"
+	F "github.com/sagernet/sing/common/format"
+	"github.com/sagernet/sing/common/logger"
+
+	"github.com/dop251/goja"
+)
+
+var _ adapter.HTTPResponseScript = (*SurgeHTTPResponseScript)(nil)
+
+type SurgeHTTPResponseScript struct {
+	GenericScript
+	pattern        *regexp.Regexp
+	requiresBody   bool
+	maxSize        int64
+	binaryBodyMode bool
+}
+
+func NewSurgeHTTPResponseScript(ctx context.Context, logger logger.ContextLogger, options option.Script) (*SurgeHTTPResponseScript, error) {
+	source, err := NewSource(ctx, logger, options)
+	if err != nil {
+		return nil, err
+	}
+	pattern, err := regexp.Compile(options.HTTPOptions.Pattern)
+	if err != nil {
+		return nil, E.Cause(err, "parse pattern")
+	}
+	return &SurgeHTTPResponseScript{
+		GenericScript: GenericScript{
+			logger:    logger,
+			tag:       options.Tag,
+			timeout:   time.Duration(options.Timeout),
+			arguments: options.Arguments,
+			source:    source,
+		},
+		pattern:        pattern,
+		requiresBody:   options.HTTPOptions.RequiresBody,
+		maxSize:        options.HTTPOptions.MaxSize,
+		binaryBodyMode: options.HTTPOptions.BinaryBodyMode,
+	}, nil
+}
+
+func (s *SurgeHTTPResponseScript) Type() string {
+	return C.ScriptTypeSurgeHTTPResponse
+}
+
+func (s *SurgeHTTPResponseScript) Tag() string {
+	return s.tag
+}
+
+func (s *SurgeHTTPResponseScript) StartContext(ctx context.Context, startContext *adapter.HTTPStartContext) error {
+	return s.source.StartContext(ctx, startContext)
+}
+
+func (s *SurgeHTTPResponseScript) PostStart() error {
+	return s.source.PostStart()
+}
+
+func (s *SurgeHTTPResponseScript) Close() error {
+	return s.source.Close()
+}
+
+func (s *SurgeHTTPResponseScript) Match(requestURL string) bool {
+	return s.pattern.MatchString(requestURL)
+}
+
+func (s *SurgeHTTPResponseScript) RequiresBody() bool {
+	return s.requiresBody
+}
+
+func (s *SurgeHTTPResponseScript) MaxSize() int64 {
+	return s.maxSize
+}
+
+func (s *SurgeHTTPResponseScript) Run(ctx context.Context, request *http.Request, response *http.Response, body []byte) (*adapter.HTTPResponseScriptResult, error) {
+	program := s.source.Program()
+	if program == nil {
+		return nil, E.New("invalid script")
+	}
+	ctx, cancel := context.WithCancelCause(ctx)
+	defer cancel(nil)
+	vm := NewRuntime(ctx, s.logger, cancel)
+	err := SetSurgeModules(vm, ctx, s.logger, cancel, s.Tag(), s.Type(), s.arguments)
+	if err != nil {
+		return nil, err
+	}
+	return ExecuteSurgeHTTPResponse(vm, program, ctx, s.timeout, request, response, body, s.binaryBodyMode)
+}
+
+func ExecuteSurgeHTTPResponse(vm *goja.Runtime, program *goja.Program, ctx context.Context, timeout time.Duration, request *http.Request, response *http.Response, body []byte, binaryBody bool) (*adapter.HTTPResponseScriptResult, error) {
+	if timeout == 0 {
+		timeout = defaultScriptTimeout
+	}
+	ctx, cancel := context.WithTimeout(ctx, timeout)
+	defer cancel()
+
+	vm.ClearInterrupt()
+	requestObject := vm.NewObject()
+	requestObject.Set("url", request.URL.String())
+	requestObject.Set("method", request.Method)
+	requestObject.Set("headers", jsc.HeadersToValue(vm, request.Header))
+	requestObject.Set("id", F.ToString(uintptr(unsafe.Pointer(request))))
+	vm.Set("request", requestObject)
+
+	responseObject := vm.NewObject()
+	responseObject.Set("status", response.StatusCode)
+	responseObject.Set("headers", jsc.HeadersToValue(vm, response.Header))
+	if !binaryBody {
+		responseObject.Set("body", string(body))
+	} else {
+		responseObject.Set("body", jsc.NewUint8Array(vm, body))
+	}
+	vm.Set("response", responseObject)
+
+	done := make(chan struct{})
+	doneFunc := common.OnceFunc(func() {
+		close(done)
+	})
+	var (
+		access sync.Mutex
+		result adapter.HTTPResponseScriptResult
+	)
+	vm.Set("done", func(call goja.FunctionCall) goja.Value {
+		resultObject := jsc.AssertObject(vm, call.Argument(0), "done() argument", true)
+		if resultObject == nil {
+			panic(vm.NewGoError(E.New("response rejected by script")))
+		}
+		access.Lock()
+		defer access.Unlock()
+		result.Status = int(jsc.AssertInt(vm, resultObject.Get("status"), "status", true))
+		result.Headers = jsc.AssertHTTPHeader(vm, resultObject.Get("headers"), "headers")
+		result.Body = jsc.AssertStringBinary(vm, resultObject.Get("body"), "body", true)
+		doneFunc()
+		return goja.Undefined()
+	})
+	var scriptErr error
+	go func() {
+		_, err := vm.RunProgram(program)
+		if err != nil {
+			access.Lock()
+			scriptErr = err
+			access.Unlock()
+			doneFunc()
+		}
+	}()
+	select {
+	case <-ctx.Done():
+		println(1)
+		vm.Interrupt(ctx.Err())
+		return nil, ctx.Err()
+	case <-done:
+		access.Lock()
+		defer access.Unlock()
+		if scriptErr != nil {
+			vm.Interrupt(scriptErr)
+		} else {
+			vm.Interrupt("script done")
+		}
+		return &result, scriptErr
+	}
+}

+ 31 - 0
script/source.go

@@ -0,0 +1,31 @@
+package script
+
+import (
+	"context"
+
+	"github.com/sagernet/sing-box/adapter"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/option"
+	E "github.com/sagernet/sing/common/exceptions"
+	"github.com/sagernet/sing/common/logger"
+
+	"github.com/dop251/goja"
+)
+
+type Source interface {
+	StartContext(ctx context.Context, startContext *adapter.HTTPStartContext) error
+	PostStart() error
+	Program() *goja.Program
+	Close() error
+}
+
+func NewSource(ctx context.Context, logger logger.Logger, options option.Script) (Source, error) {
+	switch options.Source {
+	case C.ScriptSourceLocal:
+		return NewLocalSource(ctx, logger, options)
+	case C.ScriptSourceRemote:
+		return NewRemoteSource(ctx, logger, options)
+	default:
+		return nil, E.New("unknown source type: ", options.Source)
+	}
+}

+ 92 - 0
script/source_local.go

@@ -0,0 +1,92 @@
+package script
+
+import (
+	"context"
+	"os"
+	"path/filepath"
+
+	"github.com/sagernet/fswatch"
+	"github.com/sagernet/sing-box/adapter"
+	"github.com/sagernet/sing-box/option"
+	E "github.com/sagernet/sing/common/exceptions"
+	"github.com/sagernet/sing/common/logger"
+	"github.com/sagernet/sing/service/filemanager"
+
+	"github.com/dop251/goja"
+)
+
+var _ Source = (*LocalSource)(nil)
+
+type LocalSource struct {
+	ctx     context.Context
+	logger  logger.Logger
+	tag     string
+	program *goja.Program
+	watcher *fswatch.Watcher
+}
+
+func NewLocalSource(ctx context.Context, logger logger.Logger, options option.Script) (*LocalSource, error) {
+	script := &LocalSource{
+		ctx:    ctx,
+		logger: logger,
+		tag:    options.Tag,
+	}
+	filePath := filemanager.BasePath(ctx, options.LocalOptions.Path)
+	filePath, _ = filepath.Abs(options.LocalOptions.Path)
+	err := script.reloadFile(filePath)
+	if err != nil {
+		return nil, err
+	}
+	watcher, err := fswatch.NewWatcher(fswatch.Options{
+		Path: []string{filePath},
+		Callback: func(path string) {
+			uErr := script.reloadFile(path)
+			if uErr != nil {
+				logger.Error(E.Cause(uErr, "reload script ", path))
+			}
+		},
+	})
+	if err != nil {
+		return nil, err
+	}
+	script.watcher = watcher
+	return script, nil
+}
+
+func (s *LocalSource) StartContext(ctx context.Context, startContext *adapter.HTTPStartContext) error {
+	if s.watcher != nil {
+		err := s.watcher.Start()
+		if err != nil {
+			s.logger.Error(E.Cause(err, "watch script file"))
+		}
+	}
+	return nil
+}
+
+func (s *LocalSource) reloadFile(path string) error {
+	content, err := os.ReadFile(path)
+	if err != nil {
+		return err
+	}
+	program, err := goja.Compile("script:"+s.tag, string(content), false)
+	if err != nil {
+		return E.Cause(err, "compile ", path)
+	}
+	if s.program != nil {
+		s.logger.Info("reloaded from ", path)
+	}
+	s.program = program
+	return nil
+}
+
+func (s *LocalSource) PostStart() error {
+	return nil
+}
+
+func (s *LocalSource) Program() *goja.Program {
+	return s.program
+}
+
+func (s *LocalSource) Close() error {
+	return s.watcher.Close()
+}

+ 224 - 0
script/source_remote.go

@@ -0,0 +1,224 @@
+package script
+
+import (
+	"context"
+	"crypto/tls"
+	"io"
+	"net"
+	"net/http"
+	"runtime"
+	"time"
+
+	"github.com/sagernet/sing-box/adapter"
+	C "github.com/sagernet/sing-box/constant"
+	"github.com/sagernet/sing-box/option"
+	E "github.com/sagernet/sing/common/exceptions"
+	F "github.com/sagernet/sing/common/format"
+	"github.com/sagernet/sing/common/logger"
+	M "github.com/sagernet/sing/common/metadata"
+	N "github.com/sagernet/sing/common/network"
+	"github.com/sagernet/sing/common/ntp"
+	"github.com/sagernet/sing/service"
+	"github.com/sagernet/sing/service/pause"
+
+	"github.com/dop251/goja"
+)
+
+var _ Source = (*RemoteSource)(nil)
+
+type RemoteSource struct {
+	ctx            context.Context
+	cancel         context.CancelFunc
+	logger         logger.Logger
+	outbound       adapter.OutboundManager
+	options        option.Script
+	updateInterval time.Duration
+	dialer         N.Dialer
+	program        *goja.Program
+	lastUpdated    time.Time
+	lastEtag       string
+	updateTicker   *time.Ticker
+	cacheFile      adapter.CacheFile
+	pauseManager   pause.Manager
+}
+
+func NewRemoteSource(ctx context.Context, logger logger.Logger, options option.Script) (*RemoteSource, error) {
+	ctx, cancel := context.WithCancel(ctx)
+	var updateInterval time.Duration
+	if options.RemoteOptions.UpdateInterval > 0 {
+		updateInterval = time.Duration(options.RemoteOptions.UpdateInterval)
+	} else {
+		updateInterval = 24 * time.Hour
+	}
+	return &RemoteSource{
+		ctx:            ctx,
+		cancel:         cancel,
+		logger:         logger,
+		outbound:       service.FromContext[adapter.OutboundManager](ctx),
+		options:        options,
+		updateInterval: updateInterval,
+		pauseManager:   service.FromContext[pause.Manager](ctx),
+	}, nil
+}
+
+func (s *RemoteSource) StartContext(ctx context.Context, startContext *adapter.HTTPStartContext) error {
+	s.cacheFile = service.FromContext[adapter.CacheFile](s.ctx)
+	var dialer N.Dialer
+	if s.options.RemoteOptions.DownloadDetour != "" {
+		outbound, loaded := s.outbound.Outbound(s.options.RemoteOptions.DownloadDetour)
+		if !loaded {
+			return E.New("download detour not found: ", s.options.RemoteOptions.DownloadDetour)
+		}
+		dialer = outbound
+	} else {
+		dialer = s.outbound.Default()
+	}
+	s.dialer = dialer
+	if s.cacheFile != nil {
+		if savedSet := s.cacheFile.LoadScript(s.options.Tag); savedSet != nil {
+			err := s.loadBytes(savedSet.Content)
+			if err != nil {
+				return E.Cause(err, "restore cached rule-set")
+			}
+			s.lastUpdated = savedSet.LastUpdated
+			s.lastEtag = savedSet.LastEtag
+		}
+	}
+	if s.lastUpdated.IsZero() {
+		err := s.fetchOnce(ctx, startContext)
+		if err != nil {
+			return E.Cause(err, "initial rule-set: ", s.options.Tag)
+		}
+	}
+	s.updateTicker = time.NewTicker(s.updateInterval)
+	return nil
+}
+
+func (s *RemoteSource) PostStart() error {
+	go s.loopUpdate()
+	return nil
+}
+
+func (s *RemoteSource) Program() *goja.Program {
+	return s.program
+}
+
+func (s *RemoteSource) loadBytes(content []byte) error {
+	program, err := goja.Compile(F.ToString("script:", s.options.Tag), string(content), false)
+	if err != nil {
+		return err
+	}
+	s.program = program
+	return nil
+}
+
+func (s *RemoteSource) loopUpdate() {
+	if time.Since(s.lastUpdated) > s.updateInterval {
+		err := s.fetchOnce(s.ctx, nil)
+		if err != nil {
+			s.logger.Error("fetch rule-set ", s.options.Tag, ": ", err)
+		}
+	}
+	for {
+		runtime.GC()
+		select {
+		case <-s.ctx.Done():
+			return
+		case <-s.updateTicker.C:
+			s.pauseManager.WaitActive()
+			err := s.fetchOnce(s.ctx, nil)
+			if err != nil {
+				s.logger.Error("fetch rule-set ", s.options.Tag, ": ", err)
+			}
+		}
+	}
+}
+
+func (s *RemoteSource) fetchOnce(ctx context.Context, startContext *adapter.HTTPStartContext) error {
+	s.logger.Debug("updating script ", s.options.Tag, " from URL: ", s.options.RemoteOptions.URL)
+	var httpClient *http.Client
+	if startContext != nil {
+		httpClient = startContext.HTTPClient(s.options.RemoteOptions.DownloadDetour, s.dialer)
+	} else {
+		httpClient = &http.Client{
+			Transport: &http.Transport{
+				ForceAttemptHTTP2:   true,
+				TLSHandshakeTimeout: C.TCPTimeout,
+				DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
+					return s.dialer.DialContext(ctx, network, M.ParseSocksaddr(addr))
+				},
+				TLSClientConfig: &tls.Config{
+					Time:    ntp.TimeFuncFromContext(s.ctx),
+					RootCAs: adapter.RootPoolFromContext(s.ctx),
+				},
+			},
+		}
+	}
+	request, err := http.NewRequest("GET", s.options.RemoteOptions.URL, nil)
+	if err != nil {
+		return err
+	}
+	if s.lastEtag != "" {
+		request.Header.Set("If-None-Match", s.lastEtag)
+	}
+	response, err := httpClient.Do(request.WithContext(ctx))
+	if err != nil {
+		return err
+	}
+	switch response.StatusCode {
+	case http.StatusOK:
+	case http.StatusNotModified:
+		s.lastUpdated = time.Now()
+		if s.cacheFile != nil {
+			savedRuleSet := s.cacheFile.LoadScript(s.options.Tag)
+			if savedRuleSet != nil {
+				savedRuleSet.LastUpdated = s.lastUpdated
+				err = s.cacheFile.SaveScript(s.options.Tag, savedRuleSet)
+				if err != nil {
+					s.logger.Error("save script updated time: ", err)
+					return nil
+				}
+			}
+		}
+		s.logger.Info("update script ", s.options.Tag, ": not modified")
+		return nil
+	default:
+		return E.New("unexpected status: ", response.Status)
+	}
+	content, err := io.ReadAll(response.Body)
+	if err != nil {
+		response.Body.Close()
+		return err
+	}
+	err = s.loadBytes(content)
+	if err != nil {
+		response.Body.Close()
+		return err
+	}
+	response.Body.Close()
+	eTagHeader := response.Header.Get("Etag")
+	if eTagHeader != "" {
+		s.lastEtag = eTagHeader
+	}
+	s.lastUpdated = time.Now()
+	if s.cacheFile != nil {
+		err = s.cacheFile.SaveScript(s.options.Tag, &adapter.SavedBinary{
+			LastUpdated: s.lastUpdated,
+			Content:     content,
+			LastEtag:    s.lastEtag,
+		})
+		if err != nil {
+			s.logger.Error("save script cache: ", err)
+		}
+	}
+	s.logger.Info("updated script ", s.options.Tag)
+	return nil
+}
+
+func (s *RemoteSource) Close() error {
+	if s.updateTicker != nil {
+		s.updateTicker.Stop()
+	}
+	s.cancel()
+	return nil
+}