ssdpd

package module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2023 License: Apache-2.0 Imports: 12 Imported by: 1

README

ssdpd

让电脑端能发现设备并显示在网络列表里

查看可用参数

docker run --rm cnk3x/ssdpd /ssdpd -h

# ssdpd - 0.3 - 让电脑端能发现设备并显示在网络列表里
# 
# 命令格式:
#     ssdpd [...参数选项]
# 
# 参数选项:
#         --alive-tick         duration  通告 Alive 时间间隔 (默认: "5m0s")
#     -c, --config             string    配置文件路径, 参数优先级: 文件>启动参数>环境变量
#     -n, --friendly-name      string    友好名称 (默认: "主机名")
#         --interfaces         []string  指定网卡介质
#     -l, --location           string    指定服务描述的的访问地址
#         --manufacturer       string    制造商 (默认: "cnk3x")
#         --manufacturer-url   string    制造商链接 (默认: "https://github.com/cnk3x")
#         --maxage             int       ssdp maxage (默认: "1900")
#         --model-description  string    型号描述 (默认: "SSDPD/NAS/WEB")
#     -m, --model-name         string    型号 (默认: "SSDPD")
#         --model-number       string    型号 (默认: "SSDPD v0")
#         --model-type         string    型号类型 (默认: "NAS")
#         --model-url          string    型号链接 (默认: "https://github.com/cnk3x/ssdpd")
#     -p, --port               int       指定描述访问的端口, 0为随机端口 (默认: "0")
#     -u, --presentation-url   string    设备网页,双击设备默认跳转到该参数指定的地址 (默认: "https://github.com/cnk3x/ssdpd")
#         --serial-number      string    序列号
#         --server             string    设备服务名称 (默认: "cnk3x/ssdpd")
#         --udn                string    唯一识别符
#     -v, --verbose                      是否输出详细日志 (默认: "false")

使用


# 第一种: docker
docker run --name ssdpd --net host cnk3x/ssdpd \
    /ssdpd \
    --friendly-name '我的NAS (超级牛)' \
    --presentation-url https://www.qq.com \
    --manufacturer 我制造的 \
    --manufacturer-url http://制造商链接 \
    --model-name 我的型号 \
    --model-url http://型号的链接 \
    --model-number '我的型号 v0.1'

# 第二种: 下载使用(仅 linux amd64)
wget -O ssdpd https://github.com/cnk3x/ssdpd/releases/download/v0.3.0/ssdpd.linux.amd64
chmod +x ssdpd
./ssdpd \
    --friendly-name '我的NAS (超级牛)' \
    --presentation-url https://www.qq.com \
    --manufacturer 我制造的 \
    --manufacturer-url http://制造商链接 \
    --model-name 我的型号 \
    --model-url http://型号的链接 \
    --model-number '我的型号 v0.1'

# 第三种: 编译安装到GOPATh
go install -v github.com/cnk3x/ssdpd/cmd/ssdpd@latest
cd $(go env GOPATH)/bin
./ssdpd \
    --friendly-name '我的NAS (超级牛)' \
    --presentation-url https://www.qq.com \
    --manufacturer 我制造的 \
    --manufacturer-url http://制造商链接 \
    --model-name 我的型号 \
    --model-url http://型号的链接 \
    --model-number '我的型号 v0.1'
效果

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdvertiseDevice

func AdvertiseDevice(ctx context.Context, sOpts Options) (err error)

发送局域网SSDP广播, 让电脑端能发现设备并显示在网络列表里。

Types

type Options

type Options struct {
	ConfigFile       string        `json:"-" flag:"config,file" short:"c" usage:"配置文件路径, 参数优先级: 文件>启动参数>环境变量"`
	Interfaces       []string      `json:"interfaces" usage:"指定网卡介质"`
	Location         string        `json:"localtion" short:"l" usage:"指定服务描述的的访问地址"`
	Port             int           `json:"port" short:"p" usage:"指定描述访问的端口, 0为随机端口"`
	FriendlyName     string        `json:"friendly_name" short:"n" usage:"友好名称"`
	Manufacturer     string        `json:"manufacturer" usage:"制造商"`
	ManufacturerURL  string        `json:"manufacturer_url" usage:"制造商链接"`
	ModelName        string        `json:"model_name" short:"m" usage:"型号"`
	ModelNumber      string        `json:"model_number" usage:"型号"`
	ModelURL         string        `json:"model_url" usage:"型号链接"`
	ModelDescription string        `json:"model_description" usage:"型号描述"`
	ModelType        string        `json:"model_type" usage:"型号类型"`
	SerialNumber     string        `json:"serial_number" usage:"序列号"`
	UDN              string        `json:"udn" usage:"唯一识别符"`
	PresentationURL  string        `json:"presentation_url" short:"u" usage:"设备网页,双击设备默认跳转到该参数指定的地址"`
	Server           string        `json:"server" usage:"设备服务名称"`
	Verbose          bool          `json:"verbose" short:"v" usage:"是否输出详细日志"`
	AliveTick        time.Duration `json:"alive_tick" usage:"通告 Alive 时间间隔"`
	MaxAge           int           `json:"maxage" flag:"maxage" usage:"ssdp maxage"`
}

func (Options) Fill

func (sOpts Options) Fill() Options

Directories

Path Synopsis
cmd
ssdpd module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL