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

Task details{{IF [[task.getUsePreprocessor()]]}} (Preprocessor task){{ENDIF}}{{IF [[task.getIsArchived()]]}} (Archived){{ENDIF}}

{%TEMPLATE->struct/messages%} {%TEMPLATE->tasks/autorefresh%}
{{IF [[task.getUsePreprocessor()]]}} {{ENDIF}} {{IF [[taskWrapper.getHashlistId()]] != null}} {{IF [[accessControl.hasPermission([[$DAccessControl::CRACKER_BINARY_ACCESS]])]]}} {{ENDIF}} {{IF [[task.getKeyspace()]] >= 0}}
Property Value
ID: [[task.getId()]] {{IF [[accessControl.hasPermission([[$DAccessControl::CREATE_TASK_ACCESS]])]]}}
{{ENDIF}}
Name: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
  
{{ELSE}} [[task.getTaskName()]] {{ENDIF}}
Attack command: {{IF [[accessControl.hasPermission([[$DAccessControl::CREATE_TASK_ACCESS]])]]}}
{{ELSE}}
[[htmlentities([[task.getAttackCmd()]], ENT_QUOTES, "UTF-8")]]
{{ENDIF}}
Preprocessor Settings: [[htmlentities([[preprocessor.getName()]], ENT_QUOTES, "UTF-8")]]
[[htmlentities([[task.getPreprocessorCommand()]], ENT_QUOTES, "UTF-8")]]
Task Notes {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
{{ENDIF}}
Chunk size: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
 seconds 
{{ELSE}} [[task.getChunkTime()]] seconds {{ENDIF}}
Number of Chunks: [[numChunks]]
Color: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
#  
{{ELSE}} #[[task.getColor()]] {{ENDIF}}
Benchmark Type: {{IF [[task.getUseNewBench()]] == 0}} Runtime Benchmark {{ELSE}} Speed Test {{ENDIF}}
Status timer: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
  
{{ELSE}} [[task.getStatusTimer()]] seconds {{ENDIF}}
Priority: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
  
{{ELSE}} [[task.getPriority()]] {{ENDIF}}
Is CPU only task: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
  
{{ELSE}} {{IF [[task.getIsCpuTask()]] == 1}} Yes {{ELSE}} No {{ENDIF}} {{ENDIF}}
Is small task: {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
  
{{ELSE}} {{IF [[task.getIsSmall()]] == 1}} Yes {{ELSE}} No {{ENDIF}} {{ENDIF}}
Enforce Piping: {{IF [[task.getForcePipe()]] == 1}} Yes {{ELSE}} No {{ENDIF}}
Skipping keyspace at the beginning: [[task.getSkipKeyspace()]]
Keyspace size: {{IF [[task.getKeyspace()]] > 0}} [[task.getKeyspace()]] {{ELSE}} N/A {{ENDIF}}
Keyspace dispatched: [[task.getKeyspaceProgress()]]{{IF [[task.getKeyspace()]] > 0}} ([[Util::showperc([[task.getKeyspaceProgress()]], [[task.getKeyspace()]])]]%){{ENDIF}} {{IF [[isActive]] == 0 && [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
{{ENDIF}}
Keyspace searched: {{IF [[task.getKeyspace()]] > 0 || ([[task.getUsePreprocessor()]] && [[cProgress]] > 0)}} [[cProgress]]{{IF [[task.getKeyspace()]] > 0}} ([[Util::showperc([[cProgress]], [[task.getKeyspace()]])]]%){{ENDIF}} {{ELSE}} N/A {{ENDIF}}
Time spent: [[Util::sectotime([[timeSpent]])]]
Estimated time: {{IF [[timeLeft]] > 0}} [[Util::sectotime([[timeLeft]])]] {{ELSE}} --- {{ENDIF}}
Speed: [[Util::nicenum([[currentSpeed]], 10000, 1000)]]H/s
{{IF [[hashlist.getFormat()]] == 3}} Superhashlist {{ELSE}} Hashlist {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_HASHLIST_ACCESS]])]]}} {{IF [[hashlist.getFormat()]] == 3}} [[hashlist.getHashlistName()]] ([[hashtype.getDescription()]]) {{ELSE}} [[hashlist.getHashlistName()]] ([[hashtype.getDescription()]]) {{ENDIF}} {{ELSE}} [[hashlist.getHashlistName()]] {{ENDIF}}
Cracker binary [[TaskUtils::getCrackerInfo([[task]])]]
{{ENDIF}} {{ENDIF}}
Visual representation
{{IF [[sizeof([[attachedFiles]])]] > 0}}

Attached files

{{FOREACH file;[[attachedFiles]]}} {{ENDFOREACH}}
ID Filename Size
[[file.getId()]] {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_FILE_ACCESS]])]]}} [[file.getFilename()]] {{ELSE}} [[file.getFilename()]] {{ENDIF}} {{IF [[file.getIsSecret()]] == 1}} {{ENDIF}} [[Util::nicenum([[file.getSize()]])]]B
{{ENDIF}} {{IF [[taskGraph]] > 0}}

Task Speed

{{ENDIF}}

Assigned agents

