# raw.githack.com Alternatives for Serving HTML From a Repo (2026)

Canonical: https://commareports.com/alternatives/raw-githack-alternatives
Published: 2026-09-06

> raw.githack serves GitHub files with the right Content-Type — for public repos, pinned to a ref, with no access control and no review layer. Alternatives compared.

# raw.githack.com alternatives

`raw.githack.com` solves one very specific, very real problem: GitHub
serves raw files as `text/plain` with `X-Content-Type-Options: nosniff`,
so a browser refuses to render your HTML. githack re-serves the same bytes
with the honest `Content-Type`, and the page works.

It is the right tool for demos out of public repositories. It is not a
place to put a report.

## What it doesn't cover

- **Public repositories only.** It fetches anonymously; there is no token
  to hand it, so anything internal is out.
- **You are pinning a git ref, not publishing a document.** Point it at a
  branch and the "shared" URL changes under your readers; point it at a
  commit SHA and the URL is unreadable and never updates.
- **It is someone else's free proxy.** Fine for a demo, uncomfortable as a
  dependency for anything a customer or an auditor loads.
- **No access control, no versions, no comments.** It moves bytes. That is
  the entire product, and it is honest about that.

## The shortlist

### 1. Comma — publish the built file, keep it private

For an artifact — a coverage report, a notebook export, a model card, a
build summary — the fix is to stop serving it out of source control.
Publish the file itself:

```bash
curl -X POST https://commareports.com/api/v1/reports \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --arg h "$(cat coverage/index.html)" \
        '{title:"Coverage — main", html:$h, visibility:"team"}')"
```

The response carries a stable id. `PATCH` it on the next run and the URL
you circulated keeps working while every previous revision stays diffable.
Multi-file output — a folder with `assets/`, images, sub-pages — uploads as
a zip bundle so the relative paths resolve exactly as they did on disk.

Visibility is per report: private, team, email-domain, any signed-in user,
or public link. Readers select a table cell or a paragraph and leave a
thread anchored there.

**Not for:** serving JS libraries or arbitrary repo assets to a page you
host elsewhere. That is a CDN's job — use jsDelivr, which serves npm and
GitHub properly and is built for it.

**Pricing:** Free — unlimited reports, viewers, commenters, revisions.

**[Publishing from CI →](/docs/ci)**

### 2. jsDelivr — the right CDN for repository assets

If what you actually need is `<script src>` for a file in a repo, jsDelivr
serves GitHub and npm with proper caching and versioning, and is designed
for production traffic. Different job from rendering a page, and it does it
better than a preview proxy.

### 3. GitHub Pages — a real origin for a repo's own HTML

Free, versioned by git, correct Content-Type by construction, relative
paths behave. Public unless you hold GitHub Enterprise. See
[GitHub Pages alternatives](/alternatives/github-pages-alternatives).

### 4. htmlpreview.github.io — the older, more fragile sibling

Rewrites the page client-side instead of re-serving it, which is why
assets break more often. Same public-repo constraint. See
[htmlpreview.github.io alternatives](/alternatives/htmlpreview-github-io-alternatives).

## At a glance

| Option        | Private source | Correct MIME | Stable share link | Comments |
| ------------- | -------------- | ------------ | ----------------- | -------- |
| **Comma**     | **Yes**        | **Yes**      | **Yes**           | **Yes**  |
| raw.githack   | No             | Yes          | Ref-pinned        | No       |
| htmlpreview   | No             | Via rewrite  | No                | No       |
| GitHub Pages  | Enterprise     | Yes          | Yes               | No       |
| jsDelivr      | No             | Yes          | Version-pinned    | n/a      |

_Checked September 2026._

## How to choose

- **A public demo page in a public repo?** githack is fine. Use the CDN
  endpoint, pin a tag.
- **Assets for a site you host?** jsDelivr.
- **An output artifact someone has to read and respond to?**
  [Publish it, don't proxy it](/share-html-report).

### Related

- [Share an HTML report](/share-html-report) ·
  [Upload an HTML file, get a link](/upload-html-file-get-link)
- [Share a coverage report](/share-coverage-report) ·
  [GitHub Actions HTML reports](/ci/github-actions-html-report)
- [All hosting alternatives](/alternatives)
