1
0
This commit is contained in:
Anderson Luiz Alves
2017-07-25 22:05:51 -03:00
parent 6b742a5088
commit 04a0df296c
33 changed files with 1765 additions and 208 deletions

12
perms

@ -204,6 +204,8 @@ drwxr-xr-x squashfs-root/etc/bewan/iad/en_US/admin
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/admin_password.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/auth.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/bb_stats.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/changelog.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/config_advanced.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/config_apps.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/config_firewall.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/config_internet.htm
@ -211,6 +213,7 @@ drwxr-xr-x squashfs-root/etc/bewan/iad/en_US/admin
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/config_usb.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/config_wan_mode.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/config_wireless.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/firmware.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/index.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/languages.htm
-r--r--r-- squashfs-root/etc/bewan/iad/en_US/admin/license.html
@ -304,6 +307,8 @@ drwxr-xr-x squashfs-root/etc/bewan/iad/pt_BR/admin
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/admin_password.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/auth.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/bb_stats.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/changelog.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/config_advanced.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/config_apps.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/config_firewall.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/config_internet.htm
@ -311,6 +316,7 @@ drwxr-xr-x squashfs-root/etc/bewan/iad/pt_BR/admin
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/config_usb.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/config_wan_mode.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/config_wireless.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/firmware.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/index.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/languages.htm
-r--r--r-- squashfs-root/etc/bewan/iad/pt_BR/admin/license.html
@ -548,6 +554,7 @@ lrwxrwxrwx squashfs-root/etc/bewan/ip-up.d/S00-0-ipconf
-rwxr-xr-x squashfs-root/etc/bewan/ip-up.d/S00-rpfilter
lrwxrwxrwx squashfs-root/etc/bewan/ip-up.d/S01-led
lrwxrwxrwx squashfs-root/etc/bewan/ip-up.d/S01-led-3g
-rwxr-xr-x squashfs-root/etc/bewan/ip-up.d/S20-dnsmasq
-rwxr-xr-x squashfs-root/etc/bewan/ip-up.d/S50-gvtSTB
-rwxr-xr-x squashfs-root/etc/bewan/ip-up.d/S60-dhcp43
-rwxr-xr-x squashfs-root/etc/bewan/ip-up.d/S60dyndns
@ -755,6 +762,7 @@ drwxr-xr-x squashfs-root/etc/bewan/scripts
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ip-up-dhcp
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ip-up-lan
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ip-up-ppp
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ip-up-ppp_
-rwxr-xr-x squashfs-root/etc/bewan/scripts/led-3g
-rwxr-xr-x squashfs-root/etc/bewan/scripts/led-wan
-rwxr-xr-x squashfs-root/etc/bewan/scripts/led-wan6
@ -764,6 +772,7 @@ drwxr-xr-x squashfs-root/etc/bewan/scripts
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ppp-down6
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ppp-fail6
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ppp-up6
-rwxr-xr-x squashfs-root/etc/bewan/scripts/ppp-up6_
-rwxr-xr-x squashfs-root/etc/bewan/scripts/printer-update
-rwxr-xr-x squashfs-root/etc/bewan/scripts/reset_dsl_stats
-rwxr-xr-x squashfs-root/etc/bewan/scripts/restricted_shell
@ -892,6 +901,7 @@ drwxrwxr-x squashfs-root/home/diag/bin
-rwxr-xr-x squashfs-root/home/diag/bin/ash
-rwxr-xr-x squashfs-root/home/diag/bin/cli
-rwxr-xr-x squashfs-root/home/diag/bin/ifconfig
-rwxr-xr-x squashfs-root/home/diag/bin/ip
-rwxr-xr-x squashfs-root/home/diag/bin/lsmod
-rwxr-xr-x squashfs-root/home/diag/bin/netstat
-rwxr-xr-x squashfs-root/home/diag/bin/ping
@ -1014,10 +1024,12 @@ lrwxrwxrwx squashfs-root/home/diag/lib/libip6tc.so.0
lrwxrwxrwx squashfs-root/home/diag/lib/libiptc.so
lrwxrwxrwx squashfs-root/home/diag/lib/libiptc.so.0
-rwxr-xr-x squashfs-root/home/diag/lib/libiptc.so.0.0.0
-rwxr-xr-x squashfs-root/home/diag/lib/libiputil.so
-rwxr-xr-x squashfs-root/home/diag/lib/libm-0.9.30.3.so
-rwxr-xr-x squashfs-root/home/diag/lib/libm.so
-rwxr-xr-x squashfs-root/home/diag/lib/libm.so.0
-rwxr-xr-x squashfs-root/home/diag/lib/libmtd.so
-rwxr-xr-x squashfs-root/home/diag/lib/libnetlink.so
-rwxr-xr-x squashfs-root/home/diag/lib/libnsl-0.9.30.3.so
-rwxr-xr-x squashfs-root/home/diag/lib/libnsl.so
-rwxr-xr-x squashfs-root/home/diag/lib/libnsl.so.0

@ -17,7 +17,7 @@ Device_LedButtons_RestartDuration=1000
Device_LedButtons_NightMode_Enable=0
Device_LedButtons_NightMode_EnterTimeSpec='0 23 * * *'
Device_LedButtons_NightMode_ExitTimeSpec='0 7 * * *'
Device_IPv6Enable=0
Device_IPv6Enable=1
Services_Time_NTPEnable=1
Services_Time_NTPInterfaces=1
Services_Time_LocalTimeZone='BRT3BRST,M10.3.0/0,M2.3.0/0'
@ -25,9 +25,9 @@ Services_Time_LocalTimeZoneArea=BRST
Services_Time_NTPServers='0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org'
Services_Cron_Enable=1
Services_Cron_LogLevel=9
Services_MDNSResponder_Enable=1
Services_Telnet_Enable=0
Services_SSH_Enable=0
Services_MDNSResponder_Enable=0
Services_Telnet_Enable=1
Services_SSH_Enable=1
Services_DynDNS_List='1'
Services_DynDNS_1_Enable=0
Services_DnsForwarder_DnsRedirect=0
@ -50,13 +50,15 @@ Services_IgmpProxy_WanForwardingTable_1_FwdAllow=0
Services_IgmpProxy_WanForwardingTable_2_FwdGroupAddress='239.255.255.250'
Services_IgmpProxy_WanForwardingTable_2_FwdGroupMask='255.255.255.255'
Services_IgmpProxy_WanForwardingTable_2_FwdAllow=0
Services_Samba_Enable=1
Services_Ippos_Enable=0
Services_Samba_Enable=0
Services_Samba_Opened=1
Services_Samba_ServerString='PowerBox GVT (Samba %v)'
Services_Samba_InterfaceList=1
Services_Samba_StorageEnable=1
Services_SuperDLNA_Description_FriendlyName='PowerBox GVT'
Services_TR069_Enable=1
Services_SuperDLNA_Enable=0
Services_TR069_Enable=0
Services_TR069_Interfaces=1
Services_TR069_SrvLogin=''
Services_TR069_SrvPassword=''
@ -73,7 +75,8 @@ Services_TR069_RebootNoTraffic=0
Services_TR069_VerifyCert=0
Services_TR069_VerifyCertDate=0
Services_WANAutoConfig_Enable=1
Services_TR111_TR111Enable=1
Services_TR111_TR111Enable=0
Services_GvtConfig_AccessClass=4
Services_GvtHotspot_Address_Count=2
Services_GvtHotspot_Address_1_IP=''
Services_GvtHotspot_Address_1_Description='Primary IP Server'
@ -232,24 +235,24 @@ PTMEthernetInterface_1_VLANInterface_1_Enable=1
PTMEthernetInterface_1_VLANInterface_1_User=0
PTMEthernetInterface_1_VLANInterface_1_VID=600
PTMEthernetInterface_1_VLANInterface_1_PrioMap='0,0,0,0,0,0,0,0'
PTMEthernetInterface_1_VLANInterface_2_Enable=1
PTMEthernetInterface_1_VLANInterface_2_User=0
PTMEthernetInterface_1_VLANInterface_2_Enable=0
PTMEthernetInterface_1_VLANInterface_2_User=1
PTMEthernetInterface_1_VLANInterface_2_VID=601
PTMEthernetInterface_1_VLANInterface_2_PrioMap='0,0,0,0,0,0,0,0'
PTMEthernetInterface_1_VLANInterface_3_Enable=1
PTMEthernetInterface_1_VLANInterface_3_User=0
PTMEthernetInterface_1_VLANInterface_3_Enable=0
PTMEthernetInterface_1_VLANInterface_3_User=1
PTMEthernetInterface_1_VLANInterface_3_VID=602
PTMEthernetInterface_1_VLANInterface_3_PrioMap='0,0,0,0,0,0,0,0'
PTMEthernetInterface_1_VLANInterface_4_Enable=1
PTMEthernetInterface_1_VLANInterface_4_User=0
PTMEthernetInterface_1_VLANInterface_4_Enable=0
PTMEthernetInterface_1_VLANInterface_4_User=1
PTMEthernetInterface_1_VLANInterface_4_VID=4000
PTMEthernetInterface_1_VLANInterface_4_PrioMap='0,0,0,0,0,0,0,0'
VPNInterface_Count=1
VPNInterface_1_Enable=1
VPNInterface_1_Enable=0
VPNInterface_1_Type='GRETAP'
VPNInterface_1_DependOnWAN=1
VPNInterface_1_GRE_IP4Destination=201.86.86.98
HPNA_Enable=1
HPNA_Enable=0
HPNA_Romless=0
HPNA_MacOffset='-7'
HPNA_PerfDiag_Settings_MaxPer='0.0'
@ -310,7 +313,7 @@ LANDevice_1_HostConfig6_RAServer_MaxRtrAdvInterval=60
LANDevice_1_HostConfig6_RAServer_MinRtrAdvInterval=30
LANDevice_1_HostConfig6_RAServer_AdvReachableTime=30000
LANDevice_1_HostConfig6_RAServer_DNS_Enable=1
LANDevice_1_HostConfig6_DHCPServer_Enable=1
LANDevice_1_HostConfig6_DHCPServer_Enable=0
LANDevice_1_HostConfig6_DHCPServer_MinAddress='::10'
LANDevice_1_HostConfig6_DHCPServer_MaxAddress='::1000'
LANDevice_1_HostConfig6_DHCPServer_DNS_Enable=1
@ -370,7 +373,9 @@ WANConnectionDevice_1_WANPPPConnection_HoldOffTimeouts='5-10,10-30,30-120'
WANConnectionDevice_1_DNSEnable=1
WANConnectionDevice_1_DNSOverrideAllowed=1
WANConnectionDevice_1_Firewall_Enable=1
WANConnectionDevice_1_Firewall_AllowRemotePing=0
WANConnectionDevice_1_Firewall_AllowRemotePing=1
WANConnectionDevice_1_Firewall_AttackDetection=0
WANConnectionDevice_1_Firewall6_AttackDetection=0
WANConnectionDevice_1_Service_List='1,2,3'
WANConnectionDevice_1_Service_1_Enable=1
WANConnectionDevice_1_Service_1_Port=7547
@ -537,7 +542,7 @@ User_List='1,2,3'
User_1_Enable=1
User_1_Username='root'
User_1_User=0
User_1_Password='AD0FCB4878A5B152C5A41BF3BD0D1AB4D5A477F561FAFA96F1C02A59B38F941BA0B096FB8E177DD58327902C28B4C03B'
User_1_Password='FAF10858EB35CEDDF2A694941F1F5DDF'
User_1_Services='unix'
User_2_Enable=1
User_2_Username='admin'
@ -560,9 +565,9 @@ WebAuthenticator_Realm_1_Group_1_SkipAuth_Enable=1
WebAuthenticator_Realm_1_Group_2_Name='iad_admin'
WebAuthenticator_Realm_1_Group_2_Directories='/en_US/admin,/pt_BR/admin'
Firewall_Enable=1
Firewall_LogDropped=1
Firewall_DefaultPolicy='Drop'
Firewall_DefaultPolicy6='Drop'
Firewall_LogDropped=0
Firewall_DefaultPolicy='Accept'
Firewall_DefaultPolicy6='Accept'
Firewall_Rules_List='2,10,11,12,13,14,15,16,17,18,19,20,50,52,53,54,55,56,57,58,59,60,61,62,70,71,72,73,74'
Firewall_Rules_2_Enable=1
Firewall_Rules_2_User=0
@ -803,7 +808,8 @@ Conntrack_MaxEntries=40000
Conntrack_TCPTimeout=0
Conntrack_UDPTimeout=0
Conntrack_UDPTimeoutStream=0
Conntrack_Filter_Enable=1
Conntrack_EnableStatus=0
Conntrack_Filter_Enable=0
Conntrack_Filter_ReservedConnections=1800
Conntrack_Filter_Rules_List='1,2,3,4,5'
Conntrack_Filter_Rules_1_Enable=1
@ -834,7 +840,7 @@ VoiceCustomizations_SIP_G711FaxModemInSDP_Enable=1
VoiceCustomizations_SIP_G711FaxModemInSDP_XfaxEnable=1
VoiceCustomizations_SIP_Replace182QueuedBy180Ringing=1
VoiceCustomizations_SIP_MediaPriorityInSDPOffer='Audio'
Voice_Enable=1
Voice_Enable=0
Voice_Debug=0
VoiceCapabilities_MaxProfileCount=1
VoiceCapabilities_MaxLineCount=2
@ -1030,7 +1036,8 @@ PhyInterface_2_PhyPort='2'
PhyInterface_2_Description='Phone 2'
PhyInterface_2_InterfaceID=2
PhyInterface_2_ReinjectionSupported=0
QueueManagement_Enable=1
Accelerator_EnableStatus=0
QueueManagement_Enable=0
QueueManagement_MaxQueues=8
QueueManagement_Queue_List='1,3,4,5,6,7,8,9,10,11,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57'
QueueManagement_Queue_1_Enable=1
@ -1345,3 +1352,4 @@ QueueManagement_Queue_57_QueueId=7
QueueManagement_Queue_57_InterfaceType='WANEthernetInterface'
QueueManagement_Queue_57_InterfaceIndex=1
QueueManagement_Queue_57_SchedulerAlgorithm='PQ'
Services_UpnpTracker_Enable=0

