August 7, 2024

RivalZ Network: Абуз

Запускаем ну оооочень много нод на одном серваке за буханку хлеба

Ссылки на наши ресурсы, подписывайся если помогло.

Регистрация

Для начала регаемся на платформе RivalzNetwork если до этого не использовали их ноду.

Запуск множества нод на одном сервере

📌 Арендовать сервер для ноды можно здесь: AEZA, VDsina, Xorek Cloud

Подключаемся к серверу через терминал, далее прописываем эту команду

mkdir rivalzAbuz && cd rivalzAbuz

После этого создаем файл установки, используя nano и заполняем следующий код

nano setup.sh
# Ask if the user wants to use a proxy
read -p "Do you want to use a proxy? (Y/N): " use_proxy

# Initialize proxy settings
proxy_type=""
proxy_ip=""
proxy_port=""
proxy_username=""
proxy_password=""

if [[ "$use_proxy" == "Y" || "$use_proxy" == "y" ]]; then
    # Prompt for proxy type, IP, and credentials
    read -p "Enter proxy type (http/socks5): " proxy_type
    read -p "Enter proxy IP: " proxy_ip
    read -p "Enter proxy port: " proxy_port
    read -p "Enter proxy username (leave empty if not required): " proxy_username
    read -p "Enter proxy password (leave empty if not required): " proxy_password
    echo

    # Adjust proxy type to http-connect if http is chosen
    if [[ "$proxy_type" == "http" ]]; then
        proxy_type="http-connect"
    fi
fi

# Fetch the latest version of rivalz-node-cli
version=$(curl -s <https://be.rivalz.ai/api-v1/system/rnode-cli-version> | jq -r '.data')

# Set latest version if version retrieval fails
if [ -z "$version" ]; then
    version="latest"
    echo "Could not fetch the version. Defaulting to latest."
fi

# Create or replace the Dockerfile with the specified content and proxy settings
cat <<EOL > Dockerfile
FROM ubuntu:latest
# Disable interactive configuration
ENV DEBIAN_FRONTEND=noninteractive

# Update and upgrade the system
RUN apt-get update && apt-get install -y curl redsocks iptables iproute2 jq nano

# Install Node.js from NodeSource
RUN curl -fsSL <https://deb.nodesource.com/setup_20.x> | bash - && \\\\
    apt-get install -y nodejs

RUN npm install -g npm

# Install the rivalz-node-cli package globally using npm
RUN npm install -g rivalz-node-cli@$version

EOL

# Only add redsocks configuration and entrypoint if proxy is used
if [[ "$use_proxy" == "Y" || "$use_proxy" == "y" ]]; then
    cat <<EOL >> Dockerfile
# Copy the redsocks configuration
COPY redsocks.conf /etc/redsocks.conf
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh

# Set entrypoint to the script
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
EOL
fi

# Add the common CMD instruction for all cases
cat <<EOL >> Dockerfile
# Run the rivalz command and then open a shell
CMD ["bash", "-c", "cd /usr/lib/node_modules/rivalz-node-cli && npm install && rivalz run; exec /bin/bash"]
EOL

# Create the redsocks configuration file only if proxy is used
if [[ "$use_proxy" == "Y" || "$use_proxy" == "y" ]]; then
    cat <<EOL > redsocks.conf
base {
    log_debug = off;
    log_info = on;
    log = "file:/var/log/redsocks.log";
    daemon = on;
    redirector = iptables;
}

redsocks {
    local_ip = 127.0.0.1;
    local_port = 12345;
    ip = $proxy_ip;
    port = $proxy_port;
    type = $proxy_type;
EOL

    # Append login and password if provided
    if [[ -n "$proxy_username" ]]; then
        cat <<EOL >> redsocks.conf
    login = "$proxy_username";
EOL
    fi

    if [[ -n "$proxy_password" ]]; then
        cat <<EOL >> redsocks.conf
    password = "$proxy_password";
EOL
    fi

    cat <<EOL >> redsocks.conf
}
EOL

    # Create the entrypoint script
    cat <<EOL > entrypoint.sh
#!/bin/sh

echo "Starting redsocks..."
redsocks -c /etc/redsocks.conf &
echo "Redsocks started."

# Give redsocks some time to start
sleep 5

echo "Configuring iptables..."
# Configure iptables to redirect HTTP and HTTPS traffic through redsocks
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp --dport 443 -j REDIRECT --to-ports 12345
echo "Iptables configured."

# Execute the user's command
echo "Executing user command..."
exec "\\$@"
EOL
fi

# Detect existing rivalz-docker instances and find the highest instance number
existing_instances=$(docker ps -a --filter "name=rivalz-abuse-" --format "{{.Names}}" | grep -Eo 'rivalz-abuse-[0-9]+' | grep -Eo '[0-9]+' | sort -n | tail -1)

# Set the instance number
if [ -z "$existing_instances" ]; then
  instance_number=1
else
  instance_number=$((existing_instances + 1))
fi

# Set the container name
container_name="rivalz-abuse-$instance_number"

# Build the Docker image with the specified name
docker build -t $container_name .

# Display the completion message
echo -e "\\e[32mSetup is complete. To run the Docker container, use the following command:\\e[0m"
if [[ "$use_proxy" == "Y" || "$use_proxy" == "y" ]]; then
    echo "docker run -it --cap-add=NET_ADMIN --name $container_name $container_name"
else
    echo "docker run -it --name $container_name $container_name"
fi

Далее сохраняем файл и можем его запускать.

chmod +x setup.sh
./setup.sh

Код спросит у нас, хотим ли мы использовать прокси, если собираетесь мультить то выбираем Y. Далее вводим данные для подключения к проксику: одна нода - один прокси.

После небольшой загрузки, код выдаст нам команду, которую нужно выполнить. Выполнив команду увидите запуск ноды, нужно будет просто ввести кошелек и количество места на диске.

Если у вас все тоже самое что и на скриншоте ниже, то все супер!

Теперь просто закройте терминал и заново подключитесь к серверу, пропишите docker ps, чтобы увидеть что контейнер работает.

Нода появится в дашборде сразу после установки, но поинты начнут капать примерно через 1-2 часа.

Чтобы создать еще одну ноду на том же сервере - опять заходите в директорию с исполняемым файлом, запускайте его заново, при этом вводя новые данные для прокси. Код снова выдаст вам новую команду чтобы запустить еще один контейнер.

таким образом можно на средний сервер запустить 5-10 нод и фармить огромное количество поинтов в сутки. Крайне крутой маневр - можно попробовать арендовать несколько серверов и запустив 10-20 нод таким образом, потратив порядка 50-60$, зайти в топ 1-2к юзеров. Напомню что у проекта выделено 5%. На дроп за поинты.

Ссылки на наши ресурсы, подписывайся если помогло.