# 01-trans-server（程序目录）

本目录只放文件共享服务程序。  
**共享内容请放上级目录** `/home/book/00-safe-file`。

## 布局

```text
/home/book/00-safe-file/          # 共享目录（给其他设备下载的文件）
├── README-SHARE.txt
├── 你的文件...
└── 01-trans-server/              # 程序
    ├── file_server.py
    ├── lan-file-share.service
    ├── lan-file-share-18801.service
    └── start-file-share*.sh
```

## 访问

| 端口 | 共享根 | URL |
|------|--------|-----|
| 18001 | `/home/book/00-tran` | http://192.168.3.124:18001/ |
| 18801 | `/home/book/00-safe-file` | http://192.168.3.124:18801/ |

### 浏览器浏览

- 打开 `/` 看一级列表
- **点文件夹名**进入子目录（如 `/02-download/`）
- 点文件名直接下载
- 文件夹旁的「下载 ZIP」打包整夹
- JSON：`/?format=json` 或 `/path/to/dir/?format=json`

### wget / 脚本

```bash
# 列表
curl 'http://192.168.3.124:18801/?format=json'
curl 'http://192.168.3.124:18801/02-download/?format=json'

# 文件
wget 'http://192.168.3.124:18801/02-download/1.txt'

# 目录 ZIP（路径不带尾斜杠，或显式 .zip）
wget 'http://192.168.3.124:18801/02-download.zip'
```

## systemd

```bash
sudo cp /home/book/00-safe-file/01-trans-server/lan-file-share-18801.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now lan-file-share-18801
```

## 管理

```bash
systemctl status lan-file-share lan-file-share-18801
sudo systemctl restart lan-file-share lan-file-share-18801
journalctl -u lan-file-share -u lan-file-share-18801 -f
```

## 测试

```bash
cd /home/book/00-safe-file/01-trans-server
python3 -m unittest -v test_file_server.py
```
