ATLUS 搭載PC の PowerShell に貼る。1本だけ。窓も1つで済みます。
前は窓を2つ開いたままにしてもらっていましたが、1本にまとめました。 エージェントは裏(最小化した窓)で動かし、手前の窓はトンネルだけにします。 道具はもう置き場に揃っているので、落とし直しもありません。
古いものを止めて、エージェントを裏で起こして、トンネルを開けるところまで。 この窓は開いたまま。
cd "$env:USERPROFILE\atlas"; Get-NetTCPConnection -LocalPort 8765 -State Listen -ErrorAction SilentlyContinue | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }; Start-Sleep 1; Start-Process py -ArgumentList '-3','atlas_agent.py','--token','1ooKksQEgXNAIVE9ZYMnYLG_bXupYiyv','--allow','127.0.0.1','--port','8765','--log','agent.log' -WindowStyle Minimized; Start-Sleep 3; .\cloudflared.exe tunnel --url http://127.0.0.1:8765少し待つと、枠で囲まれた中にこういう行が出ます。
+--------------------------------------------------------+
| https://xxxx-yyyy-zzzz.trycloudflare.com |
+--------------------------------------------------------+その https://…trycloudflare.com を伝えてください。それで繋がります。
エージェントが生きているかを、その場で聞く。
"interactive": true が返れば裏のエージェントは正常。別の窓で流す。
curl.exe -H "X-Token: 1ooKksQEgXNAIVE9ZYMnYLG_bXupYiyv" http://127.0.0.1:8765/health裏のエージェントが起きていなければ、ここに理由が出ています。
Get-Content "$env:USERPROFILE\atlas\agent.log" -Tail 20置き場に道具が無いと言われたら、落とし直す。そのあと 1 をもう一度。
cd "$env:USERPROFILE\atlas"; curl.exe -O https://atlas-bridge-6fd.pages.dev/atlas_agent.py; curl.exe -Lo cloudflared.exe https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.exelocalhost とは書かないこと。::1 に解決されて
TCP connect to ::1:8765 failed と出ます。これは
エージェントが動いていても出るので、生きているかの判定には使えません。
手前の窓を閉じるとトンネルが切れます。作業中は開いたままに。 裏のエージェントは窓を閉じても生き続けるので、次に立て直すときも 1 を流すだけで足ります (1 の先頭で古いほうを落としています)。