Open main menu

XtreamResell β

ProjectXtreamUI For WHMCS

Contents

About ProjectXtreamUI for WHMCS

ProjectXtreamUI is addon that provides seamless integration with XtreamUI. It uses whmcs at its core. It is designed for the back-end XtreamUI reseller, not the top tier XtreamUI panel owner. ProjectXtreamUI will automate tasks such as adding users, credits and automated billing. ProjectXtreamUI is also not restricted to working with just one panel and can be used on as many panels that you may be subscribed too.

  • Admin Area Features:
    • Create/Suspend/Unsuspend/Terminate Service.
    • Change Package - Supports Configurable Options.
  • Client Area Features:
    • Create/Terminate Service.
    • View Service Details.

System Requirements

This is still a Beta Edition. I can confirm the Addon works with Ubuntu 18.04.3 LTS. We have tested the addon on namecheap shared hosting (Cloudlinux) and it works. You need to get them to unblock your reseller port i.e http://domain.com:25500 they will need to unblock 25500 for you.


Please Read Known issues at the bottom of this Wiki before proceeding.

The following table shows the minimum and recommended system requirements for running WHMCS 7.5 and later. ProjectX has the same System Requirements as WHMCS.


System Requirements
Requirement Minimum Recommended
Requirement Minimum Recommended
PHP Version 7.1 Latest 7.1 or 7.3 Release
PHP Memory Limit 64MB 128MB**
PHP Database Extension PDO PDO
PHP Extensions Curl with SSL, GD2 Image Library, JSON Support, XML Curl with SSL, GD2 Image Library, JSON Support, IMAP,

MBString, , Iconv


Installation

1. Log in to our client area and download the module. Take Note of your license here as you will need it later.


Download 01.jpg


2. In the downloaded file you will find PHP 7_2-7_3.

  • Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.

Download 02.jpg

3. Extract the zip file and you will see a new folder created called "modules".


Download 06.jpg

4.

  • Upload the "modules => servers => xtreamresell" folder into the main WHMCS directory => Modules => Servers.

Download 03.jpg

  • Upload the "modules => addons => addonxtreamresell" folder into the main WHMCS directory => Modules => Addons.

Download 07.jpg

5. Click "Setup" => "Addon Modules."

Download 08.jpg

6. Click "Activate" on the "XtreamResell licensing Manager" Addon to activate the addon.

Download 09.jpg

7. Click "Configure". Paste your license key in from the Client Area. (Step 1) and Click "Save". Your product will now be activated.

  • NOTE: Each time you make changes to the license you will need to first deactivate the license and then repeat the above process.Italic text

Download 10.jpg

One Click Server install (Optional)

NOTE: This is a Optional.


If you already have a server you can skip this step and proceed to configuring ProjectX. If you dont have a server we have automated install script that can be run from our client area that will install WHMCS and upload and license the ProjectX addon with a free 7 Day trial.

In this tutorial we will explain how to setup your server using the 1 Click autoinstall feature.

Before you begin you will need.

  • Server
  • Valid Domain (We will be setting up a secure site HTTPS so the domain cannot be shared with another ip address)
  • Whmcs License

Server The Server must be installed with Ubuntu 18 x64. A clean install provided by your hosting provider is perfect. The script will install apache, mysql etc If you have 150 clients or less a server like VPS SSD 1 if you have more clients we would suggest a server like VPS SSD 3 The servers below can be purchased by OVH. For help with getting your server from ovh please click here [1]

Server install01.jpg

Domain You require a valid Domain You need to create an A Record and point @ to your server ip. If you dont know where to get a domain we would suggest these guys.

  • njal.la
  • NOTE: If you already have a Domain and its behind a CDN like Cloudfare you will need to temporarily disable Cloudfare protection until the setup is complete, this is because the default method used for ACME authentication by the Let's Encrypt client utilizes the DVSNI method. This will fail for a domain which has Cloudflare enabled as we terminate SSL (TLS) at our edge and the ACME server will never see the certificate the client presents at the origin.Italic text

