whatisgithub

What is tspu-probe?

stpavel/tspu-probe — explained in plain English

Analysis updated 2026-06-24

16JavaAudience · ops devopsComplexity · 2/5Setup · easy

In one sentence

An Android app that diagnoses why a VPN connection is failing by stepping through each network layer in sequence, telling you whether the block is at TCP, TLS, or SNI filtering level and recommending exactly what to change.

Mindmap

mindmap
  root((repo))
    What It Does
      VPN block diagnosis
      Layer-by-layer testing
      Domain name sweep
    Test Steps
      Ping check
      TCP connection test
      TLS without SNI
      TLS with SNI
    Tech Stack
      Java
      Android SDK
    Output
      Plain diagnosis text
      Recommended action
      Best domain suggestion
    Audience
      VPN users
      Network operators
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Enter a VPN server address and run the diagnostic to find out whether TCP, TLS, or SNI filtering is blocking your connection.

USE CASE 2

Use the sweep feature to test a list of domain names and identify which ones reach your VPN server without being blocked.

USE CASE 3

Get a plain-language diagnosis telling you exactly what to change, whether port, server IP, or domain name, to restore your VPN connection.

What is it built with?

JavaAndroid SDK

How does it compare?

stpavel/tspu-probeandrea-lyz/melodycodectweakerfwilldev/portasplit-tracker
Stars161616
LanguageJavaJavaJava
Setup difficultyeasymoderatemoderate
Complexity2/53/52/5
Audienceops devopsgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Android 7.0 or newer required, all documentation is written in Russian.

So what is it?

TSPU Probe is a native Android app, written in Russian-language documentation, that diagnoses why a VPN connection is failing on a particular network. VPN connections can be blocked at different layers of the network stack, and standard tools like ping cannot always tell you which layer is responsible. This app steps through each layer in sequence and reports exactly where the connection breaks down. You enter a server IP address, port, and SNI (the domain name the VPN client sends when establishing a connection), and the app runs a series of tests. First it checks basic connectivity with a ping. Then it tries a raw TCP connection to see if the port is even reachable. After that it attempts a TLS handshake without specifying any domain name, then again with your specific domain. By comparing whether TLS works with and without a domain name, it can detect whether the blocking is at the TLS level or specifically triggered by a particular domain name, which is called SNI filtering. A sweep feature runs through a list of domain names and tests each one with a short pause between tests to avoid triggering scan-detection systems. It shows which domains reach your server and which get blocked or time out, then recommends the best one to use based on connection latency. At the end, the app gives a plain diagnosis: TCP is blocked and you should change ports, TLS is entirely blocked and you should change your server IP, SNI filtering is active and it recommends a working domain, or the network is clean and the problem is likely in your client configuration. The README is written in Russian. The app requires Android 7.0 or newer and does not need root access. It uses only standard Java and the Android SDK with no third-party networking libraries.

Copy-paste prompts

Prompt 1
I'm using TSPU Probe and the TCP test passes but TLS without SNI fails. What does that mean about how my connection is blocked and what should I change?
Prompt 2
How do I use the sweep feature in TSPU Probe to test 20 different domain names and identify which one is not blocked by my ISP?
Prompt 3
TSPU Probe says SNI filtering is active and recommends a specific domain. How do I configure that recommended domain in my VPN client?
Prompt 4
Explain what SNI filtering is and how TSPU Probe detects it by comparing TLS connection results with and without a domain name specified.

Frequently asked questions

What is tspu-probe?

An Android app that diagnoses why a VPN connection is failing by stepping through each network layer in sequence, telling you whether the block is at TCP, TLS, or SNI filtering level and recommending exactly what to change.

What language is tspu-probe written in?

Mainly Java. The stack also includes Java, Android SDK.

How hard is tspu-probe to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is tspu-probe for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.