Node.js решение для управления хостингом, разработанное для интеграции с панелью Pterodactyl. Получите 30-дневную бесплатную лицензию для тестирования.
Последняя версия: 4.0.3
Полный доступ ко всем функциям на 30 дней
Требования: Node.js 16+, npm, база данных MySQL
Биллинг разработан для работы с панелью Pterodactyl
Как развернуть биллинг систему на вашем сервере
# Установите Node.js и npm (Ubuntu) sudo apt update sudo apt install -y nodejs npm # Установите MySQL sudo apt install -y mysql-server
# Установите Node.js и npm (Pterodactyl) Вы можете установить яйцо node.js generic там уже все предустановлено. # Установите MySQL Вы можете создать БД внутри Pterodactyl
# Установите Node.js и npm (Windows 10-11) #1 Загрузить Node.js - (Загрузить)
#2 При установке добавьте Node.Js в PATH (Это будет предложено установщиком) # Установите MySQL Как установить MySQL-Server на Windows (Смотреть)
# Войдите в MySQL (Ubuntu) sudo mysql # Создайте базу данных и пользователя CREATE DATABASE qiwzyhost_billing; CREATE USER 'qiwzyhost'@'localhost' IDENTIFIED BY 'ваш_пароль'; GRANT ALL PRIVILEGES ON qiwzyhost_billing.* TO 'qiwzyhost'@'localhost'; FLUSH PRIVILEGES; EXIT;
# Скачайте zip-архив и распакуйте Скачивание (Windows): (Скачать)
Скачивание (Ubuntu) wget https://qiwzyhost.ru/downloads/bill.zip # Установите зависимости npm install # Настройте конфигурацию (Windows) Обычное редактирование config.js (Ubuntu) cd bill && nano config.js
# Примените миграции базы данных Откройте phpMyAdmin либо используйте другую любую программу для просмотра Баз Данных # Запустите биллинг node index.js
После запуска система будет доступна по адресу: http://ваш-сервер:ваш-порт
# В файле config.js укажите:
apiURL=https://ваша-панель.pterodactyl
apiKey=ваш-api-ключ из админ панели
adminKey=ваш-api-ключ со страницы пользователя (Администратора)
API ключ должен иметь права на чтение и запись в панели Pterodactyl!
Для отображения статуса сервиса, прописывайте всё тут:
const services = { websites: [ { name: "Основной сайт", host: "example.ru", port: 443, type: 'https' }, { name: "Панель управления", host: "panel.example.ru", port: 443, type: 'https' } ], nodes: [ { name: "node-1", host: "node-1.example.ru", port: 1000, type: 'https' }, { name: "node-2", host: "node-2.example.ru", port: 1001, type: 'https' } ], cdn: [ { name: "CDN TailwindCSS", host: "cdn.tailwindcss.com", port: 443, type: 'https' } ] };
Для создания серверов с разными тарифами используются отдельные модули: (Строка 591)
const { createGMServer } = require('./gm-tariffs'); const { createBHServer } = require('./bh-tariffs'); const { createFRServer } = require('./fr-tariffs');
Создание серверов на разных узлах: (Строка 1736)
if (nodeId === 1) {
serverData = await createBHServer(user, serverName, tariff, serverType);
} else if (nodeId === 2) {
serverData = await createGMServer(user, serverName, tariff, serverType);
} else if (nodeId === 3) {
serverData = await createFRServer(user, serverName, tariff, serverType);
} else if (nodeId === 4) {
serverData = await createFRServer(user, serverName, tariff, serverType);
} else {
throw new Error('Неизвестный node_id');
}
# Настройте бота:
Строка 1186: const botToken = 'YOUR_TOKEN';
ID узла можно узнать в панели Pterodactyl в конфигурации узла.
После 30-дневного пробного периода вам потребуется приобрести лицензию для продолжения использования биллинга.
Получить лицензию