WHMCS Whmcs is the core of our System You will need a license from them Either Plus or Profesional will do for most users. Please see below for pricing. You can order whmcs from below [2] Server install02.jpg

1. Go to your client area and get the "1 Click WHMCS/ProjectX install" package.

Xinstall03.jpg

2. Add your Server IP Address, password for Root and your Domain. Click "Continue"

  • NOTE When adding in the Domain just add the Domain name leave out the https://www etc. i.e only enter test.com

3. Signup if you dont have a account. If you have a account you can click already registered and enter your login details. If you dont have a account you are only required to enter a first and last name, email address and password. Click "Complete Order". Xserver server is a free service and you wont be required to enter any payment details

4. Once you can completed the above click "ProjectX Subscriptions XServer" in the client area.

Xinstall06.jpg

5. Click "Begin Installing Remote Server" This can take up to 20 minutes depending on the speed of your server. It usually takes between 10 - 15 minutes. Open a new browser window and enter your domain with https on the front. NOTE the "S" on the end of http. i.e https://test.com. Just keep refreshing the webpage every now and then until you get the WHMCS Welcome screen.

Xinstall07.jpg

6. If everything was succesfull you should see the following in your browser window after opening your domain. Click the "click here to begin"

Server install14.jpg

7. Click "i accept" to accept the terms and continue

Server install15.jpg

8. You should see "system requirements check passed" Click "begin installation" to proceed.

Server install16.jpg

9. You will also be required to enter your whmcs license key. This will begin with leased. Enter the whole key i.e leased-876487643876832176

Server install17.jpg

Leave Database host as "Local" - Leave Database port as 3306 - Enter "whmcsuser" as database username - Enter your Root Password as "Database Password" - Enter "whmcs" as Database name. - Click "Continue".

10. Enter your name and email. For the username enter "admin" and enter the admin password you want to use. (your admin password can be anything. dont forget this password. write it down)

600px

11. If everything went well you will get the below screen. Dont worry about adding the cron etc the script has done all that for you. lets go back to Step 7 now and click "Finish Remote Server Install"

Server install19.jpg

12. Go back to your client area and click "Finish Remote Server Install" to complete the setup process. You can now access WHMCS from teh admin area. i.e http://mydomain.com/admin . You can now proceed with setting up WHMCS and then configuring ProjectX.

Xinstall08.jpg

Configuration of ProjextXtreamUI

In this tutorial we will explain how to create your first product.

7. Click "Setup", "Products/Service", "Products/Service"

Configure 01.jpg

8. Click "Create New Group"

Configure 02.jpg

9. Create your group and give it a name, click "Save".

Configure 03.jpg

10. Click "Create New Product".

Configure 04.jpg

11. For "Product Type" use Hosting or Other. Give your product a name. Do not use and special characters here. Click continue

Configure 05.jpg

12. Enter your "Product Description" leave the "Welcome Email " as default we will come back and change this later. Check the Featured box. Uncheck the "Require Domain" box and select the "Featured" box to make the product Live or choose "Hidden" to hide the product. Click "Save"

Configure 06.jpg

13. Move to the next tab "Pricing". If your product is going to be a Trial and its free choose "Free". If your product is a One time package like a 48 Hour etc choose "One Time". If your product is a recurring subscription and will be billed Monthly, Quarterly etc choose "Recurring".

NOTE: You are using multiple currencies you only have to update the currency for your base currency i.e GBP. If you click setup => Payments => Currencies, there is a option to update "Product Prices". This will update the prices with the current exchange rate.

Configure 08.jpg

