An open API service indexing awesome lists of open source software.

https://github.com/thuongtruong109/stalive

πŸŽ—οΈ Professional network diagnostics toolkit
https://github.com/thuongtruong109/stalive

cliproxy http ip ip-lookup ipchecker network proxy proxy-checker socks socks5

Last synced: 2 days ago
JSON representation

πŸŽ—οΈ Professional network diagnostics toolkit

Awesome Lists containing this project

README

          

ο»Ώ


Stalive banner

Stalive


Python
PySide6
Tests
Packaging
Platform
License


Proxy operations, DNS diagnostics, port scans, and IP intelligence in one compact desktop toolkit.

Stalive is a compact desktop network diagnostics workstation for proxy operators, host inspection, port checks, DNS analysis, and IP intelligence. It is built with Python and PySide6, with a dense local-first UI, persistent runtime state, and a Nuitka packaging path for distributable desktop builds.

## ✨ Highlights

- Unified proxy workflow for Cliproxy retrieval, bulk checking, scoring, filtering, refreshes, copy/export, and automation.
- IP intelligence with public/current IP lookup, IPv4/IPv6 metadata, ASN/network data, geolocation, clickable recent lookups, and vector/OSM map modes.
- Host diagnostics covering DNS records, propagation, authoritative trace, DNSSEC, mail DNS, wildcard detection, takeover signals, HTTP/TLS correlation, routes, adapters, ping, and traceroute.
- Port tools for check-by-host, check-by-proxy, scan-by-host, scan-by-proxy, clipboard paste, and file import workflows.
- Custom frameless PySide6 shell with compact controls, stable tab navigation, and packaged runtime assets.

## 🧭 Capability Matrix

| Area | What it does |
| ---------- | ------------------------------------------------------------------------------------- |
| `CliProxy` | Connects to a Cliproxy service and retrieves proxy inventory. |
| `Proxy` | Checks, scores, filters, refreshes, exports, and manages proxy lists. |
| `Port` | Checks port lists or host:port targets and scans port ranges by host or proxy target. |
| `Host` | Runs DNS, resolver, HTTP/TLS, route, adapter, and network diagnostics. |
| `IP` | Looks up IP ownership, location, locale, ASN, reverse DNS, and map position. |

## 🧰 Requirements

- Python 3.10 or newer.
- Windows, Linux, or macOS.
- A reachable Cliproxy API server for Cliproxy retrieval features.

Runtime dependencies are declared in [requirements.txt](requirements.txt):

```txt
PySide6
requests
PySocks
psutil
Nuitka
```

## πŸš€ Quick Start

```bash
git clone https://github.com/thuongtruong109/stalive.git
cd stalive
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python app.py
```

On Linux or macOS:

```bash
source .venv/bin/activate
python app.py
```

## βš™οΈ Configuration

During development, Stalive reads and writes local state through `data.json`. Packaged builds use the application data directory for writable state while bundling default seed data.

Example:

```json
{
"api_base": "http://localhost:1998/api",
"proxies": [],
"auto_rotate_interval": 60
}
```

## πŸ—ΊοΈ IP Intelligence

The IP workspace is optimized for quick lookup and repeated investigation:

- Blank input checks the current public IP.
- Filled input checks an IPv4 or IPv6 address.
- Recent lookup items are clickable and re-run the lookup.
- Details render as a two-column metadata grid.
- Map controls switch between bundled vector map and OSM tiles when coordinates are available.

## πŸ§ͺ Quality Checks

Recommended local checks before packaging or submitting changes:

```bash
python -B -m unittest discover -s tests
python app.py
```

For broader syntax checks, run:

```bash
python -m compileall app.py core services tabs ui
```

## πŸ“¦ Build

Use the Windows helper script to produce a Nuitka build:

```bat
build.bat
```

The build uses the PySide6 plugin, onefile standalone output, bundled runtime assets, default data, and a windowed executable.

## 🀝 Development Notes

- Keep workflows dense, predictable, and efficient for repeated diagnostic work.
- Prefer shared UI helpers in `ui/` before introducing new control styles.
- Keep service logic in `services/`, worker orchestration in `core/`, and tab-specific UI behavior in `tabs/`.
- Run unit tests after changing parser, worker, or UI-state logic.

## πŸ“„ License

Stalive is released under the [MIT License](LICENSE).