Skip to main content

API

When creating the browser, set the user_agent field to a mobile preset, such as {"user_agent": "chrome_android"}.

Streaming

To ensure optimal performance of Hyperbeam virtual computers, it is recommended that your users meet the following bandwidth requirements. Even though users who have less bandwidth available can still stream virtual computers, the image quality or framerate may be suboptimal.
| Resolution | Framerate | Bandwidth Required |
| ---------- | --------- | ------------------ |
| 720p       | 24fps     | 5mbps              |
| 720p       | 30fps     | 6.3mbps            |
| 900p       | 24fps     | 7.8mbps            |
| 900p       | 30fps     | 9.8mbps            |
| 1080p      | 24fps     | 11.3mbps           |
| 1080p      | 30fps     | 14.1mbps           |
Enabling sharp mode triples these bandwidth requirements.
When playing back audio on the web, the user must interact with the website (e.g., by clicking, pressing keys, etc.) before playing audio content. Otherwise, the content will be blocked.For more information, see the Autoplay Guide for media and Web Audio APIs. If there has been no page interaction before the Hyperbeam function has been called, a play button will be displayed on the Hyperbeam browser.

Monitoring

Yes, you can detect when a user changes the virtual browser URL by using Hyperbeam’s tab event listener API available in our Web SDK. We do not currently provide a way to directly detect this action server-side.

Proxies

Not at the moment. Hyperbeam uses a variety of server providers which makes it difficult to whitelist Hyperbeam servers based on IP. You can use username/password authentication to ensure traffic originates from Hyperbeam.
{
  "http_proxy": {
    "pac": "function FindProxyForURL(url, host) {return 'PROXY <pac_ip>'}",
    "username": "<username>",
    "password": "<password>"
  }
}
Relevant MDN docs: Proxy Auto-Configuration (PAC) file
Caveats:
  • Only HTTP traffic is sent through the proxy server. WebRTC traffic is excluded. Hence, there is no functional difference between the use of SOCKS, HTTP or HTTPS protocol on the proxy server.
  • Authentication is not supported for SOCKS protocol. This is due to it not being implemented by Chrome.
  • Due to these reasons, we recommend the usage of HTTPS to authenticate and secure communication between Hyperbeam and the proxy server: HTTPS Proxy Scheme.

Troubleshooting

Requests to the Hyperbeam API should not be made from the client as doing so exposes your API key to users which can easily be abused. Instead, API requests should only be made from a backend such as Vercel, Netlify or Cloudflare.
I