QwkSync

QWKSync.NET

QWKSync.NET is a small, dependency-free .NET library that exists for one reason only:

To safely and predictably move QWK and REP files between a local application and a remote endpoint.

It is a plumbing component, not a framework.

Get Started

Getting Started Guide - Step-by-step introduction to using QWKSync.NET

GitHub Repository - Source code, issues, and contributions

Who This Library Is For

QWKSync.NET serves developers and archivists working with historical BBS data:

What This Library Is

QWKSync.NET operates strictly at the transport and orchestration level.

It:

It does not understand what those files mean.

What This Library Is Not

QWKSync.NET is not:

If a feature requires knowing what is inside a packet, it does not belong here.


Packet Model

QWKSync.NET makes no assumptions about packet counts or relationships.

A sync session may:

There is no assumed pairing between QWK and REP files.

All such meaning belongs to the calling application.


Transports

All file movement happens via transport interfaces.

Never implements HTTP, HTTPS, FTP, SFTP, or similar protocols.


Defaults Matter

By default, QWKSync.NET is intentionally conservative.

Defaults include:

Any deviation must be explicitly configured.


Extensibility

Extensibility exists only at the transport layer.

If you need protocol knowledge, build a transport extension. Transport extensions add transport protocols only. Automation remains application-level.

If you need packet knowledge, use QWK.NET or application code.


Documentation


Design Rule

If you are unsure whether something belongs in QWKSync.NET, ask this:

“Does this require understanding what a packet means?”

If the answer is yes, it does not belong here.


QWKSync.NET is intentionally narrow.

That narrowness is its value.