All Projects → XGHeaven → Homebox

XGHeaven / Homebox

A Toolbox for Home Local Networks

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Homebox

Speedtest
Command line client for speedtest.net written in Go
Stars: ✭ 361 (+362.82%)
Mutual labels:  speedtest, network
Speedtest Go
CLI and Go API to Test Internet Speed using speedtest.net
Stars: ✭ 128 (+64.1%)
Mutual labels:  speedtest, network
Awesome I2p
A curated list of awesome I2P implementations, libraries, resources, projects, and shiny things. I2P is an anonymous overlay network - a network within a network. It is intended to protect communication from dragnet surveillance and monitoring by third parties such as ISPs.
Stars: ✭ 66 (-15.38%)
Mutual labels:  network
Vpnify
vpnify - transparently route traffic of a process through VPN
Stars: ✭ 74 (-5.13%)
Mutual labels:  network
Pynms
A vendor-agnostic NMS for carrier-grade network simulation and automation
Stars: ✭ 73 (-6.41%)
Mutual labels:  network
Ssf
Secure Socket Funneling - Network tool and toolkit - TCP and UDP port forwarding, SOCKS proxy, remote shell, standalone and cross platform
Stars: ✭ 1,157 (+1383.33%)
Mutual labels:  network
Smart Buffer
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
Stars: ✭ 73 (-6.41%)
Mutual labels:  network
Go Out
☄️ go-out - A Golang egress buster.
Stars: ✭ 65 (-16.67%)
Mutual labels:  network
Thor Os
Simple operating system in C++, written from scratch
Stars: ✭ 1,204 (+1443.59%)
Mutual labels:  network
Tinybirdnet Unity
A high level API for making networked games in Unity, utilizes https://github.com/RevenantX/LiteNetLib
Stars: ✭ 72 (-7.69%)
Mutual labels:  network
Jsprintmanager
Advanced Client-side Printing & Scanning Solution for Javascript
Stars: ✭ 74 (-5.13%)
Mutual labels:  network
Cisco ios
Ansible Network Cisco IOS Provider Role
Stars: ✭ 72 (-7.69%)
Mutual labels:  network
Streamdeck Homeassistant
🏠 Use the Elgato Stream Deck as Home Assistant controller. Call any available service and toggle lights or resume your music.
Stars: ✭ 69 (-11.54%)
Mutual labels:  home
I2p.i2p
I2P is an anonymizing network, offering a simple layer that identity-sensitive applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties.
Stars: ✭ 1,186 (+1420.51%)
Mutual labels:  network
Halfrost Field
✍🏻 这里是写博客的地方 —— Halfrost-Field 冰霜之地
Stars: ✭ 10,414 (+13251.28%)
Mutual labels:  network
2016lykagguvenligivesizmatestleri
Network Security Notes ☔️
Stars: ✭ 75 (-3.85%)
Mutual labels:  network
Oscpy
An efficient OSC implementation compatible with python2.7 and 3.5+
Stars: ✭ 65 (-16.67%)
Mutual labels:  network
Speedtest
A way to run speed tests on Docker.
Stars: ✭ 72 (-7.69%)
Mutual labels:  speedtest
Dna
Discourse Network Analyzer (DNA)
Stars: ✭ 73 (-6.41%)
Mutual labels:  network
Speedtest
HTML5 speedtest, javascript client and golang server. Responsive interface, can be used on desktop, tablets and phones. Uses the same algorithm as Ookla / speedtest.net, and gives approximately the same results.
Stars: ✭ 77 (-1.28%)
Mutual labels:  speedtest

Homebox

家庭网络工具箱,主要用于组建家庭局域网时的一些调试、检测、压测工具。

需要家庭内有一个较强服务端,否则服务端可能会成为瓶颈。测试端需要使用现代新版浏览器,比如 Chrome/Firefox 等。如果测速的是高速网络,请尝试保证机器 CPU 性能足够强劲

Feature

  • 面向未来浏览器设计
  • 高达 10G 的浏览器速度测试
  • 自带 Ping 检测
  • 丰富的自定义测速参数
  • 服务端无需固态要求
  • 友好的 UI 交互
  • 针对低速网络(< 2.5G)优化测速资源占用

v1 进度追踪看板

Screenshot

dark-theme

light-theme

Install

Docker

首先你需要有一台服务器,只要能支持安装 Docker 即可,比如群辉、FreeNas、unRaid、CentOS 等等,暂时只支持 x86 服务器。

安装并启动 xgheaven/homebox 镜像,默认情况下暴露的端口是 3300。 然后在浏览器中输入 http://server.ip:3300 即可,如果重映射了端口,请输入映射后的端口

Binary

直接在 Release 下载对应版本即可。

解压之后直接执行编译好的二进制文件即可。

Usage

输入网址之后,会看到分为两种测试模式,分别是单次测速和持续压测。

  • 单次测速的模式下,会依次执行 Ping/Download/Upload 测试,一般可以直接用这个模式。
  • 持续压测的模式下,可以无限制以最高速度压测链路,通常可以用于设备移动中链路稳定性测试、多设备压测、路由器转发散热性能测试等。

Terminal(WIP)

某些极端情况下,机器性能不足或者浏览器版本过低,可以直接通过复制浏览器中提供的测速脚本,在终端中测速。 一方面方便某些懒人不愿意打命令行,另一方面脱离了浏览器的环境,测速性能和准确度会更高

Design

由于众所周知的原因,浏览器中 js 的效率是比较低的,而且在网络请求的时候,还是占用大量的内存。 所以为了避免主线程的卡顿,所有的请求都是在 Web Worker 中进行的。

但仅仅一个 Worker 是支撑不住万兆网络的测速要求的,因为一个 Worker 并发请求的能力依旧很低。 比如使用 curl 单链接单进程最高可以达到 2GB/s 的速度,核算过来大约 16Gbps。 而一个 Worker 就算是开启多请求并发的速度,也仅仅只能达到 500MB/s,可见性能有多低。

解决方案也很简单,创建多个 Worker 叠加测速,来叠加到万兆网络的要求。 但是多个 Worker 对机器的性能要求很高,如果只是用于千兆网络测速,而机器性能又比较弱,就会导致测速不准。

这就是为什么会有两种模式的原因,高速模式低速模式。 在高速模式下,会启用多 Worker,而低速模式下,仅仅启用一个 Worker 来减少资源的占用。

Tests

  • 在 2017 款 13 寸 Macbook 上,低速配置下能够实现 4G 下载速度以及 3G 上传速度
  • 在 2019 款 16 寸 Macbook 上,在开启高速模式下,最高可以达到 12G 的下载速度以及 10G 的上传速度

Powered by

  • Golang(gin)
  • TypeScript
  • React
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].