diff --git a/src/handlers/installationHandlers.js b/src/handlers/installationHandlers.js index 6256a95..6616416 100644 --- a/src/handlers/installationHandlers.js +++ b/src/handlers/installationHandlers.js @@ -94,7 +94,9 @@ export async function installCodex(showNavigationMenu) { try { await runCommand('setx PATH "%PATH%;%LOCALAPPDATA%\\Codex"'); spinner.success(); - console.log(showSuccessMessage('Codex has been installed and PATH has been updated automatically!')); + console.log(showSuccessMessage('Codex has been installed and PATH has been updated automatically!\n' + + `You may need to restart your terminal.` + )); } catch (error) { spinner.success(); console.log(showInfoMessage( diff --git a/src/handlers/nodeHandlers.js b/src/handlers/nodeHandlers.js index 295e2a3..5988935 100644 --- a/src/handlers/nodeHandlers.js +++ b/src/handlers/nodeHandlers.js @@ -57,12 +57,6 @@ export async function runCodex(showNavigationMenu) { ]); try { - if (platform === 'win32') { - console.log(showInfoMessage('Setting up firewall rules...')); - await runCommand(`netsh advfirewall firewall add rule name="Allow Codex (TCP-In)" protocol=TCP dir=in localport=${listenPort} action=allow`); - await runCommand(`netsh advfirewall firewall add rule name="Allow Codex (UDP-In)" protocol=UDP dir=in localport=${discPort} action=allow`); - } - let nat; if (platform === 'win32') { const result = await runCommand('for /f "delims=" %a in (\'curl -s --ssl-reqd ip.codex.storage\') do @echo %a'); @@ -71,22 +65,19 @@ export async function runCodex(showNavigationMenu) { nat = await runCommand('curl -s https://ip.codex.storage'); } - const command = platform === 'win32' - ? `codex ^ - --data-dir=datadir ^ - --disc-port=${discPort} ^ - --listen-addrs=/ip4/0.0.0.0/tcp/${listenPort} ^ - --nat=${nat} ^ - --api-cors-origin="*" ^ - --bootstrap-node=spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQ3d6esAYaCwoJBJ_f8zKRAnU6KkYwRAIgM0MvWNJL296kJ9gWvfatfmVvT-A7O2s8Mxp8l9c8EW0CIC-h-H-jBVSgFjg3Eny2u33qF7BDnWFzo7fGfZ7_qc9P` - : `codex \ - --data-dir=datadir \ - --disc-port=${discPort} \ - --listen-addrs=/ip4/0.0.0.0/tcp/${listenPort} \ - --nat=\`curl -s https://ip.codex.storage\` \ - --api-cors-origin="*" \ - --bootstrap-node=spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQ3d6esAYaCwoJBJ_f8zKRAnU6KkYwRAIgM0MvWNJL296kJ9gWvfatfmVvT-A7O2s8Mxp8l9c8EW0CIC-h-H-jBVSgFjg3Eny2u33qF7BDnWFzo7fGfZ7_qc9P`; + const executable = `codex`; + const args = [ + `--data-dir=datadir`, + `--disc-port=${discPort}`, + `--listen-addrs=/ip4/0.0.0.0/tcp/${listenPort}`, + `--nat=${nat}`, + `--api-cors-origin="*"`, + `--bootstrap-node=spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQ3d6esAYaCwoJBJ_f8zKRAnU6KkYwRAIgM0MvWNJL296kJ9gWvfatfmVvT-A7O2s8Mxp8l9c8EW0CIC-h-H-jBVSgFjg3Eny2u33qF7BDnWFzo7fGfZ7_qc9P` + ]; + const command = + `${executable} ${args.join(" ")}` + console.log(showInfoMessage( '🚀 Codex node is running...\n\n' + 'Please keep this terminal open. Start a new terminal to interact with the node.\n\n' + @@ -256,7 +247,7 @@ export async function checkNodeStatus(showNavigationMenu) { if (nodeRunning) { const spinner = createSpinner('Checking node status...').start(); - const response = await runCommand('curl http://localhost:8080/api/codex/v1/debug/info -w \'\\n\''); + const response = await runCommand('curl http://localhost:8080/api/codex/v1/debug/info'); spinner.success(); const data = JSON.parse(response); diff --git a/win.md b/win.md new file mode 100644 index 0000000..48e620a --- /dev/null +++ b/win.md @@ -0,0 +1,17 @@ +# Setting up and running on Win11 + +## Setup +- Download and run Nodejs installer 'node-v22.14.0-x64.msi' from https://nodejs.org/en/download + +## Enable npm for powershell +- Open ps in admin mode +- Run `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned` +- Close admin ps + +## Powershell +- 'node --version' returns 'v22.14.0` +- 'npm --version' returns '10.9.2' + +### In repository root +- 'npm install' successfully installs package +- 'npm start' run the CLI tool