Two types of proxies are supported:
- ngrok
- frp
-
Set up your
Ngrok Authtokenas secrets in your repository settings usingNGROK_TOKEN. -
Add the following to your workflow
- uses: shaowenchen/debugger-action@v2
name: debugger
timeout-minutes: 30
continue-on-error: true
with:
ngrok_token: ${{ secrets.NGROK_TOKEN }}- Run your workflow and login the runner
In the log of GitHub Actions, find localhost:8000 and you can see that:
t=2021-01-19T03:57:10+0000 lvl=info msg="started tunnel" obj=tunnels name=command_line addr=//localhost:8000 url=tcp://2.tcp.ngrok.io:16400ssh [email protected] -p 16400Input RootPassword: root
- Debugger the runner
$ ls
factory
key.pem
perflog
runners
warmup
workrunners is the working directory of workflow
Required Authenticate to ngrok agent.
x in [1, 2, 3] , e.g:
- uses: shaowenchen/debugger-action@v2
name: debugger
timeout-minutes: 30
continue-on-error: true
with:
ngrok_token: ${{ secrets.NGROK_TOKEN }}
ngrok_addr_1: 30000
ngrok_proto_1: tcp
ngrok_addr_2: 30001
ngrok_proto_2: tcp
ngrok_addr_3: 30002
ngrok_proto_3: tcpIt will expose these services to Ngrok. The maximum number of tunnels is 3, and http will take up 2 .
- Set up your credentials as secrets in your repository settings using
FRP_SERVER_ADDR,FRP_SERVER_PORT,FRP_TOKEN,SSH_PORT
| Secrets | Frp Server |
|---|---|
FRP_SERVER_ADDR |
You Server IP |
FRP_SERVER_PORT |
Bind port |
FRP_TOKEN |
token |
SSH_PORT is used to login the runner, a custom set , e.g 20090 .
- Add the following to your workflow
- uses: shaowenchen/debugger-action@v2
name: debugger
timeout-minutes: 30
continue-on-error: true
with:
frp_server_addr: ${{ secrets.FRP_SERVER_ADDR }}
frp_server_port: ${{ secrets.FRP_SERVER_PORT }}
frp_token: ${{ secrets.FRP_TOKEN }}
ssh_port: ${{ secrets.SSH_PORT }}- Run your workflow and login the runner
Each runner needs a unique ssh_port value.
ssh root@frp_server_addr -p ssh_port Input RootPassword: root
- Debugger the runner
$ ls
factory
key.pem
perflog
runners
warmup
workrunners is the working directory of workflow
The length of time you want to debug the action.
Required IP address of the remote frps server.
Required Port of the remote frps server.
Required Token of the remote frps server.
Required Port to login the runner