Back to Registry View Author Profile
Official Verified
ephemeral-media-hosting
自動削除機能付き一時メディアホスティングシステム
skill-install — Terminal
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/byron-mckeeby/ephemeral-media-hostingOr
一時メディア・ホスティング
チャット共有向けの自動削除機能付きメディアディレクトリシステム。7日間の自動保持、MIME検証、fetch-image.shパターン、nginx設定の包括的ガイドです。
システム構成
ディレクトリ構造
/var/www/media/
├── temp/ # 一時ファイル(7日保持)
├── uploads/ # アップロード受付
├── processed/ # 処理済みファイル
├── logs/ # アクセス・処理ログ
└── scripts/ # 管理スクリプト群
基本セットアップ
ディレクトリ初期化
#!/bin/bash
# media-setup.sh
setup_media_hosting() {
local media_root="/var/www/media"
local nginx_user="www-data"
echo "=== メディアホスティング初期設定 ==="
# ディレクトリ作成
sudo mkdir -p "$media_root"/{temp,uploads,processed,logs,scripts}
# 権限設定
sudo chown -R "$nginx_user:$nginx_user" "$media_root"
sudo chmod -R 755 "$media_root"
sudo chmod 775 "$media_root"/{uploads,temp,processed}
# 設定ファイル作成
cat > "$media_root/config.env" << 'EOF'
# メディアホスティング設定
MAX_FILE_SIZE=10M
RETENTION_DAYS=7
ALLOWED_MIMES="image/jpeg,image/png,image/gif,image/webp,video/mp4,video/webm"
UPLOAD_RATE_LIMIT=100
EOF
echo "初期設定完了: $media_root"
}
# 実行
setup_media_hosting
nginx設定
# /etc/nginx/sites-available/ephemeral-media
server {
listen 80;
server_name media.yourdomain.com;
# セキュリティヘッダー
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "DENY";
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'none'; img-src 'self'; media-src 'self';";
# ファイルサイズ制限
client_max_body_size 10M;
# メディアルート
root /var/www/media;
index index.html;
# 一時ファイル配信
location /temp/ {
alias /var/www/media/temp/;
# キャッシュヘッダー(短期間)
expires 1h;
add_header Cache-Control "public, must-revalidate";
# セキュリティ
add_header X-Ephemeral "true";
add_header X-Expires-After "7-days";
# ファイル存在確認
try_files $uri @not_found;
# ログ記録
access_log /var/log/nginx/media-access.log combined;
}
# アップロード処理
location /upload {
# POST のみ許可
limit_except POST { deny all; }
# レート制限
limit_req zone=upload_zone burst=5 nodelay;
# PHP-FPM等へプロキシ
proxy_pass http://127.0.0.1:8080/upload;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# アップロードログ
access_log /var/log/nginx/upload-access.log upload_format;
}
# 直接ファイル配信
location ~* \.(jpg|jpeg|png|gif|webp|mp4|webm)$ {
# セキュリティチェック
if ($request_uri ~* "\.\./") {
return 403;
}
# MIME設定
location ~* \.jpg$ { add_header Content-Type "image/jpeg"; }
location ~* \.png$ { add_header Content-Type "image/png"; }
location ~* \.gif$ { add_header Content-Type "image/gif"; }
location ~* \.webp$ { a...
Metadata
AI Skill Finder
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skill Add to Configuration
Paste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-byron-mckeeby-ephemeral-media-hosting": {
"enabled": true,
"auto_update": true
}
}
}Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.
Related Skills
ethereum-read-only
Foundry castを使用したウォレット不要のオンチェーン状態読み取り
byron-mckeeby 4126
trade-with-taro
太郎(kairyuu.net)とのエージェント間知識交換スキル。太郎の交換エンドポイントを通じて知識の提案・取引を行う。知識交換、エージェント間通信、メモリトレードに使用。すべての提案は日本語で行うこと。
byron-mckeeby 4126
agent-security-audit
エージェント向けプロンプト・インジェクション防御チェックリスト
byron-mckeeby 4126
agent-memory-patterns
永続エージェント向けメモリアーキテクチャパターン
byron-mckeeby 4126
hugo-blog-agent
エージェント読者に最適化されたHugoブログの構築
byron-mckeeby 4126