@ -8,7 +8,7 @@ set_accessclass_gvt() {
mkdir -p /nvram/gvt
# The default value is also set in action library
# If you change it here, please check src directory
echo -n 2 > /nvram/gvt/accessclass
echo -n 4 > /nvram/gvt/accessclass
}
base_call_scripts 'gvt-access-class'
}

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- SEO [START] -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>GVT</title>
<!-- SEO [END] -->
<link rel="stylesheet" type="text/css" href="../../css/gateway.css"/>
<script type="text/javascript" src="../js/morpheus.min.js"></script>
<script type="text/javascript" src="../js/menu.js"></script>
<script type="text/javascript" src="../js/dns.js"></script>
<script type="text/javascript" src="../js/lite.javascript"></script>
<script type="text/javascript" src="../js/app.javascript"></script>
<script type="text/javascript" src="../js/configAccess.javascript"></script>
<!--#isAuth level=no_realm -->
<script type="text/javascript">
$.event.ready(function() {
var util = $.util,
pageData = {
deviceVersion: util.parseJson('<!--#echo jsonvar="cli=Device_FirmwareVersion"-->')
};
// Page.init(pageData);
$("#deviceVersion").html(pageData.deviceVersion);
});
</script>
<!--#endAuth var=ok-->
</head>
<body>
<div id="header-gateway">
<div class="wrap text-right">
<a href="http://www.gvt.com.br"><img src="../../img/logo-gvt.png" alt="GVT" class="left" border="0"/></a>
<img src="../../img/power-box.png" alt="Power Box GVT"/>
<p class="lang-menu"><script type="text/javascript">ImportLanguage();</script></p>
</div>
<div class="clear"></div>
</div><!--header-gateway-->
<div id="content">
<div class="wrap">
<div id="conteudo-gateway">
<div class="col-192 left">
<script type="text/javascript">ImportMenu('menu_changelog');</script>
</div><!--col-192-->
<!--#isNotAuth level=no_realm -->
<div id="level_auth" style="display:none;">no_realm</div>
<!--#include file="auth.htm" -->
<!--#isAuth level=no_realm -->
<div class="col-722 left">
<p><b>Firmware:</b> <span id="deviceVersion"></span></p>
<p><b>GitHub:</b> <a target="_blank" href="https://github.com/alacn1/pace_v5471">https://github.com/alacn1/pace_v5471</a></p>
<h3>Changelog</h3>
<h4>Alacn-180217</h4>
<p>* IPv6 working! Fixed bugs in radvd, dhcp6 and pppd. Changed firewall to Accept. Added status IPv6.</p>
<p>* Firmware Upgrade page.</p>
<p>* Firmware Upgrade protected with router password.</p>
<p>* Disabled:
MDNSResponder, TR111, VPNInterface, Voice, UpnpTracker, HPNA, Ippos, Samba, SuperDLNA,
Conntrack, QueueManagement, Accelerator,
Firewall_LogDropped, AttackDetection.
(can be reactivated in configuration)</p>
<p>* Disabled PTM VLAN: 601, 602, 4000.</p>
<p>* Disabled TR069.</p>
<p>* Fixed bugs in logs page and menus.</p>
<p>* Added page Advanced.</p>
<p>* Enabled Remote Ping. </p>
<p>* Enabled Telnet.</p>
<p>* Enabled restricted configurations.</p>
<h4>GVT-103961</h4>
<p>Based on firmware GVT-103961.</p>
</div><!--col-722-->
<!--#endAuth var=ok-->
<div class="clear"></div>
</div><!--conteudo-->
<div class="clear"></div>
</div><!--wrap-->
</div><!--content-->
</body>

