Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ar Ziggo = (function() {
- var obj = { ip: "192.168.178.1" };
- function random_string() {
- var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- var length = 10;
- var result = "";
- for (var i = 0; i < length; i++)
- result += chars[Math.floor(Math.random() * chars.length)];
- return result;
- }
- function create_iframe(name) {
- var iframe = document.createElement("iframe");
- iframe.width = iframe.height = "0";
- iframe.style.visibility = "hidden";
- iframe.name = name;
- document.body.appendChild(iframe);
- return iframe;
- }
- function send_form(args, url, iframe) {
- var form = document.createElement("form");
- form.action = "http://" + obj.ip + url;
- form.method = "POST";
- form.target = iframe.name;
- for (var i in args) {
- var arg = args[i];
- var element = document.createElement("input");
- element.type = "hidden";
- element.name = i;
- element.value = arg;
- form.appendChild(element);
- }
- document.body.appendChild(form);
- setTimeout(function() {
- form.submit();
- }, 0);
- setTimeout(function() {
- iframe.parentNode.removeChild(iframe);
- }, 5000);
- return form;
- }
- var callbacks = {};
- function call_backredirect(data, url, callback)
- {
- var token = random_string();
- var frame = create_iframe(token);
- var timeout;
- frame.contentWindow.name = token;
- frame.onload = function() {
- frame.contentWindow.name = token;
- }
- callbacks[token] = function(ev) {
- if (ev.data == "check") {
- frame.contentWindow.postMessage("success", "*");
- frame.parentNode.removeChild(frame);
- callback(true);
- clearTimeout(timeout);
- }
- }
- send_form(data, url, frame);
- timeout = setTimeout(function() {
- callback(false);
- }, 5000);
- }
- // --- WE ARE GOING BACK TO WHERE IT WAS ---
- obj.loggedin = function(callback) {
- call_backredirect({
- PortForwardingCreateRemove: 1,
- PortForwardingTable: 0
- }, "/goform/RgForwarding", callback);
- }
- obj.login = function(user, pass) {
- var frame = create_iframe(random_string());
- send_form({
- loginUsername: user,
- loginPassword: pass
- }, "/goform/loginMR3", frame);
- }
- obj.set_dnssettings = function(settings, callback) {
- if (settings.dns)
- settings.dns = [];
- for (var i in settings.dns)
- settings.dns[i] = settings.dns[i].split(".");
- call_backredirect({
- DhcpServerEnable: "0x1000",
- StartingLocalAddressIP3: settings.starting_ip || "10",
- NumberOfCpes: settings.clients || "64",
- LeaseTime: settings.lease_time || "3600",
- StaticDNS1IP0: (settings.dns.length > 0 && settings.dns[0].length > 3) ? settings.dns[0][0] : "0",
- StaticDNS1IP1: (settings.dns.length > 0 && settings.dns[0].length > 3) ? settings.dns[0][1] : "0",
- StaticDNS1IP2: (settings.dns.length > 0 && settings.dns[0].length > 3) ? settings.dns[0][2] : "0",
- StaticDNS1IP3: (settings.dns.length > 0 && settings.dns[0].length > 3) ? settings.dns[0][3] : "0",
- StaticDNS2IP0: (settings.dns.length > 1 && settings.dns[1].length > 3) ? settings.dns[1][0] : "0",
- StaticDNS2IP1: (settings.dns.length > 1 && settings.dns[1].length > 3) ? settings.dns[1][1] : "0",
- StaticDNS2IP2: (settings.dns.length > 1 && settings.dns[1].length > 3) ? settings.dns[1][2] : "0",
- StaticDNS2IP3: (settings.dns.length > 1 && settings.dns[1].length > 3) ? settings.dns[1][3] : "0",
- StaticDNS3IP0: (settings.dns.length > 2 && settings.dns[2].length > 3) ? settings.dns[2][0] : "0",
- StaticDNS3IP1: (settings.dns.length > 2 && settings.dns[2].length > 3) ? settings.dns[2][1] : "0",
- StaticDNS3IP2: (settings.dns.length > 2 && settings.dns[2].length > 3) ? settings.dns[2][2] : "0",
- StaticDNS3IP3: (settings.dns.length > 2 && settings.dns[2].length > 3) ? settings.dns[2][3] : "0",
- ApplyAction: "1",
- LeaseToFree: "",
- LeaseSelected: "",
- ForceAction: "",
- }, "/goform/RgDhcp", callback);
- }
- window.addEventListener("message", function(ev) {
- if (callbacks[ev.source.name] != undefined)
- callbacks[ev.source.name](ev);
- });
- if (window.top != window)
- window.top.postMessage("check", "*");
- return obj;
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement