Support Webshare guest downloads without login.

Credentials optional: empty WEBSHARE_* uses file_link without wst (free CDN). Verified against live API; docs and tests updated. Includes cancel→dequeue fix for queued downloads.
This commit is contained in:
2026-08-07 11:31:19 +02:00
parent 97b9215917
commit 798d7d7251
9 changed files with 259 additions and 88 deletions

View File

@@ -13,19 +13,14 @@ const { registerMcpHttp } = require('./mcp-http');
const PORT = process.env.PORT || 3001;
const MCP_PATH = process.env.MCP_PATH || '/mcp';
const USERNAME = process.env.WEBSHARE_USERNAME;
const PASSWORD = process.env.WEBSHARE_PASSWORD;
if (!USERNAME || !PASSWORD) {
console.error('WEBSHARE_USERNAME and WEBSHARE_PASSWORD must be set');
process.exit(1);
}
const USERNAME = process.env.WEBSHARE_USERNAME || '';
const PASSWORD = process.env.WEBSHARE_PASSWORD || '';
const app = express();
app.use(express.json({ limit: '4mb' }));
app.get('/health', (req, res) => {
res.json({ ok: true, mcp: MCP_PATH });
res.json({ ok: true, mcp: MCP_PATH, guest: !USERNAME || !PASSWORD });
});
registerMcpHttp(app, {
@@ -35,5 +30,6 @@ registerMcpHttp(app, {
});
app.listen(PORT, () => {
console.log(`webshare-api MCP (HTTP) listening on :${PORT}${MCP_PATH}`);
const mode = !USERNAME || !PASSWORD ? 'guest' : 'auth';
console.log(`webshare-api MCP (HTTP) listening on :${PORT}${MCP_PATH} (${mode})`);
});