{%TEMPLATE->struct/head%} {%TEMPLATE->struct/menu%}

Agent details

{%TEMPLATE->struct/messages%}
{{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}} {{ENDIF}}
Property Value
ID [[agent.getId()]]
Owner {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
  
{{ELSE}} [[htmlentities([[Util::getUsernameById([[agent.getUserId()]])]], ENT_QUOTES, "UTF-8")]] {{ENDIF}}
Activity: {{IF [[agent.getUserId()]] == [[login.getUserId()]] || [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
{{ELSE}} {{ENDIF}}
Machine name: {{IF [[agent.getUserId()]] == [[login.getUserId()]] || [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
  
{{ELSE}} [[agent.getAgentName()]] {{ENDIF}}
Operating system: [[Util::getStaticArray([[agent.getOs()]], 'os')]]
Access token: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}} [[agent.getToken()]] {{ELSE}} Hidden {{ENDIF}}
Machine ID: [[agent.getUid()]]
CPU only agent: {{IF [[agent.getUserId()]] == [[login.getUserId()]] || [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
  
{{ELSE}} {{IF [[agent.getCpuOnly()]] == 0}}No{{ELSE}}Yes{{ENDIF}} {{ENDIF}}
Graphic cards: [[str_replace("\n","
",[[agent.getDevices()]])]]
Member of access groups: {{FOREACH accessGroup;[[accessGroups]]}} [[accessGroup.getGroupName()]]
{{ENDFOREACH}}
Extra parameters: {{IF [[agent.getUserId()]] == [[login.getUserId()]] || [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
  
{{ELSE}} [[agent.getCmdPars()]] {{ENDIF}}
Cracker errors:
(Be careful, ignoring errors might lead to endless loops!)
{{IF [[agent.getUserId()]] == [[login.getUserId()]] || [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
{{ELSE}} {{ENDIF}}
Trust: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
Trust agent with secret data
{{ELSE}} Trust agent with secret data {{ENDIF}}
Assignment:
  
Last activity: Action: [[agent.getLastAct()]]
Time: [[date([[config.getVal(DConfig::TIME_FORMAT)]], [[agent.getLastTime()]])]]
IP: {{IF [[config.getVal([[$DConfig::HIDE_IP_INFO]])]] == 0}} [[agent.getLastIp()]] {{ELSE}} Hidden {{ENDIF}}
Time spent cracking: [[Util::sectotime([[timeSpent]])]]
{%TEMPLATE->agents/detail.temperature%} {{IF [[sizeof([[errors]])]] > 0}}

Error messages:

{{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}}
{{ENDIF}}
{{FOREACH error;[[errors]]}} {{ENDFOREACH}}
Time Task Chunk Message
[[date([[config.getVal(DConfig::TIME_FORMAT)]], [[error.getTime()]])]] {{IF [[error.getTaskId()]] == null}} N/A {{ELSE}} [[error.getTaskId()]] {{ENDIF}} {{IF [[error.getChunkId()]] == null}} N/A {{ELSE}} [[error.getChunkId()]] {{ENDIF}} [[error.getError()]]
{{ENDIF}}

Dispatched chunks (latest 50):

{{FOREACH chunk;[[chunks]]}} {{ENDFOREACH}}
ID Start Length Checkpoint Progress Task Dispatch time Last activity Time spent State Cracked
[[chunk.getId()]] [[chunk.getSkip()]] [[chunk.getLength()]] [[chunk.getProgress()]] {{IF [[chunk.getProgress()]] > 0 && [[chunk.getProgress()]] != [[chunk.getLength()]]}}
([[Util::showperc([[chunk.getProgress()]], [[chunk.getLength()]])]]%) {{ENDIF}}
{{IF [[chunk.getProgress()]] == null}} N/A {{ELSE}} [[Util::showperc([[chunk.getProgress()]], 10000)]]% {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_TASK_ACCESS]])]]}} [[chunk.getTaskId()]] {{ELSE}} [[chunk.getTaskId()]] {{ENDIF}} {{IF [[chunk.getDispatchTime()]] == 0}} (no activity) {{ELSE}} [[date([[config.getVal(DConfig::TIME_FORMAT)]], [[chunk.getDispatchTime()]])]] {{ENDIF}} {{IF [[chunk.getSolveTime()]] == 0}} (no activity) {{ELSE}} [[date([[config.getVal(DConfig::TIME_FORMAT)]], [[chunk.getSolveTime()]])]] [[Util::sectotime([[chunk.getSolveTime()]] - [[chunk.getDispatchTime()]])]] {{ENDIF}} [[Util::getStaticArray([[chunk.getState()]], 'states')]] {{IF [[chunk.getCracked()]] > 0 && [[accessControl.hasPermission([[$DAccessControl::VIEW_HASHES_ACCESS]])]]}} [[chunk.getCracked()]] {{ENDIF}} {{IF [[chunk.getCracked()]] > 0 && ![[accessControl.hasPermission([[$DAccessControl::VIEW_HASHES_ACCESS]])]]}} [[chunk.getCracked()]] {{ENDIF}}
{%TEMPLATE->struct/foot%}