@ -0,0 +1,352 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- SEO [START] -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>GVT</title>
<!-- SEO [END] -->
<link rel="stylesheet" type="text/css" href="../../css/gateway.css"/>
<script type="text/javascript" src="../js/morpheus.min.js"></script>
<script type="text/javascript" src="../js/menu.js"></script>
<script type="text/javascript" src="../js/dns.js"></script>
<script type="text/javascript" src="../js/lite.javascript"></script>
<script type="text/javascript" src="../js/app.javascript"></script>
<script type="text/javascript" src="../js/base64.javascript"></script>
<script type="text/javascript" src="../js/configAccess.javascript"></script>
<!--#isAuth level=admin -->
<script type="text/javascript">
var Page = (function($, App) {
var data, cli;
var util = $.util;
var updates = {};
var Messages = App.MessageUtil;
function switchFormatter(val, ctx) {
var fld = ctx.field;
if(ctx.operation === "read") {
return fld.attr("state");
}else {
fld.attr("state", val);
if (val == "0" ) {
fld.setStyle({'backgroundPosition': '-34px'});
} else {
fld.setStyle({'backgroundPosition': '0px'});
}
return null;
}
}
function setupBinders() {
configBinder = App.DataBinder({
fields: [
"Device_IPv6Enable",
"LANDevice_1_HostConfig6_DHCPServer_Enable",
"Firewall_LogDropped",
"WANConnectionDevice_1_Firewall_AllowRemotePing",
"WANConnectionDevice_1_Firewall_AttackDetection",
"WANConnectionDevice_1_Firewall6_AttackDetection",
"HPNA_Enable",
"Services_MDNSResponder_Enable",
"Services_UpnpTracker_Enable",
"Services_TR111_TR111Enable",
"VPNInterface_1_Enable",
"Voice_Enable",
"Conntrack_EnableStatus",
"Conntrack_Filter_Enable",
"Accelerator_EnableStatus",
"QueueManagement_Enable",
"PTMEthernetInterface_1_VLANInterface_2_Enable",
"PTMEthernetInterface_1_VLANInterface_3_Enable",
"PTMEthernetInterface_1_VLANInterface_4_Enable",
],
formatters: {
"Device_IPv6Enable": switchFormatter,
"LANDevice_1_HostConfig6_DHCPServer_Enable": switchFormatter,
"Firewall_LogDropped": switchFormatter,
"WANConnectionDevice_1_Firewall_AllowRemotePing": switchFormatter,
"WANConnectionDevice_1_Firewall_AttackDetection": switchFormatter,
"WANConnectionDevice_1_Firewall6_AttackDetection": switchFormatter,
"HPNA_Enable": switchFormatter,
"Services_MDNSResponder_Enable": switchFormatter,
"Services_UpnpTracker_Enable": switchFormatter,
"Services_TR111_TR111Enable": switchFormatter,
"VPNInterface_1_Enable": switchFormatter,
"Voice_Enable": switchFormatter,
"Conntrack_EnableStatus": switchFormatter,
"Conntrack_Filter_Enable": switchFormatter,
"Accelerator_EnableStatus": switchFormatter,
"QueueManagement_Enable": switchFormatter,
"PTMEthernetInterface_1_VLANInterface_2_Enable": switchFormatter,
"PTMEthernetInterface_1_VLANInterface_3_Enable": switchFormatter,
"PTMEthernetInterface_1_VLANInterface_4_Enable": switchFormatter,
},
});
}
function initUI() {
setupBinders();
configBinder.write({
data: data
});
$(".switchButton").bind("click", function() {
var id = $("#"+this.id);
if (id.attr("state") == 0 ) {
morpheus(id.elements[0], { duration:300, backgroundPosition: '0px'});
id.attr("state", 1);
} else {
morpheus(id.elements[0], { duration:300, backgroundPosition: '-34px'});
id.attr("state", 0);
}
configBinder.serialize({
target: updates,
}, this.id);
});
$("#save").bind("click", function() {
Messages.clearAll();
cli.rollback().write(updates).commit(function(res) {
if(res.error) {
Messages.error(res.error);
}else {
updates = {};
Messages.info('Configuração salva com sucesso.');
}
});
});
$("#cancel").bind("click", function() {
Messages.clearAll();
updates = {};
configBinder.write({
data: data
});
});
}
return {
init: function(pageData) {
data = pageData;
cli = ConfigAccess(data.token);
initUI();
}
};
})(lite, App);
$.event.ready(function() {
var util = $.util,
token = util.parseJson('<!--#echo jsonvar="token=Device_IPv6Enable,LANDevice,Firewall,WANConnectionDevice,HPNA,Services,VPNInterface,Voice,Conntrack,Accelerator,QueueManagement,PTMEthernetInterface"-->'),
pageData = {
token: token,
Device: { IPv6Enable: util.parseJson('<!--#echo jsonvar="cli=Device_IPv6Enable"-->') },
LANDevice: { 1: { HostConfig6: { DHCPServer: { Enable: util.parseJson('<!--#echo jsonvar="cli=LANDevice_1_HostConfig6_DHCPServer_Enable"-->') } } } },
Firewall: { LogDropped: util.parseJson('<!--#echo jsonvar="cli=Firewall_LogDropped"-->') },
WANConnectionDevice: {
1: {
Firewall: {
AllowRemotePing: util.parseJson('<!--#echo jsonvar="cli=WANConnectionDevice_1_Firewall_AllowRemotePing"-->'),
AttackDetection: util.parseJson('<!--#echo jsonvar="cli=WANConnectionDevice_1_Firewall_AttackDetection"-->'),
},
Firewall6: {
AttackDetection: util.parseJson('<!--#echo jsonvar="cli=WANConnectionDevice_1_Firewall6_AttackDetection"-->'),
},
},
},
HPNA: { Enable: util.parseJson('<!--#echo jsonvar="cli=HPNA_Enable"-->') },
Services: {
MDNSResponder: { Enable: util.parseJson('<!--#echo jsonvar="cli=Services_MDNSResponder_Enable"-->') },
UpnpTracker: { Enable: util.parseJson('<!--#echo jsonvar="cli=Services_UpnpTracker_Enable"-->') },
TR111: { TR111Enable: util.parseJson('<!--#echo jsonvar="cli=Services_TR111_TR111Enable"-->') },
},
VPNInterface: { 1: { Enable: util.parseJson('<!--#echo jsonvar="cli=VPNInterface_1_Enable"-->') } },
Voice: { Enable: util.parseJson('<!--#echo jsonvar="cli=Voice_Enable"-->') },
Conntrack: {
EnableStatus: util.parseJson('<!--#echo jsonvar="cli=Conntrack_EnableStatus"-->'),
Filter: { Enable: util.parseJson('<!--#echo jsonvar="cli=Conntrack_Filter_Enable"-->') }
},
Accelerator: { EnableStatus: util.parseJson('<!--#echo jsonvar="cli=Accelerator_EnableStatus"-->') },
QueueManagement: { Enable: util.parseJson('<!--#echo jsonvar="cli=QueueManagement_Enable"-->') },
PTMEthernetInterface: { 1: { VLANInterface: {
2: { Enable: util.parseJson('<!--#echo jsonvar="cli=PTMEthernetInterface_1_VLANInterface_2_Enable"-->') },
3: { Enable: util.parseJson('<!--#echo jsonvar="cli=PTMEthernetInterface_1_VLANInterface_3_Enable"-->') },
4: { Enable: util.parseJson('<!--#echo jsonvar="cli=PTMEthernetInterface_1_VLANInterface_4_Enable"-->') },
} } },
};
Page.init(pageData);
});
</script>
<!--#endAuth var=ok-->
</head>
<body>
<div id="header-gateway">
<div class="wrap text-right">
<a href="http://www.gvt.com.br"><img src="../../img/logo-gvt.png" alt="GVT" class="left" border="0"></a>
<img src="../../img/power-box.png" alt="Power Box GVT">
<p class="lang-menu"><script type="text/javascript">ImportLanguage();</script></p>
</div>
<div class="clear"></div>
</div><!--header-gateway-->
<div id="content">
<div class="wrap">
<div id="conteudo-gateway">
<div class="col-192 left">
<script type="text/javascript">ImportMenu('menu_advanced');</script>
</div><!--col-192-->
<!--#isNotAuth level=admin -->
<div id="level_auth" style="display:none;">admin</div>
<!--#include file="auth.htm" -->
<!--#isAuth level=admin -->
<div class="col-722 left" id="col-722">
<h3 class="text-up">Advanced</h3>
<p>Restart may be needed.</p>
<form action="#" class="form-configuracoes">
<table class="setupWifiTable">
<thead>
<tr><th colspan="2">IPv6</th></tr>
</thead>
<tbody>
<tr>
<td width="250">IPv6 Enable:</td>
<td><div class="switchButton" id="Device_IPv6Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Lan DHCPv6:</td>
<td><div class="switchButton" id="LANDevice_1_HostConfig6_DHCPServer_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">Firewall</th></tr>
</thead>
<tbody>
<tr>
<td width="250">Allow Remote Ping:</td>
<td><div class="switchButton" id="WANConnectionDevice_1_Firewall_AllowRemotePing" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Log Dropped:</td>
<td><div class="switchButton" id="Firewall_LogDropped" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Attack Detection WAN 1:</td>
<td>
v4: <div class="switchButton" id="WANConnectionDevice_1_Firewall_AttackDetection" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
&nbsp;
v6: <div class="switchButton" id="WANConnectionDevice_1_Firewall6_AttackDetection" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
</div>
</td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">Services</th></tr>
</thead>
<tbody>
<tr>
<td width="250">HPNA (TV):</td>
<td><div class="switchButton" id="HPNA_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">TR111 (TV):</td>
<td><div class="switchButton" id="Services_TR111_TR111Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">MDNSResponder:</td>
<td><div class="switchButton" id="Services_MDNSResponder_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">UpnpTracker:</td>
<td><div class="switchButton" id="Services_UpnpTracker_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">VPNInterface:</td>
<td><div class="switchButton" id="VPNInterface_1_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Voice:</td>
<td><div class="switchButton" id="Voice_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">PTM VLAN</th></tr>
</thead>
<tbody>
<tr>
<td width="250">VLAN 601:</td>
<td><div class="switchButton" id="PTMEthernetInterface_1_VLANInterface_2_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">VLAN 602 (TV):</td>
<td><div class="switchButton" id="PTMEthernetInterface_1_VLANInterface_3_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">VLAN 4000 (TV):</td>
<td><div class="switchButton" id="PTMEthernetInterface_1_VLANInterface_4_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">Traffic Control</th></tr>
</thead>
<tbody>
<tr>
<td width="250">Conntrack:</td>
<td>
Filter: <div class="switchButton" id="Conntrack_Filter_Enable" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
&nbsp;
Status: <div class="switchButton" id="Conntrack_EnableStatus" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
</td>
</tr>
<tr>
<td width="250">Accelerator:</td>
<td><div class="switchButton" id="Accelerator_EnableStatus" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">QueueManagement:</td>
<td><div class="switchButton" id="QueueManagement_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<tfoot>
<tr><td colspan="2">
<a id="cancel" class="btn-default-orange-small right"><span>Cancel</span></a>
<a id="save" class="btn-default-orange-small right"><span>Save</span></a>
</td></tr>
</tfoot>
</table>
</form>
</div><!--col-722-->
<!--#endAuth var=ok-->
<div class="clear"></div>
</div><!--conteudo-->
<div class="clear"></div>
</div><!--wrap-->
</div><!--content-->
</body>