14 In this example we will show you how to create a Trial. In pricing set the payment type to free and save. Click the next tab "Modules". Click "Module Name" a drop-down list will show. Choose "Xtreamresell". Enter your "Reseller Username", "Reseller Password", "XtreamCodes URL" and "Reseller Domain URL". Dont forget the "Trailing slash" / after the Urls. Click save. Now Click the dropdown box where is says "Line Type". If you entered your login information correctly, ProjectXreamUI will retrieve the products from your panel and list them in the dropdown list. Select your "Trial" product here. Leave all other Product ID's as none. Leave "Reseller Credits" as unchecked and "Credit Amount" as empty as this will enable the product to be used by resellers to add credit to the XtreamUI panel. We will explain this in the next section of the tutorial

Existing Xtreamresell customers may a continuous spinner when accessing module settings. This is because the addon is trying to contact the old cms. The workaround is from the "Module Name" dropdown box select a random module i.e WHMSonic and then click save. Then select Xtreamresell again and click save and your fields should populate.

Install01.jpg

15 In this example we will show you how to create a Recurring Subscription. in the Pricing section you will set the billing periods i.e Monthly, Quarterly etc etc. If you prefer you could have one product for Monthly and another for Quarterly etc. In the below we have one Product for all. Click the dropdown box where is says "Line Type" and select "official" then click "save". Now select the dropdown boxes where it says "Monthly ID" etc and choose your product ID's. Click save when done.

Existing Xtreamresell customers may a continuous spinner when accessing module settings. This is because the addon is trying to contact the old cms. The workaround is from the "Module Name" dropdown box select a random module i.e WHMSonic and then click save. Then select Xtreamresell again and click save and your fields should populate.

Install02.jpg

  • Leave "Reseller Credits" as unchecked and "Credit Amount" as empty as this will enable the product to be used by resellers to add credit to the XtreamUI panel. We will explain this in the next section of the tutorial

Configure 13.jpg


15. Next we will configure the automation settings.

There are 4 automation settings to choose from for product activation and they are: Automatically setup the product as soon as an order is placed - this will setup instantly usually used for free products Automatically setup the product as soon as the first payment is received - this will perform the setup as soon as the order is paid for Automatically setup the product when you manually accept a pending order - this will perform the setup only when an admin has manually reviewed and accepted the order Do not automatically setup this product - never auto setup the product - admins can still initiate manually from the product details page under a clients profile Next Click "Save".

Configure 10.jpg

16. Still in "Products/Services" click "Custom Fields" NOTE: This is a required Field. NOTE this is case sensitive and Username starts with a Capital U. If you Customers will be connecting using a "Username" In the "Field Name" Enter "Username" and for "Field Type" choose "Text Box" These fields must be entered exactly like below.

Description (You need to enter something here) and validation fields are optional.

You need to check the boxes "Required Field, Show on Order Form and Show on Invoice"

In the below example I am using a validation string to force users to use a email address. You can leave that field blank if you wish. Below is the Regex should you want to use it to force them to use emails.

/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/

If you would prefer to force Letters and Numbers use the Regex below.

A username between 4 and 8 characters in length, alpha-numeric, and allowing underscores

/^[a-z\d_]{4,8}$/i


Configure 11.jpg

17. ProjectX is also able to setup MAG Devices.

  • NOTE: You either setup a product to use a Username or MAC do not use both together.Italic text

For MAC to work its the almost the same as above. The Field name is "MAC" (This is Case Sensitive) and the Regex is below. I would reccomend using the Regex for the MAC. NOTE MAC is in Capitals

/^[a-fA-F0-9:]{17}|[a-fA-F0-9]{12}$/

Configure 12.jpg

18. Random Username and Password

Install03.jpg

Random username will generate a random numeric username. For this function to work you should uncheck show on Order Form in Custom Fields for Username and clear any Validation strings

Install04.jpg

Generate a random numeric password. For this function to work you should be able to edit passwords in XtreamUI


19. Click "Setup" > "Email templates" and then "Create New Email template"

You need to create two email templates. "New Account Information" for user accounts and "New Account Information MAGBOX" for Magboxes. When creating those email templates the must be spelt exactly like the above.

