Important Notice: As of June 2025, active development and maintenance of Easynews++ has been discontinued. While the project will remain available for use, no further updates, bug fixes, or support will be provided. Users are encouraged to explore alternative solutions for their Easynews needs. We thank the community for their support throughout the project's lifespan.
Note
Easynews++ is an open-source addon that enhances the Easynews experience with superior performance, advanced search capabilities, and intelligent stream selection. It features custom title support, multi-platform compatibility, and self-hosting options. Built upon the foundation of Easynews+, it implements a different authentication approach to ensure seamless operation across various platforms including Stremio, Omni, Vidi and Fusion.
Public Instance: https://easynews-cloudflare-worker.jqrw92fchz.workers.dev/configure or https://en.pantelx.com
Discord Server: Join our Discord for community discussions and support
Self-Hosting: Check out the Self-Hosting Guide
Support the Project: Buy Me A Coffee or Become a GitHub Sponsor
- Multi-level caching system to minimize API calls
- In-memory result caching with configurable TTL (Time-To-Live)
- Intelligent stream count limitation for optimal player performance
- Advanced duplicate detection using hash tracking
- Sophisticated title matching with percentage-based similarity for multi-word titles
- Custom title support for enhanced content discovery
- TMDB integration for localized title search in preferred language
- Comprehensive support for various naming conventions and special characters
- Advanced content filtering (removes samples, broken files, etc.)
- Multiple fallback search strategies for challenging content
- Smart quality prioritization (4K/UHD β 1080p β 720p)
- File size-based sorting within the same resolution
- Language filtering with preferred audio language prioritization
- Improved quality detection from complex file names
- Enhanced subtitle fetching reliability
- Configurable strict title matching (enabled by default)
- Intelligent handling of alternative titles and custom titles
- Support for original titles, custom titles and metadata alternatives
- Partial matching for related title variants
- Custom title addition via custom-titles.json file
Note
To add custom titles to the public instance, please create a new issue with your suggestions.
-
Quality filtering to display only streams with specific resolutions
-
Customizable maximum results per quality to balance stream variety and performance
-
File size limitation to filter out excessively large files
-
Preferred audio language selection from multiple supported options
- Automatic prioritization of content in your preferred language
- Clear language labeling in stream descriptions
- Visual indicators for preferred language content (β)
Note
If you would like additional languages added to the public instance, please create a new issue with your request.
- Full UI translation support for 13 languages:
- English (default)
- German (Deutsch)
- Spanish (EspaΓ±ol)
- French (FranΓ§ais)
- Italian (Italiano)
- Japanese (ζ₯ζ¬θͺ)
- Portuguese (PortuguΓͺs)
- Russian (Π ΡΡΡΠΊΠΈΠΉ)
- Korean (νκ΅μ΄)
- Chinese (δΈζ)
- Dutch (Nederlands)
- Romanian (RomΓ’nΔ)
- Bulgarian (ΠΡΠ»Π³Π°ΡΡΠΊΠΈ)
- Seamless language switching without losing configuration
- Translated form fields, options, and descriptions
- Consistent UI experience across all supported languages
- Seamless operation across multiple streaming platforms
- Optimized for Stremio, Omni, Vidi and Fusion compatibility
- Authentication implementation that works without basic auth headers for media streaming
- tvOS (Omni & Vidi)
- iOS (Fusion)
- Stremio
- Windows (4.x (stable) & 5.x (beta))
- Linux
- Web (Browser)
- Android Mobile (beta)
- iOS (Web & TestFlight)
- Android TV
- Stremio:
- macOS (there may be issues with the internal player)
- Android Mobile (stable)
- Steam Deck
- Raspberry Pi
- Sony TV
- Philips TV
- Samsung TV (some models might have playback issues with the internal player)
- Stremio:
- webOS
Note
We are actively working on expanding platform support. If you encounter any issues with a specific platform, please report them in our Discord community or create a new issue on GitHub.
For optimal performance and privacy, you can self-host the addon. We offer multiple deployment options:
Tip
Consider adding custom/translated titles to custom-titles.json for enhanced functionality
Deploy using Docker Compose for a containerized solution:
# Clone the repository
$ git clone https://github.com/pantelx/easynews-plus-plus.git && cd easynews-plus-plus
# Copy the .env.example file to .env
$ cp .env.example .env
# Start the container
$ docker-compose up -dThe docker-compose.yml file is configured to use the pre-built image by default, making it the easiest deployment option. To modify the configuration, edit the docker-compose.yml file before running docker-compose up -d.
Verify the installation by visiting http://localhost:1337/ in your browser. To customize the port or other settings, edit the .env file before starting the container.
Note
The Docker image is automatically built and published to GitHub Container Registry (ghcr.io) for each push to the main branch and for each new version tag. You can find all available tags on the GitHub Packages page.
For direct source installation, ensure you have:
- Node.js 20 or higher
- NPM 7 or higher
# Verify Node.js version
$ node -v
# Verify NPM version
$ npm -v
# Clone and install
$ git clone https://github.com/pantelx/easynews-plus-plus.git && cd easynews-plus-plus
$ npm i
# Copy the .env.example file to .env
$ cp .env.example .env
# Start in production mode
$ npm run startAccess the addon at http://localhost:1337/. Customize the port and other settings using the .env file.
Deploy to Cloudflare's global edge network for optimal performance:
# Clone the repository
$ git clone https://github.com/pantelx/easynews-plus-plus.git && cd easynews-plus-plus
# Install dependencies
$ npm i
# Copy the .env.example file to .env
$ cp .env.example .env
# Copy the wrangler.toml.example file to wrangler.toml
$ cp packages/cloudflare-worker/wrangler.toml.example packages/cloudflare-worker/wrangler.toml
# Deploy to Cloudflare
$ npm run deploy:cf
# Preview changes (if enabled in Cloudflare dashboard)
$ npm run preview:cf# Clone the repository
$ git clone https://github.com/pantelx/easynews-plus-plus.git && cd easynews-plus-plus
# Install dependencies
$ npm i
# Copy the .env.example file to .env
$ cp .env.example .env
# Deploy to Beamup
$ npm run deploy:beamup# Clone the repository
$ git clone https://github.com/pantelx/easynews-plus-plus.git && cd easynews-plus-plus
# Install dependencies
$ npm i
# Copy the .env.example file to .env
$ cp .env.example .env
# Build the addon
$ npm run buildDevelopment modes:
# Addon development
$ npm run dev
# Cloudflare worker development
# Copy the wrangler.toml.example file to wrangler.toml
$ cp packages/cloudflare-worker/wrangler.toml.example packages/cloudflare-worker/wrangler.toml
$ npm run dev:cfBump the version tag, release and publish to npm:
$ npm run releaseNote
Enable workflow "docker-publish" to automatically build and publish the docker image to GitHub Container Registry. Enable workflow "release" to automatically create a new version tag and release on GitHub.
pr.yml: Lint PR titlestest.yml: Test if the addon works as expectedrelease.yml: Release a new version to GitHubdocker-publish.yml: Build and publish the docker image to GitHub Container Registry
Easynews is a premium Usenet provider offering a web-based Usenet browser. It enables users to search, preview, and download files from Usenet newsgroups without requiring a newsreader. Known for its user-friendly interface and fast download speeds, Easynews serves as an alternative to debrid services (Real-Debrid, Premiumize, AllDebrid, etc.). An active Easynews subscription is required to use this addon.
You can configure the addon server using environment variables:
- Port Configuration: Change the default port (1337) by setting the
PORTenvironment variable - Logging Level: Adjust the verbosity of logs with the
EASYNEWS_LOG_LEVELvariable- Options:
error,warn,info,debug,silly,silent - Set to
debugorsillyfor verbose logging during troubleshooting - Default:
info
- Options:
- Log Summarization: Control debug log grouping with
EASYNEWS_SUMMARIZE_LOGS- Set to
falseto see all individual debug logs (useful for detailed troubleshooting) - Set to
trueto group similar debug logs and reduce log volume - Default:
true(enabled) - Note: This feature is not available in the Cloudflare Worker deployment
- Set to
- API Search Configuration:
TOTAL_MAX_RESULTS: Maximum total results to returnMAX_PAGES: Maximum number of pages to searchMAX_RESULTS_PER_PAGE: Maximum results per pageCACHE_TTL: Cache time-to-live in hours
- TMDB Integration:
TMDB_API_KEY: TMDB API key for translated title search
- Chatwoot Live Support Chat Settings:
CHATWOOT_ENABLED: Enable or disable Chatwoot integrationCHATWOOT_BASE_URL: Base URL for the Chatwoot installationCHATWOOT_WEBSITE_TOKEN: Website token for Chatwoot authentication
The easiest way to configure these settings is by copying the .env.example file to .env in the project root.
For Docker deployments, the docker-compose.yml file is already configured to use the .env file automatically.
The addon implements a multi-level caching strategy to improve performance:
- In-memory request caching reduces repeated API calls
- Configurable Time-To-Live (TTL) ensures data freshness
- Results are cached based on search parameters and user settings
- Cached results are automatically invalidated after the TTL expires
This significantly reduces API usage and improves response times for frequently accessed content.
The title matching system uses several advanced techniques:
- Percentage-based similarity for multi-word titles
- Support for various naming conventions (e.g., "The Movie" vs "Movie, The")
- Special character handling (spaces, punctuation, accents)
- Configurable strict matching option for exact results
When strict matching is enabled, only exact title matches are returned. When disabled, the addon uses smart matching to find related content. By default, strict matching is enabled.
The custom title & TMDB integration system helps find content with alternative titles or translations:
- Original titles are combined with custom translations and TMDB translations
- Additional titles from metadata are incorporated
- TMDB API integration fetches localized titles in your preferred language
- Translated titles are automatically sanitized for improved search accuracy
- Partial matching enables finding related content
- Self-hosted users can add custom titles via custom-titles.json
Note
To add custom titles to the public instance, please create a new issue with your suggestions.
First, verify the content exists on Easynews web search. If unavailable or returning poor quality results (duration < 5 minutes, marked as spam, no video), the addon won't find it either.
If the content exists on Easynews but the addon can't find it, this might be due to:
- Title matching issues between Easynews API and media player metadata
- Unconventional title formats
- Special character handling
Examples of challenging cases:
- Anime series like
death noteusing non-standard episode numbering - Movies with partial metadata matches (e.g.,
Mission: Impossible - Dead Reckoning Part One) - Special character handling (e.g.,
WALLΒ·EvsWALL-E)
For these cases, consider self-hosting and adding custom titles or using the public instance and create a new issue with the custom titles you want to get supported.
The addon automatically prioritizes streams based on several factors:
- Resolution quality (4K/UHD β 1080p β 720p β 480p)
- File size within the same resolution (larger files typically offer better quality)
- Comparison of GB vs MB files (GB files are prioritized)
- Numerical size comparison within the same unit (e.g., 2GB over 1GB)
This system ensures you get the highest quality content available without manual filtering.
The addon offers multiple sorting methods that can be selected in the configuration:
- Quality First (default): Prioritizes by resolution quality, then preferred language, then file size.
- Language First: Prioritizes content with your preferred language, then sorts by quality and size.
- Size First: Sorts primarily by file size (largest first), then quality, then language.
- Date First: Prioritizes newest content first, with secondary sorting by quality and language.
All options use the same relevance-first API search, then sort results locally
You can select your preferred sorting method in the addon configuration page. For optimal language prioritization, the "Language First" option works best when you've also set your preferred language.
The addon limits results to the top 50 highest quality streams to:
1. Prevent media player overload
2. Optimize performance and response times
3. Focus on quality over quantity
4. Streamline the user experience
After quality sorting, the top 50 streams will represent the best available options, making additional results unnecessary.
This limit was removed in version 2.4.0.
The language filter allows you to prioritize content in your preferred audio language:
- Select your preferred language in the addon configuration
- Streams containing your preferred language audio will be shown first
- Other language streams will be displayed below
- All streams display their audio language information in the description
- Your preferred language will be marked with a star (β)
For maximum language prioritization effect, use the "Language First" sorting option in combination with your preferred language setting. This ensures content in your preferred language always appears at the top of results, regardless of quality or size.
This makes it easier to find content in languages you understand without removing other options.
If you need additional languages added to the public instance, please create a new issue with your request.
The addon achieves universal compatibility through:
- Authentication implementation that works across all platforms
- Direct media streaming without reliance on basic auth headers
- Optimized response formats compatible with Stremio, Omni, Vidi and Fusion
- Consistent stream URL structure that works uniformly across devices
This approach eliminates the platform-specific issues commonly found in other addons.
Your support helps maintain and improve this project! Consider:
- Buying me a coffee
- Becoming a GitHub Sponsor
- Joining our Discord community for support and updates
- Contributing on GitHub
Special thanks to:
- sleeyax/stremio-easynews-addon for the repository structure, base code and inspiration
- Viren070/AIOStreams for the issue templates
- All contributors who have contributed through code, testing and ideas
- The community for their feedback, support and patience
- Project supporters who have financially supported this initiative
Note
This is an independent, fan-made addon for Easynews. An active Easynews subscription is required for use. We are not affiliated with Easynews.
