Releases: agteamdev/proxy_checker
Release list
v2.6.0 — Virtualized Results Table
This release fixes the remaining slowdown with large result sets: the results table no longer creates a live widget for every single proxy.
✨ What's new
- 🚀 Virtualized results table — previously, each result row was built from ~9 real Tk widgets, so 1000+ live proxies meant 9000+ widgets on screen at once, and rendering got visibly slower the more was found. The table now keeps a small fixed pool of row widgets (just enough to cover the visible area) and reuses/repositions them while scrolling instead of creating a new set per row. Rendering cost now depends on the size of the window, not on how many proxies were found.
- ⚡ Off-screen rows are free — while a scan is running and you're looking at the top of the list, rows appended further down (out of view) no longer touch any widgets at all; they only show up once you actually scroll to them.
- 🧵 Raised how many queued results are processed per UI tick back up, since rendering is cheap now regardless of batch size.
📥 Download
- Windows —
proxy-checker-windows.exe, just run it - macOS —
ProxyChecker-macos.zip: unzip, then right-click → Open on first launch (unsigned app, see README for why) - Linux (recommended) —
ProxyChecker-x86_64.AppImage:chmod +x ProxyChecker-x86_64.AppImage && ./ProxyChecker-x86_64.AppImage - Linux (raw binary) —
proxy-checker-linux:chmod +x proxy-checker-linux && ./proxy-checker-linux - Or from source:
pip install -r requirements.txt && python main.py
🔧 Still true from earlier releases
Flag icons are bundled locally (no network needed for them). HTTP, SOCKS4 and SOCKS5 are all supported and individually selectable, with an optional target count to stop a run early. Liveness, anonymity (Transparent/Anonymous/Elite, color-coded) and latency are all determined by a single HTTPS request through the proxy tunnel. Nothing is saved to disk automatically — export CSV/TXT on demand.
Full Changelog: v2.5.0...v2.6.0
v2.5.0 — Instant Flags, Faster Large Results
This release goes after the remaining slowness with large result sets (1000+ proxies): flag icons are now bundled with the app instead of fetched over the network, and a redundant per-row image decode is gone.
✨ What's new
- 🌍 Flag icons bundled locally — ~250 country flags now ship under
assets/flags/and are read straight from disk instead of being fetched from flagcdn.com at runtime. No network round trips for flags at all for any bundled country; anything missing from the bundle still falls back to fetching it live. Regenerate the bundle anytime withpython assets/generate_flags.py(needs internet once). - 🚀 Fixed redundant image decoding — the app was decoding a fresh copy of each flag's PNG for every single proxy row, even when hundreds of rows shared the same country. With 1000+ proxies that meant hundreds of unnecessary decodes. Flags are now decoded once per country and reused across every matching row.
- 🧵 Smoother rendering for large batches — lowered how many results are drawn into the table per UI tick, so filling in a big result set feels like steady progress instead of a few large stutters.
📥 Download
- Windows —
proxy-checker-windows.exe, just run it - macOS —
ProxyChecker-macos.zip: unzip, then right-click → Open on first launch (unsigned app, see README for why) - Linux (recommended) —
ProxyChecker-x86_64.AppImage:chmod +x ProxyChecker-x86_64.AppImage && ./ProxyChecker-x86_64.AppImage - Linux (raw binary) —
proxy-checker-linux:chmod +x proxy-checker-linux && ./proxy-checker-linux - Or from source:
pip install -r requirements.txt && python main.py
🔧 Still true from earlier releases
HTTP, SOCKS4 and SOCKS5 are all supported and individually selectable, with an optional target count to stop a run early. Liveness, anonymity (Transparent/Anonymous/Elite, color-coded) and latency are all determined by a single HTTPS request through the proxy tunnel. Nothing is saved to disk automatically — export CSV/TXT on demand.
Full Changelog: v2.4.0...v2.5.0
v2.4.0 — Faster Finish & macOS Build
This release fixes a long stall right after scanning finishes, and adds a macOS build alongside Windows/Linux.
✨ What's new
- ⚡ Fixed a post-scan hang — flag icons for each country were being fetched one at a time, in sequence. With proxies spread across dozens of countries, that could make the app look frozen for a long time right after the scan itself had already finished (progress bar at 100%, nothing happening). Flag icons are now fetched concurrently (8 at a time), and the log now shows a "Fetching N flag icons..." step so it's clear what's happening instead of a silent pause.
- 🍎 macOS build —
ProxyChecker-macos.zipis now built automatically alongside the Windows.exeand Linux binary/AppImage, with its own.icnsicon generated from the app's master icon. The app isn't code-signed/notarized (that requires a paid Apple Developer account), so macOS Gatekeeper will block it on first launch — right-click → Open → Open, or runxattr -cr "Proxy Checker.app"in Terminal to allow it.
📥 Download
- Windows —
proxy-checker-windows.exe, just run it - macOS —
ProxyChecker-macos.zip: unzip, then see the Gatekeeper note above for the first launch - Linux (recommended) —
ProxyChecker-x86_64.AppImage:chmod +x ProxyChecker-x86_64.AppImage && ./ProxyChecker-x86_64.AppImage - Linux (raw binary) —
proxy-checker-linux:chmod +x proxy-checker-linux && ./proxy-checker-linux - Or from source:
pip install -r requirements.txt && python main.py
🔧 Still true from earlier releases
Liveness, anonymity (Transparent/Anonymous/Elite) and latency are all determined by a single HTTPS request through the proxy tunnel. HTTP, SOCKS4 and SOCKS5 are all supported and individually selectable, with an optional target count to stop a run early. Nothing is saved to disk automatically — export CSV/TXT on demand.
Full Changelog: v2.3.0...v2.4.0
v2.3.0 — Dark Redesign & Run Controls
A full visual redesign plus real control over what gets checked and how much.
✨ What's new
- 🎨 Dark theme redesign — new color palette, cards, status dot in the header, styled scrollbars and dropdowns to match.
- 🖍️ Per-cell anonymity color — only the Anonymity column is colored (green/amber/red), not the whole row; the results table was rebuilt on plain Frames/Labels instead of ttk.Treeview to make this possible.
- ☑️ Row checkboxes — select multiple proxies and copy them all at once via right-click; a header checkbox selects/deselects everything visible.
- 🧼 No more stray white borders — custom-drawn checkboxes and a global fix for Tk's default focus-highlight border, which was showing through the dark theme on cards, inputs and checkboxes.
- 🧦 HTTP is back alongside SOCKS4/SOCKS5 — pick any combination of the three from the Settings panel; SOCKS is skipped automatically (with a warning) if PySocks isn't installed, but HTTP still works.
- 🎯 Target count — set "Proxies needed" to stop a run automatically once that many live proxies are found, instead of always checking every proxy in every list.
0checks everything. - 💾 No more automatic saving — CSV/TXT files are only written when you click Export and choose where; nothing is written to disk on its own anymore.
- 🪟 Window fits the screen on launch — no more manually resizing just to see the whole app.
- 🐞 Fixed a freeze/blank-table bug — the event queue could silently stop updating the UI after a run finished, and the results table could render empty until the window was manually resized. Both are fixed.
- 🎨 New app icon to match the dark theme.
📥 Download
- Windows —
proxy-checker-windows.exe, just run it - Linux (recommended) —
ProxyChecker-x86_64.AppImage:chmod +x ProxyChecker-x86_64.AppImage && ./ProxyChecker-x86_64.AppImage - Linux (raw binary) —
proxy-checker-linux:chmod +x proxy-checker-linux && ./proxy-checker-linux - Or from source:
pip install -r requirements.txt && python main.py
🔧 Still true from earlier releases
Liveness, anonymity (Transparent/Anonymous/Elite) and latency are all determined by a single HTTPS request through the proxy tunnel. Batch GeoIP lookups via ip-api.com; flag icons via flagcdn.com.
Full Changelog: v2.2.0...v2.3.0
v2.2.0 — App Icon & AppImage
This release focuses on distribution and polish: a proper app icon, a true "download and run" Linux package.
✨ What's new
- 📦 Linux AppImage —
ProxyChecker-x86_64.AppImage. Download,chmod +x, run. No Python, no dependencies, no install step. - 🎨 App icon — a custom-designed icon (shield + checkmark, network nodes) now shows in the window title bar, the Windows
.exe, and the Linux binary/AppImage. - 🐞 Better diagnostics when 0 proxies are found — the checker now fails fast with a clear message if PySocks (required for SOCKS4/5) isn't installed, instead of silently burning through the whole proxy list. When nothing is alive for other reasons, the log now shows the most common failure reasons (e.g.
ProxyError x7800, ConnectTimeout x404) instead of just "0 found". - 🔐 Fixed release workflow permissions — the GitHub Actions release job now explicitly requests
contents: write, fixing a403 Resource not accessible by integrationerror that could block automated releases.
📥 Download
- Windows —
proxy-checker-windows.exe, just run it - Linux (recommended) —
ProxyChecker-x86_64.AppImage:chmod +x ProxyChecker-x86_64.AppImage && ./ProxyChecker-x86_64.AppImage - Linux (raw binary) —
proxy-checker-linux:chmod +x proxy-checker-linux && ./proxy-checker-linux - Or from source:
pip install -r requirements.txt && python main.py
🔧 Since v2.1.0
Carried over from the previous release: SOCKS4/SOCKS5 support, Transparent/Anonymous/Elite anonymity detection, latency (ms) column, flag icons, sortable/filterable results table, right-click copy menu, CSV/TXT export.
Full Changelog: v2.1.0...v2.2.0
v2.1.0 — SOCKS Edition
A full rewrite of the checker: SOCKS4/SOCKS5 instead of plain HTTP, anonymity-level detection, a much more usable results table, and ready-to-run Windows/Linux builds — no Python installation required.
✨ What's new
- 🧦 SOCKS4 / SOCKS5 support — plain HTTP proxies have been dropped entirely; only SOCKS is fetched and checked now.
- 🕵️ Anonymity level detection: Transparent / Anonymous / Elite, based on which headers the proxy actually forwards to the target site.
- ⏱️ Latency (ms) shown directly in the results table — real round-trip response time per proxy.
- 🌍 Flag icons instead of emoji — country flags render as actual small images, so they display correctly even on systems without a color-emoji font.
- 🔢 Row numbering and a live "N found" counter.
↕️ Column sorting — click any header to sort ascending/descending.- 🔎 Filters — live IP search, plus Protocol and Anonymity dropdown filters.
- 🖱️ Right-click context menu on any row — copy IP / IP:port / proxy URL / full row.
- 💾 CSV and TXT export (TXT contains ready-to-use
socks5://ip:portlines). - 📦 Standalone builds — Windows
.exeand a Linux binary are built automatically via GitHub Actions and attached to this release.
🖥️ Interface
Single window, two-column layout: settings/log/progress on the left, a live, sortable, filterable results table on the right (Flag | # | Country | IP | Port | Protocol | Anonymity | Latency).
📥 Download
- Windows —
proxy-checker-windows.exe, just run it - Linux —
proxy-checker-linux, runchmod +x proxy-checker-linuxthen execute it - Or from source:
pip install -r requirements.txt && python main.py
🔧 Under the hood
- Liveness, anonymity and latency are all determined by a single HTTPS request through the proxy tunnel
- Batch GeoIP lookups via ip-api.com; flag icons via flagcdn.com
- Requires
requests[socks](PySocks) for SOCKS connectivity
Full Changelog: v2.0.0...v2.1.0
v2.0.0 — GUI Edition
- 🖥️ Desktop GUI (Tkinter, no extra GUI dependency) — a single,
resizable window split into two columns: Process (settings, controls,
progress bar, log) on the left and a live-updating Results table on
the right. - 🌍 Country flags — each live proxy is geolocated and shown with its
flag emoji, IP, port and HTTPS support. - 🚀 Multithreaded checking (configurable thread count, default 100).
- 🔒 Real HTTPS detection — every proxy is tested against both a plain
HTTP endpoint and an HTTPS endpoint, so "HTTPS" in the results means the
proxy can actually tunnel HTTPS traffic, not just that it responded. - 📚 Multiple proxy sources merged and deduplicated, so one dead source
doesn't stop a run. - ⏹️ Start/Stop control — cancel a run in progress at any time.
- 💾 CSV export, both automatically after each run (
live_proxies.csv)
and on demand from the Results window ("Export CSV" button). - 🧵 Fully non-blocking UI — networking happens on background threads and
reports progress through a thread-safe queue.
1.0.0 Beta
✅ Stable, large pool
🚀 Multithreaded (60 threads)
⏱ 20-second timeout per proxy
🧪 Dual checking: icanhazip.com and api.ip.sb
💾 Saves live proxies to live_https_proxies.txt (IP,Port)
🧹 No logging of successful checks
📊 Real-time progress percentage in console
Full Changelog: https://github.com/al3xg0r/proxy_checker/commits/ProxyChecker