head to head · open source

dots vs ff-ruyijs

dots has 32,357 GitHub stars, 4,739 forks, 0 open issues and last shipped 3 days ago. ff-ruyijs has 537 stars, 274 forks, 3 open issues and last shipped yesterday. dots leads on adoption by 5,926% (32,357 vs 537 stars). dots is written in TypeScript under MIT; ff-ruyijs is written in C++ under AGPL-3.0. dots has attracted 15% as many forks as stars, ff-ruyijs 51%. ff-ruyijs was the more recently maintained of the two, and both are self-hostable with no licence fee. The two share 1 topic tag (automation), so they are genuine substitutes rather than adjacent tools.

Two open source projects, one decision. Both are free and self-hostable — the differences are community size, license terms, language stack and release pace.

dots ★ 32K ff-ruyijs ★ 537 category Data & Analytics

← all 20902 open source comparisons

Side by side

dots ff-ruyijs
GitHub stars ★ 32K ★ 537
License MIT AGPL-3.0
Written in TypeScript C++
Last push 2026-10-31 2026-11-02
Forks ⑂ 4.7K ⑂ 274
Self-hosting Yes Yes
Data ownership Your server Your server

pick dots if

  • You weight community size — 32K stars and counting
  • You want the MIT license terms
  • Your stack matches TypeScript
  • You value the larger contributor base for long-term maintenance

full dots profile →

pick ff-ruyijs if

  • You want the ff-ruyijs feature set and don't need the biggest community
  • You prefer the AGPL-3.0 license terms
  • Your stack matches C++
  • You evaluated both and ff-ruyijs fits your workflow better

full ff-ruyijs profile →

About dots

dots Every AI agent is a model and a browser. You can swap the model with one flag. The browser is what the website sees. Windows, in PowerShell: Linux: Then open The conversation on the left, the browser on the right, live. It all comes down to the browser When a web agent fails, the model is rarely why. The page never loaded, a challenge appeared, the login expired, the click did not land. All of that happens in the browser, before the model gets to think. So dots is built around one: A real Firefox engine, patched in C++. The fingerprint is decided inside the engine, not painted over with JavaScript that a…

read the full dots overview →

About ff-ruyijs

🦊 ruyiJS Run any site's JavaScript from Python — with the real Firefox engine. A new generation, minimalist browser purpose built for AI driven automation. The authentic Firefox JavaScript engine and networking stack, with no window and no renderer — made for web scraping, JS reverse engineering, data collection, and getting past bot checks. Sponsored by Contributors Install · Features · Verification systems · Examples · FAQ · Contact · LinuxDO · English · 简体中文 ⚠️ Disclaimer: This project is for researching next generation AI browsers. Any form of brute force reverse engineering is strictly rejected. The source…

read the full ff-ruyijs overview →

More in Data & Analytics

Related comparisons

More Data Extraction & Web Scraping projects

Compare either of these against the rest of the Data Extraction & Web Scraping field.

Frequently asked questions

Is dots or ff-ruyijs more popular?

dots has 32,357 GitHub stars and ff-ruyijs has 537. dots has the larger community by that measure.

Are dots and ff-ruyijs free?

Both are open source. dots is licensed under MIT and ff-ruyijs under AGPL-3.0. Neither carries a licence fee.

What is the difference between dots and ff-ruyijs?

dots is written in TypeScript and ff-ruyijs in C++. The practical differences are community size, licence terms, language stack and release cadence — all compared in the table above.

Which should I choose, dots or ff-ruyijs?

Choose dots if you want the larger community (32,357 stars) or its MIT licence terms. Choose ff-ruyijs if its feature set, stack or AGPL-3.0 licence fits better. Both are self-hostable.