ยังไม่มีหน้านี้ในภาษาของคุณ คุณกำลังอ่านข้อความภาษาอังกฤษ
Compare
Running a profile with nobody there
Two ways to aim a program at a browser
One way comes from outside: you attach a library over the browser's debugging protocol and send commands, the way known automation toolkits do.
The other comes from inside: you build a flow out of steps, and the app walks them in a profile it opened itself.
Eight ways under a program
Read the rows as approaches, not product names. The last row is ours, and you can check any cell in it yourself.
Where an approach has nothing to say on a column, the cell says so. A blank is better than an invented answer.
| Approach | What drives it | Many accounts at once | The automation tell | Nobody at the keyboard |
|---|---|---|---|---|
| An ordinary browser as it comes | An outside library over the debugging protocol | One identity for every window | The open channel announces automation | Your own scheduler |
| Incognito mode | Not its job | One identity for every window | Belongs to the browser, not the mode | Not its job |
| Separate profiles of the same browser | An outside library aimed at a data directory | Separate cookie jars, one device | The open channel announces automation | Your own scheduler |
| An extension that rewrites page values | Not its job | One identity for every tab | Cannot undo the browser's own flag | Not its job |
| A VPN | Not its job | One exit for everything | Not its job | Not its job |
| A virtual machine per account | A library inside each guest | As many guests as the host boots | As the guest's library leaves it | The guest system's scheduler |
| Separate hardware per account | A library per machine, or a person | One account per device | As that machine's library leaves it | Per machine, if at all |
| A browser with the engine itself changed | Steps in the app, or your code over a loopback port | A queue sized to the open window limit | The channel is open, the flag is put back off | A schedule while the app is open |
One flag against a whole fingerprint
Opening the debugging channel makes Chromium set a flag saying this browser is driven. It is the first line of every bot check, and that one boolean outweighs everything a fingerprint gets right.
So on the ARMANOS Browser the channel stays and the announcement does not: your library attaches as usual, and the page sees no automation flag.
An endpoint per profile on the ARMANOS Browser
You attach to one profile at its own address, alive only on this machine and only while that profile is open. The built in engine has one shared port for the whole app, open only with the local interface on.
The noisy domain stays off
A page sees none of the hooks that part of the protocol installs: a flow does not need it, and we never switch it on.
What drives a profile here
You add a step from a form: pick the kind, fill the fields, save. There is no recorder: clicking a path by hand will not turn into ready steps.
Pages and waiting
Open an address, wait for a time or an element, scroll, press a key.
Filling and reading
Type into a field, read a value into a variable, take a screenshot.
Order and branching
Repeat a body, walk a list, take one side of a condition, work across tabs.
Cookies and your own code
Read or clear cookies, run your own JavaScript under a time limit, wait for a request.
What still reads as a machine
A flow repeats what you wrote at the pauses you set, and one rhythm across every account is a pattern of its own. So a warm up takes a different pause and a different scroll every time.
It cannot answer a question meant for a person. There is no captcha solving here and no model deciding what to click.
A selector is a guess about a page
A site changes its layout, and the step aimed at that element breaks on you.
A failed step does not end the run
The rest of the steps still go, you see the error in the log, and the run is marked failed.
A new profile is a signal by itself
The warm up robot browses ordinary public sites first, so your jar is not empty at the first login.
When nobody is at the keyboard
You give a flow its schedule: which profiles, at what time, and how many at once. Times are local, so after a clock change nine in the morning is still nine.
Three days of skipped warm ups arriving together is the spike a platform reads as a robot.
What this comparison does not claim
- There is no recorder. Your clicks never become steps.
- No captcha solving, no image recognition, no model in the loop. A site that asks a human question stops the flow there.
- Schedules run only while the app is open. There is no background service, and a closed laptop misses its runs.
- Leaving the noisy part of the protocol off removes one signal, and only one. Nothing here promises you will not be recognised.
- Rows about the other approaches describe the approach in general. We publish nothing about any named product, because we cannot measure someone else's honestly.
How to check this
Each claim below names the file behind it, and the automation flag has a stand that launches the real engine.
- The automation flag is read off a real page, on the real engine, with the real arguments
- apps/desktop/src/lib/forkEngine.js · apps/desktop/test/webdriver-flag.js
- The protocol domain a page could notice is never switched on for a run
- apps/desktop/src/lib/cdp.js · apps/desktop/src/lib/forkPage.js
- The unprotected app wide debugging port opens only for the built in engine
- apps/desktop/src/main/main.js · apps/desktop/test/cdp-port-only-when-needed.js
- A missed schedule is skipped rather than replayed
- apps/desktop/src/lib/schedules.js · apps/desktop/test/schedule-runs.js
- Warm up pauses come from a range
- apps/desktop/src/lib/cookieRobot.js · apps/desktop/test/cookie-robot.js
Questions
- Can I record a scenario by clicking through it?
- No. You build steps from a form, and your clicks are recorded nowhere.
- Does my own library bring the automation flag back?
- On the ARMANOS Browser no: the page sees no automation flag.
- Can a web page drive my profiles through the local port?
- No. A request coming from a page in a browser is refused, and a faked machine name will not save it.
Read next
Flows without code
Steps, variables, loops and the run queue.
Local API and keys
The port your programs call, and what it refuses.
The automation flag
One boolean, read first by every bot check.
Machines in automation
The lesson version, mistakes named.
Team access side by side
The other axis: handing work over and taking it back.
Try a flow on a free profile
The free plan runs the same engine as the paid ones, so a flow behaves there exactly as it will later.