
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
Secure, re-connectable channel for bidirectional communication with a remote host.
Secure, re-connectable channel for bidirectional communication with a remote host.
(A tunneling project that hopefully costs less than $14.6 billion.)
Big Dig was originally built as the logic for creating a persistent connection between the Nuclide client and a remote machine in order to support remote editing. To that end, it was designed with a focus on minimizing the requirements to get the server component of Nuclide up and running:
/tmp on the server.openssl available on the $PATH.rg installed
in order for text search to work correctly.hg installed in order
for the Mercurial integration to work correctly.ssh connection to the server in order
to launch it.Although Big Dig could have been implemented in any programming language, we
chose to implement it using Node because the clients and servers that were built
on top of it for Nuclide were also written in Node, so this was the path of
least resistance. Further, this made it simple to install the Nuclide server
via npm. This ensured a simple installation process that would not require root
privileges.
Today, a Big Dig server is just a secure HTTP server. When the server is initialized, it creates a unique SSL certificate, which is sent back to the client that created the server. Once the client has this certificate, it can use ordinary HTTP to communicate with the server. In creating Nuclide, we found HTTP to be a better protocol than SSH when building a remote editor that may often have to retry requests due to network flakiness.
The goal of the Big Dig library is to provide building blocks for:
Today, we provide a WebSocket-like abstraction for a Node client that connects to a Big Dig server. Going forward, we hope to provide a richer set of abstractions to support a more diverse set of use cases, such as multiplexing multiple LSP servers over a single Big Dig connection.
The server initiation/authentication scheme is designed to be robust to user
environments. The current scheme is the result of experimenting with different
setups at Facebook. In practice, we observed that users have all sorts of things
in their ~/.bashrc (or equivalent) that can interfere with writing to stdout
when running a remote command via ssh, which is why we write data to a file
and use SFTP to fetch it rather than write to stdout or stderr.
The authentication between the client and server works as follows:
ssh connection to the server and runs a script to start
the server. (Ultimately, the client will communicate with the server via
HTTPS/WSS.)jsonOutputFile, which specifies the path where the server should write out the credentials (the
private key, cert, and CA overrides) necessary to connect to it. Note that these credentials are
created on-the-fly, and it requires openssl to be on the $PATH of the remote machine.jsonOutputFile to the local machine.The full set of supported properties in the JSON blob is as follows:
cname Value to use with /CN= when generating the server's certificates.expiration Currently, it must be in the form NNNd where NNN is the number
of days for which the credentials should be valid. (This pattern may be expanded
in the future to support ranges other than days.)jsonOutputFile The file on the server at which the credentials will be written.port (Optional, defaults to 0.) The port that should be used to serve HTTP traffic. Must be an integer
that is greater than or equal to zero. If 0, then the server will choose an
ephemeral port. This value will be included in the jsonOutputFile.serverParams (Optional, defaults to null.) A blob of JSON that will be
passed to the server verbatim. This is where custom configuration should be specified.FAQs
Secure, re-connectable channel for bidirectional communication with a remote host.
The npm package big-dig receives a total of 2 weekly downloads. As such, big-dig popularity was classified as not popular.
We found that big-dig demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.