← 返回 Skills 市场
nagellack5c

LAN Media Server

作者 nagellack5C · GitHub ↗ · v1.0.0
cross-platform ✓ 安全检测通过
1121
总下载
0
收藏
3
当前安装
1
版本数
在 OpenClaw 中安装
/install lan-media-server
功能描述
Share images, screenshots, and files from the AI workspace to users on the local network via HTTP. Use when the agent needs to show images, browser screenshots, or any files to the user and the current channel doesn't support inline media (e.g., webchat, CLI). Starts a lightweight Node.js static file server on LAN, managed by systemd. Drop files in the shared directory and send the user a clickable URL.
使用说明 (SKILL.md)

LAN Media Server

Lightweight HTTP file server for sharing agent-generated media (screenshots, images, documents) with users on the local network.

Why

Many AI assistant channels (webchat, CLI, SSH) can't display inline images. This skill solves that by serving files over HTTP on your LAN — drop a file, send a link.

Quick Start

bash scripts/setup.sh

This creates the shared directory, installs the server script, creates a systemd user service, and starts it.

Default config:

  • Port: 18801
  • Serve directory: $HOME/projects/shared-media
  • Accessible at: http://\x3CLAN_IP>:18801/\x3Cfilename>

Override with environment variables:

MEDIA_PORT=9090 MEDIA_ROOT=/tmp/media bash scripts/setup.sh

Usage Pattern

When you need to show an image or file to the user:

  1. Save/copy the file to the shared media directory
  2. Send the user a link: http://\x3Cserver-LAN-IP>:\x3Cport>/\x3Cfilename>

Example for browser screenshots:

cp /path/to/screenshot.jpg ~/projects/shared-media/my-screenshot.jpg
# Then send: http://192.168.1.91:18801/my-screenshot.jpg

Use descriptive filenames — the directory is flat and user-visible.

Management

# Check status
systemctl --user status media-server

# Restart
systemctl --user restart media-server

# View logs
journalctl --user -u media-server -f

# Stop and disable
systemctl --user stop media-server
systemctl --user disable media-server

Security Notes

  • Serves files only on LAN (0.0.0.0 but typically behind NAT)
  • No authentication — don't put sensitive files in the shared directory
  • Path traversal is blocked (files must be under MEDIA_ROOT)
  • No directory listing — must know the exact filename
安全使用建议
This skill appears to do what it claims, but take these precautions before installing: - Be careful what you put in the shared directory — there is no authentication. Do not store sensitive files there. - The server binds to 0.0.0.0 by default (all interfaces). If the host has a public-facing interface or is on an untrusted network, restrict access with a firewall or change MEDIA_ROOT/port and network rules. Consider binding to 127.0.0.1 and using an SSH tunnel for remote access if you need secure access. - The systemd user service runs as your user and will restart automatically; enabling lingering (to survive logouts/reboots) requires sudo and increases persistence—only enable it if you understand the implications. - The SERVICE unit takes MEDIA_ROOT as provided; do not set MEDIA_ROOT to a broad path like / or other sensitive system locations. - Inspect the service file ($HOME/.config/systemd/user/media-server.service) and the server script before enabling to confirm the configured MEDIA_ROOT and port. If you accept those trade-offs, the skill is coherent and reasonable for sharing non-sensitive media on a trusted LAN.
功能分析
Type: OpenClaw Skill Name: lan-media-server Version: 1.0.0 The skill bundle is benign. It sets up a local Node.js HTTP server via a systemd user service to share files from a designated directory on the LAN. The `SKILL.md` clearly describes the purpose and usage, with no prompt injection attempts. The `scripts/setup.sh` script correctly configures and starts the service, and the `scripts/server.js` implements robust path traversal prevention, blocks directory listing, and sets appropriate security headers (e.g., CSP, X-Content-Type-Options). There is no evidence of data exfiltration, malicious execution, or unauthorized persistence.
能力评估
Purpose & Capability
Name/description match the included files and instructions. The server and setup script only require Node.js and user-level systemd control, which are appropriate for a LAN file server.
Instruction Scope
SKILL.md instructs the agent to run scripts/setup.sh to create a user systemd service and to drop files into the shared directory. The instructions do not attempt to read unrelated files or exfiltrate data, but they do advise enabling systemd lingering (optional) and will create/enable a user service which gives persistent background execution (expected for this purpose).
Install Mechanism
No remote downloads or package installs are performed by the provided setup script; it only writes a systemd user unit and relies on an existing local Node.js binary. This is a low-risk, local-only install mechanism.
Credentials
No credentials or sensitive environment variables are requested. MEDIA_PORT and MEDIA_ROOT can be overridden by the user (as expected). There are no unexplained secrets or unrelated env requirements.
Persistence & Privilege
The skill installs a systemd user service and enables it so the server restarts automatically; this is appropriate for a persistent file server but does grant ongoing background execution under the user account. It does not request system-wide (root) privileges, though the script suggests enabling lingering (which requires sudo) if the user wants the service to survive reboots/logouts.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install lan-media-server
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /lan-media-server 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
lan-media-server 1.0.0 - Initial release of a lightweight HTTP server to share agent-generated images, screenshots, and files over local network. - Includes setup script for installation and automatic systemd user service management. - Default configuration serves files from `$HOME/projects/shared-media` on port `18801`; customizable via environment variables. - Simple usage instructions: drop files in the shared directory, send a network-accessible link to users. - Focus on ease-of-use for channels that can’t display media inline, with built-in security features (LAN-only, path traversal prevention, no directory listing).
元数据
Slug lan-media-server
版本 1.0.0
许可证
累计安装 4
当前安装数 3
历史版本数 1
常见问题

LAN Media Server 是什么?

Share images, screenshots, and files from the AI workspace to users on the local network via HTTP. Use when the agent needs to show images, browser screenshots, or any files to the user and the current channel doesn't support inline media (e.g., webchat, CLI). Starts a lightweight Node.js static file server on LAN, managed by systemd. Drop files in the shared directory and send the user a clickable URL. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1121 次。

如何安装 LAN Media Server?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install lan-media-server」即可一键安装,无需额外配置。

LAN Media Server 是免费的吗?

是的,LAN Media Server 完全免费(开源免费),可自由下载、安装和使用。

LAN Media Server 支持哪些平台?

LAN Media Server 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 LAN Media Server?

由 nagellack5C(@nagellack5c)开发并维护,当前版本 v1.0.0。

💬 留言讨论