📥 Story Downloader - Facebook & Instagram
🧩 A user script to download stories (videos & images) from Facebook and Instagram — supports both production and development modes!
🌐 For Users
👉 Install directly from GreasyFork:
🔗 https://gf.qytechs.cn/en/scripts/507431-story-downloader-facebook-and-instagram
✔️ Features:
- Works on Facebook and Instagram web
- Downloads stories in one click
- Automatically detects videos and images
- Lightweight and open-source
🛠️ For Developers
If you want to contribute or run this script in development mode using TypeScript, follow these steps:
⚙️ Requirements
- Node.js & npm
- Tampermonkey (or similar user script manager)
- A Chromium-based browser (Chrome, Edge, Brave, etc.)
- A text editor (e.g. VSCode)
📢 Important Tampermonkey Setup
✅ To use file:///
paths in development:
- Go to your browser's Extensions page.
- Enable Developer Mode.
- Open the Tampermonkey extension settings.
- Enable the option: "Allow access to file URLs."
This is required for Tampermonkey to load the script directly from your local machine.
🚀 Clone the repository
git clone https://github.com/oscar370/Story-Downloader---Facebook-and-Instagram.git
cd Story-Downloader---Facebook-and-Instagram
📦 Install dependencies
npm install
🧪 Development Mode
- Set your desired output path in a .env file at the project root:
DEV_REQUIRE_PATH=file:///[your-path]/dist/script.dev.user.js
📍 Use forward slashes / even on Windows.
- Run the development watcher:
npm run dev
- Create a dev userscript in Tampermonkey with the following header:
// ==UserScript==
// @name Story Downloader - Facebook and Instagram - Dev
// @namespace https://github.com/oscar370
// @version 0.0.0
// @description Download stories (videos and images) from Facebook and Instagram.
// @author oscar370
// @match *.facebook.com/*
// @match *.instagram.com/*
// @grant none
// @license GPL3
// @require file:///[your-path]/dist/script.dev.user.js
// ==/UserScript==
📍 Refresh your browser tab to reload changes after each build!
📤 Production Build
To build the optimized userscript for sharing:
npm run build
This generates:
dist/script.prod.user.js
You can upload this file to GitHub and link it on GreasyFork.
📁 Project Structure
.
├── dist/
│ ├── script.dev.user.js
│ └── script.prod.user.js
├── src/
│ └── main.ts
├── .env
├── build-dev-watch.js
├── build-prod.js
├── package.json
├── tsconfig.json
└── README.md
🤝 Contributing
Pull requests, issues, and suggestions are welcome!
Just make sure to describe the change clearly and follow the coding style.
Happy downloading! 🎉