0.0.4 • Published 6 years ago
tcp-step-over v0.0.4
TCP-STEP-OVER
Make your TCP server that on Intranet visiable to extranet
Install
npm install --save tcp-step-over
Create Server
//import Server class
import { Server } from 'tcp-step-over'
//create a master server
const server = new Server({
listen: 8574, //server will listen on this port, default is 8574
baseClientCount: 10, //This will create some connection from client, default is 20
allowDomains: [], //Domains that will be allowed to visite, default is undefined
refuseDomains: [], //Domains that will not be allowed to visite, default is undefined
//When refuseDomain is set, allowDomain is disabled
})
//add TCP servers to master server
server.addTCPServer(80, err => console.log( err ? err.message : 'success' ))
server.addTCPServer(443, err => console.log( err ? err.message : 'success' ))
// ... and so on
Create Client
//import Client class
import { Client } from 'tcp-step-over'
//create client
let client = new Client({
host: '', //host of your tcp-step-over server
port: 8574, //port of your tcp-step-over server, default is 8574
})
// When open "web1.example.com" on web browser, then 127.0.0.1:80 will be visited
client.addDomain('web1.example.com', 80)
//When open "web2.example.com" on web browser, then 127.0.0.1:3000 will be visited
client.addDomain('web2.example.com', 3000)
// Notice:
// if you add same domain, the old one will be replaced
More
- Server must be run on EXTRANET HOST, or it is meaningless.
- If you want more api, visit source code to get it, it is veeeeeeeerry easy.
CLI
[sudo] tso command [option]
Commands:
server (start|stop) start or stop server
client (start|stop) start or stop client
state list state
Edit "/etc/tso/server.conf.jsonc" or "/etc/tso/client.conf.jsonc" to configure.
In windows, file path is "$HOME\tso\server.conf.jsonc" or "$HOME\tso\client.conf.jsonc".