@@ -371,83 +371,83 @@ <h4>Legend</h4>
371371
372372const machines = [
373373 // ---- EASY ----
374- { name : "Lame" , os : "Linux" , difficulty : "Easy" , techniques : [ "SMB/Samba" ] } ,
375- { name : "Legacy" , os : "Windows" , difficulty : "Easy" , techniques : [ "SMB/Samba" ] } ,
376- { name : "Blue" , os : "Windows" , difficulty : "Easy" , techniques : [ "SMB/Samba" ] } ,
377- { name : "Devel" , os : "Windows" , difficulty : "Easy" , techniques : [ "FTP" , "File Upload" , "Web Shell" , "Kernel Exploit" ] } ,
378- { name : "Optimum" , os : "Windows" , difficulty : "Easy" , techniques : [ "Kernel Exploit" ] } ,
379- { name : "Shocker" , os : "Linux" , difficulty : "Easy" , techniques : [ "Command Injection" ] } ,
380- { name : "Nibbles" , os : "Linux" , difficulty : "Easy" , techniques : [ "File Upload" , "Sudo Abuse" ] } ,
381- { name : "Bashed" , os : "Linux" , difficulty : "Easy" , techniques : [ "Web Shell" , "Cron Abuse" ] } ,
382- { name : "Valentine" , os : "Linux" , difficulty : "Easy" , techniques : [ ] } ,
383- { name : "Arctic" , os : "Windows" , difficulty : "Easy" , techniques : [ "ColdFusion" , "JuicyPotato" ] } ,
384- { name : "Grandpa" , os : "Windows" , difficulty : "Easy" , techniques : [ "Token Impersonation" ] } ,
385- { name : "Jerry" , os : "Windows" , difficulty : "Easy" , techniques : [ "Tomcat" , "Default Credentials" ] } ,
386- { name : "Active" , os : "Windows" , difficulty : "Easy" , techniques : [ "Kerberoasting" ] } ,
387- { name : "Forest" , os : "Windows" , difficulty : "Easy" , techniques : [ "AS-REP Roasting" , "DCSync" , "BloodHound" ] } ,
388- { name : "Sauna" , os : "Windows" , difficulty : "Easy" , techniques : [ "AS-REP Roasting" ] } ,
389- { name : "Buff" , os : "Windows" , difficulty : "Easy" , techniques : [ "Buffer Overflow" ] } ,
390- { name : "Love" , os : "Windows" , difficulty : "Easy" , techniques : [ "SSRF" ] } ,
391- { name : "Cap" , os : "Linux" , difficulty : "Easy" , techniques : [ "SUID/Capability" ] } ,
392- { name : "Knife" , os : "Linux" , difficulty : "Easy" , techniques : [ "GTFOBins" ] } ,
393- { name : "Netmon" , os : "Windows" , difficulty : "Easy" , techniques : [ "FTP" , "Default Credentials" ] } ,
394- { name : "Irked" , os : "Linux" , difficulty : "Easy" , techniques : [ ] } ,
395- { name : "Beep" , os : "Linux" , difficulty : "Easy" , techniques : [ "LFI/RFI" , "Command Injection" ] } ,
396- { name : "Blocky" , os : "Linux" , difficulty : "Easy" , techniques : [ "Sudo Abuse" ] } ,
397- { name : "Mirai" , os : "Linux" , difficulty : "Easy" , techniques : [ "Default Credentials" ] } ,
398- { name : "Sense" , os : "Linux" , difficulty : "Easy" , techniques : [ ] } ,
399- { name : "Traverxec" , os : "Linux" , difficulty : "Easy" , techniques : [ ] } ,
400- { name : "Postman" , os : "Linux" , difficulty : "Easy" , techniques : [ "Redis" ] } ,
401- { name : "OpenAdmin" , os : "Linux" , difficulty : "Easy" , techniques : [ "GTFOBins" ] } ,
402- { name : "Traceback" , os : "Linux" , difficulty : "Easy" , techniques : [ "Web Shell" ] } ,
374+ { name : "Lame" , os : "Linux" , difficulty : "Easy" , techniques : [ "SMB/Samba" ] , writeup : "https://0xdf.gitlab.io/2020/04/07/htb-lame.html" } ,
375+ { name : "Legacy" , os : "Windows" , difficulty : "Easy" , techniques : [ "SMB/Samba" ] , writeup : "https://0xdf.gitlab.io/2019/02/21/htb-legacy.html" } ,
376+ { name : "Blue" , os : "Windows" , difficulty : "Easy" , techniques : [ "SMB/Samba" ] , writeup : "https://0xdf.gitlab.io/2021/05/11/htb-blue.html" } ,
377+ { name : "Devel" , os : "Windows" , difficulty : "Easy" , techniques : [ "FTP" , "File Upload" , "Web Shell" , "Kernel Exploit" ] , writeup : "https://0xdf.gitlab.io/2019/03/05/htb-devel.html" } ,
378+ { name : "Optimum" , os : "Windows" , difficulty : "Easy" , techniques : [ "Kernel Exploit" ] , writeup : "https://0xdf.gitlab.io/2021/03/17/htb-optimum.html" } ,
379+ { name : "Shocker" , os : "Linux" , difficulty : "Easy" , techniques : [ "Command Injection" ] , writeup : "https://0xdf.gitlab.io/2021/05/25/htb-shocker.html" } ,
380+ { name : "Nibbles" , os : "Linux" , difficulty : "Easy" , techniques : [ "File Upload" , "Sudo Abuse" ] , writeup : "https://0xdf.gitlab.io/2018/06/30/htb-nibbles.html" } ,
381+ { name : "Bashed" , os : "Linux" , difficulty : "Easy" , techniques : [ "Web Shell" , "Cron Abuse" ] , writeup : "https://0xdf.gitlab.io/2018/04/29/htb-bashed.html" } ,
382+ { name : "Valentine" , os : "Linux" , difficulty : "Easy" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2018/07/28/htb-valentine.html" } ,
383+ { name : "Arctic" , os : "Windows" , difficulty : "Easy" , techniques : [ "ColdFusion" , "JuicyPotato" ] , writeup : "https://0xdf.gitlab.io/2020/05/19/htb-arctic.html" } ,
384+ { name : "Grandpa" , os : "Windows" , difficulty : "Easy" , techniques : [ "Token Impersonation" ] , writeup : "https://0xdf.gitlab.io/2020/05/28/htb-grandpa.html" } ,
385+ { name : "Jerry" , os : "Windows" , difficulty : "Easy" , techniques : [ "Tomcat" , "Default Credentials" ] , writeup : "https://0xdf.gitlab.io/2018/11/17/htb-jerry.html" } ,
386+ { name : "Active" , os : "Windows" , difficulty : "Easy" , techniques : [ "Kerberoasting" ] , writeup : "https://0xdf.gitlab.io/2018/12/08/htb-active.html" } ,
387+ { name : "Forest" , os : "Windows" , difficulty : "Easy" , techniques : [ "AS-REP Roasting" , "DCSync" , "BloodHound" ] , writeup : "https://0xdf.gitlab.io/2020/03/21/htb-forest.html" } ,
388+ { name : "Sauna" , os : "Windows" , difficulty : "Easy" , techniques : [ "AS-REP Roasting" ] , writeup : "https://0xdf.gitlab.io/2020/07/18/htb-sauna.html" } ,
389+ { name : "Buff" , os : "Windows" , difficulty : "Easy" , techniques : [ "Buffer Overflow" ] , writeup : "https://0xdf.gitlab.io/2020/11/21/htb-buff.html" } ,
390+ { name : "Love" , os : "Windows" , difficulty : "Easy" , techniques : [ "SSRF" ] , writeup : "https://0xdf.gitlab.io/2021/08/07/htb-love.html" } ,
391+ { name : "Cap" , os : "Linux" , difficulty : "Easy" , techniques : [ "SUID/Capability" ] , writeup : "https://0xdf.gitlab.io/2021/10/02/htb-cap.html" } ,
392+ { name : "Knife" , os : "Linux" , difficulty : "Easy" , techniques : [ "GTFOBins" ] , writeup : "https://0xdf.gitlab.io/2021/08/28/htb-knife.html" } ,
393+ { name : "Netmon" , os : "Windows" , difficulty : "Easy" , techniques : [ "FTP" , "Default Credentials" ] , writeup : "https://0xdf.gitlab.io/2019/06/29/htb-netmon.html" } ,
394+ { name : "Irked" , os : "Linux" , difficulty : "Easy" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2019/04/27/htb-irked.html" } ,
395+ { name : "Beep" , os : "Linux" , difficulty : "Easy" , techniques : [ "LFI/RFI" , "Command Injection" ] , writeup : "https://0xdf.gitlab.io/2021/02/23/htb-beep.html" } ,
396+ { name : "Blocky" , os : "Linux" , difficulty : "Easy" , techniques : [ "Sudo Abuse" ] , writeup : "https://0xdf.gitlab.io/2020/06/30/htb-blocky.html" } ,
397+ { name : "Mirai" , os : "Linux" , difficulty : "Easy" , techniques : [ "Default Credentials" ] , writeup : "https://0xdf.gitlab.io/2021/05/18/htb-mirai.html" } ,
398+ { name : "Sense" , os : "Linux" , difficulty : "Easy" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2021/03/11/htb-sense.html" } ,
399+ { name : "Traverxec" , os : "Linux" , difficulty : "Easy" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2020/04/18/htb-traverxec.html" } ,
400+ { name : "Postman" , os : "Linux" , difficulty : "Easy" , techniques : [ "Redis" ] , writeup : "https://0xdf.gitlab.io/2020/03/14/htb-postman.html" } ,
401+ { name : "OpenAdmin" , os : "Linux" , difficulty : "Easy" , techniques : [ "GTFOBins" ] , writeup : "https://0xdf.gitlab.io/2020/05/02/htb-openadmin.html" } ,
402+ { name : "Traceback" , os : "Linux" , difficulty : "Easy" , techniques : [ "Web Shell" ] , writeup : "https://0xdf.gitlab.io/2020/08/15/htb-traceback.html" } ,
403403
404404 // ---- MEDIUM ----
405- { name : "Cronos" , os : "Linux" , difficulty : "Medium" , techniques : [ "DNS Exploitation" , "SQL Injection" , "Cron Abuse" ] } ,
406- { name : "SolidState" , os : "Linux" , difficulty : "Medium" , techniques : [ "Cron Abuse" ] } ,
407- { name : "Poison" , os : "Linux" , difficulty : "Medium" , techniques : [ "LFI/RFI" , "Port Forwarding" ] } ,
408- { name : "Bastard" , os : "Windows" , difficulty : "Medium" , techniques : [ "Drupal" , "JuicyPotato" ] } ,
409- { name : "Bounty" , os : "Windows" , difficulty : "Medium" , techniques : [ "File Upload" , "JuicyPotato" ] } ,
410- { name : "Jeeves" , os : "Windows" , difficulty : "Medium" , techniques : [ "Jenkins" ] } ,
411- { name : "Conceal" , os : "Windows" , difficulty : "Medium" , techniques : [ "SNMP" , "JuicyPotato" ] } ,
412- { name : "DevOops" , os : "Linux" , difficulty : "Medium" , techniques : [ "XXE" ] } ,
413- { name : "Monteverde" , os : "Windows" , difficulty : "Medium" , techniques : [ "Password Spraying" ] } ,
414- { name : "Resolute" , os : "Windows" , difficulty : "Medium" , techniques : [ "DNS Exploitation" ] } ,
415- { name : "Cascade" , os : "Windows" , difficulty : "Medium" , techniques : [ "LDAP" ] } ,
416- { name : "Intelligence" , os : "Windows" , difficulty : "Medium" , techniques : [ "DNS Exploitation" , "Constrained Delegation" ] } ,
417- { name : "StreamIO" , os : "Windows" , difficulty : "Medium" , techniques : [ "SQL Injection" , "LDAP" ] } ,
418- { name : "Escape" , os : "Windows" , difficulty : "Medium" , techniques : [ "ADCS" ] } ,
419- { name : "Sniper" , os : "Windows" , difficulty : "Medium" , techniques : [ "LFI/RFI" ] } ,
420- { name : "Worker" , os : "Windows" , difficulty : "Medium" , techniques : [ ] } ,
421- { name : "Atom" , os : "Windows" , difficulty : "Medium" , techniques : [ ] } ,
422- { name : "Pit" , os : "Linux" , difficulty : "Medium" , techniques : [ "SNMP" ] } ,
423- { name : "Pikaboo" , os : "Linux" , difficulty : "Medium" , techniques : [ "LDAP" ] } ,
424- { name : "Pandora" , os : "Linux" , difficulty : "Medium" , techniques : [ "SNMP" , "SQL Injection" ] } ,
425- { name : "Late" , os : "Linux" , difficulty : "Medium" , techniques : [ "SSTI" ] } ,
426- { name : "Awkward" , os : "Linux" , difficulty : "Medium" , techniques : [ "SSRF" ] } ,
405+ { name : "Cronos" , os : "Linux" , difficulty : "Medium" , techniques : [ "DNS Exploitation" , "SQL Injection" , "Cron Abuse" ] , writeup : "https://0xdf.gitlab.io/2020/04/14/htb-cronos.html" } ,
406+ { name : "SolidState" , os : "Linux" , difficulty : "Medium" , techniques : [ "Cron Abuse" ] , writeup : "https://0xdf.gitlab.io/2020/04/30/htb-solidstate.html" } ,
407+ { name : "Poison" , os : "Linux" , difficulty : "Medium" , techniques : [ "LFI/RFI" , "Port Forwarding" ] , writeup : "https://0xdf.gitlab.io/2018/09/08/htb-poison.html" } ,
408+ { name : "Bastard" , os : "Windows" , difficulty : "Medium" , techniques : [ "Drupal" , "JuicyPotato" ] , writeup : "https://0xdf.gitlab.io/2019/03/12/htb-bastard.html" } ,
409+ { name : "Bounty" , os : "Windows" , difficulty : "Medium" , techniques : [ "File Upload" , "JuicyPotato" ] , writeup : "https://0xdf.gitlab.io/2018/10/27/htb-bounty.html" } ,
410+ { name : "Jeeves" , os : "Windows" , difficulty : "Medium" , techniques : [ "Jenkins" ] , writeup : "https://0xdf.gitlab.io/2022/04/14/htb-jeeves.html" } ,
411+ { name : "Conceal" , os : "Windows" , difficulty : "Medium" , techniques : [ "SNMP" , "JuicyPotato" ] , writeup : "https://0xdf.gitlab.io/2019/05/18/htb-conceal.html" } ,
412+ { name : "DevOops" , os : "Linux" , difficulty : "Medium" , techniques : [ "XXE" ] , writeup : "https://0xdf.gitlab.io/2018/10/13/htb-devoops.html" } ,
413+ { name : "Monteverde" , os : "Windows" , difficulty : "Medium" , techniques : [ "Password Spraying" ] , writeup : "https://0xdf.gitlab.io/2020/06/13/htb-monteverde.html" } ,
414+ { name : "Resolute" , os : "Windows" , difficulty : "Medium" , techniques : [ "DNS Exploitation" ] , writeup : "https://0xdf.gitlab.io/2020/05/30/htb-resolute.html" } ,
415+ { name : "Cascade" , os : "Windows" , difficulty : "Medium" , techniques : [ "LDAP" ] , writeup : "https://0xdf.gitlab.io/2020/07/25/htb-cascade.html" } ,
416+ { name : "Intelligence" , os : "Windows" , difficulty : "Medium" , techniques : [ "DNS Exploitation" , "Constrained Delegation" ] , writeup : "https://0xdf.gitlab.io/2021/11/27/htb-intelligence.html" } ,
417+ { name : "StreamIO" , os : "Windows" , difficulty : "Medium" , techniques : [ "SQL Injection" , "LDAP" ] , writeup : "https://0xdf.gitlab.io/2022/09/17/htb-streamio.html" } ,
418+ { name : "Escape" , os : "Windows" , difficulty : "Medium" , techniques : [ "ADCS" ] , writeup : "https://0xdf.gitlab.io/2023/06/17/htb-escape.html" } ,
419+ { name : "Sniper" , os : "Windows" , difficulty : "Medium" , techniques : [ "LFI/RFI" ] , writeup : "https://0xdf.gitlab.io/2020/03/28/htb-sniper.html" } ,
420+ { name : "Worker" , os : "Windows" , difficulty : "Medium" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2021/01/30/htb-worker.html" } ,
421+ { name : "Atom" , os : "Windows" , difficulty : "Medium" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2021/07/10/htb-atom.html" } ,
422+ { name : "Pit" , os : "Linux" , difficulty : "Medium" , techniques : [ "SNMP" ] , writeup : "https://0xdf.gitlab.io/2021/09/25/htb-pit.html" } ,
423+ { name : "Pikaboo" , os : "Linux" , difficulty : "Medium" , techniques : [ "LDAP" ] , writeup : "https://0xdf.gitlab.io/2021/12/04/htb-pikaboo.html" } ,
424+ { name : "Pandora" , os : "Linux" , difficulty : "Medium" , techniques : [ "SNMP" , "SQL Injection" ] , writeup : "https://0xdf.gitlab.io/2022/05/21/htb-pandora.html" } ,
425+ { name : "Late" , os : "Linux" , difficulty : "Medium" , techniques : [ "SSTI" ] , writeup : "https://0xdf.gitlab.io/2022/08/13/htb-late.html" } ,
426+ { name : "Awkward" , os : "Linux" , difficulty : "Medium" , techniques : [ "SSRF" ] , writeup : "https://0xdf.gitlab.io/2023/02/11/htb-awkward.html" } ,
427427
428428 // ---- HARD ----
429- { name : "Reel" , os : "Windows" , difficulty : "Hard" , techniques : [ "Phishing" ] } ,
430- { name : "Mantis" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" ] } ,
431- { name : "Sizzle" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" , "Kerberoasting" ] } ,
432- { name : "Multimaster" , os : "Windows" , difficulty : "Hard" , techniques : [ "SQL Injection" , "BloodHound" ] } ,
433- { name : "APT" , os : "Windows" , difficulty : "Hard" , techniques : [ ] } ,
434- { name : "Blackfield" , os : "Windows" , difficulty : "Hard" , techniques : [ "AS-REP Roasting" ] } ,
435- { name : "Object" , os : "Windows" , difficulty : "Hard" , techniques : [ "BloodHound" ] } ,
436- { name : "Cerberus" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" ] } ,
437- { name : "Rebound" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" , "RBCD" ] } ,
438- { name : "Hathor" , os : "Windows" , difficulty : "Hard" , techniques : [ ] } ,
439- { name : "Anubis" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" ] } ,
440- { name : "Search" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" ] } ,
441- { name : "Absolute" , os : "Windows" , difficulty : "Hard" , techniques : [ "LDAP" , "BloodHound" ] } ,
442- { name : "Vintage" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" ] } ,
443- { name : "Certificate" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" ] } ,
429+ { name : "Reel" , os : "Windows" , difficulty : "Hard" , techniques : [ "Phishing" ] , writeup : "https://0xdf.gitlab.io/2018/11/10/htb-reel.html" } ,
430+ { name : "Mantis" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" ] , writeup : "https://0xdf.gitlab.io/2020/09/03/htb-mantis.html" } ,
431+ { name : "Sizzle" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" , "Kerberoasting" ] , writeup : "https://0xdf.gitlab.io/2019/06/01/htb-sizzle.html" } ,
432+ { name : "Multimaster" , os : "Windows" , difficulty : "Hard" , techniques : [ "SQL Injection" , "BloodHound" ] , writeup : "https://0xdf.gitlab.io/2020/09/19/htb-multimaster.html" } ,
433+ { name : "APT" , os : "Windows" , difficulty : "Hard" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2021/04/10/htb-apt.html" } ,
434+ { name : "Blackfield" , os : "Windows" , difficulty : "Hard" , techniques : [ "AS-REP Roasting" ] , writeup : "https://0xdf.gitlab.io/2020/10/03/htb-blackfield.html" } ,
435+ { name : "Object" , os : "Windows" , difficulty : "Hard" , techniques : [ "BloodHound" ] , writeup : "https://0xdf.gitlab.io/2022/02/28/htb-object.html" } ,
436+ { name : "Cerberus" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" ] , writeup : "https://0xdf.gitlab.io/2023/07/29/htb-cerberus.html" } ,
437+ { name : "Rebound" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" , "RBCD" ] , writeup : "https://0xdf.gitlab.io/2024/03/30/htb-rebound.html" } ,
438+ { name : "Hathor" , os : "Windows" , difficulty : "Hard" , techniques : [ ] , writeup : "https://0xdf.gitlab.io/2022/07/30/htb-hathor.html" } ,
439+ { name : "Anubis" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" ] , writeup : "https://0xdf.gitlab.io/2022/02/12/htb-anubis.html" } ,
440+ { name : "Search" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" ] , writeup : "https://0xdf.gitlab.io/2022/04/30/htb-search.html" } ,
441+ { name : "Absolute" , os : "Windows" , difficulty : "Hard" , techniques : [ "LDAP" , "BloodHound" ] , writeup : "https://0xdf.gitlab.io/2023/05/27/htb-absolute.html" } ,
442+ { name : "Vintage" , os : "Windows" , difficulty : "Hard" , techniques : [ "Kerberoasting" ] , writeup : "https://0xdf.gitlab.io/2025/04/26/htb-vintage.html" } ,
443+ { name : "Certificate" , os : "Windows" , difficulty : "Hard" , techniques : [ "ADCS" ] , writeup : "https://0xdf.gitlab.io/2025/10/04/htb-certificate.html" } ,
444444
445445 // ---- INSANE ----
446- { name : "Sink" , os : "Linux" , difficulty : "Insane" , techniques : [ "SSRF" ] } ,
447- { name : "Response" , os : "Linux" , difficulty : "Insane" , techniques : [ "SSRF" ] } ,
448- { name : "Sekhmet" , os : "Windows" , difficulty : "Insane" , techniques : [ "ADCS" ] } ,
449- { name : "Fulcrum" , os : "Linux" , difficulty : "Insane" , techniques : [ "XXE" , "Pivoting" ] } ,
450- { name : "Stacked" , os : "Linux" , difficulty : "Insane" , techniques : [ "XSS" ] }
446+ { name : "Sink" , os : "Linux" , difficulty : "Insane" , techniques : [ "SSRF" ] , writeup : "https://0xdf.gitlab.io/2021/09/18/htb-sink.html" } ,
447+ { name : "Response" , os : "Linux" , difficulty : "Insane" , techniques : [ "SSRF" ] , writeup : "https://0xdf.gitlab.io/2023/04/08/htb-response.html" } ,
448+ { name : "Sekhmet" , os : "Windows" , difficulty : "Insane" , techniques : [ "ADCS" ] , writeup : "https://0xdf.gitlab.io/2023/03/25/htb-sekhmet.html" } ,
449+ { name : "Fulcrum" , os : "Linux" , difficulty : "Insane" , techniques : [ "XXE" , "Pivoting" ] , writeup : "https://0xdf.gitlab.io/2022/01/22/htb-fulcrum.html" } ,
450+ { name : "Stacked" , os : "Linux" , difficulty : "Insane" , techniques : [ "XSS" ] , writeup : "https://0xdf.gitlab.io/2022/02/19/htb-stacked.html" }
451451] ;
452452
453453const techniqueList = [
@@ -497,7 +497,7 @@ <h4>Legend</h4>
497497 id, name : m . name , type : "machine" , os : m . os ,
498498 difficulty : m . difficulty , techniques : m . techniques ,
499499 color : DIFFICULTY_COLORS [ m . difficulty ] ,
500- url : baseUrl + "/machines/" + m . difficulty . toLowerCase ( ) + "/" + m . name + "/" ,
500+ url : m . writeup || ( baseUrl + "/machines/" + m . difficulty . toLowerCase ( ) + "/" + m . name + "/" ) ,
501501 radius : 10
502502 } ;
503503 nodes . push ( node ) ;
@@ -770,7 +770,7 @@ <h4>Legend</h4>
770770// Click: open writeup
771771nodeElements . on ( "click" , function ( event , d ) {
772772 if ( d . type === "machine" && d . url ) {
773- window . open ( d . url , "_self " ) ;
773+ window . open ( d . url , "_blank " ) ;
774774 }
775775} ) ;
776776
0 commit comments