48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
//
|
|
// Copyright (c) 2006-2016 Wade Alcorn - wade@bindshell.net
|
|
// Browser Exploitation Framework (BeEF) - http://beefproject.com
|
|
// See the file 'doc/COPYING' for copying permission
|
|
//
|
|
|
|
// beef.net.connection - wraps Mozilla's Network Information API
|
|
// https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation
|
|
// https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection
|
|
beef.net.connection = {
|
|
|
|
/* Returns the connection type
|
|
* @example: beef.net.connection.type()
|
|
* @note: https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/type
|
|
* @return: {String} connection type or 'unknown'.
|
|
**/
|
|
type: function () {
|
|
try {
|
|
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
|
|
var type = connection.type;
|
|
if (/^[a-z]+$/.test(type)) return type; else return 'unknown';
|
|
} catch(e) {
|
|
beef.debug("Error retrieving connection type: " + e.message);
|
|
return 'unknown';
|
|
}
|
|
},
|
|
|
|
/* Returns the maximum downlink speed of the connection
|
|
* @example: beef.net.connection.downlinkMax()
|
|
* @note: https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/downlinkMax
|
|
* @return: {String} downlink max or 'unknown'.
|
|
**/
|
|
downlinkMax: function () {
|
|
try {
|
|
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
|
|
var max = connection.downlinkMax;
|
|
if (max) return max; else return 'unknown';
|
|
} catch(e) {
|
|
beef.debug("Error retrieving connection downlink max: " + e.message);
|
|
return 'unknown';
|
|
}
|
|
}
|
|
|
|
};
|
|
|
|
beef.regCmp('beef.net.connection');
|
|
|