udtcat

command
v0.0.0-...-d3c13be Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2021 License: BSD-3-Clause Imports: 8 Imported by: 0

README

udtcat - netcat with go-udtwrapper

Building

First, install the project:

go get github.com/jbenet/go-udtwrapper/udtcat
cd github.com/jbenet/go-udtwrapper/udtcat

But first! You'll need to build + install the C++ UDT dylib:

cd ../udt4

# see the README and compile according to its params
make -e os=XXX arch=YYY

# add to dyld path
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$(pwd)

Then, build udtcat:

cd ../udtcat
go install

Optional:

# add udtcat dir to your path so you can f

Usage

udtcat - UDT netcat in Go

Usage:

  listen: ./udtcat [<local address>] <remote address>
  dial:   ./udtcat -l <local address>

Address format is Go's: [host]:port
  -l=false: listen for connections (short)
  -listen=false: listen for connections
  -v=false: verbose debugging

Example

# in one terminal, listen at :1111
./udtcat -l :1111

# in another, connect to it
./udtcat 127.0.0.1:1111

And stdio <3 means you can move files across:

# in one terminal, listen at :1111
./udtcat -l :1111 <INFILE >OUTFILE

# in another, connect to it
./udtcat 127.0.0.1:1111 <INFILE >OUTFILE

Documentation

Overview

package udtcat provides an implementation of netcat using the go-udtwrapper package. It is meant to exercise the udt implementation. Usage:

ucat [<local address>] <remote address>
ucat -l <local address>

Address format is: [host]:port

Note that UDT's congestion control gives priority to tcp flows (web traffic), so you could use this ucat tool to transfer massive files without hogging all the bandwidth.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL