{"id":25709618,"url":"https://github.com/manigandand/rbix","last_synced_at":"2025-07-31T14:37:51.028Z","repository":{"id":178135287,"uuid":"661097624","full_name":"manigandand/rbix","owner":"manigandand","description":"Container Isolations- Websocket reverse proxy - Remote Browser Isolations","archived":false,"fork":false,"pushed_at":"2024-09-28T20:21:40.000Z","size":4406,"stargazers_count":11,"open_issues_count":10,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T17:04:37.687Z","etag":null,"topics":["container","container-streamin","cybersecurity","docker","golang","kasm","kasm-web","rbi","remote-browser-isolation","reverse-proxy","vnc","vnc-client","vnc-server","wasm","websocket","x-server","zero-trust","zero-trust-network-access","zero-trust-security"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manigandand.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-01T19:27:08.000Z","updated_at":"2025-04-24T02:56:12.000Z","dependencies_parsed_at":"2025-02-25T09:47:48.126Z","dependency_job_id":null,"html_url":"https://github.com/manigandand/rbix","commit_stats":null,"previous_names":["manigandand/sqrx"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manigandand%2Frbix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manigandand%2Frbix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manigandand%2Frbix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manigandand%2Frbix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manigandand","download_url":"https://codeload.github.com/manigandand/rbix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251748946,"owners_count":21637417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","container-streamin","cybersecurity","docker","golang","kasm","kasm-web","rbi","remote-browser-isolation","reverse-proxy","vnc","vnc-client","vnc-server","wasm","websocket","x-server","zero-trust","zero-trust-network-access","zero-trust-security"],"created_at":"2025-02-25T09:37:27.544Z","updated_at":"2025-04-30T17:04:47.417Z","avatar_url":"https://github.com/manigandand.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RbiX - Remote Browser Isolations\n\nContainer Isolations- Websocket reverse proxy - Remote Browser Isolations\n\n---\n\n## Kubernetes deployment architecture\n\n![rbix-k8s](/asset/rbix-archi-k8s.png)\n\n---\n\n## Docker deployment architecture\n\n![rbix](/asset/rbix-archi-docker.png)\n\n---\n\n\u003e Demo video\n\n![rbix-app](/web/static/img/app.rbix.com.png)\n\n\u003e NOTE: use `password` as password to access the container\n\n![rbix-app](/web/static/img/app.rbix.session.png)\n\n### How to run: via k8s minikube\n\n```bash\n# pre-requisite - install minikube\n# curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64\n# sudo install minikube-linux-amd64 /usr/local/bin/minikube\n\n# minikube start\n\n./run_k8s_minikube.sh\n```\n\n### How to run: via docker containers\n\n```bash\n- Will create a docker network `rbix-network`\n\n./run.sh\n\n```\n\n---\n\n### rbix-api-server\n\n- responsible for managing the containers and provisioning new rbix-rbi containers.\n- expose few endpoints\n\n  - /try endpoint to spin up a new container\n  - /status/{container_id} endpoint to check status of a container (running or not)\n  - /stop/{termination_token} endpoint to stop a container\n\n- Client, calls `POST http://api.rbixlabs.com/v1/try` -\u003e rbix-api-server now spins up a new container and returns the session_id and termination_token, also schedules background job to terminate the container after 10 mins.\n\n```json\n{\n\t\"session\": \"in.malwaresamathi.rbixlabs.com/dfv-4c1c34a5-4f1c-47ae-a812-e414f0fc41c9/ws\",\n\t\"termination_token\": \"728bd120-aeb8-4b88-bcde-941e386d0e39\",\n\t\"created_at\": \"2023-07-02T23:20:28.957607349+05:30\",\n\t\"started_at\": \"2023-07-02T23:20:29.154287117+05:30\",\n\t\"valid_till\": \"2023-07-02T23:30:29.257156717+05:30\"\n}\n```\n\n### rbix-angago\n\n- it's a simple reverseproxy server, which will proxy the websocket connection to the specific container.\n- when client connects to reverseproxy `ws://in.malwaresamathi.rbixlabs.com/dfv-4c1c34a5-4f1c-47ae-a812-e414f0fc41c9/ws`,\n  it makes a downstream connection with the `rbix-rbi` container and upgrade the client connection to websocket.\n- upon successful connection, it will start streaming the message from the container to the client.\n\n### rbix-rbi\n\n- simple websocket server, which will stream the message from the container to the client.\n- just expose the container information to the client.\n- doesn't implemented the remote browser isolation yet.\n\n---\n\n### Remote Browser Isolation\n\n- Pixel pushing/streaming\n- Page scrubbing\n\n### limitations\n\n- max 65536 socket connections per server\n- each socket connection last for min 3 min to max 10 mins\n  - in 1 hour, 6\\*65536 = 3,93,216 connections\n  - in 24 hours, (6*24)*65536 = 94,60,224 connections\n\n```\n# create network for rbix\ndocker network create rbix-network\n```\n\n## rbix-api-server\n\n- /v1/try endpoint to spin up a new container\n- /v1/status endpoint to check status of a container (running or not)\n- /v1/stop endpoint to stop a container\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanigandand%2Frbix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanigandand%2Frbix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanigandand%2Frbix/lists"}