System Requirement
- Server – Apache/Nginx
- PHP Version >= 7.0
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Mod Rewrite Enabled
- You must install SMM Panel on main domain or sub domain, not in sub folder
Recommended Shared Hosting?
Any hosting will work fine with above system requirement.
We have been asked for recommendation, so adding here for future clients.
Namecheap.com cheapest shared hosting plan will work fine.
How to install
Installation on VPS/Dedicated Server
- Extract the file in same folder.
- Set config/database.php file, /storage and /public/images folder writable.
- Point your virtual host to /public directory.
- Access your domain an Installation wizard will appear, follow the steps.
Installation on Shared hosting
- Show Hidden files in FileManager settings.
- Move all contents
folder & files
frompublic
topublic_html
folder. - Edit
index.php
file, located inpublic_html
folder. - Replace following lines of code with given lines.
Replace:require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
With:require __DIR__.'/../smm/bootstrap/autoload.php';
$app = require_once __DIR__.'/../smm/bootstrap/app.php';
- Change permission 775 (group writable) to
images
folder located inpublic_html
. - Navigate to
smm
folder and change permission ofstorage
folder to 775. - Change
config/database.php
file permission to 664(group writable). - Edit
config/filesystems.php
and replace following line with given lines.
Replace:'public' => [
'driver' => 'local',
'root' => public_path(),
'visibility' => 'public',
],
With:'public' => [
'driver' => 'local',
'root' => base_path('../public_html'),
'visibility' => 'public',
], - Edit
.env
file and updateAPP_NAME=
Your site name without http or httpsAPP_URL=
Your domain full url with http or httpsMAIL_FROM_ADDRESS=
your domain email like [email protected]MAIL_FROM_NAME=
your site name without http or https
Note There should not be space between words. If there is space put in double quote like
MAIL_FROM_NAME=”SMM Panel” - Select PHP Version 7+ from cpanel. if it is not php7 already.
- Hit your domain url in browser there is installation wizard. Add your db name and other details and proceed.
Add CRON jobs
- Cron Job for sending orders to other reseller Panels.
- Point command at
smm
folder and put this cron with time span of minimum 20 minutes to:php artisan orders:send
This command will send All orders of specific packages in which Reseller API is selected.
Point command atsmm
folder and put this cron with time span of minimum 15 minutes to:php artisan status:check
This command will update order status from reseller panel(s). - CRON job for sending Status Report to Admin
- Point command at with time span twice per day.
php artisan send-status-report
NOTE: in case of shared hostingAdd CRON jobs like follow
cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan orders:send >/dev/null 2>&1 cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan status:check >/dev/null 2>&1 cd $HOME/smm && /opt/alt/php71/usr/bin/php artisan send-status-report >/dev/null 2>&1
Steps to do if cron job is not working.
- Create a new file info.php in public_html directory and put following content in it
<?php
phpinfo(); - Visit yourdomain.com/info.php
- Press CTRL+F (find) “bindir” and find the location of bin directory on your server, you might find something like:
/opt/alt/php70/usr/bin/ - Copy that location and add php in its end like
/opt/alt/php70/usr/bin/php - Replace that location in all above cron like:
cd $HOME/smm && /opt/alt/php70/usr/bin/php artisan orders:send >/dev/null 2>&1
Configure System
Login to Admin panel, click Settings -> System.
- Application Name – Name of your website
- Logo
- Banner – That will be shown on homepage.
- Description – That will be shown on homepage.
- Admin Email for receiving notifications, For new support ticket, messages and stats report.
- Front Page, which page should be front? Login or homepage.
- Show Service List Menu without logged or with logged in only.
- Set System Timezone (For Admin, User can set their own timezone in their account settings).
- Currency Code – Three digit ISO Currency Code. i.e USD/EUR
- Currency Symbol
- Currency Separator (Comma or point) useful for EU customers who use comma as a decimal point separator.
- Date format – All dates will be displayed with that format.
- Google reCAPTCHA Public Key
- Google reCAPTCHA Private Key
- HTTP Referrer Anonmizer
- Minimum funds deposit amount
- Enable or disable API functionality
- Enable or disable Support functionality
- Language of the system (Multi language)
- Full Width 100% wide layout for Admin or User
- Simple or default theme
- Theme Color (color scheme of the application)
Add Static Pages Content
Update content of FAQs, About US, Contact Us and other static pages. Update content on different pages like New order, login register etc
- Log into admin, Go to settings -> pages
- Click edit on page entry and update its content.
- Rich text editor is available to update content.
Add Services
Admin Panel is completely dynamic, so you can add/update categories.
- Log into admin, Go to settings -> Services
- Click create new.
- Write Name of service, description and Status which is active by default.
- If it is Subscription/Autolikes service select Yes otherwise NO
- When you want to deactivate Service, just make status inactive.
Add Packages
- Log into to admin, Go to settings -> Packages
- Click create new.
- Select Service in which you want to create package. i.e Facebook, Instagram or Twitter
- Is service custom Data Yes/No – Custom data can be used for custom comments, custom mentions , custom keywords and so on.
- Name of Package. i.e Likes, Shares, Retweets
- Price Per Single item. i.e price for 1 Like = 0.01 etc
- System will automatically calculate total price for order. (Per item * Per item Price = total)
- Minimum quantity – i.e 20
- Maximum quantity – i.e 2000
- Description of service
- API – Select API to auto send order. (Add APIs in Automate -> Api List Menu)
Payment Methods Settings
To configure payment method settings
- Login to admin, Go to settings -> Payment methods
- Click to edit
- Change status active or inactive
- For Bitcoin, You have to get merchant_id & secret key for Coinpayments
- For Paypal Add your paypal Email. Make sure you have enabled IPN Handler in your profile. Being logged in to your paypal account, visit: https://www.paypal.com/in/cgi-bin/?cmd=_profile-ipn-notify&fli=true
Paypal Mode live for production and sandbox for testing. - For Stripe, get Stripe Secret and Key.
- For Payza add your payza business account email. Paypal Mode live for production and sandbox for testing.
- For InstaMojo, Get your API key, API Token And API Salt from your Instamojo account.
- To set up Skrill will need to sign up for a merchant account with Skrill. After verifying your account you will need to find your secret word from “Settings > Developer Settings” in your Skrill account.
- For Paytm, Add :
- Download this file, rename to “check.php” put it in public_html. And hit yourdomain.com/check.php. If you see “success” it will work. Otherwise follow instructions.
- Add Imap Full URL to your Paytm Email Inbox.
Note: To avoid any hassle use gmail. Which is added and works perfect. You don’t need to change this. - Add Your Email Address
- Add Your Email Password (not Paytm password)
- Allow less secure app access, by going here and enabling checkbox:
https://myaccount.google.com/lesssecureapps - Note: Please move all your prior Transaction emails from Inbox, or sign up Paytm wih a fresh gmail for your panel.
- For Paywant
- Get Your API Secret And API Key
- Add below notify URL
IPN URLS
Gateway | IPN |
---|---|
Paypal | http://domain.com/payment/add-funds/paypal/status |
Pazya | http://domain.com/payment/add-funds/payza/status |
Coinpayments | http://domain.com/payment/add-funds/bitcoin/bit-ipn |
InstaMojo | http://domain.com/payment/add-funds/instamojo/webhook |
Skrill | http://domain.com/payment/add-funds/skrill/ipn |
Paywant | http://domain.com/payment/add-funds/paywant/status |
Manage users
Add new users, activate or deactivate users etc.
- Login to admin, Go to Users
- Click create new to create new users, Add details, you can add funds of user from backend too.
- Click to edit to update
- User Funds can be added in this page
- User Special Price can be set here, by default all standard prices will be used.
- Change status active or inactive
Manage Orders
Change status of orders, remove theme etc. Following are details in order.
- Login to admin -> Orders
- Perform available actions.
- Bulk Edit option is available to manage orders quickly.
Manage support tickets
Your customer can post support queries through admin panel and you can manage it.
- Login to admin, Click Support
- Click on Edit A message time line is built so your customer can message you and you can message them too.
- Dashboard and listing have new message count available.
- When new ticket will be submitted or new message will be sent by user, Admin will receive information of ticket in email added in system settings.
Funds Load History.
It will show history logs of funds loaded by customers.
Add funds
User will be able to load funds in panel.
- Login to User -> Add funds
- Select payment methods and proceed
Order History
User can view his orders history.
- Login to User -> Order History
Place Mass Order
User can place orders in bulk (Mass Orders).
- Login to User -> my orders
- Write order in each new line with the given format: package_id|quantity|link
- Package Ids are given below the mass order form.
SMM Panel API for customers
Panel have built in REST API for users, so that can place order by API directly without logging into panel.
- User login -> Settings
- Generate token by click Generate button
- All the other API details are available by accessing yourdomain.com/api-documentation
Add New SMM Reseller Panel API
- Admin login -> Automate -> API List
- Click on Add New.
- Insert Api Name.
- Order Place API
- Add API Endpoint
- Select HTTP method
- Add Request Body
- There are three columns in request body
- Key – Which is parameter key.
- ValueType – Which is Either custom value or a column from order row.
- Value – if custom add value else select order row.
- Example:
API EndPoint: https://demo.yourdomain.com/api/order
HTTP Method: POST
Required Parameters
api_token
package_id
quantity
link
ParameterParameter TypeValueapi_tokenCustom123sd45e65466package_idTable Columnpackage_idquantityTable ColumnquantitylinkTable Columnlink
- There are three columns in request body
- Add API Success Response which must be in JSON format.
- Add Response Key Name equivalent to orderID. Which can be order, order_id, OrderID, ID etc.
- Order Status API
- Add API Endpoint
- Select HTTP method
- Add Request Body
- There are three columns in request body
- Key – Which is parameter key.
- ValueType – Which is Either custom value or a column from order row.
- Value – if custom add value else select order row.
- Example:
API EndPoint: https://demo.indusrabbit.com/api/status
HTTP Method: GET
Required Parameters
api_token
order
ParameterParameter TypeValueapi_tokenCustom123sd45e65466Notice,order
parameter is fetched automatically by system. Which you added inResponse Key Name equivalent to orderID
.
- There are three columns in request body
- Add API Success Response which must be in JSON format.
- Add Response Key Name equal start_counter. may be
start_counter
,start_count
,count
etc. - Add Response Key Name equal Response key Name equal status. may be
status
,order_status
etc. - Add Response Key Name equal Response key Name equal remains. may be
remains
,count_remains
etc. - Select Process All orders Auto Yes/No.
Add Mapping
between your panel’s packageIDs and reseller panel’s Service/PackageIDs
- Admin login -> Automate -> API List
- Edit added API.
- Add reseller panel service/package id equal to panel package_id
Send Orders to Reseller SMM Panel
- Admin login -> Automate -> Send Orders
- All orders which are in “PENDING” state and not sent to API whill be shown in listing.
- On Select API, select the API where you want to send Order, Here all API will be shown which are added in previous div.
- Click Send, following thing can be happened.
- If Order is successfully placed to API, there will be a success message.
- If Order is Failed to placed, there will be a failed message.
- If Mapping is not found there will be message that please add API mapping ids.
- In both Case Success And Failure, there will be response log from API call. Which is helpful for errors and other information.
Check Order Status From Reseller SMM Panel
- Admin login -> Automate -> Get Order Status
- All orders which are not in “CANCEL, REFUNDED, COMPLETED, PARTIAL” state and sent to API will be shown in listing.
- Click Get Status, following thing can be happened.
- If Order status is completed, system will automatically mark order complete and show success message.
- If Order status is partial, system will automatically mark order partial, refund remains quantity amount and show success message.
In Some case you want to send order to another reseller if not order fulfilled from current reseller, then you can “Change Reseller”
By clicking on “Change Reseller” button in Get Status Order Listing. Order then will be read to be send to another reseller (By Manually) in Automate -> Order Send Menu.
API Response Logs
- Admin login -> Automate -> Response Logs
- In both case of Success and Failure there will be a response log which will give information
about API call.
Subscriptions / Autolikes
To Enable or Disable subscription module, go to Settings -> System -> Select Yes or No on “Subscriptions functionality enabled?” select box.Most importantly, script doesn’t do anything automate in subscription, every thing have to be done manually by admin. From sending subscription order to reseller to adding individual order in each subscription.By default when a user place an order in subscription, its Status will be PENDING and all the amount of order will be deducted from user’s account in advance.Admin can cancel and stop subscription, the remaining amount will be calculated and returned to user account.When admin place’s an order in subscription, by going to Subscription menu -> in listing of subscription -> View order button, there will be form to add order. After adding order, system will update order automatically to active. After all the posts in subscription are done, system will automatically update status to completed
Create service
Create a normal service as regular one and select “YES” from is subscription service? select box.
Create Packages
Create packages as regular one just select the appropriate service for subscription.
Manage
While in admin menu, click on Subscriptions menu to see all list of subscriptions. To edit Subscription:
- Go to subscription menu
- Click on on edit button in action to edit subscription.
To Cancel Subscription:
- Go to subscription menu
- Click on on cancel button in action to cancel subscription.
To Add orders in Subscription:
- Go to subscription menu
- Click on on View Orders button in action column.
- There will be complete detail of subscription along with list of orders
- In the Add order form, add a new regular order
- quantity, and other data will be used from subscription details
- Just add link of the post, start_count and remains
- By default order will be mark completed when you add it.
Customization of Theme and Javascript
Sometimes you need to customize some CSS and JS, With each update that might change and your customization lost.
We have added two files one for CSS and one for JS so your customized styles and script won’t loss with each update.
You can files these files here:
- public_html/css/my-style.css
- public_html/js/my-script.js