mirror of
https://github.com/kenzok8/small-package
synced 2025-01-09 08:59:26 +08:00
update 2022-10-18 20:28:10
This commit is contained in:
parent
d1b1b9f06a
commit
1f4919a892
@ -1,44 +1,21 @@
|
|||||||
#
|
|
||||||
# Copyright (C) 2020-2021 sirpdboy <herboy2008@gmail.com>
|
# Copyright (C) 2020-2021 sirpdboy <herboy2008@gmail.com>
|
||||||
# The LuCI Network diagnosis and speed test <https://github.com/sirpdboy/NetSpeedTest>
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v3.
|
# This is free software, licensed under the GNU General Public License v3.
|
||||||
#
|
#
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-netspeedtest
|
PKG_NAME:=luci-app-netspeedtest
|
||||||
PKG_VERSION:=1.7
|
|
||||||
PKG_RELEASE:=20220322
|
|
||||||
PKG_LICENSE:=GPLv2
|
|
||||||
PKG_MAINTAINER:=sirpdboy
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
LUCI_TITLE:=LuCI Support for netspeedtest
|
||||||
|
LUCI_DEPENDS:=+python3 +iperf3 +speedtest-web
|
||||||
|
LUCI_PKGARCH:=all
|
||||||
|
PKG_VERSION:=2.0.3
|
||||||
|
PKG_RELEASE:=20221018
|
||||||
|
PKG_MAINTAINER:=<https://github.com/sirpdboy/netspeedtest>
|
||||||
|
|
||||||
define Package/$(PKG_NAME)
|
include $(TOPDIR)/feeds/luci/luci.mk
|
||||||
SECTION:=luci
|
|
||||||
CATEGORY:=LuCI
|
|
||||||
SUBMENU:=3. Applications
|
|
||||||
TITLE:=LuCI Support for netspeedtest
|
|
||||||
DEPENDS:=+python3 +iperf3
|
|
||||||
PKGARCH:=all
|
|
||||||
endef
|
|
||||||
|
|
||||||
|
|
||||||
define Build/Compile
|
# call BuildPackage - OpenWrt buildroot signature
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/$(PKG_NAME)/conffiles
|
|
||||||
/etc/config/netspeedtest
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/$(PKG_NAME)/install
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/lua/luci
|
|
||||||
cp -pR ./luasrc/* $(1)/usr/lib/lua/luci
|
|
||||||
$(INSTALL_DIR) $(1)/
|
|
||||||
cp -pR ./root/* $(1)/
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n
|
|
||||||
po2lmo ./po/zh-cn/netspeedtest.po $(1)/usr/lib/lua/luci/i18n/netspeedtest.zh-cn.lmo
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,$(PKG_NAME)))
|
|
||||||
|
|
||||||
|
@ -1,121 +1,151 @@
|
|||||||
[![若部分图片无法正常显示,请挂上机场浏览或点这里到末尾看修复教程](https://visitor-badge.glitch.me/badge?page_id=sirpdboy-visitor-badge)](#解决-github-网页上图片显示失败的问题) [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
## luci-app-netspeedtest
|
||||||
<a href="#readme">
|
|
||||||
<img src="https://img.vim-cn.com/a1/8713845a4aa922ac96619b0d2fb3d6919d37fc.png" alt="图飞了😂" title="NetSpeedTest" align="right" height="180" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
欢迎来到sirpdboy的源码仓库!
|
### 访问数:[![](https://visitor-badge.glitch.me/badge?page_id=sirpdboy-visitor-badge)] [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
||||||
=
|
|
||||||
Welcome to sirpdboy's git source of packages
|
|
||||||
-
|
|
||||||
[luci-app-NetSpeedTest — 网络速度测试1.7完整版](https://github.com/sirpdboy/NetSpeedTest)
|
|
||||||
======================
|
|
||||||
|
|
||||||
[![](https://img.shields.io/badge/-目录:-696969.svg)](#readme) [![](https://img.shields.io/badge/-写在前面-F5F5F5.svg)](#写在前面-) [![](https://img.shields.io/badge/-编译说明-F5F5F5.svg)](#编译说明-) [![](https://img.shields.io/badge/-说明-F5F5F5.svg)](#说明-) [![](https://img.shields.io/badge/-捐助-F5F5F5.svg)](#捐助-)
|
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明1.jpg)
|
||||||
|
|
||||||
|
luci-app-netspeedtest 网络速度诊断测试(包括:内网网页版测速、内网iperf3吞吐测速、外网speedtest.net网速测试、特定服务器的端口延迟测速)
|
||||||
|
|
||||||
|
[luci-app-netspeedtest 网络速度诊断测试](https://github.com/sirpdboy/netspeedtest)
|
||||||
|
|
||||||
请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。
|
请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。
|
||||||
|
|
||||||
a new NetSpeedTest luci app bese luci-app-NetSpeedTest
|
## 写在前面
|
||||||
-
|
|
||||||
|
|
||||||
## 写在前面:[![](https://img.shields.io/badge/-写在前面-F5F5F5.svg)](#写在前面-)
|
- 一直在找OPENWRT上测试速度的插件,苦寻不到,于是有了它! 此插件可进行内外和外网网络速度测试。
|
||||||
|
- TG群友说插件2年没更新了,花了几天时间结合时下需要,将网络测试功能升级到2.0版本。
|
||||||
|
|
||||||
一直在找OPENWRT上测试速度的插件,苦寻不到,于是有了它!
|
<!-- TOC -->
|
||||||
此插件可进行内外和外网网络速度测试。
|
|
||||||
|
|
||||||
1.内网测速基于iperf3 插件,服务端路由器如果没有安装请先安装此ipk插件。
|
## [菜单向导](#luci-app-netspeedtest)
|
||||||
|
- [功能说明](#功能说明)
|
||||||
|
- [注意事项](#iperf3吞吐测试注意事项)
|
||||||
|
- [版本说明](#版本说明)
|
||||||
|
- [使用方法](#使用方法)
|
||||||
|
- [源码说明](#源码说明)
|
||||||
|
- [界面](#界面)
|
||||||
|
- [其它](#其它)
|
||||||
|
- [感谢](#感谢)
|
||||||
|
- [捐助](#捐助)
|
||||||
|
|
||||||
|
<!-- /TOC -->
|
||||||
|
|
||||||
2.测速的终端使用机器必须和测速服务器在同一个局域网络中!
|
## 功能说明
|
||||||
|
- 内网网页版测速插件 :基于speedtest-web网页版,启用后再点start进行测速。网页版启动后程序会驻留内存不测速建议不启用服务。
|
||||||
|
- 内网iperf3吞吐测试 ,服务端路由器如果没有安装请先安装此iperf3插件。
|
||||||
|
- 外网测速使用speedtest.net测速内核,基于speedtest-cli,需要有python3才能执行。
|
||||||
|
- 特定服务器的端口延迟测速,是测试指定服务器的端口的延迟情况。
|
||||||
|
|
||||||
3.客户端使用步骤:
|
## iperf3吞吐测试注意事项
|
||||||
启动测速服务器端-->下载测试客户端-->运行测速客户端-->输入服务端IP地址-->查看结果。
|
- 测速的终端使用机器必须和测速服务器在同一个局域网络中!
|
||||||
|
- 客户端使用步骤:启动测速服务器端-->下载测试客户端-->运行测速客户端-->输入服务端IP地址-->查看结果。
|
||||||
5.客户端运行,国内端下载中有“iperf3测速客户端”,运行它输入服务器IP即可。
|
- 客户端运行,国内端下载中有“iperf3测速客户端”,运行它输入服务器IP即可。
|
||||||
国外原版,需要手动进入 CMD命令模式,再输入命令:iperf3.exe -c 服务器IP
|
国外原版,需要手动进入 CMD命令模式,再输入命令:iperf3.exe -c 服务器IP
|
||||||
|
- 网络测速iperf3客户端下载地址:https://sipdboy.lanzoui.com/b01c3esih 密码:cpd6
|
||||||
|
- 需要依赖: python3 iperf3 speedtest-web
|
||||||
|
|
||||||
6.网络测速iperf3客户端下载地址:https://sipdboy.lanzoui.com/b01c3esih 密码:cpd6
|
## 版本说明
|
||||||
|
|
||||||
8.外网测速使用speedtest.net测速内核,需要依赖speedtest,另外感谢superspeed和user1121114685因为借用了你们的灵感!
|
### 2022.10.18 网速测试V2.0.2:
|
||||||
|
- 代码基本重写和优化。
|
||||||
|
- Iperf3可实时体现服务状态。
|
||||||
|
- 增加内网测试网页版。
|
||||||
|
- 外网测速,加入更详细测试报告。
|
||||||
|
|
||||||
|
### 2021.3.2 网速测试V1.6:
|
||||||
|
- 升级宽带测试带2.13内核。
|
||||||
|
- 解决1.806以上版本不能编译问题。
|
||||||
|
|
||||||
|
## 使用方法
|
||||||
|
|
||||||
9.外网测速最后测试阶段感谢佐大:佐须之男 测试查问题!
|
将NetSpeedTest 主题添加至 LEDE/OpenWRT 源码的方法。
|
||||||
|
|
||||||
10.新插件难免有bug 请不要大惊小怪。欢迎提交bug。
|
### 下载源码方法一:
|
||||||
|
- 编辑源码文件夹根目录feeds.conf.default并加入如下内容:
|
||||||
## 编译说明 [![](https://img.shields.io/badge/-编译说明-F5F5F5.svg)](#编译说明-)
|
|
||||||
|
|
||||||
将NetSpeedTest 主题添加至 LEDE/OpenWRT 源码的方法。
|
|
||||||
|
|
||||||
## 下载源码方法一:
|
|
||||||
编辑源码文件夹根目录feeds.conf.default并加入如下内容:
|
|
||||||
|
|
||||||
```Brach
|
```Brach
|
||||||
|
|
||||||
# feeds获取源码:
|
# feeds获取源码:
|
||||||
src-git NetSpeedTest https://github.com/sirpdboy/NetSpeedTest
|
|
||||||
|
src-git netspeedtest https://github.com/sirpdboy/netspeedtest
|
||||||
```
|
```
|
||||||
```Brach
|
```Brach
|
||||||
|
|
||||||
# 更新feeds,并安装主题:
|
# 更新feeds,并安装主题:
|
||||||
scripts/feeds update NetSpeedTest
|
|
||||||
scripts/feeds install luci-app-NetSpeedTest
|
scripts/feeds update netspeedtest
|
||||||
|
scripts/feeds install netspeedtest
|
||||||
```
|
```
|
||||||
|
|
||||||
## 下载源码方法二:
|
### 下载源码方法二:
|
||||||
|
|
||||||
```Brach
|
```Brach
|
||||||
|
|
||||||
# 下载源码
|
# 下载源码
|
||||||
|
|
||||||
git clone https://github.com/sirpdboy/NetSpeedTest package/NetSpeedTest
|
git clone https://github.com/sirpdboy/netspeedtest.git package/netspeedtest
|
||||||
|
|
||||||
make menuconfig
|
make menuconfig
|
||||||
|
|
||||||
```
|
```
|
||||||
## 配置菜单
|
### 配置菜单
|
||||||
|
|
||||||
```Brach
|
```Brach
|
||||||
make menuconfig
|
make menuconfig
|
||||||
# 找到 LuCI -> Applications, 选择 luci-app-NetSpeedTest, 保存后退出。
|
# 找到 LuCI -> Applications, 选择 luci-app-netspeedtest, 保存后退出。
|
||||||
```
|
```
|
||||||
## 编译
|
|
||||||
|
### 编译
|
||||||
|
|
||||||
```Brach
|
```Brach
|
||||||
# 编译固件
|
# 编译固件
|
||||||
make package/NetSpeedTest/luci-app-NetSpeedTest/{clean,compile} V=s
|
make package/netspeedtest/luci-app-netspeedtest/compile V=s
|
||||||
```
|
```
|
||||||
|
|
||||||
## 说明 [![](https://img.shields.io/badge/-说明-F5F5F5.svg)](#说明-)
|
|
||||||
|
|
||||||
源码来源:https://github.com/sirpdboy/NetSpeedTest/luci-app-NetSpeedTest
|
|
||||||
|
|
||||||
|
|
||||||
你可以随意使用其中的源码,但请注明出处。
|
## 源码说明
|
||||||
============================
|
|
||||||
|
|
||||||
# My other project
|
- 源码来源和依赖:
|
||||||
网络速度测试 :https://github.com/sirpdboy/NetSpeedTest
|
- luci-app-netspeedtest:https://github.com/sirpdboy/netspeedtest
|
||||||
|
- speedtest-web:https://github.com/ZeaKyX/speedtest-web
|
||||||
|
- speedtest-cl:https://github.com/sivel/speedtest-cli
|
||||||
|
|
||||||
定时关机重启 : https://github.com/sirpdboy/luci-app-autopoweroff
|
- 你可以随意使用其中的源码,但请注明出处。
|
||||||
|
|
||||||
关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice
|
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明2.jpg)
|
||||||
|
|
||||||
opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd
|
## 界面
|
||||||
|
|
||||||
opentoks 主题: https://github.com/sirpdboy/luci-theme-opentoks [仿KOOLSAHRE主题]
|
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest1.jpg)
|
||||||
|
|
||||||
btmob 主题: https://github.com/sirpdboy/luci-theme-btmob
|
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest2.jpg)
|
||||||
|
|
||||||
系统高级设置 : https://github.com/sirpdboy/luci-app-advanced
|
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest3.jpg)
|
||||||
|
|
||||||
## 捐助 [![](https://img.shields.io/badge/-捐助-F5F5F5.svg)](#捐助-)
|
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest4.jpg)
|
||||||
|
|
||||||
**如果你觉得此项目对你有帮助,请捐助我们,以使项目能持续发展,更加完善。··请作者喝杯咖啡~~~**
|
|
||||||
|
|
||||||
**你们的支持就是我的动力!**
|
## 其它
|
||||||
|
- 我的其它项目:
|
||||||
|
- 网络速度测试 :https://github.com/sirpdboy/NetSpeedTest
|
||||||
|
- 定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset
|
||||||
|
- 关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice
|
||||||
|
- btmob 主题: https://github.com/sirpdboy/luci-theme-btmob
|
||||||
|
- 系统高级设置 : https://github.com/sirpdboy/luci-app-advanced
|
||||||
|
- ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go
|
||||||
|
- Lucky(大吉): https://github.com/sirpdboy/luci-app-lucky
|
||||||
|
|
||||||
### 捐助方式
|
## 感谢
|
||||||
|
|
||||||
|
感谢superspeed、user1121114685、ZeaKyX、佐须之男、lean等。因为有你们珠玉在前!
|
||||||
|
|
||||||
|
## 捐助
|
||||||
|
|
||||||
|
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明3.jpg)
|
||||||
|
|
||||||
| <img src="https://img.shields.io/badge/-支付宝-F5F5F5.svg" href="#赞助支持本项目-" height="25" alt="图飞了😂"/> | <img src="https://img.shields.io/badge/-微信-F5F5F5.svg" height="25" alt="图飞了😂" href="#赞助支持本项目-"/> |
|
| <img src="https://img.shields.io/badge/-支付宝-F5F5F5.svg" href="#赞助支持本项目-" height="25" alt="图飞了😂"/> | <img src="https://img.shields.io/badge/-微信-F5F5F5.svg" height="25" alt="图飞了😂" href="#赞助支持本项目-"/> |
|
||||||
| :-----------------: | :-------------: |
|
| :-----------------: | :-------------: |
|
||||||
|<img src="https://img.vim-cn.com/fd/8e2793362ac3510094961b04407beec569b2b4.png" width="150" height="150" alt="图飞了😂" href="#赞助支持本项目-"/>|<img src="https://img.vim-cn.com/c7/675730a88accebf37a97d9e84e33529322b6e9.png" width="150" height="150" alt="图飞了😂" href="#赞助支持本项目-"/>|
|
|![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/支付宝.png) | ![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/微信.png) |
|
||||||
|
|
||||||
<a href="#readme">
|
<a href="#readme">
|
||||||
<img src="https://img.shields.io/badge/-返回顶部-orange.svg" alt="图飞了😂" title="返回顶部" align="right"/>
|
<img src="https://img.shields.io/badge/-返回顶部-orange.svg" alt="图飞了😂" title="返回顶部" align="right"/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
###### [解决 Github 网页上图片显示失败的问题](https://blog.csdn.net/qq_38232598/article/details/91346392)
|
|
||||||
|
|
||||||
[![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
|
||||||
|
|
||||||
|
@ -1,31 +1,42 @@
|
|||||||
|
-- Copyright (C) 2020-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/netspeedtest
|
||||||
|
|
||||||
module("luci.controller.netspeedtest", package.seeall)
|
module("luci.controller.netspeedtest", package.seeall)
|
||||||
|
local fs=require"nixio.fs"
|
||||||
function index()
|
function index()
|
||||||
|
entry({"admin","network","netspeedtest"},alias("admin", "network", "netspeedtest", "speedtestweb"),_("Net Speedtest"), 90).dependent = true
|
||||||
|
entry({"admin","network","netspeedtest","speedtestweb"},cbi("netspeedtest/speedtestweb"),_("Lan Speedtest Web"),20).leaf = true
|
||||||
|
entry({"admin","network","netspeedtest","speedtestiperf3"},cbi("netspeedtest/speedtestiperf3", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Lan Speedtest Iperf3"),30).leaf = true
|
||||||
|
entry({"admin","network","netspeedtest","speedtestwan"},cbi("netspeedtest/speedtestwan", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Wan Speedtest"), 40).leaf = true
|
||||||
|
|
||||||
entry({"admin","network","netspeedtest"},cbi("netspeedtest/netspeedtest", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Netspeedtest"),90).dependent=true
|
entry({"admin", "network", "netspeedtest", "checknet"}, call("check_net"))
|
||||||
|
|
||||||
|
entry({"admin", "network", "speedtestweb_status"}, call("speedtestweb_status"))
|
||||||
|
entry({"admin", "network", "iperf3_status"}, call("iperf3_status"))
|
||||||
|
|
||||||
entry({"admin", "network", "netspeedtest", "status"}, call("act_status")).leaf = true
|
|
||||||
entry({"admin", "network","test_iperf0"}, post("test_iperf0"), nil).leaf = true
|
entry({"admin", "network","test_iperf0"}, post("test_iperf0"), nil).leaf = true
|
||||||
|
|
||||||
entry({"admin", "network","test_iperf1"}, post("test_iperf1"), nil).leaf = true
|
entry({"admin", "network","test_iperf1"}, post("test_iperf1"), nil).leaf = true
|
||||||
|
|
||||||
entry({"admin","network","netspeedtest", "run"}, call("run"))
|
--entry({"admin","network","netspeedtest", "wanrun"}, post("wanrun"), nil).leaf = true
|
||||||
|
entry({"admin","network","netspeedtest", "wanrun"}, call("wanrun"))
|
||||||
entry({"admin", "network", "netspeedtest", "realtime_log"}, call("get_log"))
|
entry({"admin", "network", "netspeedtest", "realtime_log"}, call("get_log"))
|
||||||
|
entry({"admin", "network", "netspeedtest", "dellog"},call("dellog"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function speedtestweb_status()
|
||||||
function act_status()
|
|
||||||
local e={}
|
local e={}
|
||||||
e.status=luci.sys.call("pgrep iperf3 >/dev/null")==0
|
e.run=luci.sys.call("pgrep speedtest-web >/dev/null")==0
|
||||||
luci.http.prepare_content("application/json")
|
luci.http.prepare_content("application/json")
|
||||||
luci.http.write_json(e)
|
luci.http.write_json(e)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function iperf3_status()
|
||||||
|
local e={}
|
||||||
|
e.run=luci.sys.call("pgrep iperf3 >/dev/null")==0
|
||||||
|
luci.http.prepare_content("application/json")
|
||||||
|
luci.http.write_json(e)
|
||||||
|
end
|
||||||
|
|
||||||
function testlan(cmd, addr)
|
function testout(cmd, addr)
|
||||||
luci.http.prepare_content("text/plain")
|
luci.http.prepare_content("text/plain")
|
||||||
local util = io.popen(cmd)
|
local util = io.popen(cmd)
|
||||||
if util then
|
if util then
|
||||||
@ -40,29 +51,20 @@ function testlan(cmd, addr)
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function testwan(cmd)
|
|
||||||
local util = io.popen(cmd)
|
|
||||||
util:close()
|
|
||||||
end
|
|
||||||
|
|
||||||
function test_iperf0(addr)
|
function test_iperf0(addr)
|
||||||
local netease
|
luci.sys.call("pgrep -f unblockneteasemusic | xargs kill -9 >/dev/null 2>&1 ")
|
||||||
netease= luci.sys.call("ps |grep unblockneteasemusic |grep app.js |grep -v grep >/dev/null") == 0
|
luci.sys.call("/etc/init.d/unblockneteasemusic stop ")
|
||||||
if netease then
|
luci.sys.call("/etc/init.d/unblockmusic stop ")
|
||||||
luci.sys.call("/etc/init.d/unblockneteasemusic stop ")
|
testout("iperf3 -s ", addr)
|
||||||
luci.sys.call("/etc/init.d/unblockmusic stop ")
|
|
||||||
end
|
|
||||||
testlan("iperf3 -s ", addr)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_iperf1(addr)
|
function test_iperf1(addr)
|
||||||
luci.sys.call("killall iperf3")
|
luci.sys.call("pgrep -f iperf3 | xargs kill -9 >/dev/null 2>&1 ")
|
||||||
luci.sys.call("/etc/init.d/unblockneteasemusic restart ")
|
luci.sys.call("/etc/init.d/unblockneteasemusic restart")
|
||||||
luci.sys.call("/etc/init.d/unblockmusic restart ")
|
luci.sys.call("/etc/init.d/unblockmusic restart")
|
||||||
end
|
end
|
||||||
|
|
||||||
function get_log()
|
function get_log()
|
||||||
local fs = require "nixio.fs"
|
|
||||||
local e = {}
|
local e = {}
|
||||||
e.running = luci.sys.call("busybox ps -w | grep netspeedtest | grep -v grep >/dev/null") == 0
|
e.running = luci.sys.call("busybox ps -w | grep netspeedtest | grep -v grep >/dev/null") == 0
|
||||||
e.log = fs.readfile("/var/log/netspeedtest.log") or ""
|
e.log = fs.readfile("/var/log/netspeedtest.log") or ""
|
||||||
@ -70,7 +72,13 @@ function get_log()
|
|||||||
luci.http.write_json(e)
|
luci.http.write_json(e)
|
||||||
end
|
end
|
||||||
|
|
||||||
function run()
|
function dellog()
|
||||||
testwan("/etc/init.d/netspeedtest nstest ")
|
fs.writefile("/var/log/netspeedtest.log","")
|
||||||
luci.http.redirect(luci.dispatcher.build_url("admin","network","netspeedtest"))
|
http.prepare_content("application/json")
|
||||||
|
http.write('')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function wanrun()
|
||||||
|
testout("/etc/init.d/netspeedtest nstest ")
|
||||||
|
end
|
||||||
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
-- Copyright 2018 sirpdboy (herboy2008@gmail.com)
|
|
||||||
require("luci.util")
|
|
||||||
local o,t,e
|
|
||||||
|
|
||||||
if luci.sys.call("pidof iperf3 >/dev/null") == 0 then
|
|
||||||
status = translate("<strong><font color=\"green\">iperf3 服务端运行中</font></strong>")
|
|
||||||
else
|
|
||||||
status = translate("<strong><font color=\"red\">iperf3 服务端未启动</font></strong>")
|
|
||||||
end
|
|
||||||
|
|
||||||
o = Map("netspeedtest", "<font color='green'>" .. translate("Netspeedtest") .."</font>",translate( "Network speed diagnosis test (including intranet and extranet)<br/>For specific usage, see:") ..translate("<a href=\'https://github.com/sirpdboy/netspeedtest.git' target=\'_blank\'>GitHub @netspeedtest/luci-app-netspeedtest</a>") )
|
|
||||||
|
|
||||||
t = o:section(TypedSection, "netspeedtest", translate('iperf3 lanspeedtest'))
|
|
||||||
t.anonymous = true
|
|
||||||
t.description = translate(string.format("%s<br />", status))
|
|
||||||
|
|
||||||
e = t:option(DummyValue, '', '')
|
|
||||||
e.rawhtml = true
|
|
||||||
e.template ='netspeedtest/netspeedtest'
|
|
||||||
|
|
||||||
|
|
||||||
t=o:section(TypedSection,"netspeedtest",translate("wanspeedtest"))
|
|
||||||
t.anonymous=true
|
|
||||||
e = t:option(DummyValue, '', '')
|
|
||||||
e.rawhtml = true
|
|
||||||
e.template ='netspeedtest/speedtest'
|
|
||||||
|
|
||||||
e =t:option(DummyValue, '', '')
|
|
||||||
e.rawhtml = true
|
|
||||||
e.template = 'netspeedtest/log'
|
|
||||||
|
|
||||||
return o
|
|
@ -0,0 +1,18 @@
|
|||||||
|
-- Copyright (C) 2020-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/netspeedtest
|
||||||
|
require("luci.util")
|
||||||
|
local o,s,e
|
||||||
|
|
||||||
|
|
||||||
|
o = Map("netspeedtest", "<font color='green'>" .. translate("Net Speedtest") .."</font>",translate( "Network speed diagnosis test (including intranet and extranet)<br/>For specific usage, see:") ..translate("<a href=\'https://github.com/sirpdboy/netspeedtest.git' target=\'_blank\'>GitHub @sirpdboy/netspeedtest</a>") )
|
||||||
|
o:section(SimpleSection).template = "netspeedtest/speedtestiperf3_status"
|
||||||
|
|
||||||
|
s = o:section(TypedSection, "speedtestiperf3", translate('Lan Speedtest Iperf3'))
|
||||||
|
s.addremove=false
|
||||||
|
s.anonymous=true
|
||||||
|
|
||||||
|
e = s:option(DummyValue, '', '')
|
||||||
|
e.rawhtml = true
|
||||||
|
e.template ='netspeedtest/speedtestiperf3'
|
||||||
|
|
||||||
|
|
||||||
|
return o
|
@ -0,0 +1,18 @@
|
|||||||
|
-- Copyright (C) 2020-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/netspeedtest
|
||||||
|
require("luci.util")
|
||||||
|
local o,t,e
|
||||||
|
|
||||||
|
o = Map("netspeedtest", "<font color='green'>" .. translate("Net Speedtest") .."</font>",translate( "Network speed diagnosis test (including intranet and extranet)<br/>For specific usage, see:") ..translate("<a href=\'https://github.com/sirpdboy/netspeedtest.git' target=\'_blank\'>GitHub @sirpdboy/netspeedtest</a>") )
|
||||||
|
|
||||||
|
t=o:section(TypedSection,"wanspeedtest",translate("Wan Speedtest"))
|
||||||
|
t.anonymous=true
|
||||||
|
|
||||||
|
e = t:option(DummyValue, '', '')
|
||||||
|
e.rawhtml = true
|
||||||
|
e.template ='netspeedtest/speedtestwan'
|
||||||
|
|
||||||
|
e =t:option(DummyValue, '', '')
|
||||||
|
e.rawhtml = true
|
||||||
|
e.template = 'netspeedtest/log'
|
||||||
|
|
||||||
|
return o
|
@ -0,0 +1,24 @@
|
|||||||
|
-- Copyright (C) 2020-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/netspeedtest
|
||||||
|
|
||||||
|
local m, s ,o
|
||||||
|
|
||||||
|
|
||||||
|
m = Map("netspeedtest", "<font color='green'>" .. translate("Net Speedtest") .."</font>",translate( "Network speed diagnosis test (including intranet and extranet)<br/>For specific usage, see:") ..translate("<a href=\'https://github.com/sirpdboy/netspeedtest.git' target=\'_blank\'>GitHub @sirpdboy/netspeedtest</a>") )
|
||||||
|
-- m:section(SimpleSection).template = "netspeedtest/speedtestweb_status"
|
||||||
|
|
||||||
|
s = m:section(TypedSection, "speedtestweb", translate('Lan Speedtest Web'))
|
||||||
|
s.addremove=false
|
||||||
|
s.anonymous=true
|
||||||
|
|
||||||
|
o=s:option(Flag,"enabled",translate("Enable"))
|
||||||
|
o.default=0
|
||||||
|
|
||||||
|
o = s:option(DummyValue, '', '')
|
||||||
|
o.rawhtml = true
|
||||||
|
o.template ='netspeedtest/speedtestweb'
|
||||||
|
|
||||||
|
local o=luci.http.formvalue("cbi.apply")
|
||||||
|
if o then
|
||||||
|
io.popen("/etc/init.d/netspeedtest start")
|
||||||
|
end
|
||||||
|
return m
|
@ -1,11 +1,11 @@
|
|||||||
<%+cbi/valueheader%>
|
<%+cbi/valueheader%>
|
||||||
<textarea id="logview" class="cbi-input-textarea" style="width: 100%" rows="10" readonly="readonly"></textarea>
|
<textarea id="logview.list" class="cbi-input-textarea" style="width: 100%" rows="20" readonly="readonly"></textarea>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
const LOG_URL = '<%=luci.dispatcher.build_url("admin", "network", "netspeedtest","realtime_log")%>';
|
const LOG_URL = '<%=luci.dispatcher.build_url("admin", "network", "netspeedtest","realtime_log")%>';
|
||||||
|
|
||||||
XHR.poll(1, LOG_URL, null, (x, d) => {
|
XHR.poll(1, LOG_URL, null, (x, d) => {
|
||||||
let logview = document.getElementById("logview");
|
let logview = document.getElementById("logview.list");
|
||||||
if (!d.running) {
|
if (!d.running) {
|
||||||
XHR.halt();
|
XHR.halt();
|
||||||
}
|
}
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
<%+cbi/valueheader%>
|
|
||||||
<label class="cbi-value-title"> </label>
|
|
||||||
<div class="cbi-value-field">
|
|
||||||
<input class="cbi-button cbi-button-apply" id="update_service" type="button" size="0" onclick="run()" value="<%= translate('Perform wanspeedtest') %>" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
const RUN_URL = '<%=luci.dispatcher.build_url("admin", "network", "netspeedtest","run")%>';
|
|
||||||
const S_URL = '<%=luci.dispatcher.build_url("admin", "network", "netspeedtest")%>';
|
|
||||||
|
|
||||||
|
|
||||||
function run() {
|
|
||||||
var legend = document.getElementById('test-rc-legend');
|
|
||||||
var output = document.getElementById('test-rc-output');
|
|
||||||
output.innerHTML =
|
|
||||||
'<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' +
|
|
||||||
'<%:Network speed test, please wait for 1 minutes%>'
|
|
||||||
;
|
|
||||||
|
|
||||||
legend.parentNode.style.display = 'block';
|
|
||||||
legend.style.display = 'inline';
|
|
||||||
XHR.get(RUN_URL, null, () => {
|
|
||||||
setTimeout(() => { window.location = S_URL }, 3000);
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<%+cbi/valuefooter%>
|
|
@ -1,21 +1,22 @@
|
|||||||
|
<%#
|
||||||
<%
|
Copyright 2020-2022 sirpdboy Wich <sirpdboy@qq.com>
|
||||||
local fs = require "nixio.fs"
|
https://github.com/sirpdboy/netspeedtest
|
||||||
|
Licensed to the public under the Apache License 2.0.
|
||||||
%>
|
-%>
|
||||||
|
|
||||||
<script type="text/javascript" src="<%=resource%>/cbi.js?v=1.1"></script>
|
<script type="text/javascript" src="<%=resource%>/cbi.js?v=1.1"></script>
|
||||||
|
<%+cbi/valueheader%>
|
||||||
<script type="text/javascript">//<![CDATA[
|
<script type="text/javascript">//<![CDATA[
|
||||||
var stxhr = new XHR();
|
|
||||||
|
|
||||||
|
var stxhr = new XHR();
|
||||||
function update_status(field, proto)
|
function update_status(field, proto)
|
||||||
{
|
{
|
||||||
var tool = field.name;
|
var tool = field.name;
|
||||||
var addr = field.value;
|
var addr = field.value;
|
||||||
var protocol = proto ;
|
var protocol = proto ;
|
||||||
|
|
||||||
var legend = document.getElementById('test-rc-legend');
|
var legend = document.getElementById('test-iperf-legend');
|
||||||
var output = document.getElementById('test-rc-output');
|
var output = document.getElementById('test-iperf-output');
|
||||||
if (legend && output)
|
if (legend && output)
|
||||||
{
|
{
|
||||||
output.innerHTML =
|
output.innerHTML =
|
||||||
@ -33,13 +34,11 @@ local fs = require "nixio.fs"
|
|||||||
{
|
{
|
||||||
legend.style.display = 'none';
|
legend.style.display = 'none';
|
||||||
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
|
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
legend.style.display = 'none';
|
legend.style.display = 'none';
|
||||||
output.innerHTML ='</p><%:Operation execution complete%></p>';
|
output.innerHTML ='</p> <%:Operation execution complete%></p>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,9 +49,7 @@ local fs = require "nixio.fs"
|
|||||||
//]]></script>
|
//]]></script>
|
||||||
|
|
||||||
<form method="post" action="<%=url('admin/network/netspeedtest')%>">
|
<form method="post" action="<%=url('admin/network/netspeedtest')%>">
|
||||||
<div style="width:100%; float:left">
|
|
||||||
<table>
|
<table>
|
||||||
|
|
||||||
<tr><td class="cbi-value-title" ><input style="margin: 5px 0" type="hidden" value="" name="iperf" />
|
<tr><td class="cbi-value-title" ><input style="margin: 5px 0" type="hidden" value="" name="iperf" />
|
||||||
<select name="iperf_to" style="width:auto">
|
<select name="iperf_to" style="width:auto">
|
||||||
<option value="0" selected="selected"><%:iperfstart%></option>
|
<option value="0" selected="selected"><%:iperfstart%></option>
|
||||||
@ -70,15 +67,13 @@ local fs = require "nixio.fs"
|
|||||||
<input type="button" class="cbi-button cbi-input-reload" value="<%:Domestic download password:%>cpd6" onclick="javascript:window.open('https://sipdboy.lanzoui.com/b01c3esih','target');" />
|
<input type="button" class="cbi-button cbi-input-reload" value="<%:Domestic download password:%>cpd6" onclick="javascript:window.open('https://sipdboy.lanzoui.com/b01c3esih','target');" />
|
||||||
<input type="button" class="cbi-button cbi-input-reload" value="<%:Download from foreign official websites%>" onclick="javascript:window.open('https://iperf.fr/iperf-download.php','target');" /></td>
|
<input type="button" class="cbi-button cbi-input-reload" value="<%:Download from foreign official websites%>" onclick="javascript:window.open('https://iperf.fr/iperf-download.php','target');" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
<fieldset class="cbi-section" style="display:none">
|
<fieldset class="cbi-section" style="display:none">
|
||||||
<legend id="test-rc-legend">
|
<legend id="test-iperf-legend">
|
||||||
<%:Collecting data...%>
|
<%:Collecting data...%>
|
||||||
</legend>
|
</legend>
|
||||||
<span id="test-rc-output"></span>
|
<span id="test-iperf-output"></span>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<%+cbi/valuefooter%>
|
@ -0,0 +1,27 @@
|
|||||||
|
<script type="text/javascript">//<![CDATA[
|
||||||
|
XHR.poll(3, '<%=url([[admin]], [[network]], [[iperf3_status]])%>', null,
|
||||||
|
function(x, data) {
|
||||||
|
var tb = document.getElementById('iperf3_status');
|
||||||
|
if (data && tb)
|
||||||
|
{
|
||||||
|
if (data.run)
|
||||||
|
{
|
||||||
|
tb.innerHTML = '<br/><em style=\"color:green\"><%:The Iperf3 service is running.%></em>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tb.innerHTML = '<br/><em style=\"color:red\"><%:The Iperf3 service is not running.%></em>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
//]]></script>
|
||||||
|
|
||||||
|
|
||||||
|
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
|
||||||
|
<fieldset class="cbi-section">
|
||||||
|
<legend><%:Iperf3 Status%></legend>
|
||||||
|
<p id="iperf3_status">
|
||||||
|
<em><%:Collecting data...%></em>
|
||||||
|
</p>
|
||||||
|
</fieldset>
|
@ -0,0 +1,51 @@
|
|||||||
|
<%#
|
||||||
|
Copyright 2020-2022 sirpdboy Wich <sirpdboy@qq.com>
|
||||||
|
https://github.com/sirpdboy/netspeedtest
|
||||||
|
Licensed to the public under the Apache License 2.0.
|
||||||
|
-%>
|
||||||
|
<%+cbi/valueheader%>
|
||||||
|
|
||||||
|
<input class="cbi-button cbi-button-apply" id="update_service" type="button" onclick="run()" value="<%= translate('Perform WanSpeedtest') %>" />
|
||||||
|
|
||||||
|
<fieldset class="cbi-section" style="display:none">
|
||||||
|
<legend id="wanspeedtest-legend">
|
||||||
|
<%:Collecting data...%>
|
||||||
|
</legend>
|
||||||
|
<span id="wanspeedtest-output"></span>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
const RUN_URL = '<%=luci.dispatcher.build_url("admin", "network", "netspeedtest","wanrun")%>';
|
||||||
|
function run(s) {
|
||||||
|
var legend = document.getElementById('wanspeedtest-legend');
|
||||||
|
var output = document.getElementById('wanspeedtest-output');
|
||||||
|
output.innerHTML =
|
||||||
|
'<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' +
|
||||||
|
'<%:Network speed test, please wait...%>'
|
||||||
|
;
|
||||||
|
legend.parentNode.style.display = 'block';
|
||||||
|
legend.style.display = 'inline';
|
||||||
|
XHR.get(RUN_URL, null,
|
||||||
|
|
||||||
|
function(x)
|
||||||
|
{
|
||||||
|
if (x.responseText)
|
||||||
|
{
|
||||||
|
legend.style.display = 'none';
|
||||||
|
output.innerHTML = String.format('<img src=%h height="300" style="vertical-align:middle" />', x.responseText);
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
legend.style.display = 'none';
|
||||||
|
output.innerHTML ='</p><%:Operation execution complete%></p>';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<%+cbi/valuefooter%>
|
@ -0,0 +1,18 @@
|
|||||||
|
<%#
|
||||||
|
Copyright 2020-2022 sirpdboy Wich <sirpdboy@qq.com>
|
||||||
|
https://github.com/sirpdboy/netspeedtest
|
||||||
|
Licensed to the public under the Apache License 2.0.
|
||||||
|
-%>
|
||||||
|
|
||||||
|
<%+cbi/valueheader%>
|
||||||
|
<div class="cbi-map">
|
||||||
|
<iframe id="speedtest-web" style="width: 90%; min-height: 500px; border: none; border-radius: 3px;"></iframe>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.getElementById("speedtest-web").src = window.location.protocol + "//" + window.location.hostname + ":8989";
|
||||||
|
document.getElementById("speedtest-web").height = document.documentElement.clientHeight;
|
||||||
|
window.onresize = function(){
|
||||||
|
document.getElementById("speedtest-web").height = document.documentElement.clientHeight;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<%+cbi/valuefooter%>
|
@ -0,0 +1,28 @@
|
|||||||
|
<script type="text/javascript">//<![CDATA[
|
||||||
|
XHR.poll(3, '<%=url([[admin]], [[network]], [[speedtestweb_status]])%>', null,
|
||||||
|
function(x, data) {
|
||||||
|
var tb = document.getElementById('speedtestweb_status');
|
||||||
|
if (data && tb)
|
||||||
|
{
|
||||||
|
if (data.run)
|
||||||
|
{
|
||||||
|
tb.innerHTML = '<br/><em style=\"color:green\"><%:The Speedtestweb service is running.%></em>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tb.innerHTML = '<br/><em style=\"color:red\"><%:The Speedtestweb service is not running.%></em>';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
//]]></script>
|
||||||
|
|
||||||
|
|
||||||
|
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
|
||||||
|
<fieldset class="cbi-section">
|
||||||
|
<legend><%:Speedtestweb Status%></legend>
|
||||||
|
<p id="speedtestweb_status">
|
||||||
|
<em><%:Collecting data...%></em>
|
||||||
|
</p>
|
||||||
|
</fieldset>
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2020-2021 sirpdboy herboy2008@gmail.com
|
# Copyright (C) 2020-2022 sirpdboy herboy2008@gmail.com https://github.com/sirpdboy/netspeedtest
|
||||||
# This is free software, licensed under the GNU General Public License v3.
|
# This is free software, licensed under the GNU General Public License v3.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -13,18 +13,41 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: Pootle 2.0.6\n"
|
"X-Generator: Pootle 2.0.6\n"
|
||||||
|
|
||||||
msgid "Netspeedtest"
|
msgid "Net Speedtest"
|
||||||
msgstr "网速测试"
|
msgstr "网速测试"
|
||||||
|
|
||||||
msgid "Network speed diagnosis test (including intranet and extranet)"
|
|
||||||
msgstr "网络速度诊断测试(包括内网和外网)"
|
|
||||||
|
|
||||||
msgid "iperf3 lanspeedtest"
|
|
||||||
msgstr "iperf3 内网测速"
|
|
||||||
|
|
||||||
msgid "Network speed diagnosis test (including intranet and extranet)<br/>For specific usage, see:"
|
msgid "Network speed diagnosis test (including intranet and extranet)<br/>For specific usage, see:"
|
||||||
msgstr "网络速度诊断测试(包括内网和外网)<br/>具体使用参见:"
|
msgstr "网络速度诊断测试(包括内网、外网、特定端口服务器测速)<br/>使用说明见:"
|
||||||
|
|
||||||
|
msgid "Lan Speedtest Iperf3"
|
||||||
|
msgstr "内网iperf3吞吐测速"
|
||||||
|
|
||||||
|
msgid "Lan Speedtest Web"
|
||||||
|
msgstr "内网测速网页版"
|
||||||
|
|
||||||
|
msgid "Running state"
|
||||||
|
msgstr "运行状态"
|
||||||
|
|
||||||
|
msgid "The Iperf3 service is running."
|
||||||
|
msgstr "iperf3服务已启动"
|
||||||
|
|
||||||
|
msgid "The Iperf3 service is not running."
|
||||||
|
msgstr "iperf3服务未启动"
|
||||||
|
|
||||||
|
msgid "Iperf3 Status"
|
||||||
|
msgstr "iperf3服务状态"
|
||||||
|
|
||||||
|
msgid "The Speedtestweb service is running."
|
||||||
|
msgstr "网页测速服务已启动"
|
||||||
|
|
||||||
|
msgid "The Speedtestweb service is not running."
|
||||||
|
msgstr "网页测速服务未启动"
|
||||||
|
|
||||||
|
msgid "Speedtestweb Status"
|
||||||
|
msgstr "网页测速服务状态"
|
||||||
|
|
||||||
|
msgid "</br>For specific usage, see:"
|
||||||
|
msgstr "</br>具体使用方法参见:"
|
||||||
|
|
||||||
msgid "iperfstart"
|
msgid "iperfstart"
|
||||||
msgstr "iperf服务启动"
|
msgstr "iperf服务启动"
|
||||||
@ -36,7 +59,7 @@ msgid "Perform operation"
|
|||||||
msgstr "执行操作"
|
msgstr "执行操作"
|
||||||
|
|
||||||
msgid "iperf3 instructions"
|
msgid "iperf3 instructions"
|
||||||
msgstr "iperf3 使用说明"
|
msgstr "iperf3使用说明"
|
||||||
|
|
||||||
msgid "Test speed service started"
|
msgid "Test speed service started"
|
||||||
msgstr "测试速度服务已经启动"
|
msgstr "测试速度服务已经启动"
|
||||||
@ -53,18 +76,21 @@ msgstr "国内下密码:"
|
|||||||
msgid "Iperf3 speed measurement software download"
|
msgid "Iperf3 speed measurement software download"
|
||||||
msgstr "iperf3测速软件下载"
|
msgstr "iperf3测速软件下载"
|
||||||
|
|
||||||
msgid "wanspeedtest"
|
msgid "Wan Speedtest"
|
||||||
msgstr "宽带速率测试"
|
msgstr "宽带速率测试"
|
||||||
|
|
||||||
msgid "Perform wanspeedtest"
|
msgid "Perform WanSpeedtest"
|
||||||
msgstr "执行宽带测速"
|
msgstr "执行宽带测速"
|
||||||
|
|
||||||
msgid "Operation execution complete"
|
msgid "Operation execution complete"
|
||||||
msgstr "操作执行完毕"
|
msgstr "操作执行完毕"
|
||||||
|
|
||||||
msgid "Network speed test, please wait for 1 minutes"
|
msgid "Network speed test, please wait..."
|
||||||
msgstr "网速测试中,请稍等1分钟"
|
msgstr "网速测试中,请稍侯..."
|
||||||
|
|
||||||
msgid "Download from foreign official websites"
|
msgid "Download from foreign official websites"
|
||||||
msgstr "国外官网"
|
msgstr "国外官网"
|
||||||
|
|
||||||
|
msgid "Server Port Speedtest"
|
||||||
|
msgstr "端口延迟测试"
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
config speedtestweb 'speedtestweb'
|
||||||
|
option enabled '1'
|
||||||
|
option port '8989'
|
||||||
|
option logger '1'
|
||||||
|
|
||||||
config netspeedtest
|
config speedtestiperf3 'speedtestiperf3'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
|
|
||||||
|
|
||||||
config wanspeedtest
|
|
||||||
option enabled '0'
|
|
||||||
|
|
||||||
|
config wanspeedtest 'wanspeedtest'
|
||||||
|
option surl ' '
|
||||||
|
@ -1,15 +1,23 @@
|
|||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
# Copyright 2020 -2021 sirpdboy (herboy2008@gmail.com)
|
|
||||||
|
|
||||||
START=95
|
#
|
||||||
STOP=10
|
# Copyright (C) 2020-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/netspeedtest
|
||||||
|
#
|
||||||
|
# This file is part of ddns-go .
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the Apache License, Version 2.0 .
|
||||||
|
#
|
||||||
|
|
||||||
. /lib/functions.sh
|
START=99
|
||||||
|
USE_PROCD=1
|
||||||
|
|
||||||
|
|
||||||
|
PROG=/usr/bin/speedtest-web
|
||||||
EXTRA_COMMANDS="nstest"
|
EXTRA_COMMANDS="nstest"
|
||||||
EXTRA_HELP=" netspeedtest"
|
|
||||||
NS_FILE=/usr/share/netspeedtest/netspeedtest.txt
|
TMP_T=/var/netspeedtest.tmp
|
||||||
TMP_T=/tmp/netspeedtest
|
LOCK=/var/lock/netspeedtest.lock
|
||||||
LOG="/var/log/netspeedtest.log"
|
LOG=/var/log/netspeedtest.log
|
||||||
|
|
||||||
limit_log() {
|
limit_log() {
|
||||||
local logf=$1
|
local logf=$1
|
||||||
@ -24,32 +32,58 @@ limit_log() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
init_env() {
|
init_env() {
|
||||||
[ ! -f "$LOG" ] && echo " " > $LOG
|
[ ! -f "$LOG" ] && echo "" > $LOG
|
||||||
echo 1 > $NS_FILE
|
echo 1 > $TMP_T
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nstest() {
|
nstest() {
|
||||||
init_env
|
[ -f $LOCK ] && exit
|
||||||
[ -f "$TMP_T" ] && return
|
|
||||||
echo 1 > $TMP_T
|
|
||||||
echo -ne "\n ————————————————————————————" | tee -a $LOG
|
|
||||||
/etc/init.d/speedtest | tee -a $NS_FILE
|
|
||||||
ns_server=`cat $NS_FILE | grep 'Hosted by' | cut -c10-`
|
|
||||||
ns_down=`cat $NS_FILE | grep 'Download:' |awk -F: '{printf $2}' `
|
|
||||||
ns_up=`cat $NS_FILE | grep 'Upload:' |awk -F: '{printf $2}' `
|
|
||||||
echo -ne "\n 测服信息:${ns_server} " | tee -a $LOG
|
|
||||||
echo -ne "\n 下行速率:${ns_down} ---- 上行速率:${ns_up} " | tee -a $LOG
|
|
||||||
echo -ne "\n 测试时间: " | tee -a $LOG
|
|
||||||
echo $(date +%Y-%m-%d" "%H:%M:%S) | tee -a $LOG
|
|
||||||
rm -rf $TMP_T
|
|
||||||
}
|
|
||||||
|
|
||||||
reload(){
|
|
||||||
start
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
limit_log $LOG 200
|
limit_log $LOG 200
|
||||||
nstest
|
init_env
|
||||||
|
touch $LOCK
|
||||||
|
/usr/bin/speedtest --share > $TMP_T
|
||||||
|
echo -ne "\n 测服信息:$(cat $TMP_T | grep 'Hosted by'| cut -c10- | awk -F: '{printf $1}') 延时:$(cat $TMP_T | grep 'Hosted by' | awk -F: '{printf $2}')" >> $LOG
|
||||||
|
echo -ne "\n 下行速率:$(cat $TMP_T | grep 'Download:' |awk -F: '{printf $2}' )" >> $LOG
|
||||||
|
echo -ne " ---- 上行速率:$(cat $TMP_T | grep 'Upload:' |awk -F: '{printf $2}' )" >> $LOG
|
||||||
|
echo -ne "\n 测试时间: " >> $LOG
|
||||||
|
echo $(date +%Y-%m-%d" "%H:%M:%S) >> $LOG
|
||||||
|
echo -ne " ————————————————————————————\n" >> $LOG
|
||||||
|
echo -ne $(cat $TMP_T | grep 'results:' | cut -c16- )
|
||||||
|
rm -f $LOCK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_config() {
|
||||||
|
config_get_bool enabled $1 enabled 1
|
||||||
|
config_get_bool logger $1 logger 1
|
||||||
|
config_get port $1 port 8989
|
||||||
|
}
|
||||||
|
|
||||||
|
speedtestweb_prepare() {
|
||||||
|
pgrep -f speedtest-web | xargs kill -9 >/dev/null 2>&1
|
||||||
|
logger -t netspeedtest -p warn "Netspeedtest speedtest-web is stop."
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_service() {
|
||||||
|
speedtestweb_prepare
|
||||||
|
echo "Netspeedtest speedtest-web is stop."
|
||||||
|
}
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
speedtestweb_prepare
|
||||||
|
config_load netspeedtest
|
||||||
|
config_foreach get_config speedtestweb
|
||||||
|
[ x$enabled == x1 ] || return 1
|
||||||
|
logger -t netspeedtest -p warn "Netspeedtest speedtest-web is start."
|
||||||
|
echo "Netspeedtest speedtest-web is start."
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command $PROG --listen_port "${port}"
|
||||||
|
[ "x$logger" == x1 ] && procd_set_param stderr 1
|
||||||
|
procd_set_param respawn
|
||||||
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
|
service_triggers() {
|
||||||
|
procd_add_reload_trigger "speedtest-web"
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
chmod 755 /etc/init.d/netspeedtest /etc/init.d/speedtest >/dev/null 2>&1
|
|
||||||
|
|
||||||
rm -rf /tmp/luci-modulecache /tmp/luci-indexcache*
|
|
||||||
exit 0
|
|
Loading…
Reference in New Issue
Block a user