From 472dbdf418a95ec040ef95aa04acb1e7b5e2e813 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 12 Dec 2025 23:58:24 -0700 Subject: [PATCH] fix: Support http://host:port:user:pass proxy format in bulk import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add regex pattern to parseProxyLine() for non-standard colon-separated format used by some proxy providers (e.g., Evomi residential proxies). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- cannaiq/src/pages/Proxies.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cannaiq/src/pages/Proxies.tsx b/cannaiq/src/pages/Proxies.tsx index 9600d9ad..4dd0b87a 100755 --- a/cannaiq/src/pages/Proxies.tsx +++ b/cannaiq/src/pages/Proxies.tsx @@ -511,6 +511,18 @@ function AddProxyForm({ onClose, onSuccess }: { onClose: () => void; onSuccess: }; } + // Format: protocol://host:port:username:password (non-standard colon format from some providers) + match = line.match(/^(https?|socks5):\/\/([^:]+):(\d+):([^:]+):(.+)$/); + if (match) { + return { + protocol: match[1], + host: match[2], + port: parseInt(match[3]), + username: match[4], + password: match[5] + }; + } + // Format: protocol://host:port match = line.match(/^(https?|socks5):\/\/([^:]+):(\d+)$/); if (match) { @@ -742,7 +754,7 @@ function AddProxyForm({ onClose, onSuccess }: { onClose: () => void; onSuccess: