I need help in building a project. Let me first describe my project -
I want to build a Web application (using php / php framework(laravel) , html, css, javaScript, bootstrarp ) that will help ISP owner to manage their router (most of them use Mikrotik router).
Reason to build this App:
Most ISP provider here use Mikrotik router to manage their internet business. But managing the router using Winbox ( a desktop based windows software that is build to manage Mikrotik router) seems complex to them. Just for creating new ip to assign a new user, blocking a user if he/she do not pay bills and managing bandwidth they need to operate winbox every time which they find difficult. My approach is to build a web application that will ease their work.
The features I want to provide are-
Showing daily graph of bandwidth received and used
Recording client history (client IP address, Monthly rent, Name, Address etc.)
I am able to do 6 - 9 features as described but I have no idea how to implement 1 - 5 features !
Problem That I am facing :
a. I don't know how to connect to a MikrotiK router via web application b. If some how i can access to the MikrotiK router using router IP address , I don't know how to create new IP address on that router database c. how to manage bandwidth via web application d. how to block / lock ip address !
Points I get myself :
I think using management vlan (router Ip address) i can access to that router form command promt using ssh/telnet. After that what would be the command to create, lock/block, manage bandwidth of an IP address ? IF all this things can be done using command prompt, how can I make it for my web application ?
Can anyone please help me with this, referring any link?? I googled but only thing I find is Mikrotik router management manual !
I did part of what you are asking for a customer weeks ago. Your question is to broad, very extensive, it will take months to accomplishes the job.
Start your project with the basic that you can find at http://wiki.mikrotik.com/wiki/API_PHP_class, then you can grow your application and post specific questions about your problems in places like stackoverflow or reddit.
Follow a sample to connect to the API, then execute commands and then disconnect.
$API = new RouterosAPI();
$API->debug = true; // turn debug on to learn more about your api
if ($API->connect($server , $username , $passwd, $port)) {
// wireless registration table
$API->write('/interface/wireless/registration-table/print',false);
$API->write('=stats=');
// print output here
} else {
// connection fails
}
$API->disconnect();
Ref.: