Built a basic puppeteer bot - how to make it more advanced & multiple instances?

devgrizzly

Regular Member
Joined
Jul 13, 2013
Messages
261
Reaction score
150
Right now i run it on my hetzner server with some other programs i have on there.

I use puppeteer w/ extra-stealth and will also invest in multilogin auto s within a month or so.

I have tried to humanise the bots actions - mouse, keyboard, actions, randomised delays etc. Lots more work to do on that front and i don't claim to be an expert but have gone from not knowing anything about coding to building a 'working' bot (realistic email warm-up) that right now does what i need it to do.

I have read maybe 10 papers on fingerprinting and read a lot on this forum from a select userbase @Sebastiann @daibu and some others to build out what i would consider a real bottom basic level of knowledge (enough to scrap together a bot that does what i need)..

However, the biggest issue moving forward is:

How do i level this bot/my skills up?

Right now i'm taking the the modern js bootcamp udemy course then will take a node.js course (as i didn't build any foundational coding knowledge, i just googled and put shit together - so looking to cover my 'foundational bases' as such for future)


Mainly in my leveling up of this bot, i want to:

- Make it as undetected as possible/to be the grey man for mail providers (gmail, yahoo, hotmail etc)
  1. I originally coded it in python and selenium but moved over to puppeteer with extra-stealth upon guidance from people on the forum
  2. I've read some papers on behavioural fingerprinting (i use ghost-cursor plugin, some keyboard humanization, random actions, random delays etc)
  3. I know spoofing fingerprints is out of the realm of my ability (from reading these papers/this forum), so will port over to multilogin to hopefully provide 80% of results for 20% of efforts - right now i have a few extensions which spoof OS to windows 7, proxy ip to timezone, and one that covers up webrtc leaks and a few other things (i know i probably shouldn't be using extensions as that's another fingerprint)
  4. What else is recommended i look into/develop? Or should i just keep developing these and making them better? Should i use sites to benchmark/test my 'behaviour code' against?
  5. Is multilogin + puppeteer extra stealth + decent proxies + humanised behaviours a good enough 'stack' ? Am i missing anything?

- Run multiple instances of chrome at one time (right now it runs 1 instance at a time - this is slow - ideally i would run 5-6 at a time)
  1. I have read about node cluster and workers but have yet to go deep in to the rabbit hole on that so knowledge very limited
  2. I have seen people talking about dockers, containerisation, xvfb, is this the way to go?
  3. I have thought about running the script multiple times, but i have heard that it is very easy for anti-bot technology to see if your page is focused or not and i guess it is a big flag if you're clicking on the page while not even being focused on said page lol..
  4. Could using something like https://github.com/brian-girko/always-active or https://github.com/wpears/dont (copying code, not using the extension), mitigate the issue of not being focused while running the script? Or is trying to do this me biting off more than i can chew?
  5. The only reason i haven't looked into dockers and xvfb more is i see that xvfb can't be used with windows, so i would need to spoof a load of things with my script to make it look like i'm on a windows OS rather than linux - and i understand that i have next to zero fucking clue what i'm doing, even if i can build a basic bot, i'm so unknowledgeable that i wouldn't want to start trying to spoof stuff as it would probably cause more problems than i had to begin with (thus why i want to just use multilogin for fingerprint mgt) - is this correct or am i talking nonsense?

tldr: see bulletpoint 4 and 5 on both of the 2 above paragraphs

Would appreciate any pointing in the right direction
 
Last edited:
right now i have a few extensions which spoof OS to windows 7, proxy ip to timezone, and one that covers up webrtc leaks

All three of these things will be handled by Multilogin. You should be able to ditch all your extensions once you get it.

The only reason i haven't looked into dockers and xvfb more is i see that xvfb can't be used with windows

When you run something inside Docker, you're running in a Linux environment, regardless of what the underlying operating system is. There should be no reason Xvfb wouldn't work inside the container. The only reason to run Xvfb on Windows would be if there were such thing as Windows containers (I don't think there are) or you had Windows machines without monitors. Think of Xvfb as a virtual monitor. Chrome requires a display to run headful, and Xvfb allows for that to happen without one.

I have seen people talking about dockers, containerisation, xvfb, is this the way to go?

It's the easiest way to reliably scale an application up to many simultaneously running instances. The problem is that not many people use Linux as their everyday operating system. As using Docker means running inside a Linux environment, this leaves you with a choice: You can either stand out as a Linux user, or you can set Multilogin options to appear as though you're a Mac or Windows user. I think (although I could be wrong) trying to look like a Mac or Windows user inside a Linux environment does not give very authentic results. There's too many things you have to mask and it won't appear natural.

Is multilogin + puppeteer extra stealth + decent proxies + humanised behaviours a good enough 'stack' ?

It's about as good as you can get for a reasonable amount of effort, AFAIK. The weakest link is probably the lack of realistic human behavior. Using ghost cursor is much better than not using it, but it's still a far cry from being realistic. Ghost cursor movements are essentially just two bezier curves, which could be analyzed as such.
 
Last edited:
I wouldn't waste time on handling multiple profiles/fingerprinting/etc. Use some ready solution like Multilogin, Kameleo, Incognition.
 
All three of these things will be handled by Multilogin. You should be able to ditch all your extensions once you get it.



When you run something inside Docker, you're running in a Linux environment, regardless of what the underlying operating system is. There should be no reason Xvfb wouldn't work inside the container. The only reason to run Xvfb on Windows would be if there were such thing as Windows containers (I don't think there are) or you had Windows machines without monitors. Think of Xvfb as a virtual monitor. Chrome requires a display to run headful, and Xvfb allows for that to happen without one.



It's the easiest way to reliably scale an application up to many simultaneously running instances. The problem is that not many people use Linux as their everyday operating system. As using Docker means running inside a Linux environment, this leaves you with a choice: You can either stand out as a Linux user, or you can set Multilogin options to appear as though you're a Mac or Windows user. I think (although I could be wrong) trying to look like a Mac or Windows user inside a Linux environment does not give very authentic results. There's too many things you have to mask and it won't appear natural.



It's about as good as you can get for a reasonable amount of effort, AFAIK. The weakest link is probably the lack of realistic human behavior. Using ghost cursor is much better than not using it, but it's still a far cry from being realistic. Ghost cursor movements are essentially just two bezier curves, which could be analyzed as such.
What is the better alternative to the ghost_cursor then?
 
Back
Top