Files
smartsamba/readme.md
T
2026-05-03 10:44:02 +00:00

38 lines
924 B
Markdown

# @push.rocks/smartsamba
A TypeScript Samba/SMB client and server module backed by a bundled Rust SMB engine.
## Install
```sh
pnpm add @push.rocks/smartsamba
```
## Usage
```ts
import { SambaServer, SambaClient } from '@push.rocks/smartsamba';
const server = new SambaServer({
port: 0,
users: [{ username: 'alice', password: 'secret' }],
shares: [{ name: 'files', path: './shared' }],
});
const started = await server.start();
const client = new SambaClient({
host: '127.0.0.1',
port: started.port,
auth: { username: 'alice', password: 'secret' },
});
await client.writeFile('files', 'hello.txt', 'hello samba');
const data = await client.readFileAsString('files', 'hello.txt');
await client.stop();
await server.stop();
```
The TypeScript API uses `@push.rocks/smartrust` to communicate with the bundled `rustsamba` binary built by `@git.zone/tsrust`. It does not wrap system `smbd` or `smbclient`.