funcaptcha
A library used to interact with funcaptchas.
Installation
This package is available on npm.
Simply run: npm install funcaptcha
Usage And Documentation
Require the library like any other
const fun = require("funcaptcha")
You must first fetch a token using getToken
const token = await fun.getToken({
pkey: "476068BF-9607-4799-B53D-966BE98E2B81",
surl: "https://roblox-api.arkoselabs.com",
data: {
blob: "blob"
},
headers: {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
},
site: "https://www.roblox.com/login",
proxy: "http://127.0.0.1:8888"
})
You can then create a new session
const session = new fun.Session(token, {
proxy: "http://127.0.0.1:8888",
userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"
})
console.log(session.getEmbedUrl())
console.log(session.tokenInfo.sup == "1")
One session can get you 10 funcaptcha challenges, you will have to get another session after that.
let challenge = await session.getChallenge()
console.log(challenge.gameType)
console.log(challenge.variant)
console.log(challenge.instruction)
console.log(challenge.waves)
console.log(challenge.wave)
await challenge.getImage()
await challenge.answer(3)
await challenge.answer(51.4)
await challenge.answer(2)
await challenge.answer(2)
Full Example
const fs = require("fs")
const fun = require("funcaptcha")
const readline = require("readline")
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
function ask(question) {
return new Promise((resolve, reject) => {
rl.question(question, (answer) => {
resolve(answer)
})
})
}
fun.getToken({
pkey: "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC",
}).then(async token => {
let session = new fun.Session(token)
let challenge = await session.getChallenge()
console.log(challenge.data.game_data.game_variant)
console.log(challenge.data.game_data.customGUI.api_breaker)
for(let x = 0; x < challenge.data.game_data.waves; x++) {
fs.writeFileSync(`${x}.gif`, await challenge.getImage())
console.log(await challenge.answer(parseInt(await ask("Answer: "))))
}
console.log("Done!")
})
Support Me
Care to support my work?
- BTC: 38pbL2kX2f6oXGVvc6WFF2BY9VpUCLH7FG
- LTC: M81EXhLSRXNKigqNuz5r7nanAvXmJmjFht
- XRP: rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg:865667163
- Ko-Fi (PayPal): noahcoolboy