GithubHelp home page GithubHelp logo

babywyrm / node-chisel-tunnel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nknapp/node-chisel-tunnel

0.0 0.0 0.0 800 KB

A downloader in Node.js for the [chisel](https://github.com/jpillora/chisel) project

License: MIT License

Shell 2.79% JavaScript 90.82% TypeScript 0.87% HTML 5.52%

node-chisel-tunnel's Introduction

chisel-tunnel

NPM version Node.js CI PayPal Liberapay

Download releases of jpillora/chisel, a tool to create tcp-tunnels.

Chisel is a software written in Go that starts TCP-tunnels. It is a single binary that can be downloaded and started.

  • As a server, it will listen on a port for incoming connections.
  • As a client, it will connect to a chisel server and open a tunnel, similar to ssh port-forwarding.

The goal of this project is to download a specific version of chisel from the github-releases, matching your current architecture, in order to let you use it.

My specific goal is to use it as a reverse-tunnel to allow connections from a selenium-server to a local build-server in Gitlab-CI or docker-compose.

Such a reverse-tunnel can be achieved by running

chisel server -p 2222 --reverse

in the selenium docker-container. Then you can run

chisel client selenium:2222 R:6006:localhost:6006

to initiate the tunnel. Requests http://localhost:6006 on the selenium machine will then be forwarded to wherever you started your chisel client

Installation

npm install chisel-tunnel

Usage

The following example demonstrates how to use this module:

const chiselTunnel = require("chisel-tunnel");
const cp = require("child_process");

chiselTunnel.downloadChisel("~1.5.0").then(filename => {
  cp.spawnSync(filename, ["--version"], { stdio: "inherit" });
});

This will generate the following output

1.5.2

API reference

downloadChisel(semverRange, [options]) โ‡’ Promise.<string>

Download chisel for a given range of versions

Kind: global function
Returns: Promise.<string> - the downloaded chisel executable

Param Type Description
semverRange string
[options] object
[options.cacheDir] string
[options.maxTempFileAgeMillis] number remove temp-files when they are older than this age in millis.

License

chisel-tunnel is published under the MIT-license.

See LICENSE.md for details.

Release-Notes

For release notes, see CHANGELOG.md

Contributing guidelines

See CONTRIBUTING.md.

node-chisel-tunnel's People

Contributors

nknapp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.