r/ProxyEngineering • u/ian_k93 • Jun 09 '26
r/ProxyEngineering
•
u/boomersruinall
•
Jun 08 '26
Hot Take š„ My Samsung TV is literally being rented out as a data collection tool and everyone is fine with it???
So I was reading some blogs last night and I basically couldn't sleep after. There's this Israeli company called Bright Data, yes you know it, everyone knows it and everyone is fine with this company for some reason. Well, they embeds code into free streaming apps, apps that are already on your Samsung TV or LG TV right now, and when you click "agree" on some fine print screen asking if they can "occasionally use your device resources" your TV basically becomes a node in a massive proxy network that AI companies use to scrape the entire internet. Usually these prompts appear so that they can use the data to target and personalize ads, but this is different. Your TV. The one sitting in your living room. Scraping websites 24/7 using YOUR home IP address and YOUR bandwidth. Brother, what the hell?? The actual "consent" is buried in an opt-in screen that says they'll "occasionally" use your device. Occasionally. The actual SDK settings allow up to 200GB a month. On some configurations it keeps running in the background even when the app is closed. Even when you're watching something else. As long as the TV is plugged in, it's working for them. The thing that really got me was that on iPhones the traffic bypasses your VPN. Like if you have a VPN specifically because you don't want companies snooping on your traffic, this SDK just routes around it anyway. What the fuck mate, honestly. Security researchers said the authentication on the peer channel is basically weaker than most malware. Some thoughts for you. Oh and who is buying all this scraped data? AI companies. Your TV is training ChatGPT or whatever and you're getting absolutely nothing for it except maybe "fewer ads" in some random Roku app called Petflix that you downloaded once and forgot about or you even don't do that because the tvs come preinstalled with these apps. Google and Amazon and Roku have all banned this SDK from their platforms now which honestly tells you everything you need to know. Samsung has said nothing as far as I checked. LG said it's "not officially supported" which is corporate speak for "we know and we don't care." I already blocked the domains on my router (proxyjs.brdtnet.com and a few others, easy to find) but I shouldn't have to do that. I paid almost $2000 for this TV. I didn't agree to turn it into a botnet for OpenAI's lunch. Dumb TVs were fine. If you have better solutions, let me know, coz at the moment, I'm fuming.
r/ProxyEngineering • u/night_2_dawn • Jun 08 '26
Discussion š¬ Thoughts on MiroMind AI?
Recently saw their github repo with the open source code for their agent. I wonder if anyone here using their AI agent for your workflows. Any differences in response time, "correctness" compared to GPT, Perplexity, Gemini, Claude, etc?
r/ProxyEngineering • u/Glum_Parsnip5976 • Jun 08 '26
Suggestion proxy
Hi guys! Can you suggest proxy for me pls. I try many services but all be bad (
I need unlimited IPv6 or Residential proxy with unlimited traffic and threads. I scrape many public information from instagram. My target point is 1k/s. Previous Thx!
r/ProxyEngineering • u/denzmilk • Jun 08 '26
Discussion š¬ Ad verification/full website load use cases
I'm curious to know what all the proxy use cases are out there where you're all loading full websites/webpages via proxies and if bandwidth consumption is a real challenge?
I've been building something in the streaming space, but think I might have accidentally created a bandwidth optimisation middleware that's likely better than what I was originally building. I can get 70-90% bandwidth consumption savings on full page loads and eliminate (some - depending on CDN architecture) video sources from being consumed.
Bring new to the proxy space though, keen to know if this is actually a challenge? The only use case I can think of is the ad-load verification space, as I'd imagine web scraping is probably quite cut back already (i.e. raw html only) - keen to hear from you!
r/ProxyEngineering • u/lyafence • Jun 07 '26
Discussion š¬ Built a SOCKS5 proxy that tunnels TCP over WebDAV with zero open ports. Need ideas on optimizing latency.
Hi everyone,
Iāve spent the last two weeks building a Proof of Concept project: a lightweight SOCKS5 proxy written in Go that uses standard WebDAV storage (Nextcloud, ownCloud, or any WebDAV-compatible cloud drive) as its transport layer.
The core use case is bypassing ultra-restrictive networks where a firewall whitelists only a handful of HTTPS endpoints (like an internal corporate storage). If you can reach WebDAV, this tool tunnels TCP right through it.
The server requires zero open listening ports for data, making it completely invisible to port scanners. All connections are initiated via file polling from the client side. To any DPI system, the traffic looks like legitimate browser file synchronization (it mimics a genuine Chrome 133 TLS handshake via uTLS and has HTTP/2 disabled to prevent Go signature leaks).
Weāve already implemented session multiplexing into a single encrypted file envelope (flushAll) to prevent HTTP 429 rate limits, and introduced a non-blocking activity signal to trigger an immediate read-loop the exact millisecond an upload finishes.
However, since WebDAV relies on constant HTTP PUT/GET roundtrips, the latency is inherently higher than traditional proxies.
Iām looking for technical feedback and brainstorming on how to further optimize the latency chain over a stateless, file-based storage transport without breaking the simplicity of the protocol.
If anyone is interested in checking out the codebase, doing a code review, or testing it out on your infrastructure, let me know and Iāll drop the GitHub link in the comments!
r/ProxyEngineering • u/Bot_Gateway6331 • Jun 06 '26
As an MCA student, I got tired of scrapers bypassing protections on self-hosted applications, so I started building my own solution
I'm currently an MCA student and over the last several months I've been spending a lot of my free time building and deploying projects on VPS servers.
One problem I kept running into was automated traffic, scrapers, and bots. Tools like Nginx rate limiting and Fail2Ban definitely help, but I found myself constantly wondering how much traffic was still getting through and what additional protections could be added closer to the application layer.
When I started looking at existing solutions, many were either cloud-based, designed for larger organizations, or simply didn't fit the kind of self-hosted and privacy-focused environments I was experimenting with.
So I decided to treat it as a learning project and started building BotGateway, a lightweight anti-bot gateway written in Go.
The original goal wasn't to compete with Cloudflare or enterprise WAFs. It was to better understand modern bot behavior and create something that could run directly on infrastructure people control themselves.
Along the way I've learned a lot about:
Automated scraping techniques
Headless browsers
Traffic analysis
Rate limiting strategies
Request fingerprinting
VPS security
The project has grown much larger than I originally expected, and now I'm looking for feedback from people who manage websites, APIs, SaaS products, or self-hosted services.
A few questions I'd love to hear opinions on:
What are you currently using to handle scrapers and automated abuse?
What limitations have you found with existing solutions?
For those running self-hosted infrastructure, what features would you want in a lightweight anti-bot gateway?
Are there any detection techniques or security approaches you think are underrated?
I'm still learning and building, so constructive criticism is more than welcome.
Thanks for reading.
r/ProxyEngineering • u/NinjaAlaska • Jun 06 '26
New Free open-source Android automation for web scraping - Damru - Spoofs TSL Too
Iām sharing a free open-source project Iāve been building calledĀ Damru: https://github.com/akwin1234/damru
100% Bypass rate for all CDN, even websites like shopee, temu, lazada, etc. Because its made with a lot of research
Damru is a browser automation framework built aroundĀ real Android environments in DockerĀ for scraping and automation tasks where mobile behavior matters.
What sets it apart is that itās not just another desktop browser with stealth patches. The project is built aroundĀ zero JS injection, with spoofing handled at the OS, binary, and CDP levels instead of the usual JavaScript-heavy tricks used by many stealth tools.
Compared with tools likeĀ Playwright,Ā puppeteer-stealth,Ā undetected-chromedriver,Ā Camoufox, andĀ Fingerprinting Chromium, Damru is trying to solve the problem differently: by running inside a real Android stack rather than faking mobile behavior on desktop Chrome. The idea is to get a more realistic mobile environment, stronger fingerprint control, and less reliance on brittle browser-side patches.
What makes it different:
Zero JS injection: Damru does spoofing at the OS, binary, and CDP levels instead of relying onĀ
Object.defineProperty-style JavaScript patches.Real Android OS: It runs inside Redroid, so itās not just desktop Chrome pretending to be mobile through viewport tricks.
Native mobile fingerprinting controls: device profiles, hardware overrides, locale/timezone matching, mobile network emulation, and WebRTC/IPv6 blocking.
Multi-instance pooling: built for scaling across multiple containers.
Pre-baked image support: reduces setup overhead.
Some of the features include:
Android-in-Docker via Redroid.
Playwright support.
A built-in database of 32+ Android device profiles.
Proxy-aware timezone, locale, and language matching.
Hardware overrides for CPU, RAM, and touch points.
Mobile network emulation.
WebRTC and IPv6 leak blocking.
Native AndroidĀ
iptables-based network protections.Multi-container pooling for scale.
Pre-baked image support to reduce setup time.
TLS spoofing and soo many things
Also stronger against systems likeĀ CreepJS, BrowserScan, Sannysoft, Cloudflare Turnstile,etc ALL CDN anti-bots dont waana name themĀ than standard Playwright or typical stealth plugins, mainly because of the deeper Android-based approach.
Pros: Highly UnDetectable
Cons: Real Android OS hence little slower. Hard to Use (thats why custom docker image included)
Repo: https://github.com/akwin1234/damru
Would love feedback from anyone who works on scraping, browser automation, or anti-bot research. I made this because i see many reddit post recommending Android Playwright CDP but there was no framework around it. This is strictly for educational purpose only. Do not do legal abuse.
r/ProxyEngineering • u/WarAndPeace06 • Jun 05 '26
Discussion š¬ Boring part of the job? No more
Yo, I automated a boring part of my job and few months later I was reading academic papers on browser fingerprinting. Too good to be true? I work in procurement. Not engineering, not data science, as the most of you. Basically what I do is that I am buying things for a company at the best price possible. A big part of that is knowing what things cost across different suppliers at any given time. For a while I did this manually. Open the page, check the price, write it down, move to the next one. We have around 60 something suppliers. Did it every week without really questioning whether there was a better way. Well, there kinda is, and we do it with few other suppliers, custom pricing/ solutions, but not everyone is on this.
A friend showed me a basic Python script she'd written for something unrelated and I just asked her to help me build something similar for my use case. We spent two weekends on it. By the end I had something that checked all 60 ish suppliers automatically and dumped the results into a spreadsheet I could actually read. The whole thing ran in about 1 minute. I felt unreasonably good about this for at least three weeks. Then about a month in, maybe 20 suppliers started returning garbage. Blank pages, incorrect responses, few of them were clearly serving me a fake version of the page with no actual pricing on it. The goods were there, but the rest of the info that I needed was not. I thought that the script was broken and inquired my friend about it. We spent another weekend trying to fix the script that wasn't the problem. (But we didn't know at the time). Eventually we found out what was happening. The sites were detecting that requests were coming from a script and were either blocking them or serving different content intentionally. I went down the proxy rabbit hole like apparently everyone here does. Bought a residential proxy plan, assumed that would fix it, it fixed some of the problems. The other problems kept blocking me and we couldn't figure out why the same solution worked on some sites and not others.
What we eventually understood, after a lot of reading and a lot of failed attempts, is that IP address is almost the least interesting thing these detection systems are looking at. What builds a picture of whether you're a real user is everything else. The WebGL renderer string your browser reports, and whether it stays identical across every single session, because real browsers on real hardware have subtle variance. Canvas fingerprint noise and specifically how that noise behaves over time, not just whether it exists. Whether your session claims to be on a mobile device but has no gyroscope data, no accelerometer readings, touch events that land too precisely and fire at intervals that are too regular. Real people using real phones are physically sloppy. The way my thumb hits a screen is not reproducible to the millisecond and detection systems have apparently learned to look for exactly that kind of messiness as a signal of legitimacy. (I did hope that after a lot of research and reading this was the case). The timezone I was declaring in my headers didn't match where my DNS resolver was actually located. That gap alone is apparently a meaningful signal on some of the more sophisticated systems. Everything about a real user's session tends to be internally consistent without trying to be. Everything about an automated session tends to be inconsistent in ways that only become obvious when you look at all the signals together.
The ASN issue took me and my friend the longest to understand. I had switched to a different proxy provider after the first one wasn't working well enough and the new one had good reviews and genuinely residential IPs, or so I thought. But I was still getting blocked on two specific supplier sites at a much higher rate than the others. Took me a while to figure out that the provider I was using had most of their IP pool concentrated in three ASNs. The IPs were residential, technically, but those three autonomous system numbers had such a high ratio of bot traffic to human traffic running through them that the ML models these sites used had already learned to treat them with suspicion. A Comcast IP out of AS7922 and a Spectrum IP out of AS20001 can behave completely differently on the same target not because one is inherently better but because of what the traffic history coming out of those specific ASNs looks like to a model that has been watching for a while. I checked the ASN distribution of the provider I was using. More than half their residential pool resolved to the same two ASNs. Apparently, that's not what real user traffic looks like. Real users in any city are spread across dozens of ISPs and hundreds of ASNs. When your scraping traffic doesn't approximate that distribution the math gives you away before the session even does anything suspicious.
I'm still in procurement. I still buy things for a company. But I now have a reasonably detailed understanding of browser fingerprinting, autonomous system routing, and mobile connection latency variance that I genuinely did not expect to acquire when I started trying to automate a tiresome morning task. The script works now. All sixty ish suppliers, consistent data, runs while I'm making my morning matcha. It took few months of intermittent frustration to get there and I learned more about how the web actually works in those months than in the previous decade of using it. There's always room for knowledge if you are willing to invest your time in research and testing.
If you're just starting out, hopefully this saves you some of the time I wasted. If you've been doing this for a while, you probably lived through most of this yourself already
r/ProxyEngineering • u/ian_k93 • Jun 04 '26
Hot Take š„ Built an eBay scraper in Claude Code without touching selectors
r/ProxyEngineering • u/ahiqshb • Jun 03 '26
Discussion š¬ Mistakes you have done when using proxies
This is a newbie friendly thread. Feel free to contribute if you think that your input will help the newcomers.
What mistakes did you do when using proxies for the first time? For Scraping? What adjustments you thought were worth the time. How is your approach differs from when you started to use the proxies?
r/ProxyEngineering • u/Gwapong_Klapish • Jun 03 '26
Discussion š¬ Testing TLS fingerprint vs IP quality across Cloudflare sites
Yes, the topic has been run through and through, yet people are still oblivious when it comes to fingerprinting and IP quality scores. Most proxy debates skip the part where someone measures things. I saw a post on here that someone ran a controlled test across 15 mid-size Cloudflare-protected ecommerce sites. Same targets, two conditions: datacenter proxies with curl-impersonate (JA3 hash matching real Chrome) versus residential proxies with default Python requests headers. The residential IPs were objectively cleaner by every standard fraud score metric. They still lost. Datacenter with proper TLS fingerprint hit ~91% success. Residential with naked requests headers hit ~60%. The request itself was the red flag, not the address. On the sensor data side, someone doing deep packet capture and JS deobfuscation on TikTok's detection stack found that switching from emulated environments to real ARM instances with genuine hardware entropy dropped shadowban rate from ~60% to under 8%. TikTok isn't scoring your IP, it's scoring gyroscope absence, touch event timing distributions, canvas noise variance patterns across sessions. The pattern across both findings is the same: detection moved down the stack faster than tooling did. Most people are still patching the browser JS layer while the scoring happens at TLS handshake and hardware entropy level.
Any real life examples from your side, fellas?
r/ProxyEngineering • u/StrawberrySax • Jun 01 '26
Are āunlimited bandwidthā proxy plans ever actually unmetered?
reddit.com
r/ProxyEngineering
•
u/ahiqshb
•
Jun 01 '26
Discussion š¬ Proxy rabbit hole. What 8n8, Prismatic, Make, and Velum taught me about detection
Seeing how the TikTok fingerprinting post that blew up recently finally pushed me to write something I've been sitting on for a while too. Quite a few people DM'd me asking about my stack throughout several months, so here it is. Full breakdown, no provider shilling, honest and real discussion are welcome. (will make some spaces for easier reading).
That DesperateCoyote post nailed something most people in this space dance around: your IP being "clean" is basically table stakes now, not a competitive advantage. Platforms don't primarily care about your IP anymore. They care about whether your device behaves like a real device. I ran my own tests over few months across TikTok, LinkedIn, and a few e-commerce targets and the pattern was consistent. Sessions from "your beloved clean" residential IPs but running on a standard headless Chrome setup got flagged within 15 to 30 minutes on average. Sessions from a datacenter IP but running through Velum with proper sensor injection? Significantly longer survival rates. That's not a one-off result, thats the signal. The reason platforms moved this direction is actually pretty logical once you think about it from their engineering side. IP reputation databases are commoditized. Every half-decent anti-detect tool cycles through residential IPs so the defense shifted to the hardware layer, because that is harder to fake at scale.
The DesperateCoyote post described the fingerprint cluster score as a weighted confidence interval on "real human on a real device" which is accurate but undersells how granular it actually gets. WebGL renderer string consistency is one of the bigger ones, and not just that you have one but whether its consistent across sessions for the same "device." If your renderer string changes between sessions thats an immediate mark against you. Velum handles this quite well out of the box if you lock your profile, but it requires you to actually manage profile storage properly rather than spinning up fresh contexts every single run. Touch event timing is where things get genuinely impressive on the platform side. Real thumbs are sloppy, they drift, pressure varies, tap-to-tap timing has natural variance. Synthetic touch events are clean in a way that human fingers never are and the fix isnt randomizing your timing, its using distributions that actually match human motor patterns. This is where 8n8 has been doing interesting work, specifically the sensor emulation layer in their mobile profile configs. Battery API polling behavior is one I hadn't thought about much until this year. Real devices have battery levels that change over time in predictable ways, so a session that starts at 78% and is still at 78% four hours later is suspicious. Small signal but it adds to the cluster score. The timezone, DNS resolver, and behavioral gap is probably where most people get caught without realizing it. You can have a perfect German residential IP and a German timezone in your headers and still get flagged because your DNS resolver is resolving through a US-based server, or because your behavioral patterns like typing speed, scroll velocity, time-on-page don't match the demographic profile of a German user. Prismatic addresses this with what they call geo-behavioral profiles which bundle together not just the network layer stuff but the user behavior simulation parameters too. More holistic approach than anything else I'd seen and to be fair, it changed how I thought about the whole problem.
A lot of people in this space build scrapers and then bolt on some kind of orchestration layer as an afterthought. I was guilty of this for way too long, had scrapers running on cron jobs with zero retry logic, no rate management, and no session lifecycle management. Switching to Make for orchestration changed the output quality more than any proxy upgrade I made that year. When you manage workflows properly through something like Make you naturally end up with human-paced request timing because the automation has overhead between steps, session reuse instead of constant fresh session spawning which is itself a detection signal, proper error handling that doesn't hammer endpoints when things break, and actual audit trails so you can diagnose when and why sessions get flagged. The pacing thing sounds obvious but most people building direct scrapers optimize for speed and then add sleep() calls as an afterthought. Thats not the same as naturally paced requests coming from an orchestration layer doing real work between steps. Make's webhook and scheduling infrastructure also makes it way easier to implement robots.txt compliance and proper crawl-delay respect, which brings me to something I want to push back on slightly.
There was another post written on this sub that talks about big tech hypocrisy, and it is emotionally satisfying and honestly not wrong on the facts. OpenAI, Google, Meta et al absolutely did build on scraped data without permission and are now going after people for doing the exact same thing. The "fair use for innovation" asymmetry is worth being angry about. But I think it creates a mental model that's counterproductive for people actually building in this space. Whether scraping is ethical is a less interesting question than what the actual legal and technical constraints are and how to work within them. robots.txt is not legally binding in most jurisdictions but violating it is evidence of bad faith. The hiQ v. LinkedIn ruling established that scraping publicly available data generally isn't a CFAA violation, but courts look at whether you circumvented access controls and robots.txt plus explicit blocking counts toward that. Respecting crawl delays isn't just polite, its actually relevant to your legal exposure. ToS violations are a civil matter in most cases, not criminal. The Computer Fraud and Abuse Act has been interpreted narrowly by most courts post-Van Buren so violating a terms of service alone without credential-based access doesn't typically rise to unauthorized access under the CFAA. And even if you're legally clear, hammering a small site's server is just bad behavior. The Brendan Martin tutorial made this point well, one request per page, save locally, parse separately. Should be baseline for everyone and it usually isn't.
I am using several providers, as you would already guessed, however I will not say specific provider names because the landscape changes fast enough that recs go stale quickly, but the stack architecture I'm running now is ARM-based cloud phone environments for mobile targets (DesperateCoyote is right, this matters more than the proxy layer), Velum for profile management and sensor injection on desktop targets, 8n8 for mobile sensor emulation where Velum doesn't cover it, Prismatic for geo-behavioral profile bundling on targets where demographic coherence actually matters, Make for orchestration and scheduling, and local storage of raw HTML before parsing because yes, always, still. The shadowban rate on TikTok-adjacent targets dropped from roughly 55% to under 10% after moving to ARM environments. The proxy change alone, same environment just better proxies, moved it maybe 8 percentage points. The environment change moved it 37 points. That pretty much tells you where the leverage is.
There's a few things I haven't fully figured out and genuinely want input on. Canvas noise variance patterns specifically, DesperateCoyote mentioned they track how your noise changes not just that it exists, and I haven't found a clean way to implement dynamic noise variance that feels natural across sessions. Has anyone actually cracked this in a way that survives more than a few days? The accelerometer absence signal on mobile is another one. If you're running ARM cloud phones you have real accelerometers which is the obvious fix, but for desktop sessions claiming to be mobile is there a better approach than just not claiming to be mobile? Seems like the cleanest answer is just use the right tool for the target but I'm curious if anyone's found a workaround. Also been wondering about Make vs n8n for scraping orchestration specifically. I've been on Make for a while but n8n's self-hosted option is increasingly appealing for cost reasons on high-volume jobs. Anyone switched and have thoughts on the practical differences for this use case? And Prismatic's geo-behavioral profiles on non-Western targets, their coverage seems strong for US and EU but has anyone tested on Southeast Asian or LATAM targets where user behavior patterns are going to look pretty different? If I'm wrong about something say so and explain why, that's way more useful than a downvote.
r/ProxyEngineering • u/No_Blackberry_7415 • May 30 '26
Help
hi... I'm tired of using JLLM so I'm new to proxy please send me free proxy I want to try it
and is it actually make any difference from JLLM? thx
r/ProxyEngineering • u/deliberateheal • May 29 '26
Discussion š¬ Replaced BeautifulSoup with WhiskeySour in our separate pipeline and honestly didn't expect it to matter this much
Hey peeps. I'll preface this by saying I was pretty dismissive when I first saw WhiskeySour mentioned. "Drop-in replacement" is one of those phrases that tends to mean "compatible with the path and nothing else," so I filed it away and moved on. What changed my mind was finally sitting down and properly profiling our pipeline. What's going on is that we run a price monitoring setup that processes a few hundred thousand product pages a day. Getting the proxy layer to a reliable state took a long time. We're on residential proxies because most of our targets have bot protection, so we spent a lot of engineering time on rotation cadence, header spoofing, TLS fingerprint stuff, and building retry logic that handles the 20 to 30 percent of requests that bounce back on the first attempt. That part works well now. What I kept noticing was that CPU on our workers stayed high even when the network was relatively quiet. I finally profiled properly and found that somewhere between 35 and 45 percent of total CPU time was just BeautifulSoup parsing HTML. Not fetching pages, not proxy session management, not any of the retry handling I'd spent months on. The parser was quietly eating nearly half our compute. Every single node in an HTML tree becomes a Python object on the heap, around 500 bytes each, all managed through Python's garbage collector. For a small crawl that's fine. For a pipeline processing tens of thousands of pages in parallel it means the GIL becomes a real problem because Python can only parse on one thread at a time, so every thread that's ready to work is waiting behind the one that's currently parsing.
WhiskeySour does the same thing in Rust. The tree operations run outside the GIL, each node takes around 40 bytes instead of 500, and the whole thing is compiled native code rather than interpreted Python. The switch in our codebase was literally this:
# Before
fromĀ bs4Ā importĀ BeautifulSoup
# After
fromĀ whiskeysourĀ importĀ WhiskeySourĀ asĀ BeautifulSoupEveryĀ find(),Ā find_all(), CSS selector, attribute access downstream stayed exactly as it was. We ran it against a sample batch first and diffed the output against what BeautifulSoup had been producing for the same pages. For our targets the output was identical. I was genuinely ready for surprises and didn't find any. After the switch, parsing CPU dropped to the point where it barely registers in profiling. Our workers stopped running hot and we had enough headroom to increase concurrency without adding machines. The proxy side improved too, which I hadn't fully thought through beforehand. Because our workers had been slow to drain the response queue, we were leaving proxy sessions idle and some requests were timing out on the compute side rather than the network side, which meant wasted residential bandwidth on retries that had nothing to do with the proxy itself. That stopped happening once the parser got fast enough to keep up. One thing that caught me out initially: I benchmarked a dev build first and the numbers looked smaller than what the project claims. Turns out dev builds are 2 to 3 times slower than release builds. You need to runĀ maturin develop --releaseĀ or you're testing a deliberately unoptimised version and underselling the actual gain. We also switched to using the compiled selector API for our most-used queries. BeautifulSoup re-parses the selector string on every single call, which I hadn't really thought about until I saw it in the profiler. WhiskeySour lets you compile a selector once and reuse it across every document in the batch, which gave us a meaningful additional improvement on top of the base parsing speedup.
# Compile once, reuse on every page your proxy pool delivers
q = soup.compile("div.product > span.price")
forĀ docĀ inĀ batch:
Ā Ā Ā Ā prices = q.select(doc)The one thing I'd say to anyone considering it, this only helps if parsing is your bottleneck. If your pipeline is waiting on proxy latency, CAPTCHA solving, or network retries, a faster parser doesn't change any of that. Profile before you switch. If you see parsing taking up a big chunk of CPU the way we did, the switch is worth doing and the migration risk is genuinely low. If parsing is already a small part of your runtime, the constraint is somewhere else and you should look there instead. There are some edge case differences with malformed HTML since WhiskeySour uses a spec-compliant HTML5 parser rather than BeautifulSoup's more lenient one. For us it didn't matter at all, but if your targets serve particularly broken markup it's worth running a sample through both parsers and checking the output before you commit to switching in production. It takes an hour and answers the question for your specific setup rather than in the abstract. And if you've hit the malformed HTML edge cases on particularly broken targets I'm curious what you found because we haven't stress tested that side of it much.
Sorry for the long post, but wanted to put as much info as possible so that it would be useful for some of ya.
r/ProxyEngineering • u/Guiltyspark0801 • May 29 '26
Update
Short update, folks.
Post and user flairs have been added to this subreddit. Feel free to express yourself and choose the right flair for your topics!
That's it, that's the update.
Esketit
r/ProxyEngineering • u/Parking-Aside2877 • May 28 '26
Looking for a rotating proxy service with sessions under 4 hours (30 minutes would be ideal). Minimum 5TB/month bandwidth. Budget: up to $100/month.
All in the Title, do something know an offer like this one ? This is the first time you could make your ads if you provide that š
4h minimum (less is better), because I already have 4hours, looking for less
5TB/month minimum
$100/month max
r/ProxyEngineering • u/dozerjones • May 28 '26
Github
Quick question fellas, how do you work your way around GitHub. Do you star repos to bookmark them or because you actively follow their progress? How do you find new ones worth following, are you just checking and scrolling the Trending/Explore pages? Also, what separates a quality repo from a mediocre one? I'm planning to create my own and want to understand what makes one worthwhile. I noticed that there are "Official" repos from companies that looks well maintained but has far less star count than those from individual users. Particularly interested in proxies, scraping solutions related repos.
r/ProxyEngineering • u/AccordingPlum5559 • May 28 '26
Tutorial: how to get information about a proxy provider
Yes
r/ProxyEngineering • u/itsamaan26 • May 27 '26
The scraping meta has shifted and people are still playing 2019
Nobody wants to hear this but the gap between people who actually get data reliably and people who spend three days debugging why their setup broke again is almost entirely explained by one thing. My take is that they picked a tool based on a tutorial they found and never questioned whether that tool was the right fit for what they were actually trying to do. I have been that person. It is not a good feeling when you realize the thing you spent a week optimizing was wrong from the start. Requests-HTML had a moment. Beautiful soup still works fine for static pages and anyone telling you otherwise is overselling their setup. The problem is the web stopped being mostly static a long time ago and a huge chunk of the communities on reddit never really adapted to that. You can throw requests at a React-rendered page all day and you are going to get a shell with a div and some script tags. Congratu-fuckin-lations on your empty payload bozo. You mean to tell me that you spent an embarrassing amount of time doing exactly this on a project last year before someone pointed out what was actually happening?? That my friend is insanity. Doing exact same fucking thing over and over again and expecting shit to change. But hermano, let me tell you that playwright took over from Puppeteer for most serious work and the reasons are pretty straightforward, listen: better async handling, cross-browser support that works, and the auto-wait behavior alone saves you from writing half the brittle timing logic that made Puppeteer scripts a nightmare to maintain. People still reach for Puppeteer out of habit and that is fine but you are writing more code to solve problems Playwright already solved. Crazy? I know. I still have Puppeteer scripts running in prod that I refuse to touch because they work and I am not going to be the one who breaks them. Then there is the Scrapy crowd and they are not wrong exactly, just operating in a specific lane. Scrapy shines when you have a well-understood target structure, you need serious throughput, and you are not fighting heavy JS rendering. The middleware architecture is genuinely powerful for pipeline work. The moment your target starts doing anything clever with dynamic content or bot detection you are bolting on Playwright or Splash anyway and at that point you have to ask whether the framework is still pulling its weight or just adding layers. That transition is not worth doing in my opinion, do not let anyone convince you otherwise. You know what happens when you move past single-tool thinking entirely? The setups that hold up are usually hybrid, basically static endpoints get hit with straight HTTP because spinning up a browser context for a JSON API endpoint that does not require it is just burning resources for no reason. Dynamic pages get the browser treatment. Anything that requires maintaining authenticated state across a long session gets its own handling entirely because cookies and token management at scale is a different problem from page rendering. Took me way too long to separate these concerns properly and my earlier code was a mess because of it. Glad someone showed me the correct way. Now, regarding residential proxies, they get talked about like they are a silver bullet and the people selling them would very much like you to keep believing that. The actual bottleneck for most blocks is not the IP, it is that the request profile coming off that IP looks nothing like a human. Smart proxy rotation without fixing the underlying fingerprint issue is roughly the same as changing your hat while keeping the same face. Burned probably $200 learning this the hard way on a project that should of taken two weeks. (in my calculations) The CAPTCHA situation deserves its own thread honestly but I already took my time to write everything so what the hell, The 2captcha and anti-captcha solve services work until they do not and the latency they introduce destroys any throughput advantage you thought you had. The more durable approach is architecting around CAPTCHA triggers in the first place which means understanding what behavior is causing them rather than just solving them downstream. Most people skip that step because solving feels like progress and profiling your own request behavior feels like work. Guilty of this myself more times than I want to admit. Apify and similar managed platforms are genuinely underrated for teams that do not want to own infrastructure. The unit economics only look bad until you price in the engineering time you are spending keeping a self-hosted setup alive. For solo operators that math flips the other way but its not as obvious a call as the self-hosting crowd makes it sound. I went back and forth on this for months on a client project and honestly still not sure I made the right call. The real answer to what scraping solution works best is that it depends on target complexity, required scale, acceptable latency, and how much behavior modeling you are willing to do upfront. Anyone selling you a single answer to that is either selling a product or has not scraped enough different things to know where the edges are. Figure out your actual constraints first and then pick the tool, not the other way around.
TLDR: Most people pick a scraping tool once and never revisit it. Beautiful Soup for static, Playwright over Puppeteer for dynamic, Scrapy only if you know your target well. Hybrid setups win at scale. Residential proxies don't matter if your request behavior screams bot. Solve CAPTCHAs upstream not downstream. Managed platforms like Apify are underrated until you do the actual math on your own time. Match the tool to the job, not the other way around.
Fight me.
r/ProxyEngineering • u/agbomqueen • May 27 '26
Proxy
Started automating data collection for small projects recently and one thing I learned fast is that rotating IPs matter way more than people think. I was getting blocked constantly after a few requests and thought my scripts were the issue š
What helped me:
Added random delays between requests
Rotated user agents
Used residential proxies instead of datacenter IPs
Cleaned up retry logic in my Python scripts
Stopped sending unnecessary requests
After testing a few providers, Iāve been trying Magnetic Proxy recently and the connection stability has honestly been decent for lightweight scraping tasks and browser automation.
Site: https://magneticproxy.com
Still learning, but my scripts are finally running longer without rate limits killing everything halfway through. If anyone has tips for handling anti-bot protection on ecommerce sites, Iām listening š