Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ body:
id: version
attributes:
label: ipcheck version
placeholder: ipcheck 0.4.0
placeholder: ipcheck 0.5.0
validations:
required: true
- type: dropdown
Expand Down
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,23 @@
All notable changes to ipcheck are documented here. The project follows
[Semantic Versioning](https://semver.org/).

## [0.5.0] - 2026-07-22

### Added

- A safe 1 MB zero-filled Cloudflare upload test alongside the existing 2 MB
reference download.
- Separate download/upload ratings, test-path disclosure, and plain-language
bandwidth advice in human and Markdown reports.
- Structured `bandwidth.download` and `bandwidth.upload` JSON objects while
preserving the existing download fields for compatibility.
- `--no-upload` to skip only the upload measurement.

### Changed

- The bandwidth section now clearly separates throughput from AI service TTFB.
- macOS `networkQuality --system` reports both download and upload throughput.

## [0.4.0] - 2026-07-22

### Added
Expand Down Expand Up @@ -54,6 +71,7 @@ All notable changes to ipcheck are documented here. The project follows
- Homebrew and direct-download packaging.
- Median/P95 TTFB, jitter, reference bandwidth, and macOS `networkQuality`.

[0.5.0]: https://github.com/jacklv-coder/ipcheck/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/jacklv-coder/ipcheck/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/jacklv-coder/ipcheck/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/jacklv-coder/ipcheck/releases/tag/v0.2.0
23 changes: 21 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ color-coded progress and finish with a direct answer to “Ready to code?”.

```text
$ ipcheck --quick
ipcheck v0.4.0 — AI coding network diagnostics
ipcheck v0.5.0 — AI coding network diagnostics

Developer verdict
Ready to code? YES, WITH CAUTION
Expand All @@ -32,6 +32,11 @@ Service results
Claude Code GOOD The service path is reachable with acceptable latency and jitter.

Result: GOOD

Network bandwidth
Download 80.0 Mbps FAST Cloudflare, up to 2 MB
Upload 16.0 Mbps FAST Cloudflare, up to 1 MB zero-filled
Advice Bandwidth is sufficient for everyday AI-assisted development.
Comment on lines +35 to +39

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove bandwidth results from the --quick example

This example is introduced under $ ipcheck --quick, but --quick sets both RUN_BANDWIDTH=0 and RUN_UPLOAD=0, so it will only print skipped bandwidth entries rather than the shown 80/16 Mbps measurements and advice. This makes the primary quick-start output impossible to reproduce; use a normal invocation for this sample or omit the bandwidth section.

Useful? React with 👍 / 👎.

```

## Why ipcheck
Expand Down Expand Up @@ -67,7 +72,7 @@ brew install ipcheck

```bash
mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.4.0/bin/ipcheck \
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.5.0/bin/ipcheck \
-o "$HOME/.local/bin/ipcheck"
chmod +x "$HOME/.local/bin/ipcheck"
```
Expand Down Expand Up @@ -108,6 +113,7 @@ ipcheck --system
ipcheck --endpoint https://your-gateway.example.com/health
ipcheck --lang zh
ipcheck --no-progress --no-color
ipcheck --no-upload
```

The human and Markdown reports default to the terminal/system language.
Expand All @@ -117,6 +123,19 @@ and diagnostic reasons remain stable English for automation. Progress is written
to stderr only for human output and can be controlled with
`IPCHECK_PROGRESS=auto|always|never`.

The service table measures time to first byte and jitter; it is not a transfer
speed test. The separate bandwidth section downloads up to 2 MB and uploads up to 1 MB of
zero-filled data through the reported proxy/network path. It rates throughput
for common development work without allowing bandwidth to hide a slow or
unstable AI service. Use `--no-upload` to skip only the upload or
`--no-bandwidth` to skip both directions.

Bandwidth ratings use development-oriented thresholds: download is `FAST` at
25 Mbps or higher and `ADEQUATE` from 5 Mbps; upload is `FAST` at 10 Mbps or
higher and `ADEQUATE` from 2 Mbps. Lower measurements are `SLOW`. The optional
`--system` test delegates to macOS `networkQuality`, which can transfer
substantially more data than ipcheck's capped Cloudflare checks.

Run `ipcheck --help` for the complete option and environment-variable list.

## Supported clients and routes
Expand Down
20 changes: 18 additions & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

```text
$ ipcheck --quick
ipcheck v0.4.0 — AI 编程网络诊断
ipcheck v0.5.0 — AI 编程网络诊断

开发建议
现在适合开发吗?可以,但会有些慢
Expand All @@ -31,6 +31,11 @@ Service results
Claude Code GOOD

Result: GOOD

网络带宽
下载 80.0 Mbps 快 Cloudflare,最多 2 MB
上传 16.0 Mbps 快 Cloudflare,最多 1 MB 零字节
建议 当前带宽足以支持日常 AI 辅助开发。
```

## 核心能力
Expand Down Expand Up @@ -61,7 +66,7 @@ brew install ipcheck

```bash
mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.4.0/bin/ipcheck \
curl -fsSL https://raw.githubusercontent.com/jacklv-coder/ipcheck/v0.5.0/bin/ipcheck \
-o "$HOME/.local/bin/ipcheck"
chmod +x "$HOME/.local/bin/ipcheck"
```
Expand Down Expand Up @@ -100,13 +105,24 @@ ipcheck --system
ipcheck --endpoint https://your-gateway.example.com/health
ipcheck --lang en
ipcheck --no-progress --no-color
ipcheck --no-upload
```

终端和 Markdown 报告默认跟随终端/系统语言,目前支持中文和英文。可以使用
`--lang zh`、`--lang en`,或 `IPCHECK_LANG=zh|en` 明确指定。JSON 的字段名、
枚举值和诊断原因始终保持英文,方便自动化脚本稳定解析。实时进度只会在普通
终端报告中写入 stderr,可通过 `IPCHECK_PROGRESS=auto|always|never` 控制。

“服务链路”测量的是首字节延迟和抖动,并不是下载速度。独立的“网络带宽”模块
会通过报告中注明的代理/网络路径下载最多 2 MB,并上传最多 1 MB 全零测试数据,然后按
日常开发需求分别评级。带宽不会掩盖 AI 服务本身的高延迟或不稳定。使用
`--no-upload` 只跳过上传,使用 `--no-bandwidth` 同时跳过下载和上传。

评级采用面向开发场景的阈值:下载达到 25 Mbps 为“快”,达到 5 Mbps 为
“够用”;上传达到 10 Mbps 为“快”,达到 2 Mbps 为“够用”;低于这些范围为
“慢”。可选的 `--system` 会交给 macOS `networkQuality` 测试,消耗的数据量
可能明显高于 ipcheck 自带的限量 Cloudflare 测试。

运行 `ipcheck --help` 可以查看完整参数。

## 支持的客户端与配置
Expand Down
Loading