Coder Social home page Coder Social logo

thebrumby / hotwalletclaimer Goto Github PK

View Code? Open in Web Editor NEW
22.0 1.0 6.0 1.01 MB

Looking to optimize your earnings with HOT tokens on the Near Protocol? How about Wave on SUI? Tree or Cold on BSC? Or Vertus on Ton? This Python script simplifies the process by monitoring your account status within popular Telegram apps, ensuring rewards are claimed at the correct time.

License: MIT License

Python 96.14% Shell 3.83% Batchfile 0.03%
near-protocol hot-claimer cryptocurrency play2earn

hotwalletclaimer's Introduction

Near Protocol: HereWallet "HOT" Token Claim Assistant

This Python script aids in mining (claiming) the cryptocurrency "HOT" through the "HereWalletBot", a free-to-use, Telegram-based Web3-enabled app operating on the NEAR Protocol blockchain. To maximize rewards, users need to frequently visit the app to claim tokens. The script automates this process by initiating a claim at a random interval close to when the wallet is full. If the wallet isn't yet filled, it calculates the time until completion and waits for the optimal moment—adjusted by your preferred random offset—to claim, thereby minimizing network load and reducing gas fees.

☕ If you find this script useful, please consider buying me a coffee as a token of appreciation. Thank you in advance for any support! ☕

🔍 HINT: Although you cannot register multiple wallets to a single Telegram account, this script enables you to manage multiple pre-existing HereWallet accounts with just one Telegram login by handling each Wallet in a separate virtual browser session. Alternatively, you can manage each Wallet with its own Telegram login if preferred.

💡 PRO-TIP: For a straightforward, easily visualized, unattended claim process, novice users may find SCREEN a helpful tool. Alternatively, more confident Linux users will benefit from the additional features provided by the PM2 process manager.

Windows 10 & 11 Users - Utilize WSL2 for a Seamless Experience:

For detailed instructions on setting up your environment using Windows Subsystem for Linux 2 (WSL2), please take a look at our Windows Setup section.

Quick Start Installation (based on Ubuntu 20.04/22.04):

Copy and paste the Quick Start command block into your terminal (or follow the Manual Steps below if you prefer).

sudo apt install -y git || true && git clone https://github.com/thebrumby/HotWalletBot.git && cd HotWalletBot && chmod +x install.sh && ./install.sh

Use of SCREEN to Manage Unattended Claim Sessions
(Sessions are lost after reboot)

  • Starting Your First Session:

    • If you are not in the HotWalletBot directory, navigate there first with cd HotWalletBot.
    • Start your first independent session with screen -S first_session.
    • Execute the script with python3 claim.py and follow the Usage Notes to set up the session.
    • Detach from the screen session and keep it running in the background by pressing CTRL+A+D.
    • To resume the session and check progress or for errors, use screen -r first_session.
    • To resume a previously set-up session use the command python3 claim.py Wallet1. Remember, 'Wallet1' is the default session name. If you've used a different name, replace 'Wallet1' with your actual session name.
  • Starting a Second Account Session:

    • From the command line (outside the first screen session), ensure you are in the HotWalletBot directory with cd HotWalletBot and start a second session with screen -S second_session and execute python3 claim.py.
    • Detach from this second screen session by pressing CTRL+A+D.
    • To resume the session and check progress or for errors, use screen -r second_session.
    • To resume a previously set-up session use the command python3 claim.py Wallet2. Remember, 'Wallet2' is the default session name. If you've used a different name, replace 'Wallet2' with your actual session name.

💻 TIP: Each session while in wait status uses around 30mb of memory and virtually no CPU load. During the Claim or Login phases, however, each session requires approximately 450 MB of memory and utilizes a larger portion of your CPU resources. The concurrent claims setting (default value 1) limits the number of active claims to prevent hardware overload. Assess your hardware's capacity to determine how many simultaneous sessions it can handle, and adjust the maximum number accordingly by following the Usage Notes. Even with a maximum of one allowed claim session, claiming on multiple wallets is easily possible; additional claims just queue until a claim session slot becomes available.

