icoa-cli 2.19.276 → 2.19.277

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{join as o}from"node:path";import{homedir as e}from"node:os";import chalk from"chalk";import{CTFdClient as i}from"../lib/ctfd-client.js";import{getConfig as t,isConnected as l}from"../lib/config.js";import{logCommand as n}from"../lib/logger.js";import{printError as a,createSpinner as s}from"../lib/ui.js";export function registerFilesCommand(c){c.command("files <id>").description("Download challenge files").action(async c=>{n(`files ${c}`);const r=t();if(!l())return void a("Not connected. Run: join <url>");const f=new i(r.ctfdUrl,r.token),d=o(e(),"icoa-challenges",c),g=s("Fetching challenge files...");g.start();try{const o=await f.getChallengeFiles(parseInt(c,10));if(!o||0===o.length)return void g.info("No files attached to this challenge.");g.text=`Downloading ${o.length} file(s)...`;const e=[];for(const i of o)try{const o=await f.downloadFile(i,d);e.push(o)}catch(o){g.warn(`Failed to download: ${i}`)}g.succeed(`Downloaded ${e.length} file(s)`),console.log(chalk.gray(` Location: ${d}`));for(const o of e)console.log(chalk.gray(` → ${o.split("/").pop()}`));console.log(chalk.gray(` Open an image/audio file with: ${chalk.white(`view ${c} <file>`)}`)),console.log()}catch(o){g.fail("Failed to download files"),a(o.message)}})}
1
+ import{join as o}from"node:path";import{homedir as e}from"node:os";import chalk from"chalk";import{CTFdClient as i}from"../lib/ctfd-client.js";import{getConfig as n,isConnected as t}from"../lib/config.js";import{logCommand as l}from"../lib/logger.js";import{printError as s,createSpinner as a}from"../lib/ui.js";export function registerFilesCommand(c){c.command("files <id>").description("Download challenge files").action(async c=>{l(`files ${c}`);const r=n();if(!t())return void s("Not connected. Run: join <url>");const f=r.sessionCookie||"",d=r.token&&!r.token.includes("session=")?r.token:"",g=new i(r.ctfdUrl,d,f||r.token),m=o(e(),"icoa-challenges",c),h=a("Fetching challenge files...");h.start();try{const o=await g.getChallengeFiles(parseInt(c,10));if(!o||0===o.length)return void h.info("No files attached to this challenge.");h.text=`Downloading ${o.length} file(s)...`;const e=[];for(const i of o)try{const o=await g.downloadFile(i,m);e.push(o)}catch(o){h.warn(`Failed to download: ${i}`)}h.succeed(`Downloaded ${e.length} file(s)`),console.log(chalk.gray(` Location: ${m}`));for(const o of e)console.log(chalk.gray(` → ${o.split("/").pop()}`));console.log(chalk.gray(` Open an image/audio file with: ${chalk.white(`view ${c} <file>`)}`)),console.log()}catch(o){h.fail("Failed to download files"),s(o.message)}})}
@@ -1 +1 @@
1
- function a0b(a,b){a=a-(0x218e+0x1338+-0x33fd*0x1);const c=a0a();let d=c[a];if(a0b['IoYWCw']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x262*0x8+-0x274+0x1584,o,p,q=0x1e5d+0x171a+-0x3577;p=i['charAt'](q++);~p&&(o=n%(0x763*-0x4+-0x11*-0x154+0x6fc)?o*(0x2e*0x25+0x1*0x2692+-0x1*0x2cf8)+p:p,n++%(0x1*0x1697+-0x1*0x2525+-0xe92*-0x1))?l+=String['fromCharCode'](0x1540+-0x40*-0x4c+0x2741*-0x1&o>>(-(0x3*0xc11+-0x70*0x2c+-0x10f1)*n&0x1f7+-0x2ef*0xb+0x1e54)):-0x2b*0x5+-0x1*-0x25e1+-0x250a){p=j['indexOf'](p);}for(let r=-0x1*-0x15b5+-0xea*-0x13+-0x595*0x7,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0xdd4+0x9*-0x35b+0x106f))['slice'](-(-0x90b+-0x8de+0x11eb));}return decodeURIComponent(m);};a0b['fLusKC']=e,a0b['NBZtlT']={},a0b['IoYWCw']=!![];}const f=c[0x3f5+-0x3*-0x24d+-0xa*0x116],g=a+f,h=a0b['NBZtlT'][g];return!h?(d=a0b['fLusKC'](d),a0b['NBZtlT'][g]=d):d=h,d;}(function(a,b){const v=a0b,c=a();while(!![]){try{const d=-parseInt(v(0xe2))/(0xe1f*0x2+-0x1*-0x2a7+-0x1ee4)*(-parseInt(v(0xce))/(-0xdca+0x1*0x1db1+-0xfe5))+-parseInt(v(0xd1))/(0x1fa9+-0x5*0x74+-0x1d62)*(-parseInt(v(0xd2))/(-0x189*0x1+0x2*-0x1b1+-0x1*-0x4ef))+parseInt(v(0xd0))/(0xb3*0x7+0x1*-0x13fe+0xf1e)*(-parseInt(v(0xcb))/(0x10cb*0x2+-0x59d*-0x1+-0x272d))+-parseInt(v(0xcc))/(0x10d*-0x5+0x11f1+-0xca9)*(-parseInt(v(0xe8))/(-0x1146+-0x5d*-0x33+-0x139))+parseInt(v(0xe6))/(-0x4*-0x92+-0x4d0+0x291)*(-parseInt(v(0xd3))/(0xf*0x1df+-0x860+-0x13a7))+-parseInt(v(0xd9))/(-0x247f+-0x24a9*0x1+0x4933*0x1)*(-parseInt(v(0xe1))/(0x221f+0x17e2+0x39f5*-0x1))+-parseInt(v(0xdf))/(0x1*0x128b+-0x1*0x1bed+0x96f);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a0a,-0x104fd*0x7+0xebb0a+0x1a183));function a0a(){const x=['BgfUzW','C3vJy2vZCW','ue9tva','C3rHDhvZ','mZe0ndy4n2LItNn6Aq','CxvLC3rPB24','mteWneP3uwTktq','mZrczw5sAMi','AgLUDcbYzxf1zxn0igzHAwXLzcaO','Dg9Rzw4','AgLUDcbbueKGDw5YzwfJAgfIBgu','ndvQBe1yzfC','BwvZC2fNzq','nda5ntjWs1brrha','zxHHBuLK','yxbWBgLJyxrPB24VANnVBG','nM1Xq0vXtW','mtK2D1bYDuPl','DgLTzw91Da','mJaZmdH6wKXSvxm','l2HPBNq','ndu5ndbmsMX0DwW','mtKXn2rptef6tW','ntuYngLoBePMyq','mJm0nJe0mgDlueDNyW','DgLTzw91De1Z','Bgv2zwW','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','C3rYAw5NAwz5','y3rMzfvYBa','nZG2mZLoEMfrCMO','BgfUz3vHz2u'];a0a=function(){return x;};return a0a();}import{getConfig as a0c}from'./config.js';export async function requestHint(d){const w=a0b,f=a0c(),g=f[w(0xd8)]||w(0xd6),h=d[w(0xdb)]||f[w(0xda)]||'en',j=d[w(0xd4)]??0x28ce+-0x2f31+0xcd*0x2f,k=[g+'/api/icoa/exams/'+d[w(0xc9)]+w(0xcf),g+':9090/api/icoa/exams/'+d[w(0xc9)]+'/hint'];let l=null;for(const p of k)try{const q=await fetch(p,{'method':w(0xdd),'headers':{'Content-Type':w(0xca),'User-Agent':'icoa-cli'},'body':JSON[w(0xd7)]({'token':d[w(0xe4)],'question':d[w(0xe0)],'level':d[w(0xd5)],'lang':h}),'signal':AbortSignal[w(0xcd)](j)}),r=await q['json']()['catch'](()=>({}));if(!q['ok']||!(-0x5f3+-0x1ee3+0x24d7*0x1)===r[w(0xdc)]){if(l={'status':q[w(0xde)],'message':r?.[w(0xe7)]||w(0xe3)+q[w(0xde)]+')'},q[w(0xde)]>=0x2053+0x224f+0x4112*-0x1&&q['status']<0x2*0x6e1+-0x1*-0x13f8+-0x1fc6*0x1)throw l;continue;}return r['data'];}catch(u){if(u&&'object'==typeof u&&w(0xde)in u)throw u;l={'status':0x0,'message':u?.[w(0xe7)]||'network\x20error'};}const m={};m[w(0xde)]=0x0,m['message']=w(0xe5);throw l||m;}
1
+ (function(a,b){const v=a0b,c=a();while(!![]){try{const d=-parseInt(v(0x1cc))/(0x2034+-0x189b+0x51*-0x18)*(parseInt(v(0x1cb))/(-0xc11+0xfe0+-0x7*0x8b))+-parseInt(v(0x1c0))/(-0x5dd*0x5+-0x1ea0+-0x2*-0x1dfa)*(-parseInt(v(0x1d2))/(0x573*0x1+0x1*-0x19b1+0x1442))+-parseInt(v(0x1c5))/(-0xf6+0x1*-0x2276+0x2b*0xd3)+parseInt(v(0x1dc))/(-0x5*0x28f+0x19*0x135+0x115c*-0x1)+parseInt(v(0x1d3))/(-0x2012+-0x18d7*-0x1+0x742)+-parseInt(v(0x1d8))/(0x14f*0xa+0x52d+-0xd*0x167)+parseInt(v(0x1d6))/(0x4d7+0x1bc5*0x1+-0x10d*0x1f)*(parseInt(v(0x1df))/(-0x1*-0x98f+-0x1abe+-0x1*-0x1139));if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a0a,-0x9d4*0x2ed+0x1*-0x19aaa7+0x458ba5*0x1));import{getConfig as a0c}from'./config.js';function a0a(){const x=['AwnVys1JBgK','zgf0yq','nZy4mda4ng9VrvbOAW','y3rMzfvYBa','AgLUDcbbueKGDw5YzwfJAgfIBgu','mtq2mZa1mtbHsKDYCLG','y2f0y2G','mtGYotK3D2DNEejA','BgfUzW','BwvZC2fNzq','C3vJy2vZCW','B2jQzwn0','nti0otyWBfLVzK5e','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','DgLTzw91Da','DgLTzw91De1Z','oJKWotaVyxbPl2LJB2eVzxHHBxmV','ue9tva','otKYnerqvMf3qW','mtG2qLPMC1LM','l2HPBNq','yxbWBgLJyxrPB24VANnVBG','AgLUDcbYzxf1zxn0igzHAwXLzcaO','BMv0D29YAYbLCNjVCG','C3rHDhvZ','mJHjsfHNrvK','nJG3nZa4wKnNCxPN','CxvLC3rPB24','l2fWAs9Py29Hl2v4yw1ZlW','ow5OrxDHvG','BgfUz3vHz2u','otK5mZCYofjXCfrcEq','zxHHBuLK'];a0a=function(){return x;};return a0a();}function a0b(a,b){a=a-(0xb*0x34c+0xeb4+0x3139*-0x1);const c=a0a();let d=c[a];if(a0b['HLLAXd']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x47*0x35+-0x23a+0x1f*-0x67,o,p,q=-0x195*0x5+0x2*0x377+0xfb;p=i['charAt'](q++);~p&&(o=n%(-0x725+0x1*0x71f+0xa)?o*(0x83*-0x21+0xbdb+0x548*0x1)+p:p,n++%(-0x2*-0x1326+0x1*-0x1230+-0x1418))?l+=String['fromCharCode'](-0x472*-0x5+-0xeda+-0x661&o>>(-(0x1*-0x7d7+0x1699*-0x1+0x1e72)*n&-0xafd+0x1de*0x14+-0x1a55*0x1)):-0x52c+0x468+0xc4){p=j['indexOf'](p);}for(let r=0x3*-0x17b+0x104*0x2+0x269,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x775+-0xa*-0x3b9+-0x2c9f))['slice'](-(0x143d+0x4dd+0x92*-0x2c));}return decodeURIComponent(m);};a0b['qqMUty']=e,a0b['aojpzd']={},a0b['HLLAXd']=!![];}const f=c[0x3*-0x945+-0x16eb+0x32ba],g=a+f,h=a0b['aojpzd'][g];return!h?(d=a0b['qqMUty'](d),a0b['aojpzd'][g]=d):d=h,d;}export async function requestHint(d){const w=a0b,f=a0c(),g=f[w(0x1dd)]||w(0x1c6),h=d[w(0x1c1)]||f[w(0x1d7)]||'en',j=d[w(0x1c8)]??-0x30*0x13+0x3*0x59+0x21c5,k=[g+w(0x1d5)+d[w(0x1d9)]+w(0x1cd),g+w(0x1c9)+d[w(0x1d9)]+w(0x1cd)];let l=null;for(const p of k)try{const q=await fetch(p,{'method':w(0x1ca),'headers':{'Content-Type':w(0x1ce),'User-Agent':w(0x1da)},'body':JSON['stringify']({'token':d['token'],'question':d[w(0x1d4)],'level':d['level'],'lang':h}),'signal':AbortSignal[w(0x1c7)](j)}),r=await q['json']()[w(0x1bf)](()=>({}));if(!q['ok']||!(0x6ee+0x4*0x43f+-0x17e9)===r[w(0x1c3)]){if(l={'status':q['status'],'message':r?.[w(0x1c2)]||w(0x1cf)+q[w(0x1d1)]+')'},q[w(0x1d1)]>=-0x725+0x1*0x71f+0x196&&q[w(0x1d1)]<0x83*-0x21+0xbdb+0x6fc*0x1)throw l;continue;}return r[w(0x1db)];}catch(u){if(u&&w(0x1c4)==typeof u&&w(0x1d1)in u)throw u;l={'status':0x0,'message':u?.[w(0x1c2)]||w(0x1d0)};}const m={};m[w(0x1d1)]=0x0,m[w(0x1c2)]=w(0x1de);throw l||m;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icoa-cli",
3
- "version": "2.19.276",
3
+ "version": "2.19.277",
4
4
  "description": "ICOA CLI — The world's first CLI-native cyber & AI security olympiad terminal: AI4CTF (Day 1), CTF4AI (Day 2), VLA4CTF (Pioneer Round — embodied AI)",
5
5
  "type": "module",
6
6
  "bin": {