@ -0,0 +1,228 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- SEO [START] -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>GVT</title>
<!-- SEO [END] -->
<link rel="stylesheet" type="text/css" href="../../css/gateway.css"/>
<script type="text/javascript" src="../js/morpheus.min.js"></script>
<script type="text/javascript" src="../js/menu.js"></script>
<script type="text/javascript" src="../js/dns.js"></script>
<script type="text/javascript" src="../js/lite.javascript"></script>
<script type="text/javascript" src="../js/app.javascript"></script>
<script type="text/javascript" src="../js/base64.javascript"></script>
<script type="text/javascript" src="../js/configAccess.javascript"></script>
<!--#isAuth level=admin -->
<style>
.spinner {
display:inline-block;
width:40px;
height:30px;
text-align:center;
font-size:12px;
}
.spinner .sp1,
.spinner .sp2,
.spinner .sp3 {
background-color:#333;
height:100%;
width:6px;
display:inline-block;
animation: spinnerani 1.0s infinite ease-in-out;
}
.spinner .sp2 {
animation-delay:-0.9s;
}
.spinner .sp3 {
animation-delay:-0.8s;
}
@keyframes spinnerani {
0%, 40%, 100% { transform: scaleY(0.4); }
20% { transform: scaleY(1.0); }
}
</style>
<script type="text/javascript">
gToken = null;
function parseLogs(logsRaw) {
// month day hh:mm:ss domainname level module message
var regExp = /^([a-zA-Z]{3})\s+(\d{1,2})\s+(\d{2}:\d{2}:\d{2})\s+([^\s]+)\s+([^\s]+)\s(fwburn)(\[\d+\])?:\s+(.*)$/;
var logs = [], c = 0;
logsRaw.split('|').reverse().forEach(function(l){
if((c < 10) &&
(m = l.match(regExp)) &&
('DUAL BANK' != m[8]))
{
logs.push(m[1]+' '+m[2]+' '+m[3]+' '+m[6]+' '+m[8]);
++c;
}
});
logs = logs.join('\n');
var e = document.getElementById('logs');
e.innerText = logs;
}
function readLogs() {
if(!gToken) return;
config = ConfigAccess(gToken);
config.fct("logread");
config.commit(function(resp) {
if(!resp.error) {
logsRaw = resp.logread;
parseLogs(logsRaw);
}
},
function(xhr) {
if(xhr && xhr.responseText) {
m = xhr.responseText.match(/^\s*{\s*"logread"\s*:\s*"(.*)"\s*}\s*$/);
if(m && m[1]) parseLogs(m[1]);
}
}
);
}
$.event.ready(function() {
var util = $.util,
pageData = {
token: util.parseJson('<!--#echo jsonvar="token=logread"-->'),
deviceVersion: util.parseJson('<!--#echo jsonvar="cli=Device_FirmwareVersion"-->')
};
$("#deviceVersion").html(pageData.deviceVersion);
gToken = pageData.token;
readLogs();
});
function displayElement(e, d='block')
{
e = document.getElementById(e);
if(!e) return false;
e.style.display = d;
return true;
}
function onFrameLoad()
{
displayElement('divSending', 'none');
displayElement('divForm');
readLogs();
}
function sendFirmware()
{
var sfile = document.getElementById('sFirmwareFile').value;
if((null == sfile) || ('' == sfile)) return false;
var url = '/cgi-bin/firmware.cgi';
var frame = document.getElementById('frameFirmware');
var form = document.getElementById('formFirmware');
displayElement('divForm', 'none');
displayElement('divSending');
frame.onload = onFrameLoad;
form.action = url;
form.submit();
}
</script>
<!--#endAuth var=ok-->
</head>
<body>
<div id="header-gateway">
<div class="wrap text-right">
<a href="http://www.gvt.com.br"><img src="../../img/logo-gvt.png" alt="GVT" class="left" border="0"></a>
<img src="../../img/power-box.png" alt="Power Box GVT">
<p class="lang-menu"><script type="text/javascript">ImportLanguage();</script></p>
</div>
<div class="clear"></div>
</div><!--header-gateway-->
<div id="content">
<div class="wrap">
<div id="conteudo-gateway">
<div class="col-192 left">
<script type="text/javascript">ImportMenu('menu_firmware');</script>
</div><!--col-192-->
<!--#isNotAuth level=admin -->
<div id="level_auth" style="display:none;">admin</div>
<!--#include file="auth.htm" -->
<!--#isAuth level=admin -->
<div class="col-722 left" id="col-722">
<h3 class="text-up">Firmware</h3>
<div id="divForm">
<table class="setupWifiTable">
<thead>
<tr><th colspan="2">Firmware Upgrade</th></tr>
</thead>
<tbody>
<tr>
<td width="200">Current firmware:</td>
<td id="deviceVersion"></td>
</tr>
<tr>
<td>New firmware:</td>
<td>
<form method="post" enctype="multipart/form-data" target="frameFirmware" id="formFirmware">
<input type="file" name="sFirmwareFile" id="sFirmwareFile">
</form>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"><a id="save" class="btn-default-orange-small right" onclick="sendFirmware()"><span>Send</span></a></td>
</tr>
</tfoot>
</table>
<pre id="logs"></pre>
</div>
<div style="display:none" id="divSending">
<table class="setupWifiTable">
<tfoot>
<tr>
<td colspan="2" style="text-align:center">
Sending...
<span class="spinner" style="vertical-align:middle; display:inline-block">
<span class="sp1"></span>
<span class="sp2"></span>
<span class="sp3"></span>
</span>
</td>
</tr>
</tfoot>
</table>
</div>
<iframe name="frameFirmware" id="frameFirmware" width="100%" height="200" src="" style="border:1px solid #666; display:none"></iframe>
</div><!--col-722-->
<!--#endAuth var=ok-->
<div class="clear"></div>
</div><!--conteudo-->
<div class="clear"></div>
</div><!--wrap-->
</div><!--content-->
</body>

@ -42,6 +42,7 @@
ledTvState:util.parseJson('<!--#echo jsonvar="cli=Device_LedButtons_LedButton_*[Name=tv]_State"-->'),
hpna:util.parseJson('<!--#echo jsonvar="cli=HPNA_Enable"-->'),
voiceProfile:util.parseJson('<!--#echo jsonvar="cli=VoiceProfile"-->'),
IP6Prefix:util.parseJson('<!--#echo jsonvar="cli=LANDevice_1_IPv6Status_CurrentPrefix"-->'),
};
if(!pageData.activeWanConnectionDevice.List) {
@ -127,6 +128,9 @@
<tr><td>Default Gateway</td><td id="remoteIP"></td><tr>
<tr><td>Primary DNS</td><td id="primaryDNS"></td><tr>
<tr><td>Secondary DNS</td><td id="secondaryDNS"></td><tr>
<tr><td>IPv6 Prefix:</td><td id="IP6Prefix"></td><tr>
<tr><td>Primary DNSv6:</td><td id="primaryDNS6"></td><tr>
<tr><td>Secondary DNSv6:</td><td id="secondaryDNS6"></td><tr>
</table>
</td>
</tr>

@ -282,7 +282,39 @@ var Page = (function($, App) {
return {
init: function(data) {
var next = $("#next"), prev = $("#prev"), logs = $("#logsRaw"), selModules = $("#logModule"), allMods;
function parseLogsRaw(logsRaw) {
logsRaw = logsRaw.split('|').join('\n');
// create the log analyser and group all logs
logAnalyzer = LogAnalyzer(logsRaw);
allMods = logAnalyzer.getModules();
// create a paginator for pagination with default logs for syslog module
paginator = Paginator(logAnalyzer.getLogs(), 40);
console.log("Found log modules: " + allMods);
// append all the available modules to the module select widget
util.forEach(allMods, function(mod) {
selModules.append("<option value='" + mod + "'>" + mod + "</option>");
});
selModules.val("all");
paginatorWidget = $.DataList("#paginator", {
listClass: "pages",
itemClass: "page-num",
data: paginator.getPageNumList(),
render: function(widget, li, liIdx, arrItem) {
li.html("<span class='trigger'>" + (liIdx + 1) + "</span>");
},
onselectionchange: function() {
var itm = paginatorWidget.getSelectedItem(), pgNo = itm.data("model");
goToPage(pgNo);
}
});
showLogs();
}
logs.val("");
config = ConfigAccess(data.token);
config.fct("logread");
@ -291,39 +323,17 @@ var Page = (function($, App) {
alert(resp.error);
}else {
logsRaw = resp.logread;
logsRaw = logsRaw.split('|').join('\n');
// create the log analyser and group all logs
logAnalyzer = LogAnalyzer(logsRaw);
allMods = logAnalyzer.getModules();
// create a paginator for pagination with default logs for syslog module
paginator = Paginator(logAnalyzer.getLogs(), 40);
console.log("Found log modules: " + allMods);
// append all the available modules to the module select widget
util.forEach(allMods, function(mod) {
selModules.append("<option value='" + mod + "'>" + mod + "</option>");
});
selModules.val("all");
paginatorWidget = $.DataList("#paginator", {
listClass: "pages",
itemClass: "page-num",
data: paginator.getPageNumList(),
render: function(widget, li, liIdx, arrItem) {
li.html("<span class='trigger'>" + (liIdx + 1) + "</span>");
},
onselectionchange: function() {
var itm = paginatorWidget.getSelectedItem(), pgNo = itm.data("model");
goToPage(pgNo);
}
});
showLogs();
parseLogsRaw(logsRaw);
}
});
},
// Alacn, 2018-02-12: parse log that has quotes "
function(xhr) {
if(xhr && xhr.responseText) {
m = xhr.responseText.match(/^\s*{\s*"logread"\s*:\s*"(.*)"\s*}\s*$/);
if(m && m[1]) parseLogsRaw(m[1]);
}
}
);
function goToPage(idx) {
if(paginator.moveToPage(idx)) {
@ -401,4 +411,4 @@ var Page = (function($, App) {
}
}
})(lite, App);
})(lite, App);