YouTube Walkthrough PM2 Output
YouTube Visual Instructions
See a walkthrough of all the steps, from server setup to installing the script, on YouTube.
PM2 Output

Use of PM2 to Execute Unattended Claim Sessions (Persist After Reboot)

  • Installation:

    • Install PM2 manually, or use the install script packaged in the HotWalletBot directory. Navigate to the HotWalletBot directory if not already there:
      sudo chmod +x install_pm2.sh && sudo ./install_pm2.sh
  • Setup Before Using PM2:

    • Open the script using python3 claim.py and complete the setup for each wallet. Follow the process to log into Telegram and enter your seed phrase. After setup, you will be prompted whether to exit before moving on to the claim function. Choose 'n' to exit the script and resume the session with PM2, or 'a' to automatically add the session name as a PM2 session.
  • Configure PM2 to start automatically on boot/reboot:

    • Linux/Ubuntu:
      • For dedicated Linux/Ubuntu machines, initialize PM2 with systemd to ensure it starts on boot:
        pm2 startup systemd
        If the active user lacks administrative privileges, PM2 will provide a command to execute with sudo to complete the systemd activation.
    • Windows:
      • For setups that require persistent reboots, please refer to the Windows Installation Guide provided below.
  • Adding Sessions to PM2:

    • If you choose to manually add then PM2 session, rather than have 'claim.py' add it, you can use the command below. This example starts a session named firstWallet which loads a previously saved claim.py session named Wallet1:

      pm2 start claim.py --name firstWallet -- Wallet1

      Note: Replace Wallet1 with the actual Session name given during setup if different.

  • Manage PM2 Sessions:

    • Save configuration to persist through reboots:
      pm2 save
    • View all PM2 managed processes:
      pm2 list
    • View logs for a specific session (e.g., firstWallet):
      pm2 log firstWallet
    • To remove a managed wallet:
      pm2 delete firstWallet
    • To stop PM2 from starting on boot:
      pm2 unstartup systemd

YouTube PM2 Instructions
See a walkthrough of how to automate claims using PM, on YouTube.

Guide for Setting Up WSL2 in a Windows 10/11 Environment

Windows Subsystem for Linux (WSL2) allows you to run a GNU/Linux environment directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup. This makes it an excellent choice for running this script in a Linux-like environment on Windows machines, as the quick start commands and drivers detailed in the Ubuntu installation section can be utilized directly.

Step 1: Enable WSL2 and Install Ubuntu 22.04

  1. Open the Microsoft Store:

    • Search and install "Ubuntu 22.04 LTS" from the Microsoft Store.
  2. Enable Windows Subsystem for Linux (WSL):

    • Open PowerShell as an administrator and run:
      dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    • Restart your computer to apply changes.
  3. Set WSL2 as Your Default Version:

    • After restarting, open PowerShell as an administrator and execute:
      wsl --set-default-version 2
    • If prompted, update the WSL2 kernel using the provided link.

Step 2: Launch Ubuntu 22.04

  1. Start Ubuntu 22.04:

    • Open the Ubuntu app from the Start menu. Initial setup may take a few minutes.
  2. Create a User Account and Password:

    • Set up your default Ubuntu user with sudo privileges upon first launch.

Step 3: Update and Upgrade Ubuntu (Optional but Recommended)

  1. Update Your System:
    • In the Ubuntu terminal, run:
      sudo apt update && sudo apt upgrade

Step 4: Follow the Setup and Initialization Instructions

  • Refer back to the Quick Start section for further instructions.

Step 5: Configure WSL & PM2 to Start with Windows (Optional)

  • Open the Run dialog (Win + R), type shell:startup, and move the windows_pm2_restart.bat file into the Startup folder.

Setting up Ubuntu within Windows using WSL.
See a walkthrough of how to setup Ubuntu within Windows using WSL with our YouTube.

