jpillora / jpillora/chisel

Chisel in the Browser

Open
#330 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
16.6k
Forks
1.6k
PR merge metrics
No merged PRs in 30d

Description

Idea from https://twitter.com/bradfitz/status/1451423386777751561

  • Build a WASM version of chisel
  • Instantiate the chisel.Client in the browser (chisel works over binary web sockets, the client will work natively in a browser)
  • Build chisel client UI
    • Enter server
    • Enter auth / fingerprint
    • Open X remotes
    • Take any of Y actions on these remotes
  • Actions must operate on top of TCP (binary streams)
  • Action ideas:
    • Web client on http remotes (browse and render, intercept requests, make outbound requests with net/http as the HTTP client)
    • SSH client on ssh remotes (crypto/ssh SSH client, xterm to render terminal, similar to gotty)
    • VNC client using noVNC (this library already has a binary interface)
    • And more
  • Statically hosted (pure JS, no server required to run the client)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the chisel.Client and its binary WebSocket behavior, then determine how a WASM build can instantiate it in a browser. The scope includes a statically hosted client UI for server and authentication input, remote selection, and TCP-based actions such as HTTP, SSH, or VNC. Done would require a working pure-JavaScript browser client with at least a defined set of supported actions.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, javascript, wasm
Domain
frontend, networking, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.