{{FOREACH agent;[[agents]]}} {{ENDFOREACH}} {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]] || [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}} {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_AGENT_ACCESS]])]]}} {{ELSE}} {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}} {{ELSE}} {{ENDIF}} {{ENDIF}}
ID Name Benchmark Speed Keyspace searched Time spent Cracked Last activity Action
{{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_AGENT_ACCESS]])]]}} [[agent.getId()]] {{ELSE}} [[agent.getId()]] {{ENDIF}} {{IF [[activeAgents.getVal([[agent.getId()]])]] == 1}} {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_AGENT_ACCESS]])]]}} [[agent.getAgentName()]] {{ELSE}} [[agent.getAgentName()]] {{ENDIF}} {{IF [[agent.getIsTrusted()]] == 1}} {{ENDIF}} {{IF [[agent.getIsActive()]] == 0}} {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
 
{{ELSE}} [[agentsBench.getVal([[agent.getId()]])]] {{ENDIF}}
{{IF [[activeAgents.getVal([[agent.getId()]])]] == 1}} [[Util::nicenum([[agentsSpeed.getVal([[agent.getId()]])]], 10000, 1000)]]H/s {{ELSE}} --- {{ENDIF}} {{IF [[task.getKeyspace()]] > 0}} [[agentsProgress.getVal([[agent.getId()]])]] ([[Util::showperc([[agentsProgress.getVal([[agent.getId()]])]], [[task.getKeyspace()]])]]%) {{ELSE}} --- {{ENDIF}} [[Util::sectotime([[agentsSpent.getVal([[agent.getId()]])]])]] {{IF [[agentsCracked.getVal([[agent.getId()]])]] > 0}} [[agentsCracked.getVal([[agent.getId()]])]] {{ELSE}} 0 {{ENDIF}} {{IF [[agent.getLastTime()]] > 0}} [[date([[config.getVal(DConfig::TIME_FORMAT)]], [[agent.getLastTime()]])]] {{ELSE}} --- {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
{{ENDIF}}
  {{IF [[showAllAgents]]}} Hide all Assignments {{ELSE}} Show all Assignments {{ENDIF}}  
{{IF [[showAllAgents]]}}

All assigned Agents (over all task time)

{{FOREACH agent;[[agentObjects]]}} {{ENDFOREACH}}
ID Name Keyspace searched Time spent Cracked Last activity
{{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_AGENT_ACCESS]])]]}} [[agent.getId()]] {{ELSE}} [[agent.getId()]] {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_AGENT_ACCESS]])]]}} [[agent.getAgentName()]] {{ELSE}} [[agent.getAgentName()]] {{ENDIF}} {{IF [[agent.getIsTrusted()]] == 1}} {{ENDIF}} {{IF [[activeAgents.getVal([[agent.getId()]])]] == 1}} {{ENDIF}} {{IF [[task.getKeyspace()]] > 0}} [[agentsProgress.getVal([[agent.getId()]])]] ([[Util::showperc([[agentsProgress.getVal([[agent.getId()]])]], [[task.getKeyspace()]])]]%) {{ENDIF}} [[Util::sectotime([[agentsSpent.getVal([[agent.getId()]])]])]] [[agentsCracked.getVal([[agent.getId()]])]] {{IF [[agent.getLastTime()]] > 0}} [[date([[config.getVal(DConfig::TIME_FORMAT)]], [[agent.getLastTime()]])]] {{ENDIF}}
{{ENDIF}}

Dispatched chunks {{IF [[chunkFilter]] == 0}} (Showing active only - Show latest 100 - Show all) {{ENDIF}} {{IF [[chunkFilter]] == 1}} (Showing latest 100 - Show active only - Show all) {{ENDIF}} {{IF [[chunkFilter]] == 2}} (Showing entries [[Util::calculate(([[page]] * 100) + 1)]] to [[Util::calculate(([[page]] + 1) * 100)]] - Show active only - Show latest 100) {{ENDIF}}

{{IF [[chunkFilter]] == 2}}
{{ENDIF}}
{{FOREACH chunk;[[chunks]]}} {{ENDFOREACH}}
ID Start Length Checkpoint Progress Agent Dispatch time Last activity Time spent State Cracked Action
[[chunk.getId()]] {{IF [[activeChunks.getVal([[chunk.getId()]])]]}} {{ENDIF}} [[chunk.getSkip()]] [[chunk.getLength()]] [[chunk.getCheckpoint()]] {{IF [[chunk.getLength()]] > 0}} ([[Util::showperc([[chunk.getCheckpoint()]] - [[chunk.getSkip()]], [[chunk.getLength()]])]]%) {{ENDIF}} {{IF [[chunk.getProgress()]] == null}} N/A {{ELSE}} [[Util::showperc([[chunk.getProgress()]], 10000)]]% {{ENDIF}} {{IF ![[chunk.getAgentId()]]}} N/A {{ELSE}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_AGENT_ACCESS]])]]}} [[fullAgents.getVal([[chunk.getAgentId()]]).getAgentName()]] {{ELSE}} [[fullAgents.getVal([[chunk.getAgentId()]]).getAgentName()]] {{ENDIF}} {{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()]] {{ELSE}} [[chunk.getCracked()]] {{ENDIF}} {{IF [[activeChunks.getVal([[chunk.getId()]])]] == false && [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
{{ENDIF}} {{IF [[activeChunks.getVal([[chunk.getId()]])]] && [[accessControl.hasPermission([[$DAccessControl::MANAGE_TASK_ACCESS]])]]}}
{{ENDIF}}
{%TEMPLATE->struct/foot%}