V2.0.3 Release Notes - Option to save Telegram log in.

Usage Instructions

After executing the script with python3 claim.py, you will be prompted to update settings and configure the session:

  1. Update Settings:

    • If you choose "yes" when prompted, you will review and possibly update the following settings:
      • forceClaim: Choose to force a claim the first time the script runs, regardless of whether the wallet is full.
      • debugIsOn: Activate debugging to save screenshots locally; default is off.
      • hideSensitiveInput: Ensures sensitive information like phone numbers and seed phrases remain hidden; default is ON.
      • screenshotQRCode: Prefer to log in via QR code; the alternative is manual login via phone number and OTP.
      • maxSessions: Set the maximum number of concurrent claim sessions; additional wallets will wait for an available slot.
      • verboseLevel: Adjust the verbosity of console messages; options range from 1 (minimal) to 3 (all messages).
      • forceNewSession: Forces a new login, useful if the existing session encounters errors.
      • lowestClaimOffset and highestClaimOffset: Define the range for randomized claim timing relative to when the pot is filled.
        • Examples of Claim Timing:
          • -30, -15: Early claims 30 to 15 minutes before the pot is full.
          • 30, 60: Late claims 30 minutes to 1 hour after the pot is full.
          • -15, 15: Random claims within a 15-minute window around the pot being filled.
  2. Session Name Configuration:

    • Sessions are auto-named numerically or can be customized. Reusing a name attempts to resume that session.
  3. Login Options:

    • If the script detects you have a saved Telegram session, you can choose 'y' when prompted to continue with it and proceed directly to step 7.
    • If you prefer to log into a new account, selecting 'n' proceeds to a new Telegram login. The default method is to log in by scanning a QR Code screenshot and moving to step 6.
    • Should this method be unsuccessful, or if another method is preferred, follow the OTP login procedure outlined in steps 4 and 5.
  4. Country Name and Phone Number for Telegram:

    • Enter your Country Name as displayed on Telegram's login page or accept the default, which is auto-detected based on your IP.
  5. One-Time Password (OTP):

    • Enter the OTP sent to your registered Telegram account.
  6. Two-Factor Authentication (2FA):

    • If 2FA is enabled on your Telegram account, enter your 2FA password following the QR code scan or OTP entry.
  7. Seed Phrase Input for HereWalletBot Login:

    • Carefully input your 12-word seed phrase, ensuring correct spacing without any punctuation or numbers.
  8. Exit & Resume Options:

    • Opt to exit and save the session for later resumption, possibly using PM2, or continue with claims directly in the CLI script.

Remember to check and adjust your settings upon startup to optimize the script's performance to your server's capabilities.

After following these steps, if all inputs are correctly entered, and assuming no flooding block is in place, you'll successfully logged into both Telegram and HereWallet.

Linux Manual installation - Ensure each command in the code block executes.

  1. Install Python, Zbar & PIP:

    sudo apt update
    sudo apt install -y python3 python3-pip
    sudo apt-get install -y libzbar0
    python3 --version   
  2. Download & Install the Chrome .deb package:

    sudo apt install -y wget
    wget -O /tmp/chrome.deb https://mirror.cs.uchicago.edu/google-chrome/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.198-1_amd64.deb
    sudo apt install -y /tmp/chrome.deb
    rm /tmp/chrome.deb   
  3. Download & Install Chromedriver:

    sudo apt install -y unzip
    wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
    unzip chromedriver_linux64.zip
    rm chromedriver_linux64.zip
    sudo mv chromedriver /usr/local/bin/
    sudo chmod +x /usr/local/bin/chromedriver
    chromedriver --version   
  4. Clone this repository:

    sudo apt install -y git
    git clone https://github.com/thebrumby/HotWalletBot.git   
  5. Switch to the repository directory:

    cd HotWalletBot   
  6. Install the dependencies:

    pip install selenium Pillow pyzbar qrcode-terminal