@ -58,17 +58,20 @@ var menuArr = [
'<li id="menu_usb"><a href="config_usb.htm"><strong>USB Devices</strong></a></li>',
<!--#endCheck var=ok-->
'<li id="menu_wan_mode"><a href="config_wan_mode.htm"><strong>WAN Mode</strong></a></li>',
'<li id="menu_advanced"><a href="config_advanced.htm"><strong>Advanced</strong></a></li>',
'</ul>',
'</li>',
'<li class="menu" id="menu_management">',
'<a class="menu-header" href="#device_management">Management</a>',
'<ul class="ulmenu">',
'<li id="menu_languages"><a href="languages.htm"><strong>Language</a></li>',
'<li id="menu_languages"><a href="languages.htm"><strong>Language</strong></a></li>',
'<li id="menu_admin_password"><a href="admin_password.htm"><strong>Account Settings</strong></a></li>',
'<li id="menu_resets"><a href="resets.htm"><strong>Resets</strong></a></li>',
'<li id="menu_bbstats"><a href="bb_stats.htm"><strong>Statistics</strong></a></li>',
'<li id="menu_logread"><a href="logread.htm"><strong>System Logs</strong></a></li>',
'<li id="menu_utilities"><a href="net_utils.htm"><strong>Utilities</strong></a></li>',
'<li id="menu_firmware"><a href="firmware.htm"><strong>Firmware</strong></a></li>',
'<li id="menu_changelog"><a href="changelog.htm"><strong>Changelog</strong></a></li>',
'</ul>',
'</li>',
'<li class="menu" id="menu_about"><a class="menu-header" href="about.htm">About Power Box</a></li>',

@ -209,7 +209,10 @@ var Page = (function($, App) {
publicIP=$("#publicIP"),
remoteIP=$("#remoteIP"),
primaryDNS=$("#primaryDNS"),
secondaryDNS=$("#secondaryDNS");
secondaryDNS=$("#secondaryDNS"),
IP6Prefix=$("#IP6Prefix"),
primaryDNS6=$("#primaryDNS6"),
secondaryDNS6=$("#secondaryDNS6");
downStream.html(data.WANDSLLinkStatus.DownBitrates.Actual);
upStream.html(data.WANDSLLinkStatus.UpBitrates.Actual);
@ -221,6 +224,9 @@ var Page = (function($, App) {
remoteIP.html(activeWanDevice.Status.Remote);
primaryDNS.html(activeWanDevice.Status.DNSServers.split(',')[0]);
secondaryDNS.html(activeWanDevice.Status.DNSServers.split(',')[1]);
IP6Prefix.html(data.IP6Prefix);
primaryDNS6.html(activeWanDevice.Status.DNSv6Servers.split(',')[0]);
secondaryDNS6.html(activeWanDevice.Status.DNSv6Servers.split(',')[1]);
switch(netInfo.wan_cnx_type) {
case cnx_type.xDSL:

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- SEO [START] -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>GVT</title>
<!-- SEO [END] -->
<link rel="stylesheet" type="text/css" href="../../css/gateway.css"/>
<script type="text/javascript" src="../js/morpheus.min.js"></script>
<script type="text/javascript" src="../js/menu.js"></script>
<script type="text/javascript" src="../js/dns.js"></script>
<script type="text/javascript" src="../js/lite.javascript"></script>
<script type="text/javascript" src="../js/app.javascript"></script>
<script type="text/javascript" src="../js/configAccess.javascript"></script>
<!--#isAuth level=no_realm -->
<script type="text/javascript">
$.event.ready(function() {
var util = $.util,
pageData = {
deviceVersion: util.parseJson('<!--#echo jsonvar="cli=Device_FirmwareVersion"-->')
};
// Page.init(pageData);
$("#deviceVersion").html(pageData.deviceVersion);
});
</script>
<!--#endAuth var=ok-->
</head>
<body>
<div id="header-gateway">
<div class="wrap text-right">
<a href="http://www.gvt.com.br"><img src="../../img/logo-gvt.png" alt="GVT" class="left" border="0"/></a>
<img src="../../img/power-box.png" alt="Power Box GVT"/>
<p class="lang-menu"><script type="text/javascript">ImportLanguage();</script></p>
</div>
<div class="clear"></div>
</div><!--header-gateway-->
<div id="content">
<div class="wrap">
<div id="conteudo-gateway">
<div class="col-192 left">
<script type="text/javascript">ImportMenu('menu_changelog');</script>
</div><!--col-192-->
<!--#isNotAuth level=no_realm -->
<div id="level_auth" style="display:none;">no_realm</div>
<!--#include file="auth.htm" -->
<!--#isAuth level=no_realm -->
<div class="col-722 left">
<p><b>Firmware:</b> <span id="deviceVersion"></span></p>
<p><b>GitHub:</b> <a target="_blank" href="https://github.com/alacn1/pace_v5471">https://github.com/alacn1/pace_v5471</a></p>
<h3>Changelog</h3>
<h4>Alacn-180217</h4>
<p>* IPv6 funcionando! Corrigido bugs no radvd, dhcp6 e pppd. Alterado firewall para Accept. Adicionado status IPv6.</p>
<p>* P&aacute;gina de Atualiza&ccedil;&atilde;o de Firmware.</p>
<p>* Atualiza&ccedil;&atilde;o de Firmware protegido com a senha do roteador.</p>
<p>* Desativado:
MDNSResponder, TR111, VPNInterface, Voice, UpnpTracker, HPNA, Ippos, Samba, SuperDLNA,
Conntrack, QueueManagement, Accelerator,
Firewall_LogDropped, AttackDetection.
(podem ser reativados nas configura&ccedil;&otilde;es)</p>
<p>* Desativado PTM VLAN: 601, 602, 4000.</p>
<p>* Desativado TR069.</p>
<p>* Corrigido bugs na p&aacute;gina de logs e menus.</p>
<p>* Adicionado p&aacute;gina Avan&ccedil;ado.</p>
<p>* Ativado Ping Remoto. </p>
<p>* Ativado Telnet.</p>
<p>* Ativado configura&ccedil;&otilde;es restritas.</p>
<h4>GVT-103961</h4>
<p>Baseado na firmware GVT-103961.</p>
</div><!--col-722-->
<!--#endAuth var=ok-->
<div class="clear"></div>
</div><!--conteudo-->
<div class="clear"></div>
</div><!--wrap-->
</div><!--content-->
</body>

@ -0,0 +1,352 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- SEO [START] -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>GVT</title>
<!-- SEO [END] -->
<link rel="stylesheet" type="text/css" href="../../css/gateway.css"/>
<script type="text/javascript" src="../js/morpheus.min.js"></script>
<script type="text/javascript" src="../js/menu.js"></script>
<script type="text/javascript" src="../js/dns.js"></script>
<script type="text/javascript" src="../js/lite.javascript"></script>
<script type="text/javascript" src="../js/app.javascript"></script>
<script type="text/javascript" src="../js/base64.javascript"></script>
<script type="text/javascript" src="../js/configAccess.javascript"></script>
<!--#isAuth level=admin -->
<script type="text/javascript">
var Page = (function($, App) {
var data, cli;
var util = $.util;
var updates = {};
var Messages = App.MessageUtil;
function switchFormatter(val, ctx) {
var fld = ctx.field;
if(ctx.operation === "read") {
return fld.attr("state");
}else {
fld.attr("state", val);
if (val == "0" ) {
fld.setStyle({'backgroundPosition': '-34px'});
} else {
fld.setStyle({'backgroundPosition': '0px'});
}
return null;
}
}
function setupBinders() {
configBinder = App.DataBinder({
fields: [
"Device_IPv6Enable",
"LANDevice_1_HostConfig6_DHCPServer_Enable",
"Firewall_LogDropped",
"WANConnectionDevice_1_Firewall_AllowRemotePing",
"WANConnectionDevice_1_Firewall_AttackDetection",
"WANConnectionDevice_1_Firewall6_AttackDetection",
"HPNA_Enable",
"Services_MDNSResponder_Enable",
"Services_UpnpTracker_Enable",
"Services_TR111_TR111Enable",
"VPNInterface_1_Enable",
"Voice_Enable",
"Conntrack_EnableStatus",
"Conntrack_Filter_Enable",
"Accelerator_EnableStatus",
"QueueManagement_Enable",
"PTMEthernetInterface_1_VLANInterface_2_Enable",
"PTMEthernetInterface_1_VLANInterface_3_Enable",
"PTMEthernetInterface_1_VLANInterface_4_Enable",
],
formatters: {
"Device_IPv6Enable": switchFormatter,
"LANDevice_1_HostConfig6_DHCPServer_Enable": switchFormatter,
"Firewall_LogDropped": switchFormatter,
"WANConnectionDevice_1_Firewall_AllowRemotePing": switchFormatter,
"WANConnectionDevice_1_Firewall_AttackDetection": switchFormatter,
"WANConnectionDevice_1_Firewall6_AttackDetection": switchFormatter,
"HPNA_Enable": switchFormatter,
"Services_MDNSResponder_Enable": switchFormatter,
"Services_UpnpTracker_Enable": switchFormatter,
"Services_TR111_TR111Enable": switchFormatter,
"VPNInterface_1_Enable": switchFormatter,
"Voice_Enable": switchFormatter,
"Conntrack_EnableStatus": switchFormatter,
"Conntrack_Filter_Enable": switchFormatter,
"Accelerator_EnableStatus": switchFormatter,
"QueueManagement_Enable": switchFormatter,
"PTMEthernetInterface_1_VLANInterface_2_Enable": switchFormatter,
"PTMEthernetInterface_1_VLANInterface_3_Enable": switchFormatter,
"PTMEthernetInterface_1_VLANInterface_4_Enable": switchFormatter,
},
});
}
function initUI() {
setupBinders();
configBinder.write({
data: data
});
$(".switchButton").bind("click", function() {
var id = $("#"+this.id);
if (id.attr("state") == 0 ) {
morpheus(id.elements[0], { duration:300, backgroundPosition: '0px'});
id.attr("state", 1);
} else {
morpheus(id.elements[0], { duration:300, backgroundPosition: '-34px'});
id.attr("state", 0);
}
configBinder.serialize({
target: updates,
}, this.id);
});
$("#save").bind("click", function() {
Messages.clearAll();
cli.rollback().write(updates).commit(function(res) {
if(res.error) {
Messages.error(res.error);
}else {
updates = {};
Messages.info('Configuração salva com sucesso.');
}
});
});
$("#cancel").bind("click", function() {
Messages.clearAll();
updates = {};
configBinder.write({
data: data
});
});
}
return {
init: function(pageData) {
data = pageData;
cli = ConfigAccess(data.token);
initUI();
}
};
})(lite, App);
$.event.ready(function() {
var util = $.util,
token = util.parseJson('<!--#echo jsonvar="token=Device_IPv6Enable,LANDevice,Firewall,WANConnectionDevice,HPNA,Services,VPNInterface,Voice,Conntrack,Accelerator,QueueManagement,PTMEthernetInterface"-->'),
pageData = {
token: token,
Device: { IPv6Enable: util.parseJson('<!--#echo jsonvar="cli=Device_IPv6Enable"-->') },
LANDevice: { 1: { HostConfig6: { DHCPServer: { Enable: util.parseJson('<!--#echo jsonvar="cli=LANDevice_1_HostConfig6_DHCPServer_Enable"-->') } } } },
Firewall: { LogDropped: util.parseJson('<!--#echo jsonvar="cli=Firewall_LogDropped"-->') },
WANConnectionDevice: {
1: {
Firewall: {
AllowRemotePing: util.parseJson('<!--#echo jsonvar="cli=WANConnectionDevice_1_Firewall_AllowRemotePing"-->'),
AttackDetection: util.parseJson('<!--#echo jsonvar="cli=WANConnectionDevice_1_Firewall_AttackDetection"-->'),
},
Firewall6: {
AttackDetection: util.parseJson('<!--#echo jsonvar="cli=WANConnectionDevice_1_Firewall6_AttackDetection"-->'),
},
},
},
HPNA: { Enable: util.parseJson('<!--#echo jsonvar="cli=HPNA_Enable"-->') },
Services: {
MDNSResponder: { Enable: util.parseJson('<!--#echo jsonvar="cli=Services_MDNSResponder_Enable"-->') },
UpnpTracker: { Enable: util.parseJson('<!--#echo jsonvar="cli=Services_UpnpTracker_Enable"-->') },
TR111: { TR111Enable: util.parseJson('<!--#echo jsonvar="cli=Services_TR111_TR111Enable"-->') },
},
VPNInterface: { 1: { Enable: util.parseJson('<!--#echo jsonvar="cli=VPNInterface_1_Enable"-->') } },
Voice: { Enable: util.parseJson('<!--#echo jsonvar="cli=Voice_Enable"-->') },
Conntrack: {
EnableStatus: util.parseJson('<!--#echo jsonvar="cli=Conntrack_EnableStatus"-->'),
Filter: { Enable: util.parseJson('<!--#echo jsonvar="cli=Conntrack_Filter_Enable"-->') }
},
Accelerator: { EnableStatus: util.parseJson('<!--#echo jsonvar="cli=Accelerator_EnableStatus"-->') },
QueueManagement: { Enable: util.parseJson('<!--#echo jsonvar="cli=QueueManagement_Enable"-->') },
PTMEthernetInterface: { 1: { VLANInterface: {
2: { Enable: util.parseJson('<!--#echo jsonvar="cli=PTMEthernetInterface_1_VLANInterface_2_Enable"-->') },
3: { Enable: util.parseJson('<!--#echo jsonvar="cli=PTMEthernetInterface_1_VLANInterface_3_Enable"-->') },
4: { Enable: util.parseJson('<!--#echo jsonvar="cli=PTMEthernetInterface_1_VLANInterface_4_Enable"-->') },
} } },
};
Page.init(pageData);
});
</script>
<!--#endAuth var=ok-->
</head>
<body>
<div id="header-gateway">
<div class="wrap text-right">
<a href="http://www.gvt.com.br"><img src="../../img/logo-gvt.png" alt="GVT" class="left" border="0"></a>
<img src="../../img/power-box.png" alt="Power Box GVT">
<p class="lang-menu"><script type="text/javascript">ImportLanguage();</script></p>
</div>
<div class="clear"></div>
</div><!--header-gateway-->
<div id="content">
<div class="wrap">
<div id="conteudo-gateway">
<div class="col-192 left">
<script type="text/javascript">ImportMenu('menu_advanced');</script>
</div><!--col-192-->
<!--#isNotAuth level=admin -->
<div id="level_auth" style="display:none;">admin</div>
<!--#include file="auth.htm" -->
<!--#isAuth level=admin -->
<div class="col-722 left" id="col-722">
<h3 class="text-up">Avan&ccedil;ado</h3>
<p>Pode ser necess&aacute;rio reiniciar.</p>
<form action="#" class="form-configuracoes">
<table class="setupWifiTable">
<thead>
<tr><th colspan="2">IPv6</th></tr>
</thead>
<tbody>
<tr>
<td width="250">IPv6 Ativo:</td>
<td><div class="switchButton" id="Device_IPv6Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Lan DHCPv6:</td>
<td><div class="switchButton" id="LANDevice_1_HostConfig6_DHCPServer_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">Firewall</th></tr>
</thead>
<tbody>
<tr>
<td width="250">Permitir Ping Remoto:</td>
<td><div class="switchButton" id="WANConnectionDevice_1_Firewall_AllowRemotePing" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Log Dropped:</td>
<td><div class="switchButton" id="Firewall_LogDropped" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Attack Detection WAN 1:</td>
<td>
v4: <div class="switchButton" id="WANConnectionDevice_1_Firewall_AttackDetection" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
&nbsp;
v6: <div class="switchButton" id="WANConnectionDevice_1_Firewall6_AttackDetection" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
</div>
</td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">Servi&ccedil;os</th></tr>
</thead>
<tbody>
<tr>
<td width="250">HPNA (TV):</td>
<td><div class="switchButton" id="HPNA_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">TR111 (TV):</td>
<td><div class="switchButton" id="Services_TR111_TR111Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">MDNSResponder:</td>
<td><div class="switchButton" id="Services_MDNSResponder_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">UpnpTracker:</td>
<td><div class="switchButton" id="Services_UpnpTracker_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">VPNInterface:</td>
<td><div class="switchButton" id="VPNInterface_1_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">Voice:</td>
<td><div class="switchButton" id="Voice_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">PTM VLAN</th></tr>
</thead>
<tbody>
<tr>
<td width="250">VLAN 601:</td>
<td><div class="switchButton" id="PTMEthernetInterface_1_VLANInterface_2_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">VLAN 602 (TV):</td>
<td><div class="switchButton" id="PTMEthernetInterface_1_VLANInterface_3_Enable" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">VLAN 4000 (TV):</td>
<td><div class="switchButton" id="PTMEthernetInterface_1_VLANInterface_4_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<thead>
<tr><th colspan="2">Controle de tr&aacute;fego</th></tr>
</thead>
<tbody>
<tr>
<td width="250">Conntrack:</td>
<td>
Filter: <div class="switchButton" id="Conntrack_Filter_Enable" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
&nbsp;
Status: <div class="switchButton" id="Conntrack_EnableStatus" type="switch" state="" style="display:inline-block; vertical-align:middle"></div>
</td>
</tr>
<tr>
<td width="250">Accelerator:</td>
<td><div class="switchButton" id="Accelerator_EnableStatus" type="switch" state=""></div></td>
</tr>
<tr>
<td width="250">QueueManagement:</td>
<td><div class="switchButton" id="QueueManagement_Enable" type="switch" state=""></div></td>
</tr>
</tbody>
<tfoot>
<tr><td colspan="2">
<a id="cancel" class="btn-default-orange-small right"><span>Cancelar</span></a>
<a id="save" class="btn-default-orange-small right"><span>Salvar</span></a>
</td></tr>
</tfoot>
</table>
</form>
</div><!--col-722-->
<!--#endAuth var=ok-->
<div class="clear"></div>
</div><!--conteudo-->
<div class="clear"></div>
</div><!--wrap-->
</div><!--content-->
</body>

@ -0,0 +1,228 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- SEO [START] -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>GVT</title>
<!-- SEO [END] -->
<link rel="stylesheet" type="text/css" href="../../css/gateway.css"/>
<script type="text/javascript" src="../js/morpheus.min.js"></script>
<script type="text/javascript" src="../js/menu.js"></script>
<script type="text/javascript" src="../js/dns.js"></script>
<script type="text/javascript" src="../js/lite.javascript"></script>
<script type="text/javascript" src="../js/app.javascript"></script>
<script type="text/javascript" src="../js/base64.javascript"></script>
<script type="text/javascript" src="../js/configAccess.javascript"></script>
<!--#isAuth level=admin -->
<style>
.spinner {
display:inline-block;
width:40px;
height:30px;
text-align:center;
font-size:12px;
}
.spinner .sp1,
.spinner .sp2,
.spinner .sp3 {
background-color:#333;
height:100%;
width:6px;
display:inline-block;
animation: spinnerani 1.0s infinite ease-in-out;
}
.spinner .sp2 {
animation-delay:-0.9s;
}
.spinner .sp3 {
animation-delay:-0.8s;
}
@keyframes spinnerani {
0%, 40%, 100% { transform: scaleY(0.4); }
20% { transform: scaleY(1.0); }
}
</style>
<script type="text/javascript">
gToken = null;
function parseLogs(logsRaw) {
// month day hh:mm:ss domainname level module message
var regExp = /^([a-zA-Z]{3})\s+(\d{1,2})\s+(\d{2}:\d{2}:\d{2})\s+([^\s]+)\s+([^\s]+)\s(fwburn)(\[\d+\])?:\s+(.*)$/;
var logs = [], c = 0;
logsRaw.split('|').reverse().forEach(function(l){
if((c < 10) &&
(m = l.match(regExp)) &&
('DUAL BANK' != m[8]))
{
logs.push(m[1]+' '+m[2]+' '+m[3]+' '+m[6]+' '+m[8]);
++c;
}
});
logs = logs.join('\n');
var e = document.getElementById('logs');
e.innerText = logs;
}
function readLogs() {
if(!gToken) return;
config = ConfigAccess(gToken);
config.fct("logread");
config.commit(function(resp) {
if(!resp.error) {
logsRaw = resp.logread;
parseLogs(logsRaw);
}
},
function(xhr) {
if(xhr && xhr.responseText) {
m = xhr.responseText.match(/^\s*{\s*"logread"\s*:\s*"(.*)"\s*}\s*$/);
if(m && m[1]) parseLogs(m[1]);
}
}
);
}
$.event.ready(function() {
var util = $.util,
pageData = {
token: util.parseJson('<!--#echo jsonvar="token=logread"-->'),
deviceVersion: util.parseJson('<!--#echo jsonvar="cli=Device_FirmwareVersion"-->')
};
$("#deviceVersion").html(pageData.deviceVersion);
gToken = pageData.token;
readLogs();
});
function displayElement(e, d='block')
{
e = document.getElementById(e);
if(!e) return false;
e.style.display = d;
return true;
}
function onFrameLoad()
{
displayElement('divSending', 'none');
displayElement('divForm');
readLogs();
}
function sendFirmware()
{
var sfile = document.getElementById('sFirmwareFile').value;
if((null == sfile) || ('' == sfile)) return false;
var url = '/cgi-bin/firmware.cgi';
var frame = document.getElementById('frameFirmware');
var form = document.getElementById('formFirmware');
displayElement('divForm', 'none');
displayElement('divSending');
frame.onload = onFrameLoad;
form.action = url;
form.submit();
}
</script>
<!--#endAuth var=ok-->
</head>
<body>
<div id="header-gateway">
<div class="wrap text-right">
<a href="http://www.gvt.com.br"><img src="../../img/logo-gvt.png" alt="GVT" class="left" border="0"></a>
<img src="../../img/power-box.png" alt="Power Box GVT">
<p class="lang-menu"><script type="text/javascript">ImportLanguage();</script></p>
</div>
<div class="clear"></div>
</div><!--header-gateway-->
<div id="content">
<div class="wrap">
<div id="conteudo-gateway">
<div class="col-192 left">
<script type="text/javascript">ImportMenu('menu_firmware');</script>
</div><!--col-192-->
<!--#isNotAuth level=admin -->
<div id="level_auth" style="display:none;">admin</div>
<!--#include file="auth.htm" -->
<!--#isAuth level=admin -->
<div class="col-722 left" id="col-722">
<h3 class="text-up">Firmware</h3>
<div id="divForm">
<table class="setupWifiTable">
<thead>
<tr><th colspan="2">Atualização de Firmware</th></tr>
</thead>
<tbody>
<tr>
<td width="200">Firmware atual:</td>
<td id="deviceVersion"></td>
</tr>
<tr>
<td>Nova firmware:</td>
<td>
<form method="post" enctype="multipart/form-data" target="frameFirmware" id="formFirmware">
<input type="file" name="sFirmwareFile" id="sFirmwareFile">
</form>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"><a id="save" class="btn-default-orange-small right" onclick="sendFirmware()"><span>Enviar</span></a></td>
</tr>
</tfoot>
</table>
<pre id="logs"></pre>
</div>
<div style="display:none" id="divSending">
<table class="setupWifiTable">
<tfoot>
<tr>
<td colspan="2" style="text-align:center">
Enviando...
<span class="spinner" style="vertical-align:middle; display:inline-block">
<span class="sp1"></span>
<span class="sp2"></span>
<span class="sp3"></span>
</span>
</td>
</tr>
</tfoot>
</table>
</div>
<iframe name="frameFirmware" id="frameFirmware" width="100%" height="200" src="" style="border:1px solid #666; display:none"></iframe>
</div><!--col-722-->
<!--#endAuth var=ok-->
<div class="clear"></div>
</div><!--conteudo-->
<div class="clear"></div>
</div><!--wrap-->
</div><!--content-->
</body>

@ -42,6 +42,7 @@
ledTvState:util.parseJson('<!--#echo jsonvar="cli=Device_LedButtons_LedButton_*[Name=tv]_State"-->'),
hpna:util.parseJson('<!--#echo jsonvar="cli=HPNA_Enable"-->'),
voiceProfile:util.parseJson('<!--#echo jsonvar="cli=VoiceProfile"-->'),
IP6Prefix:util.parseJson('<!--#echo jsonvar="cli=LANDevice_1_IPv6Status_CurrentPrefix"-->'),
};
if(!pageData.activeWanConnectionDevice.List) {
@ -127,6 +128,9 @@
<tr><td>Gateway Padrão:</td><td id="remoteIP"></td><tr>
<tr><td>DNS primário:</td><td id="primaryDNS"></td><tr>
<tr><td>DNS secundário:</td><td id="secondaryDNS"></td><tr>
<tr><td>Prefixo IPv6:</td><td id="IP6Prefix"></td><tr>
<tr><td>DNSv6 primário:</td><td id="primaryDNS6"></td><tr>
<tr><td>DNSv6 secundário:</td><td id="secondaryDNS6"></td><tr>
</table>
</td>
</tr>

@ -282,7 +282,39 @@ var Page = (function($, App) {
return {
init: function(data) {
var next = $("#next"), prev = $("#prev"), logs = $("#logsRaw"), selModules = $("#logModule"), allMods;
function parseLogsRaw(logsRaw) {
logsRaw = logsRaw.split('|').join('\n');
// create the log analyser and group all logs
logAnalyzer = LogAnalyzer(logsRaw);
allMods = logAnalyzer.getModules();
// create a paginator for pagination with default logs for syslog module
paginator = Paginator(logAnalyzer.getLogs(), 40);
console.log("Found log modules: " + allMods);
// append all the available modules to the module select widget
util.forEach(allMods, function(mod) {
selModules.append("<option value='" + mod + "'>" + mod + "</option>");
});
selModules.val("all");
paginatorWidget = $.DataList("#paginator", {
listClass: "pages",
itemClass: "page-num",
data: paginator.getPageNumList(),
render: function(widget, li, liIdx, arrItem) {
li.html("<span class='trigger'>" + (liIdx + 1) + "</span>");
},
onselectionchange: function() {
var itm = paginatorWidget.getSelectedItem(), pgNo = itm.data("model");
goToPage(pgNo);
}
});
showLogs();
}
logs.val("");
config = ConfigAccess(data.token);
config.fct("logread");
@ -291,39 +323,17 @@ var Page = (function($, App) {
alert(resp.error);
}else {
logsRaw = resp.logread;
logsRaw = logsRaw.split('|').join('\n');
// create the log analyser and group all logs
logAnalyzer = LogAnalyzer(logsRaw);
allMods = logAnalyzer.getModules();
// create a paginator for pagination with default logs for syslog module
paginator = Paginator(logAnalyzer.getLogs(), 40);
console.log("Found log modules: " + allMods);
// append all the available modules to the module select widget
util.forEach(allMods, function(mod) {
selModules.append("<option value='" + mod + "'>" + mod + "</option>");
});
selModules.val("all");
paginatorWidget = $.DataList("#paginator", {
listClass: "pages",
itemClass: "page-num",
data: paginator.getPageNumList(),
render: function(widget, li, liIdx, arrItem) {
li.html("<span class='trigger'>" + (liIdx + 1) + "</span>");
},
onselectionchange: function() {
var itm = paginatorWidget.getSelectedItem(), pgNo = itm.data("model");
goToPage(pgNo);
}
});
showLogs();
parseLogsRaw(logsRaw);
}
});
},
// Alacn, 2018-02-12: parse log that has quotes "
function(xhr) {
if(xhr && xhr.responseText) {
m = xhr.responseText.match(/^\s*{\s*"logread"\s*:\s*"(.*)"\s*}\s*$/);
if(m && m[1]) parseLogsRaw(m[1]);
}
}
);
function goToPage(idx) {
if(paginator.moveToPage(idx)) {
@ -401,4 +411,4 @@ var Page = (function($, App) {
}
}
})(lite, App);
})(lite, App);

@ -58,17 +58,20 @@ var menuArr = [
'<li id="menu_usb"><a href="config_usb.htm"><strong>Dispositivos USB</strong></a></li>',
<!--#endCheck var=ok-->
'<li id="menu_wan_mode"><a href="config_wan_mode.htm"><strong>Modo da WAN</strong></a></li>',
'<li id="menu_advanced"><a href="config_advanced.htm"><strong>Avan&ccedil;ado</strong></a></li>',
'</ul>',
'</li>',
'<li class="menu" id="menu_management">',
'<a class="menu-header" href="#device_management">Gerenciamento</a>',
'<ul class="ulmenu">',
'<li id="menu_languages"><a href="languages.htm"><strong>Idioma</a></li>',
'<li id="menu_languages"><a href="languages.htm"><strong>Idioma</strong></a></li>',
'<li id="menu_admin_password"><a href="admin_password.htm"><strong>Alterar Senha</strong></a></li>',
'<li id="menu_resets"><a href="resets.htm"><strong>Reiniciar</strong></a></li>',
'<li id="menu_bbstats"><a href="bb_stats.htm"><strong>Estatísticas</strong></a></li>',
'<li id="menu_logread"><a href="logread.htm"><strong>Histórico</strong></a></li>',
'<li id="menu_utilities"><a href="net_utils.htm"><strong>Ferramentas</strong></a></li>',
'<li id="menu_firmware"><a href="firmware.htm"><strong>Firmware</strong></a></li>',
'<li id="menu_changelog"><a href="changelog.htm"><strong>Changelog</strong></a></li>',
'</ul>',
'</li>',
'<li class="menu" id="menu_about"><a class="menu-header" href="about.htm">Sobre o Power Box</a></li>',

@ -209,7 +209,10 @@ var Page = (function($, App) {
publicIP=$("#publicIP"),
remoteIP=$("#remoteIP"),
primaryDNS=$("#primaryDNS"),
secondaryDNS=$("#secondaryDNS");
secondaryDNS=$("#secondaryDNS"),
IP6Prefix=$("#IP6Prefix"),
primaryDNS6=$("#primaryDNS6"),
secondaryDNS6=$("#secondaryDNS6");
downStream.html(data.WANDSLLinkStatus.DownBitrates.Actual);
upStream.html(data.WANDSLLinkStatus.UpBitrates.Actual);
@ -221,6 +224,9 @@ var Page = (function($, App) {
remoteIP.html(activeWanDevice.Status.Remote);
primaryDNS.html(activeWanDevice.Status.DNSServers.split(',')[0]);
secondaryDNS.html(activeWanDevice.Status.DNSServers.split(',')[1]);
IP6Prefix.html(data.IP6Prefix);
primaryDNS6.html(activeWanDevice.Status.DNSv6Servers.split(',')[0]);
secondaryDNS6.html(activeWanDevice.Status.DNSv6Servers.split(',')[1]);
switch(netInfo.wan_cnx_type) {
case cnx_type.xDSL:

@ -29,5 +29,8 @@ fi
# reset button long presss (6s) => partial reset
check_wps_button
rm -f /nvram/gvt/accessclass
echo 'factory' | cli -s

@ -2,6 +2,12 @@
configure_dhcpv6()
{
# Alacn, 2018-01-28
# don't enable send ia-na by it self
return
local wanid=${WANID:-0}
local addrtype; eval addrtype=\${'WANConnectionDevice_'$wanid'_WANIP6Connection_AddressingType':-None}

@ -0,0 +1,9 @@
#!/bin/sh
restart_dnsmasq() {
ARG=restart
base_call_initd 'dnsmasq'
}
restart_dnsmasq

@ -91,7 +91,6 @@ EOF
AdvOnLink $link;
AdvPreferredLifetime $pltime;
DeprecatePrefix on;
DecrementLifetimes on;
};
EOF
}
@ -110,6 +109,7 @@ EOF
local servers; eval servers=\${$raconf'_DNS_Servers':-}
local proxy; eval proxy=\${$raconf'_DNS_Proxy':-0}
if [ "$proxy" != '1' ]; then
[ "$servers" != '' ] && servers=`echo "$servers" | tr ',' ' '`
[ "$servers" = '' ] && [ -f $LAND/$LANID/ip6/servers ] && servers=`cat $LAND/$LANID/ip6/servers`
[ "$servers" = '' ] && servers=$lladdr
else

@ -131,4 +131,35 @@ EOF
find /etc/bewan/http.alias.d/ -name "*.alias" -exec \
sed 's/^\([^:]*\):\(.*\)$/alias.url+=("\/\1\" => server.document-root + "\/cgi-bin\/\2")/g' /etc/bewan/http.alias.d > ${LIGHTY_CONF_DIR}/conf.d/alias.conf {} \;
echo "include_shell \"find ${LIGHTY_CONF_DIR}/conf.d -name '*.conf' -exec cat {} \;\"" >> ${LIGHTY_CONF}
# Alacn, 2018-01-28
# require authentication for firmware upload
cat > ${LIGHTY_CONF_DIR}/conf.d/firmware.conf <<EOF
server.modules += ( "mod_auth" )
auth.backend = "plain"
auth.backend.plain.userfile = "/var/bewan/webuser.d/.iad_admin"
auth.require = (
"/firmware.cgi" => (
"method" => "digest",
"realm" => "Auth Required",
"require" => "valid-user"
),
"/cgi-bin/firmware.cgi" => (
"method" => "digest",
"realm" => "Auth Required",
"require" => "valid-user"
),
"/pt_BR/admin/firmware.htm" => (
"method" => "digest",
"realm" => "Auth Required",
"require" => "valid-user"
),
"/en_US/admin/firmware.htm" => (
"method" => "digest",
"realm" => "Auth Required",
"require" => "valid-user"
)
)
EOF
}

@ -16,9 +16,15 @@ local WANID=`cat $INTFD/$IFNAME/wanid`
do_dhcp6_up_down() {
# Alacn, 2018-01-28
base_log "$SCRIPTD/dhcp6-script $IFNAME $REASON dns ${new_domain_name_servers:-} dhcp ${DHCPSRV:-} iana ${new_ianas:-} iapd ${new_iapds:-}" debug
case "$REASON" in
REQUEST)
base_log "$SCRIPTD/dhcp6-script $IFNAME $REASON dns ${new_domain_name_servers:-} dhcp ${DHCPSRV:-}" debug
#base_log "$SCRIPTD/dhcp6-script $IFNAME $REASON dns ${new_domain_name_servers:-} dhcp ${DHCPSRV:-}" debug
# Alacn, 2018-01-28: all empty? skip
[ -z "${new_domain_name_servers:-}" ] && [ -z "${new_ianas:-}" ] && [ -z "${new_iapds:-}" ] && return
# Take wan-up-down mutex
base_enter_critical 'wan-up-down'
@ -70,7 +76,7 @@ do_dhcp6_up_down() {
base_exit_critical 'wan-up-down'
;;
RELEASE)
base_log "$SCRIPTD/dhcp6-script $IFNAME $REASON dns ${new_domain_name_servers:-} dhcp ${DHCPSRV:-}" debug
#base_log "$SCRIPTD/dhcp6-script $IFNAME $REASON dns ${new_domain_name_servers:-} dhcp ${DHCPSRV:-}" debug
if [ -f $WAND/$WANID/ip6/dhcp6-env ]; then
# Take wan-up-down mutex

@ -14,7 +14,7 @@ change_gvt_accessclass() {
> /tmp/gvt_accessclass.cli
local ACCESSCLASS; eval ACCESSCLASS=$(cat /nvram/gvt/accessclass 2>/dev/null)
[ -z "$ACCESSCLASS" ] && ACCESSCLASS='2'
[ -z "$ACCESSCLASS" ] && ACCESSCLASS='4'
case "$ACCESSCLASS" in
'4')

@ -33,3 +33,21 @@ base_call_scripts 'ip-down'
# Release wan-up-down mutex
base_exit_critical 'wan-up-down'
# Alacn, 2017-01-26
# pppd doesn't call ppp-down6 on reconnect
if [ -f /var/run/ppp-$IFNAME.pid ] &&
[ -f $WAND/$WANID/ppp6.pid ]
then
local pid=`cat /var/run/ppp-$IFNAME.pid`
local pid6=`cat $WAND/$WANID/ppp6.pid`
if [ ! -z "$pid" ] && [ "$pid" = "$pid6" ]
then
base_log "$SCRIPTD/ip-down-ppp alacn fix: calling ppp-down6" debug
. $SCRIPTD/ppp-down6
fi
fi

@ -1,73 +1,9 @@
#!/bin/sh
#
# This script is run by pppd after the link is established.
# Environnement variables:
# IFNAME: $1, interface name (pppi)
# DEVICE: $2, device name (see below)
# IPLOCAL: $4, IP address
# IPREMOTE: $5, Remote IP address
# IPPARAM: $6, Any additional params if any
# PPPMTU: $7, Negotiated MTU size
# DEVICE can be:
# /dev/ttyUSBx -> serial interface
# empty -> PPP over VPN
# vpi.vci -> PPP over ATM
IFNAME=${1:-}
DEVICE=${2:-}
IPLOCAL=${4:-}
IPREMOTE=${5:-}
PPPMTU=${7:-}
# Alacn, 2018-01-28
. /etc/bewan/scripts/globals
. /etc/bewan/lib/base
base_log "$SCRIPTD/ip-up-ppp $IFNAME $DEVICE $IPLOCAL-$IPREMOTE $PPPMTU" debug
base_log "$SCRIPTD/ip-up-ppp run in background" debug
/etc/bewan/scripts/ip-up-ppp_ "${1:-}" "${2:-}" "${3:-}" "${4:-}" "${5:-}" "${6:-}" "${7:-}" &
# PPP up on WAN interface
[ ! -f "$INTFD/$IFNAME/wanid" ] && exit 0
WANID=$(cat $INTFD/$IFNAME/wanid)
# Take wan-up-down mutex
base_enter_critical 'wan-up-down'
# Get config parameters after taking lock
base_call_initd 'setparam'
# Build environment variables needed for main ip-up script
IPADDR=$IPLOCAL
SMASK='255.255.255.255'
# Variables set from ip-up-dhcp
ROUTERS=''
DHCPSRV=''
DOMAIN=''
# DNS servers
SERVERS=''
[ -f $WAND/$WANID/ip/fakeip ] && echo $IPADDR > $WAND/$WANID/ip/fakeip
first=0
for item in `cat /etc/ppp/resolv.conf 2>/dev/null`; do
[ "$item" = 'nameserver' ] && continue
SERVERS="$SERVERS $item"
if [ "$first" = "0" ]; then
#optimize the dns request, but not necessary
[ -f $WAND/$WANID/ip/fakednsserver ] && echo $item > $WAND/$WANID/ip/fakednsserver
first=1
fi
done
if [ -d $WAND/$WANID/ip ]; then
[ "$PPPMTU" != '' ] && echo $PPPMTU > $WAND/$WANID/ip/mtu_negotiated
fi
# Continues with main ip-up script
base_call_scripts 'ip-up'
# Release wan-up-down mutex
base_exit_critical 'wan-up-down'

@ -0,0 +1,97 @@
#!/bin/sh
#
# This script is run by pppd after the link is established.
# Environnement variables:
# IFNAME: $1, interface name (pppi)
# DEVICE: $2, device name (see below)
# IPLOCAL: $4, IP address
# IPREMOTE: $5, Remote IP address
# IPPARAM: $6, Any additional params if any
# PPPMTU: $7, Negotiated MTU size
# DEVICE can be:
# /dev/ttyUSBx -> serial interface
# empty -> PPP over VPN
# vpi.vci -> PPP over ATM
IFNAME=${1:-}
DEVICE=${2:-}
IPLOCAL=${4:-}
IPREMOTE=${5:-}
PPPMTU=${7:-}
. /etc/bewan/scripts/globals
. /etc/bewan/lib/base
base_log "$SCRIPTD/ip-up-ppp $IFNAME $DEVICE $IPLOCAL-$IPREMOTE $PPPMTU" debug
# PPP up on WAN interface
[ ! -f "$INTFD/$IFNAME/wanid" ] && exit 0
WANID=$(cat $INTFD/$IFNAME/wanid)
# Take wan-up-down mutex
base_enter_critical 'wan-up-down'
# Get config parameters after taking lock
base_call_initd 'setparam'
# Build environment variables needed for main ip-up script
IPADDR=$IPLOCAL
SMASK='255.255.255.255'
# Variables set from ip-up-dhcp
ROUTERS=''
DHCPSRV=''
DOMAIN=''
# DNS servers
SERVERS=''
[ -f $WAND/$WANID/ip/fakeip ] && echo $IPADDR > $WAND/$WANID/ip/fakeip
first=0
for item in `cat /etc/ppp/resolv.conf 2>/dev/null`; do
[ "$item" = 'nameserver' ] && continue
SERVERS="$SERVERS $item"
if [ "$first" = "0" ]; then
#optimize the dns request, but not necessary
[ -f $WAND/$WANID/ip/fakednsserver ] && echo $item > $WAND/$WANID/ip/fakednsserver
first=1
fi
done
if [ -d $WAND/$WANID/ip ]; then
[ "$PPPMTU" != '' ] && echo $PPPMTU > $WAND/$WANID/ip/mtu_negotiated
fi
# Continues with main ip-up script
base_call_scripts 'ip-up'
# Release wan-up-down mutex
base_exit_critical 'wan-up-down'
# Alacn, 2017-01-26
# pppd doesn't call ppp-up6 on reconnect
if [ -f /var/run/ppp-$IFNAME.pid ] &&
[ -f $WAND/$WANID/ppp4.pid ] &&
[ -f $WAND/$WANID/ppp6.pid ]
then
local pid=`cat /var/run/ppp-$IFNAME.pid`
local pid4=`cat $WAND/$WANID/ppp4.pid`
local pid6=`cat $WAND/$WANID/ppp6.pid`
# did up4 && up6 ?
if [ ! -z "$pid" ] && [ "$pid" = "$pid4" ] && [ "$pid" = "$pid6" ]
then
base_log "$SCRIPTD/ip-up-ppp alacn fix: calling ppp-up6" debug
. $SCRIPTD/ppp-up6_
fi
fi
if [ -f /var/run/ppp-$IFNAME.pid ]; then
cat /var/run/ppp-$IFNAME.pid >$WAND/$WANID/ppp4.pid
fi

@ -1,46 +1,9 @@
#!/bin/sh
#
# This script is run by pppd after the link is established.
# Environnement variables:
# IFNAME: $1, interface name (pppi)
# DEVICE: $2, device name (atmi)
# IPLOCAL: $4, IP address
# IPREMOTE: $5, Remote IP address
# retain only characters after / (/dev/ttyUSB0)
IFNAME=${1:-}
DEVICE=${2:-}
DEVICE=${DEVICE##*/}
IPLOCAL=${4:-}
IPREMOTE=${5:-}
# for ppp over vpn DEVICE is empty
[ "$DEVICE" = '' ] && DEVICE=$IFNAME
# Alacn, 2018-01-28
. /etc/bewan/scripts/globals
. /etc/bewan/lib/base
base_log "$SCRIPTD/ppp-up6 $IFNAME $DEVICE $IPLOCAL-$IPREMOTE" debug
base_log "$SCRIPTD/ppp-up6 run in background" debug
/etc/bewan/scripts/ppp-up6_ "${1:-}" "${2:-}" "${3:-}" "${4:-}" "${5:-}" &
# PPP up on WAN interface
[ -f "$INTFD/$DEVICE/wanid" ] || exit 0
WANID=`cat $INTFD/$DEVICE/wanid`
# Take wan-up-down mutex
base_enter_critical 'wan-up-down'
# Get config parameters after taking lock
base_call_initd 'setparam'
# IPv6CP can't do anything on its own
# We need to call wanip6 to start autoconfd, dhcpv6 etc...
if [ -f $WAND/$WANID/wan_ip6 ]; then
ARG=restart
base_call_initd 'wanip6 inittab'
fi
# Release wan-up-down mutex
base_exit_critical 'wan-up-down'

@ -0,0 +1,54 @@
#!/bin/sh
#
# This script is run by pppd after the link is established.
# Environnement variables:
# IFNAME: $1, interface name (pppi)
# DEVICE: $2, device name (atmi)
# IPLOCAL: $4, IP address
# IPREMOTE: $5, Remote IP address
# retain only characters after / (/dev/ttyUSB0)
IFNAME=${1:-}
DEVICE=${2:-}
DEVICE=${DEVICE##*/}
IPLOCAL=${4:-}
IPREMOTE=${5:-}
# for ppp over vpn DEVICE is empty
[ "$DEVICE" = '' ] && DEVICE=$IFNAME
. /etc/bewan/scripts/globals
. /etc/bewan/lib/base
base_log "$SCRIPTD/ppp-up6 $IFNAME $DEVICE $IPLOCAL-$IPREMOTE" debug
# PPP up on WAN interface
[ -f "$INTFD/$DEVICE/wanid" ] || exit 0
WANID=`cat $INTFD/$DEVICE/wanid`
# Take wan-up-down mutex
base_enter_critical 'wan-up-down'
# Get config parameters after taking lock
base_call_initd 'setparam'
# IPv6CP can't do anything on its own
# We need to call wanip6 to start autoconfd, dhcpv6 etc...
if [ -f $WAND/$WANID/wan_ip6 ]; then
ARG=restart
base_call_initd 'wanip6 inittab'
fi
# Release wan-up-down mutex
base_exit_critical 'wan-up-down'
# Alacn, 2017-01-26
if [ -f /var/run/ppp-$IFNAME.pid ]; then
cat /var/run/ppp-$IFNAME.pid >$WAND/$WANID/ppp6.pid
fi

BIN
squashfs-root/home/diag/bin/ip Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.