首先需要群晖开启FRP,并且有一台服务端能穿透内网 https://tugouli.exiu.org/3683.html
注:这里外网端口开放的是122端口,映射到内网容器的22端口,对于公网(腾讯云)需要开放此端口。
在其他机器进行ssh登录WSL2机器的ssh_test_7(docker容器)
这里我选的WSL2的宿主机,笔记本电脑,打开cmd进行连接,其中命令如下:
ssh -p 23 root@公网ip
玩玩群辉NAS-常用命令行
玩玩群辉NAS-常用命令行
群辉中的系统命令或者套间命令大部分都是以syno开头的。
Syno
简单的 Node.js 包装器(包括浏览器)和用于 Synology DSM REST API 5.x 和 6.x 的 CLI(命令行界面)。阿
英文版:Synology Development Tool.
中文版:开发者工具
安装
只要安装模块
$ npm install syno
如果要将其另存为依赖项,只需添加该--save选项即可。
$ npm install syno --save
如果要使用CLI可执行文件进行安装,只需添加该--global选项。
$ npm install syno --global
配置
环境变量
在使用Syno前需要配置一些参数
$ export SYNO_ACCOUNT=user
$ export SYNO_PASSWORD=password
$ export SYNO_PROTOCOL=https # 笔者这边为http,如果设置为https会报ssl错误
$ export SYNO_HOST=localhost
$ export SYNO_PORT=5001
配置文件
# Example config file, by default it should be located at:
# ~/.syno/config.yaml
url:
protocol: https
host: localhost
port: 5001
account: admin
passwd: password
配置完成后就能正常使用命令行API了。
Syno API
这是对 Syno API 及其方法的简单介绍。要获取更多信息(参数、响应数据等),请参阅 Synology 开发者工具。
DSM API
File Station API
Download Station API
Audio Station API
Video Station API
Video Station DTV API
Surveillance Station API
CLI
Commande selector
$ syno --help
Usage: syno [options]
Synology Rest API Command Line
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Commands:
filestation|fs [options] <method> DSM File Station API
downloadstation|dl [options] <method> DSM Download Station API
audiostation|as [options] <method> DSM Audio Station API
Examples:
$ syno filestation|fs getFileStationInfo
$ syno downloadstation|dl getDownloadStationInfo
$ syno audiostation|as getAudioStationInfo
1
DSM command
$ syno fs --help
Usage: diskstationmanager|dsm [options] <method>
DSM API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno diskstationmanager|dsm startFindme
$ syno diskstationmanager|dsm getInfo --pretty'
$ syno diskstationmanagercore|dsm listUsers
$ syno diskstationmanagercore|dsm listPackages
File Station command
$ syno fs --help
Usage: filestation|fs [options] <method>
DSM File Station API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno filestation|fs listSharings
$ syno filestation|fs list --pretty --payload '{"folder_path":"/path/to/folder"}'
Download Station command
$ syno dl --help
Usage: downloadstation|dl [options] <method>
DSM Download Station API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno downloadstation|dl createTask --payload '{"uri":"magnet|ed2k|ftp(s)|http(s)://link"}'
$ syno downloadstation|dl listTasks
$ syno downloadstation|dl listTasks --payload '{"limit":1}'
$ syno downloadstation|dl getInfoTask --pretty --payload '{"id":"task_id"}'
Audio Station command
$ syno as --help
Usage: audiostation|as [options] <method>
DSM Audio Station API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno audiostation|as listSongs --payload '{"limit":1}'
$ syno audiostation|as listAlbums
$ syno audiostation|as searchSong --payload '{"title":"victoria"}'
Examples
没有配置文件
$ syno fs getInfo --url https://admin:synology@demo.synology.com:5001 --pretty
1
带有配置文件
# Example config file, by default it should be located at:
# ~/.syno/config.yaml
url:
protocol: https
host: localhost
port: 5001
account: admin
passwd: password
$ syno fs geInfo --pretty
1
其他命令
备忘单
NAS 打印工作组:
$ synowin -getWorkgroup
加入一个新的 NAS 工作组:
$ synowin -joinWorkgroup <group>
打印一般信息:
$ synoservice --status
通过 cli 设置邮件:
$ synosyslogmail
检查升级:
$ synoupgrade --check 3
转储有关您的 nas 的数据:
$ syno_system_dump
打印网络信息,包括 当前双工:
$ synonet --show
打印当前主机名:
$ synonet --get_hostname
设置一个新的主机名:
$ synonet --set_hostname
设置新网关:
$ synonet --set_gateway gateway
WOL 唤醒:
$ synonet --wake xx:xx:xx:xx:xx:xx <interface>
打印分区布局表。
$ synopartition --list
分享
打印共享信息:
$ synoshare --get <sharefolder>
挂载一个共享的加密文件夹:
$ synoshare --enc_mount <sharefolder> <password>
卸载加密文件夹:
$ synoshare --enc_unmount <sharefolder>
允许删除:
$ synoshare --del {TRUE|FALSE} sharename1 sharename2 ...
设置共享文件夹的描述(在文件浏览器的评论中查看)
$ synoshare --setdesc sharename desc
允许浏览共享文件夹
$ synoshare --setbrowse sharename browse_flag{0|1}
重命名共享文件夹:
$ synoshare --rename old_sharename new_sharename
设置允许浏览共享文件夹的用户:
$ synoshare --setuser sharename user_auth{NA|RO|RW} operator{+|-|=} user_name_list_with_comma
用户
打印有关用户的主要数据
sh-4.3# synouser --get wuseman
User Name : [wuseman]
User Type : [AUTH_LOCAL]
User uid : [1026]
Primary gid : [100]
Fullname : []
User Dir : [/var/services/homes/wuseman]
User Shell : [/bin/sh]
Expired : [false]
User Mail : []
Alloc Size : [82]
Member Of : [2]
(100) users
(101) administrators
设置新密码/更改密码:
$ synouser --setpw oldpassword newpassword
重命名用户:
$ synouser --rename old_username new_username
添加包含完整信息的用户名:
$ synouser --add [username pwd "full name" expired{0|1} mail privilege]
通知:
发送关于存储的电子邮件:
$ synostorage --mail
锁管理
$ synostorage --lock
调音功能:
获取当前的调优配置文件:
$ synotune --get
Outut: Current Profile: performance_throughput
设置新功能,选项:
$ synotune --set performance_throughput OR performance_latency
转储有关 Synology nas 的信息:
$ syno_system_dump
升级
将您的 nas 设置为自动处理升级:
$ synoupgrade --auto
检查您当前的升级设置:
$ synoupgrade --check
如果有新升级,请下载最新升级:
$ synoupgrade --download
开始升级:
$ synoupgrade --start
检查分区布局表:
$ synopartition --check /dev/sd<X>
查看 Synology NFS 监视器:
$ synonfstop
重置 Synology NAS(仅限设置)
$ /usr/syno/sbin/./synodsdefault --reset
将 Synology Nas 重置为出厂默认设置(OBS OBS OBS 所有数据都将被擦除)
$ /usr/syno/sbin/./synodsdefault --factory-default
重新安装 Synology Nas Station,所有数据都将保留:
$ /usr/syno/sbin/./synodsdefault --reinstall; reboot
通过 cli 重新启动 NAS 的 SSHD 的正确方法:
$ synoservicectl --restart sshd
列出、卸载或安装 .spk 包文件(本地可用)
$ synopkg
安装一组网络和 ELF 二进制调试工具(并进入根会话)
$ synogear
写入和读取带有 key=value 对的 .ini 样式文件
$ synosetkeyvalue
$ synogetkeyvalue
关闭并关闭 NAS 电源(很像 shutdown -h now)
$ synopoweroff
显示已安装的包
$ synopkg list | sed 's/: .*$//'
卸载一个包
$ sudo synopkg uninstall
Synology 关机和关机
$ syno_poweroff_task
为本地用户设置/建立密码
$ synoauth local_username password
管理 IP 自动阻止功能
$ synoautoblock OPTIONS
管理博客功能
$ synoblog_backup [-r|-b] p [-u username] [-o]
Synology 磁盘控制设备:类似于 /dev/hda 或 /dev/sda
$ syno_disk_ctl OPTIONS DEVICE
Synology clear .tbd-文件工具
$ SYNOClearTdb FILE
打印有关 NAS 的各种信息的不同方式
more /etc.defaults/VERSION
cat /etc/synoinfo.conf
cat /proc/cmdline
synoshare --enum ALL
synonet --show
synodisk --enum
synospace --enum -a
重启索引
$ synoservicectl --restart synoindexd
检查升级
$ sudo synoupgrade --check
重启网络服务器
$ /usr/syno/sbin/synoservicecfg --restart httpd-user
/usr/syno/sbin/synoservicectl --restart pkgctl-WebStation
为您可以控制的内容生成列表
$ /usr/syno/sbin/synoservice --list
DSM API - 提供 DSM 信息
$ syno dsm getInfo --pretty
File Station API - 提供 File Station 信息
$ syno fs getInfo --pretty
File Station API - 枚举给定文件夹中的文件
$ syno fs listFiles --payload '{"folder_path":"/path/to/folder"}' --pretty
Download Station API - 列出下载任务
$ syno dl listFiles --payload '{"limit":5, "offset":10}' --pretty
Download Station API - 创建下载任务
$ syno dl createTask --payload '{"uri":"https://link"}'
Audio Station API - 搜索歌曲
$ syno as searchSong --payload '{"title":"my_title_song"}' --pretty
Video Station API - 列出电影
$ syno vs listMovies --payload '{"limit":5}' --pretty
Video Station DTV API - 列出频道
$ syno dtv listChannels --payload '{"limit":1}' --pretty
Surveillance Station API - 获取摄像机信息
$ syno ss getInfoCamera --payload '{"cameraIds":8}' --pretty
重启、启用、停止 samba
$ /usr/syno/etc/rc.sysv/S80samba.sh --help
获取 Synology 日期
$ synodate --getSysDate
打印机的东西
$ synoprint
更新索引较旧
$ indexfolder --type={SHARE_CREATE|SHARE_REMOVE} --share=<SHARED_FOLDER> --share_path=<SHARED_FOLDER>
启动媒体服务器
$ /usr/syno/bin/mediaserver.sh start
小心,杀死 NAS
$ servicetool --get-service-volume download
如果丢失,获取 2FA 密钥
$ ssh root@nas cat /usr/syno/etc/preference/wuseman/google_authenticator
以一种非常奇特的方式列出磁盘信息
$ dhm_tool -s
群晖自动封锁
将 IP 添加到自动阻止数据库:
$ synoautoblock --deny <ip-address>
重置错误添加的IP:
$ synoautoblock --reset <ip-address>
将任意 IP 添加到白名单:
$ synoautoblock --in-white-list <ip-address>
调试和系统健康:
调试粉丝并通过电子邮件发送结果(如果已设置电子邮件)
$ syno_fan_debug
运行系统运行状况检查并在完成后通过电子邮件发送结果:
$ syno_disk_health_record
检查~剩余寿命:
$ syno_disk_remain_life_check
运行 smartmontools 并在完成后发送电子邮件:
$ syno_disk_smart_mail_send
调试休眠:
$ syno_hibernation_debug
LED(获取最小值和最大值:/usr/syno/etc.defaults/led_brightness.xml)
获取当前设置:
$ syno_led_brightness --get (Default on DS416: 1985157252)
设置新设置:
$ syno_led_brightness --set <brightness>
带宽
打印用户带宽使用情况:
$ synobandwidth --status [<list=user|group|all(default)> <transfer=upload|download|all(default)>] <merge=0|1(default)>]
为用户设置新的带宽限制:
$ synobandwidth --set-global-conf <state=enabled|disabled> [<protocol=filestation|webdav|ftp|rsync|all(default)>
按用户打印所有服务的状态:
$ sh-4.3# synobandwidth --preview wuseman
Protocol Upload Download
filestation 0.00 0.00
webdav 0.00 0.00
ftp 0.00 0.00
rsync 0.00 0.00
ISCI
Synology iSCSI 性能分析器
$ synoiscsitop40
扇子
设置风扇配置(最响的听起来像飞机)
$ synofanconfig -parseXML 1000000
Reference
https://github.com/kwent/syno
https://www.imnks.com/2052.html
————————————————
发表评论