Security Considerations for HotWalletClaimer Usage

💡 Communication: The only external communication is with the Telegram Web App, which occurs over HTTPS, providing a secure channel.

⚠️ Your seed phrase and Telegram login details are not stored or transmitted by this script, except during the unavoidable one-time login process with https://web.telegram.org/k/#@herewalletbot. As of version v1.3.4, the Google Chrome session is now saved into the ./HotWalletBot/selenium folder and in v.1.3.6 there is also a duplicate of the session in ./HotWalletBot/backups - if this information was compromised, it would allow a suitably experienced individual to access your account.

💡 Debugging: Enabling debug mode captures the whole process as screenshots, excluding the seed phrase entry step. These images are stored locally to assist you in the event of errors and are not otherwise transmitted or uploaded in any way.

Security Best Practice:

💡 Private Devices: Only use this script on private, secure machines or Virtual Private Servers that only you can access.

⚠️ Caution with Seed Phrases: Be very cautious with accounts of significant value. Consider the effect of any unintended loss should your seed phrase become compromised.

💡 Awareness and Discretion: Understand the security trade-offs of using this automation tool or any other third-party tools. Your vigilance is crucial in safeguarding your information.

Disclaimer:

Use of HotWalletClaimer is at your own risk. While we are confident that the script neither transmits nor stores your sensitive data, it is essential to acknowledge that devices can become compromised through viruses or other malicious software. The developers of HotWalletClaimer exclude any liability for potential security breaches or financial losses. It is your responsibility to safeguard your digital security. Always prioritize protecting your accounts and sensitive information.

hotwalletclaimer's People

Contributors

thebrumby avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

hotwalletclaimer's Issues

Startup auto

Hello , how to auto start program at startup ? and dont resetup everything

thanks again for this good script

Discussion: Should we add any other projects?

Hello. Thank you for the amazing project which works 😃

Can I use this project for adapting to any telegram project? example for Blum, Vertus ...?

Maybe you have plans for adapting to any telegram projects?

Manage work python claim.py

Hello! How I can stop python claim.py? After CTRL+C I see that .sh still work in system monitor and auto added folder Selenium to project folder?

Problem with opening game after login

Here there. After one day it was crashed. When I try to execute it again I am stack at this point

Step 01c - Was successfully able to request users phone number.

Please enter your phone number without leading 0 (hidden input):
Step 01d - Attempting to click next to proceed to OTP entry...
Step 01d - Was successfully able to click next to proceed to OTP entry.

Step 01e - What is the Telegram OTP from your app? 32902
Step 01e - Let's try to log in using your Telegram OTP.

Step 01 - Attempting to verify if we are logged in (QR code should be not present).
Step 01 - nothing found to action. The QR code test passed.

Step 02 - Attempting to check for the start button (should not be present)...
Step 02 - nothing found to action.

Step 03 - Attempting to find the chat window/message input box...
Step 03 - nothing found to action.

Step 03 - Failed to find the message input box.

Step 03 - Attempting to restore from backup and retry.

Backup restored successfully.

Step 03 - Attempting to find the chat window/message input box...
Step 03 - nothing found to action.

Step 03 - Failed to find the message input box.

Step 03 - Retried after restoring backup, but still failed to send the '/start' command.

Step 05 - Attempting to open a link for the app...
Step 05 - Failed to find the 'Open Wallet' button within the expected timeframe.

Step 06 - Attempting to click the 'Launch' button...
Step 06 - nothing found to action.

Step 07 - Attempting to switch to the app's iFrame...
Step 07 - Failed to find or switch to the iframe within the timeout period.

Step 08 - Attempting to find the HereWallet log-in button...
Step 08 - nothing found to action.

Step 09 - Attempting to locate seedphrase textbox...
Step 09 - nothing found to action.

An error occurred: 'NoneType' object has no attribute 'send_keys'
We backed up the session data in case of a later crash!

CHROME DRIVER DETACHED: It is safe to stop the script if you want to.```

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.