46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
# Verification record — `tsclientlib-filetransfer-spike`
|
|
|
|
## Result
|
|
|
|
PASS. The spike successfully downloaded a real file from
|
|
`kr.teamspeak.app` over the TeamSpeak fileserver path.
|
|
|
|
## Environment
|
|
|
|
| Field | Value |
|
|
|---|---|
|
|
| Date | 2026-05-25 |
|
|
| Host OS | Linux (x86_64) |
|
|
| Build profile | dev |
|
|
| Target server | `kr.teamspeak.app` |
|
|
|
|
## Command
|
|
|
|
```bash
|
|
cargo run --offline -- \
|
|
--address kr.teamspeak.app \
|
|
--nickname ChanoraPoC-Downloader
|
|
```
|
|
|
|
## What was observed
|
|
|
|
- `ftgetfilelist` against visible channel IDs did not return typed file rows on
|
|
this server; each scan attempt failed with `ParameterNotFound`.
|
|
- The fallback logic selected `EdisonJwa`'s avatar path:
|
|
- channel id: `0`
|
|
- remote path: `/avatar_ebmjofhfgojajpappiikgponphiippbficbmfemf`
|
|
- `download_file` completed successfully.
|
|
- Reported file size: `129453`
|
|
- Copied bytes: `129453`
|
|
- Saved artifact:
|
|
- `downloads/avatar_ebmjofhfgojajpappiikgponphiippbficbmfemf`
|
|
|
|
## Conclusion
|
|
|
|
The practical TeamSpeak fileserver download path is proven:
|
|
|
|
1. determine a valid TeamSpeak remote path,
|
|
2. request the transfer bootstrap,
|
|
3. open the returned file-transfer TCP stream,
|
|
4. receive raw bytes and persist them locally.
|