Greasy Fork is available in English.

VieFaucet Claim

Faucet Automation

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         VieFaucet Claim
// @namespace    VieFaucet faucet Claim
// @version      1.0
// @description  Faucet Automation
// @author       Shnethan
// @match        https://viefaucet.com/*
// @icon         https://www.google.com/s2/favicons?domain=viefaucet.com
// @license      © 2026 Shnethan
// @grant        none
// @run-at       document-end

// ==/UserScript==

         /*
                 * Copyright (c) 2026 Shnethan . All rights reserved.
         */

(function() {

    'use strict';

    setInterval(() => {

        if (location.pathname.startsWith('/app/wait')) {
            const b = [...document.querySelectorAll('button.el-button--primary')]
                .find(y => y.textContent.trim() === "Go to Faucet");
            if (b && !b.disabled) b.click();
        }

        if (location.pathname.startsWith('/app/faucet')) {
            const d = document.querySelector('.captcha-container .dot');
            const v = document.querySelector('button.claim-button');

            if (
                d &&
                v &&
                !v.disabled &&
                getComputedStyle(d).display !== 'none' &&
                getComputedStyle(d).visibility !== 'hidden' &&
                parseFloat(getComputedStyle(d).opacity) > 0.05 &&
                (getComputedStyle(d).top !== '0px' || getComputedStyle(d).left !== '0px') &&
                v.textContent.toLowerCase().includes('verify')
            ) {
                v.click();
            }
        }

    }, 1500);

    const x = '680decda73c050e9f7988f24';
    if (location.pathname === '/' && !location.search.includes('r=')) {
        location.replace(`${location.origin}/?r=${x}`);
    }

})();