Skip to content
/ caster Public
forked from Node-NTRIP/caster

Node.js NTRIP caster library with full NTRIP V1/V2 support and more.

License

Notifications You must be signed in to change notification settings

d1ken/caster

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NTRIP caster

NTRIP caster library with support for:

  • NTRIP V1/V2
  • HTTP/RTSP/RTP
  • "Push/pull" (NTRIP client/server) connections to other casters
  • Raw TCP/IP server/client
  • Serial port reading/writing
  • File reading/writing
  • Extensible authentication system
  • RTCM/NMEA decoding
  • Sourcetable filtering

Installing

npm install -S @ntrip/caster

Basic Usage

const caster = new Caster({
    authManager: {
        async authenticate(auth: AuthRequest) {
            return {...auth, authenticated: true}
        }
    }
});
caster.addTransport(NtripTransport.new({port: 2101}));

Transports

NTRIP Caster

export interface NtripTransportOptions {
    port: number;
    tls?: tls.SecureContextOptions & tls.TlsOptions;

    protocols?: {
        http?: boolean;
        rtsp?: boolean;
        rtp?: boolean;
    },

    versions?: {
        [NtripVersion.V1]?: boolean;
        [NtripVersion.V2]?: boolean;
    }

    browserFavicon?: () => Buffer;
    browserStreamAccess?: boolean;
}

NtripTransport.new({port: 2101});

NTRIP Server/Client

export interface NtripPushPullTransportOptions {
    mode: 'push' | 'pull';

    remote: {
        host: string;
        port: number;
        family?: string;
    }
    tls?: tls.SecureContextOptions & tls.CommonConnectionOptions;

    protocol: 'http' | 'rtsp' | 'rtp';

    localMountpoint: string;
    remoteMountpoint: string;

    ntripVersion: NtripVersion;

    localStr?: string;
    localGga?: string;

    remoteStr?: string;
    remoteGga?: string;

    credentials?: {
        basic?: {username: string, password: string};
        bearer?: string;
        secret?: string;
    }
}

NtripPushPullTransport.new({
    mode: 'pull',
    
    remote: {
        host: 'euref-ip.net',
        port: 2101
    },

    localMountpoint: 'ACOR00ESP0_MIRROR',
    remoteMountpoint: 'ACOR00ESP0',
    
    ntripVersion: NtripVersion.V2,

    credentials: {
        basic: {
            username: 'test',
            password: 'test'        
        }
    }
});

Testing

npm test

License

GPLv3

Contributions

Contributions via pull requests are welcome. Please ensure that code style matches that of the existing files.

About

Node.js NTRIP caster library with full NTRIP V1/V2 support and more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%