Download the PHP package tryhackx/flarum-homepage-blocks without Composer

On this page you can find all versions of the php package tryhackx/flarum-homepage-blocks. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package flarum-homepage-blocks

TryHackX Homepage Blocks

A Flarum extension that adds powerful customisable homepage blocks: tracker information panels, dual statistics (internal database + external OpenTracker), advanced discussion filters, content-validation overrides, and a per-IP rate limiter.

Designed to plug cleanly into a tracker-style Flarum forum. Works hand in hand with the rest of the TryHackX extension family — tryhackx/flarum-topic-rating unlocks rating filters and sorts, tryhackx/flarum-magnet-link unlocks magnet click stats and sorts, fof/discussion-views unlocks view counters / view-based sort.

Note: Recent updates target the 2.x line only. The 1.x branch (Flarum 1.8+) is no longer actively developed — it stays available for legacy installs but won't receive new features.

Screenshots

Mobile view — discussion list rendered with different combinations of TryHackX extensions (thumbnails + ratings + views, thumbnails + views, thumbnails only, ratings only, views only, vanilla Flarum).

TryHackX Homepage Blocks admin panel — section toggles, theme mode, custom filter labels, tracker info / announce URLs, internal & external (OpenTracker) statistics, content title / length overrides and rate-limit settings.

Desktop discussion list with the full TryHackX stack — thumbnail sliders on the left, star ratings on the right, magnet button next to each topic.

Desktop discussion list — hover state showing the magnet tooltip loading inline (powered by tryhackx/flarum-magnet-link).

Support Development

If you find this extension useful, consider supporting its development:

You can also find the donation option in the extension's admin settings panel.

Features

Requirements

Recommended companions

These aren't strictly required but unlock additional functionality:

Installation

Updating

Using the More filters index-based filters? Build the index once after enabling them (admin → Index → Rebuild index, or php flarum homepage-blocks:reindex).

Configuration

  1. Navigate to the Administration panel.
  2. Find TryHackX Homepage Blocks in the extensions list and enable it.
  3. Click the extension to access the configuration sections:
Section Description
General Section titles, default-collapsed state, hero banner toggle, tag display options, theme mode (auto / light / dark) and style (fitted / original).
Tracker Info Tracker heading, sub-heading, announce URLs.
Tracker Statistics Toggle internal stats, set the OpenTracker XML URL, cache lifetime, max fetch time and client refresh interval.
Content Settings Override title and content length limits.
Rate limiting Per-IP points limiter on search/filters. When a visitor runs out of points the IP is temporarily blocked (configurable duration and post-block budget reset). Guests pay an extra per-action cost.
Tracker whitelist sync Enable toggle (reveals the settings), tracker URL, API key ID, API secret (own Save secret button — stored server-side only), live-sync timeout, optional bare-hash detection, Test connection and Scan whole forum with a progress bar (batched, resumable).
↳ Only sync magnets that point at our tracker (2.6.1) Off by default. When on, a hash is sent only if its magnet link has a tr= announce URL on one of the Tracker hosts (comma / newline separated hostnames or IPs, e.g. tracker.example.org, 203.0.113.10; host:port / full URLs accepted, case-insensitive). Hashes without a magnet (bare btih: / bare 40-hex) are skipped; the scan reports them as skipped. An empty host list sends nothing and is reported on the last-error line.
↳ Send topic descriptions to the tracker (2.10.0) Off by default. Sends each topic's first post to the tracker as the description of its torrents — see below.
↳ Let the tracker copy pictures from posts (2.11.0) Off by default. The forum's consent for the tracker to keep its own copies of the pictures in the descriptions — see below.
↳ Send / refresh all topic descriptions (2.11.0) Button: sends the descriptions of all topics again in resumable batches (first posts only) — see below.
↳ Sync status (2.12.0) The topics sent, the queue, a pause or cooldown, the consent state and the last topics with a problem — see below.
Advanced filters (2.8.0) Master switch (off by default), panel expanded by default, one switch per filter (filters needing a missing extension are greyed out), Type position / field name, extra sorts, How release data is read from posts (size sources, units, labels, series rules — placeholders show the defaults) and the Index card (status, Rebuild index, Only missing / outdated, per-discussion preview). After enabling an index-based filter, rebuild the index once; after changing the parser rules, save and rebuild.

Tracker whitelist sync — topic descriptions

With Send topic descriptions to the tracker on (and the whitelist sync itself on), a topic's first post is sent to the tracker's v1/whitelist/describe endpoint right after its magnets went through v1/whitelist/submit. The tracker uses it as the description of those torrents — held for its moderators or published at once, as set for the API key on the tracker (Descriptions from the forum, tryhackx-tracker ≥ 1.78.0).

