π¨ Pocket is shutting down on July 8, 2025! Don't lose your saved articles. Article Saver offers one-click import to save your entire library.
- Website: https://nilukush.github.io/article_saver/
- Download: Latest Release
- Import from Pocket: Migration Guide
Save, organize, and read articles with powerful cloud sync, OAuth authentication, and Pocket integration
Quick Start β’ Downloads β’ API Docs β’ Development β’ Contributing
- π Save & Read Articles - Save articles from any URL with automatic content extraction
- π Cloud Sync - Real-time synchronization across all your devices
- π·οΈ Smart Organization - Tag, search, and filter your article collection
- π± Offline Support - Read your articles anywhere, anytime
- π¨ Beautiful Reader - Distraction-free reading experience with customizable themes
- π OAuth Authentication - Login with Google, GitHub, or email/password
- π Account Linking - Link multiple accounts and access all articles from one place
- π₯ Pocket Import - Import your entire Pocket library with one click
- π Enterprise Security - JWT authentication, rate limiting, and security headers
- π Bulk Operations - Import, export, and manage thousands of articles efficiently
- Windows: Windows 10 or later (64-bit)
- macOS: macOS 10.15 (Catalina) or later
- Apple Silicon (M1/M2/M3) native support
- Intel processors supported
- Linux: Ubuntu 20.04+, Fedora 36+, or equivalent
- Requires libfuse2 for AppImage
- Memory: 4GB RAM minimum, 8GB recommended
- Storage: 500MB for application + space for articles
- Node.js: v18.0.0 or later
- PostgreSQL: v14.0 or later
- Memory: 512MB RAM minimum
- Storage: Depends on article count
Download the latest version (v1.1.3) for your platform:
- Article.Saver.Setup.1.1.3.exe - Installer (Recommended)
- Article.Saver.1.1.3.exe - Portable
- Article.Saver-1.1.3-arm64.dmg - Apple Silicon (M1/M2/M3)
- Article.Saver-1.1.3.dmg - Intel
Note: If macOS shows "damaged app", run: xattr -cr /Applications/Article\ Saver.app
- Article.Saver-1.1.3.AppImage - AppImage (Universal)
- article-saver-desktop_1.1.3_amd64.deb - Debian/Ubuntu
Track our growth and see platform distribution in real-time:
- Live Dashboard: View Download Statistics β
- Total Downloads:
- Latest Release:
The dashboard shows anonymous download counts from GitHub's public API. No personal data is collected or displayed.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Article Saver System β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ€
β Desktop Client β Backend API β
βββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββ€
β β’ Electron + React β β’ Express.js + TypeScript β
β β’ Local JSON Database β β’ PostgreSQL Database β
β β’ Offline-First β β’ Prisma ORM β
β β’ Content Extraction β β’ JWT Authentication β
β β’ Real-time Sync β β’ OAuth2 Integration β
βββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββ
- Node.js 18+ and npm 8+
- PostgreSQL 14+
- Git
# Clone the repository
git clone https://github.com/nilukush/article_saver.git
cd article_saver
# Install dependencies
npm run install:all
# Start development servers
npm run devThis will:
- β Check all prerequisites
- β Set up the database
- β Start the backend API on http://localhost:3003
- β Start the desktop app on http://localhost:19858
For detailed setup instructions, see DEVELOPMENT.md.
Create a .env file in the backend directory:
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/article_saver"
# JWT
JWT_SECRET="your-secret-key"
JWT_EXPIRES_IN="7d"
# OAuth (optional)
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"
# See backend/.env.example for all options- API Documentation - Complete API reference
- Development Guide - Local development setup
- Security Policy - Security best practices
- Contributing Guide - How to contribute
- Architecture - Technical architecture details
Article Saver implements enterprise-grade security:
- Authentication: JWT tokens with secure refresh mechanism
- Password Security: bcrypt hashing with 12+ rounds
- Rate Limiting: 100 requests per 15 minutes
- Security Headers: CSP, HSTS, X-Frame-Options, etc.
- Input Validation: All inputs sanitized and validated
- SQL Injection Prevention: Prisma ORM with parameterized queries
See SECURITY.md for vulnerability reporting.
Article Saver is free and open source. To support ongoing development and hosting costs, we use EthicalAds:
- Privacy First: No user tracking or cookies
- Developer Focused: Relevant ads for our technical audience
- Non-Intrusive: Minimal, text-only ads shown only to free users
- Transparent: Our ad integration is open source
Authenticated users enjoy an ad-free experience. See ETHICAL_ADS_SETUP.md for implementation details.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Article Extraction: < 2 seconds average
- Search: < 100ms for 10,000+ articles
- Sync: Real-time with conflict resolution
- Import: 1,000 articles/minute from Pocket
- Runtime: Node.js 20 LTS
- Framework: Express.js with TypeScript
- Database: PostgreSQL with Prisma ORM
- Authentication: JWT + OAuth2 (Google, GitHub)
- Logging: Winston with rotation
- Security: Helmet.js, CORS, rate limiting
- Framework: Electron 28
- UI: React 18 with TypeScript
- Styling: Tailwind CSS
- State: Zustand
- Build: Vite
- Storage: Local JSON database for offline support
The backend can be deployed to any Node.js hosting platform:
- Heroku
- AWS Elastic Beanstalk
- Google Cloud Run
- DigitalOcean App Platform
Build installers for all platforms:
cd desktop
npm run distPort already in use
npm run stop
npm run devDatabase connection failed
# Check PostgreSQL is running
pg_isready
# Check connection string in .env
DATABASE_URL="postgresql://..."OAuth not working
- Ensure redirect URLs match exactly
- Check client ID and secret are correct
- Verify OAuth app settings
See DEVELOPMENT.md for more troubleshooting tips.
- Installation Guide - Detailed installation instructions
- Development Setup - Set up your development environment
- API Reference - Backend API documentation
- Contributing Guide - How to contribute to the project
- Security Policy - Report security vulnerabilities
- Changelog - Version history and release notes
macOS "damaged app" error
xattr -cr /Applications/Article\ Saver.appLinux AppImage not running
# Install required dependency
sudo apt install libfuse2 # Ubuntu/Debian
sudo dnf install fuse # Fedora
# Make AppImage executable
chmod +x Article.Saver-*.AppImageWindows Defender blocking installation
- Click "More info" β "Run anyway"
- Or add exception in Windows Security settings
Cannot connect to backend
- Check if backend is running:
curl http://localhost:3003/health - Verify environment variables are set correctly
- Check firewall settings
For more help, see our Troubleshooting Guide.
This project is licensed under the MIT License - see the LICENSE file for details.
- Mozilla Readability for content extraction
- Pocket for API integration
- All our contributors
Built with β€οΈ by the Article Saver Team



