Skip to main content

Creates a complete full text historical archive for an RSS or ATOM feed.

Project description

history4feed

codecov

Before you begin...

We use history4feed in the web version of Obstracts which includes many additional features over those in this codebase. You can find out more about the web version here.

Overview

It is common for feeds (RSS or XML) to only include a limited number of posts. I generally see the latest 3 - 5 posts of a blog in a feed. For blogs that have been operating for years, this means potentially thousands of posts are missed.

There is no way to page through historic articles using an RSS or ATOM feed (they were not designed for this), which means the first poll of the feed will only contain the limited number of articles in the feed. This limit is defined by the blog owner.

history4feed can be used to create a complete history for a blog and output it as an RSS feed.

history4feed offers an API interface that;

  1. takes an RSS / ATOM feed URL
  2. downloads a Wayback Machine archive for the feed
  3. identified all unique blog posts in the historic feeds downloaded
  4. downloads a HTML version of the article content on each page
  5. stores the post record in the databases
  6. exposes the posts as JSON or XML RSS

Install

Download and configure

# clone the latest code
git clone https://github.com/muchdogesec/history4feed

Configuration options

history4feed has various settings that are defined in an .env file.

To create a template for the file:

cp .env.example .env

To see more information about how to set the variables, and what they do, read the .env.markdown file.

Build the Docker Image

sudo docker compose build

Start the server

sudo docker compose up

Access the server

The webserver (Django) should now be running on: http://127.0.0.1:8002/

You can access the Swagger UI for the API in a browser at: http://127.0.0.1:8002/api/schema/swagger-ui/

Useful supporting tools

Support

Minimal support provided via the DOGESEC community.

License

Apache 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

history4feed-1.2.10.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

history4feed-1.2.10-py3-none-any.whl (51.6 kB view details)

Uploaded Python 3

File details

Details for the file history4feed-1.2.10.tar.gz.

File metadata

  • Download URL: history4feed-1.2.10.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for history4feed-1.2.10.tar.gz
Algorithm Hash digest
SHA256 8b2ec747c309545753803d6e540c3cad0ab7fe2e92bc86e2428c346d3469a685
MD5 f55004c5d681ae6c04ad72d8322776c0
BLAKE2b-256 34ede7683d0c4cf8a61b641e7b963303eba70e2aa6bba4206c6d5fe5b76aeeef

See more details on using hashes here.

Provenance

The following attestation bundles were made for history4feed-1.2.10.tar.gz:

Publisher: create-release.yml on muchdogesec/history4feed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file history4feed-1.2.10-py3-none-any.whl.

File metadata

  • Download URL: history4feed-1.2.10-py3-none-any.whl
  • Upload date:
  • Size: 51.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for history4feed-1.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 07b2489a2d24a7af1935adc97f9505a1f2a1bb1707404da594f77c31b1bcb4e5
MD5 463f47b41eea2052c2386e24e7e14d07
BLAKE2b-256 d20ccb7d235b6c266fa5d8f443b6e1e59fd17dd47d96370036caf43e24914180

See more details on using hashes here.

Provenance

The following attestation bundles were made for history4feed-1.2.10-py3-none-any.whl:

Publisher: create-release.yml on muchdogesec/history4feed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page