Tracker whitelist sync — pictures

The tracker copies the pictures of the descriptions it holds only while BOTH sides agree (tryhackx-tracker ≥ 1.79.0):

Advanced filters — API

The panel sends ordinary GET /api/discussions filters, so they also work for API clients. Ranges are min..max with either side optional (10GB.., ..2010, 5..20); malformed values are ignored, -key negates. A disabled filter is ignored server-side too.

Filter Value
filter[mediaType] movie / series
filter[sizeRange] numbers with an optional unit B, KB…TB, KiB…TiB (default GB)
filter[yearRange], filter[seasonsRange], filter[episodesRange], filter[durationRange] (minutes) numbers
filter[imdbRange], filter[filmwebRange] (0–10), filter[ratingRange] (0–5), filter[steamRange] (0–100 %), filter[ratingCountRange], filter[viewsRange], filter[repliesRange], filter[clicksRange], filter[clicksTopRange] numbers
filter[createdRange], filter[activeRange], filter[ratedRange], filter[clickedRange] unix timestamps or YYYY-MM-DD (UTC day, end day included)
filter[hasMagnet] 1 / 0
sort -hbSize / hbSize, -hbYear / hbYear

The Steam DB score (filter and sort) uses SQL POWER() — available on MySQL, MariaDB and PostgreSQL; on SQLite it needs a build with math functions.

API endpoints

Method Path Purpose
GET /api/tryhackx/homepage/stats Forum / tracker statistics (served from a shared server-side cache).
POST /api/tryhackx/homepage/points/check Rate-limiter pre-flight for a search (?action=search, &facets=1 when the live counts will be fetched too).
GET /api/tryhackx/homepage/facets Live Category / Resolution (and Type) counts for the filter bar: filter[title|user|dateInterval|ratingInterval] and the More filters keys, category=<slug|all>, resolution=<slug|all> → {category: {total, counts: {tagId: n}}, resolution: {…}, mediaType: {total, movie, series}} (mediaType only while the Type filter is on). Same filters and visibility as the discussion list; heavy title/user searches go through the rate limiter (range filters are index lookups and aren't metered).
GET /api/tryhackx/homepage/meta/status Admin only — Advanced Filters index status (total, indexed, missing, stale, with_size, series, movies) + the parser defaults.
POST /api/tryhackx/homepage/meta/reindex Admin only — one batch of the index rebuild ({cursor, only_stale?} → {next_cursor, done, processed, elapsed_ms, status?}); single-flight (409 while another batch runs).
GET /api/tryhackx/homepage/meta/preview?id=N Admin only — what the parser reads from discussion N with the current settings, next to what the index holds.
POST /api/tryhackx/homepage/whitelist/test Admin only — pings the tracker API with the (unsaved) settings and reports mode / whitelist size / clock skew / description mode (describe: off, queue, publish or null for an older tracker) / picture state (images: copy, off, no_consent or null, with image_domains).
POST /api/tryhackx/homepage/whitelist/scan Admin only — one batch of the forum scan ({cursor} → {next_cursor, done, processed, hashes_found, skipped_no_tracker, added, exists, banned, describe, …}, describe = {published, waiting, proposed, unchanged, kept, withdrawn, too_long, invalid, skipped, errors, off} or null while descriptions are off); a magnet registration that fails keeps the cursor, a description that fails is queued and the cursor moves on. With mode: "describe" one batch of the description pass over first posts only (same answer, total_posts = number of topics; 422 describe_disabled while descriptions are off).
GET /api/tryhackx/homepage/whitelist/status Admin only — the sync's state (2.12.0): enabled, describe (enabled, paused_until, withdraw), topics (published, waiting, proposed, unchanged, withdrawn, error), queue (pending, due, failing, next_at), problems (the last 20: discussion, title, link, status, detail, attempts), consent (wanted, confirmed), cooldown, last_error. Also sends what is due in the queue.
POST /api/tryhackx/homepage/whitelist/secret Admin only — stores / clears the tracker API secret (accepts a full key_id.secret token).

Development & tests

The integration suite sends real API requests to a test install (SQLite unless DB_DRIVER / DB_HOST / DB_PORT / DB_DATABASE / DB_USERNAME / DB_PASSWORD / DB_PREFIX point at a MySQL, MariaDB or PostgreSQL test database — all its tables are dropped).

Links

License

MIT License. See LICENSE for details.


All versions of flarum-homepage-blocks with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
flarum/core Version ^2.0.2
flarum/tags Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package tryhackx/flarum-homepage-blocks contains the following files

Loading the files please wait ...