Configure 15.jpg

20. Email Type choose "Product/Service" and give the template one of the above names.

Configure 16.jpg

21. Add a Subject like "New Account Information" then click "Enable/Disable Rich Text Editor" to enable the rich text editor.

Configure 17.jpg

22. below is a example template to get you started. The template will use {$service_domain} to get your domain from the ProjectX module settings. Just copy and paste the below text and click save.

Template 1 for General use (m3u)

Dear {$client_name},


Your order for {$service_product_name} has now been activated. Please keep this message for your records.


Product Details are :

Product/Service: {$service_product_name}

Payment Method: {$service_payment_method}

Amount: {$service_recurring_amount}

Billing Cycle: {$service_billing_cycle}

Next Due Date: {$service_next_due_date}

Your M3U is:

NOTE: This is Case Sensitive:

{$service_domain}get.php?username={$service_username}&password= {$service_password}&type=m3u_plus&output=ts

Your Electronic Programme Guide is:

{$service_domain}xmltv.php?username={$service_username}&password={$service_password}

Login details:

Primary-Server={$service_domain}

Username :{$service_username}

Password : {$service_password}

Thanks for choosing us.

{$signature}


Template 2 for mag use


Dear {$client_name},


Your order for {$service_product_name} has now been activated. Please keep this message for your records.


Product Details are :

Product/Service: {$service_product_name}

Payment Method: {$service_payment_method}

Amount: {$service_recurring_amount}

Billing Cycle: {$service_billing_cycle}

Next Due Date: {$service_next_due_date}


Login Details

Portal={$service_domain}c

Your MAC is: {$service_username}

Thanks for choosing us.

{$signature}

23. Return to "Product/Services" and change the "Welcome Email" to your newly created email template. This only has to be done for Trials. For "official" (paid subscriptions) leave the welcome email as none.

Configure 18.jpg

24. Click Settings => General Settings

Configure 19.jpg

25. Click the "Other" tab. Check the box Attempt to load all files for Encoded file loading. then Click save

  • NOTE: Dont forget this step it is required for ProjectX to function properly.Italic text

Configure 20.jpg

Configuring Reseller Credits

If you have Resellers and would like them to be able to add credits automatically. We will show you how to configure ProjectX for this.

1. Got to Setup => Products/Service => Products/Services, "Create New Group" (Optional) and "New product".

Reseller 01.jpg

2. Give your product a name and a description.

3. In the "Pricing" tab set "Payment Type" to "One Time".

4 In "Module Settings" Choose "xtreamresell" from the dropdown box. Enter "YOUR" "Reseller Username", "Reseller Pass", "Reseller URL". Leave Trial ID, Monthly ID etc all as none. Enable the checkbox "Reseller Credits" and enter the amount of Credits this will add to the reseller in the Xtreamcodes panel. Click "Save".

Reseller 02.jpg

5. Go to the "Custom Fields" tab. in "Field Name" enter "Reseller" NOTE the capital R. Enter a description. i.e enter your reseller name exactly as it is spelt. Enable the checkboxes for Required Field Show on Order Form and Show on Invoice. and then click save. Your Prouct is now setup.

Reseller 03.jpg

5. When purchasing the Reseller Credits from the client area they will be presented with the below screen at checkout.

Reseller 04.jpg


Updating & Uploading ProjectX

In this tutorial we will show you how to upload and download ProjectX using Filezilla.

1. Login to your client area and click on your services, then click on the service you wish to access the downloads for.

Update 01.jpg

2. If you want a diffrent version click the download button on the left and it will display all versions. Click the download button to download the zip file to your computer.

Update 02.jpg

3. Extract the zip files and a folder called "xtreamresell" will be created. If you open the file it will look something like the below picture.

Update 03.jpg

4. You will need a FTP client to upload the files to your server. We would suggest using. Filezilla

Update 04.jpg

5. open Filezilla and click the button under "file" to open the file manager.

Update 6.jpg

