Jump to content

GunCAD Index

From GunCAD Wiki
Revision as of 00:43, 8 December 2025 by Theshittinator (talk | contribs)
GunCAD Index
The GunCAD Index logo

The GunCAD Index is a search engine for 3D-printable gun designs on Odysee/LBRY. It is open-source software and can be self-hosted.

It can be visited at guncadindex.com

Background

The GunCAD Index was created in early 2025 by The Shittinator in response to personal frustrations with searching for designs on Odysee. It was released on March 8th, 2025. It has received continuous development effort since its release.

Features

Searching

Arguably the most important feature of the Index, users can perform full-text searches against its database for designs. Searches match against several fields of each release via a custom search algorithm.

Channel Auto-Discovery

The Index automatically discovers new authors based on a number of criteria:

  • Channels for which any one single release has the "guncad" tag
  • Channels for which:
    • They have a release; and
    • That release is identified by an automatic tagging rule (see below); and
    • They are picked up by a search, which requires:
      • The "guncad" tag on the channel; or
      • For any one release from that channel to be reposted by a channel already known by the Index

As the process of channel auto-discovery can be problematic when bootstrapping new instances, a list of known channels is shipped with the software.

Tagging

The Index contains a mostly-hardcoded list of "tags" that can be applied to releases that correspond to various important features of it, such as what it is, what caliber of gun it is (if applicable), which if any OEMs are relevant when discussing it (such as Glock), and more.

Tags can wind up on releases via several mechanisms:

  • They can be added via an automatic tagging rule, which looks at properties of the release (name, description, etc.) and performs regex matches against keywords. If a match is found, the tag is applied
  • They can be added if an associated AI is configured and decides that a tag should be added
  • Users can submit edits against releases suggesting the addition/removal of any tag. These suggestions are reviewed by an admin for legitimacy and either affirmed or discarded

API Access

Available via a link in the footer, the Index offers almost all of its data via a machine-readable REST API provided by the Django REST Framework.

Technical Details

The GunCAD Index is built on the Django framework and serves requests via Gunicorn. It uses PostgreSQL for its backing database and Redis (or Valkey) for caching. Requests must be served via a reverse proxy which also serves the role of managing static content.

It requires close contact with LBRY, and as such mandates the use of a lbrynet node. It periodically spiders LBRY in search of new channels it infers to be related to GunCAD ("authors") and the designs they produce ("releases") via a number of heuristics.