+
+ Routes the Booking.com scraper through a residential proxy (e.g. DataImpulse).
+ One sticky IP is held per scrape session and rotated automatically if a page is
+ blocked. Leave disabled to scrape from this server's own IP.
+
+
+
+ setEnabled(e.target.checked)} />
+ Enable proxy for scraping
+
+
+
+
+
+ Username / login
+ setUsername(e.target.value)} style={{ width: '100%' }} />
+
+
+
+
+
+ save.mutate()} disabled={save.isPending}>
+
+ {save.isPending ? 'Saving…' : 'Save'}
+
+ runTest.mutate()} disabled={runTest.isPending}>
+
+ {runTest.isPending ? 'Testing…' : 'Test Connection'}
+
+
+
+ {save.isError && (
+
+ {(save.error as any)?.response?.data?.detail || 'Save failed'}
+
+ )}
+ {testResult && (
+
+ ✓ Connected — exit IP {testResult.ip} ({testResult.country}
+ {testResult.city ? `, ${testResult.city}` : ''}){testResult.org ? ` · ${testResult.org}` : ''}
+
+ )}
+ {testError && (
+
{testError}
+ )}
+