mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-07-04 01:07:49 +02:00
all: add support to Netgear Orbi Voxel
While at it, also ensure checking the service is installed or not before executing uninstall function, so we won't emit un-necessary errors.
This commit is contained in:
committed by
Cuong Manh Le
parent
b50cccac85
commit
20f8f22bae
@@ -18,6 +18,7 @@ import (
|
||||
"github.com/Control-D-Inc/ctrld/internal/router/edgeos"
|
||||
"github.com/Control-D-Inc/ctrld/internal/router/firewalla"
|
||||
"github.com/Control-D-Inc/ctrld/internal/router/merlin"
|
||||
netgear "github.com/Control-D-Inc/ctrld/internal/router/netgear_orbi_voxel"
|
||||
"github.com/Control-D-Inc/ctrld/internal/router/openwrt"
|
||||
"github.com/Control-D-Inc/ctrld/internal/router/synology"
|
||||
"github.com/Control-D-Inc/ctrld/internal/router/tomato"
|
||||
@@ -66,10 +67,17 @@ func New(cfg *ctrld.Config, cdMode bool) Router {
|
||||
return tomato.New(cfg)
|
||||
case firewalla.Name:
|
||||
return firewalla.New(cfg)
|
||||
case netgear.Name:
|
||||
return netgear.New(cfg)
|
||||
}
|
||||
return newOsRouter(cfg, cdMode)
|
||||
}
|
||||
|
||||
// IsNetGearOrbi reports whether the router is a Netgear Orbi router.
|
||||
func IsNetGearOrbi() bool {
|
||||
return Name() == netgear.Name
|
||||
}
|
||||
|
||||
// IsGLiNet reports whether the router is an GL.iNet router.
|
||||
func IsGLiNet() bool {
|
||||
if Name() != openwrt.Name {
|
||||
@@ -145,7 +153,7 @@ func LocalResolverIP() string {
|
||||
// HomeDir returns the home directory of ctrld on current router.
|
||||
func HomeDir() (string, error) {
|
||||
switch Name() {
|
||||
case ddwrt.Name, firewalla.Name, merlin.Name, tomato.Name:
|
||||
case ddwrt.Name, firewalla.Name, merlin.Name, netgear.Name, tomato.Name:
|
||||
exe, err := os.Executable()
|
||||
if err != nil {
|
||||
return "", err
|
||||
@@ -198,6 +206,9 @@ func distroName() string {
|
||||
case bytes.HasPrefix(unameO(), []byte("ASUSWRT-Merlin")):
|
||||
return merlin.Name
|
||||
case haveFile("/etc/openwrt_version"):
|
||||
if haveFile("/bin/config") { // TODO: is there any more reliable way?
|
||||
return netgear.Name
|
||||
}
|
||||
return openwrt.Name
|
||||
case isUbios():
|
||||
return ubios.Name
|
||||
|
||||
Reference in New Issue
Block a user