6. Click "New Site". Host" enter your server ipaddress. "Port" enter 22. "Protocol" choose SFTP, SSH File Transfer protocol. "Login Type" choose Normal. "User" enter your root user name, this would most likley be "root" and in "Password" enter your root password. Click "Connect".


Update 05.jpg

7. Once filezilla has connected. The files on the left are on your computer. Find the location of the "xtreamresell" folder you extracted earlier. On the right is your server. Browse to where you installed WHMCS. Once you find wher WHMCS is installed you will want to open modules => servers. In the picture below our WHMCS folder is called "billing" You will then upload the "xtreamresell" folder to the server folder. If you are updating only the files from the "xtreamresell" folder will be uploaded.Filezilla will ask you if its ok to replace the files already in the folder. Answer YES. Once thats done ProjectX has been updated and you can close Filezilla and return to WHMCS.


Update 07.jpg

Working with Captchas

1. If your XtreamUI panel is protected by the google recaptcha ProjectX will still have 100% functionality.

2. You will first need to signup with https://2captcha.com and buy credit. This will last a long time as they charge $ 2.99 / 1000 recapchas. They also accept PayPal.

3. After Signing up look for accounts and copy your "api key" and set 100% recognition to on.

Captcha1.png

4. Next navigate to the main screen where you login to XtreamUI. Right click with your mouse and select "page source"

Captcha2.png

5. The page source will open in a new window. Look for data-sitekey=" and copy the text between the brackets.

Captcha3.png

6. Now open XtreamUI and got to your module settings. At the bottom you will see the captcha settings. Enable "Captcha Required" by checking the box. In " Captcha API Key" put your 2captcha api key from Step 3. In "G-Recaptcha Key" put your site api key from Step 5. Now because this is the first time you are getting your products you need to check the box "Refresh" and then click save.

ProjectX will now retrieve your products. This should take no longer then 60 seconds. If it takes longer just reopen your product and the packages should show. If they dont show click refresh again and save.

Once the products are retrieved they will be saved to the database so you wont need to refresh again unless your products have changed on the panel and you wish to refresh them.

Captcha4.png

Common Problems

I installed the Addon but my products are not showing.

1. Make sure you have enabled "load all files" Setup > General Settings > Other.

2. If you are using shared hosting make sure you have asked your hosting provider to open the port. i.e 25500 if your reseller panel is http://mydomain.com:25500/

3. If the Panel protected by Cloudflare DDOS protection the addon wont work.

4. Make sure your username + password are correct.

5. You need to login as a reseller not the panel owner admin user. If you are the panel owner create a reseller account and use that.

6. Make sure you have the trailing slash / on the end of your reseller url.

7. Some shared hosting providers enable "ModSecurity" this is very rare by i know namecheap do it. You need to get them to disable that as well as open the port.

My license is showing as invalid.

1. Reissue your license from your client area and then make sure you do this. "deactivate" the license in (WHMCS) xtreamresell addon. Then "activate" then "configure" paste your license key in again, allow administrator and click save.

Newly created user lines are not showing in xtreamui

1. Make sure in "Custom Fields" you have added either "Username" or "MAC". These must be spelt exactly like that and are case sensitive.

I have selected random username but my products dont show in xtreamui

1. Make sure you have the privileges to create usernames by adding a trial manually in the panel. Some panel owners force you to use a xtreamui generated username.

Known Issues

1. We have tested the addon on namecheap shared hosting and it works. You need to get them to unblock your reseller port i.e http://domain.com:25500 they will need to unblock 25500 for you. You may need to get them to disable ModSecurity as well.

2. Existing Xtreamresell customers may a continuous spinner when accessing module settings. This is because the addon is trying to contact the old cms. The workaround is from the "Module Name" dropdown box select a random module i.e WHMSonic and then click save. Then select Xtreamresell again and click save and your fields should populate.

3. If you encounter any other bugs please log a ticket and inform us.