Arrow clients
Arrow client is an open-source application that connects devices behind NAT to the Angelcam cloud. It’s built into Angelcam’s own hardware:
- AngelBox — connects local IP cameras to Angelcam
- AngelCamera — an all-in-one camera with Arrow client built in
Anyone can also build their own Arrow client-powered device using the open-source implementation.
Pairing an Arrow client
Section titled “Pairing an Arrow client”- Restart the device — pairing mode is active for the first 20 minutes after start.
- POST to
arrow-clients/— the API returns the Arrow client UUID. - Poll
arrow-clients/{uuid}/until status isonline.
Arrow proxy
Section titled “Arrow proxy”The Arrow proxy lets you communicate directly with services on the local network behind an Arrow client. Two proxy types are available:
-
Transparent HTTP proxy — forwards HTTP requests to a target service. Add two headers to your request:
Host: {SERVICE_ID}-{ARROW_UUID}(UUID as 32-digit hex, no dashes)Proxy-Authorization: Bearer ACCESS_TOKEN(from the Arrow client detail endpoint)
Example — reach a local HTTP service (service ID
1a2b, Arrow UUID5eee0b55-bec3-4b9a-8c83-20fa1d258891, proxy atm1-eu1.angelcam.com:8941):GET /api/v1/ HTTP/1.1Host: 1a2b-5eee0b55bec34b9a8c8320fa1d258891Proxy-Authorization: Bearer aaa.bbb.ccc -
HTTP CONNECT proxy — tunnels an arbitrary TCP connection (e.g. RTSP). Proxy at
m1-eu1.angelcam.com:8940:CONNECT 1a2b-5eee0b55bec34b9a8c8320fa1d258891:0 HTTP/1.1Host: 1a2b-5eee0b55bec34b9a8c8320fa1d258891Proxy-Authorization: Bearer aaa.bbb.cccAfter the proxy responds with HTTP 200 the connection becomes a plain TCP tunnel. The port in the CONNECT address is required by the HTTP spec — use any value (e.g.
0).
Both proxy types support HTTP and HTTPS. HTTPS is recommended regardless of whether the target service supports it.