Start your own file host on Shared Hosting for about $6/TB

Jesse

Active Member
6,364
2009
2,095
5,720
Written by a fyuhls user and modified by me.

Main thread
GitHub: https://github.com/softerfish/fyuhls
Main Page: https://privacyglance.com (demo here with user/pass: tester/tester)
Wiki Pages: https://github.com/softerfish/fyuhls/wiki

If you run a blog, download site, or content site and you are tired of relying on third-party file hosts, this is for you.

I built fyuhls, a self-hosted file hosting script designed for people who want to run their own branded file host, keep control of their files, and connect it to object storage like Wasabi without needing to start with a full dedicated server.

For a lot of WJunction users, the goal is simple:

  • Post your downloads on your own blog
  • Host the files under your own brand
  • Keep control over links, pages, ads, and file management
  • Keep more of the revenue around your own traffic
  • Stop depending completely on someone else's file host

Why use your own file host?

When you use someone else's file host, you are building their brand, living under their rules, and risking file removals, account limits, or monetization changes later.

With your own file host:

  • Your links stay on your own domain
  • Your download pages carry your own branding
  • You control how downloads work
  • You can use your own ad placements
  • You keep the upside from your own traffic instead of feeding somebody else's host
  • You keep your file library organized in your own panel

Make money from your own traffic instead of making somebody else rich

One of the biggest problems in this niche is that people spend months building traffic and download volume on third-party file hosts, only to get hit with the usual endings:

  • Payout cuts
  • Delayed payments
  • Fake deductions
  • Sudden account bans
  • Missing files
  • A host that disappears overnight

That is the real risk with fly-by-night file hosts. You do the work, they own the platform, and you carry the risk.

Running your own file host changes that.

Instead of sending your visitors to somebody else's brand and hoping they pay honestly, you bring the traffic through your own site and monetize it yourself.

That can mean:

  • Placing your own ads on the download pages
  • Monetizing the blog post and the download page together
  • Building long-term brand value on your own domain
  • Keeping control of your files, links, and user flow

You are not depending on some random host to decide whether your account is still worth paying this month.

What fyuhls gives you

  • Your own self-hosted file host on your domain
  • Support for Wasabi, Backblaze B2, Cloudflare R2, local storage, and generic S3-compatible storage
  • Direct multipart uploads for large files on supported object-storage backends
  • A full file manager with folders, bulk tools, and share/export options
  • Download pages with ad placement support
  • BBCode, HTML, plain links, and grouped bulk-link tools
  • API support and personal API tokens
  • Built-in rewards, affiliate, and admin controls if you want to expand later

For blog owners, one of the best parts is that you can upload a file once, then generate:

  • Download-page links
  • HTML links for blog posts
  • BBCode links for forum posting
  • Grouped bulk links for batches of files

How users can make money with this setup

If you already have a blog or download traffic, the monetization path is simple:

  • Publish the release on your blog
  • Place your own ads on the blog post
  • Send visitors to your own download page on your file host
  • Place your own ads on the download page too
  • Keep the traffic, branding, and monetization inside your own ecosystem

So instead of relying on a third-party host to maybe pay you, you are monetizing:

  • The blog traffic
  • The download-page traffic
  • The repeat visitors who start recognizing your brand

Can it work on shared hosting?

Yes. That is one of the main reasons it was built this way.

You still need decent hosting, but you do not need to start with a big VPS just to launch your own branded file host.

Minimum shared hosting requirements

  • Linux hosting
  • PHP 8.2+
  • MySQL 5.7+ or MariaDB 10.3+
  • PDO, PDO MySQL, OpenSSL, JSON, cURL, and Sockets
  • mod_rewrite enabled

Recommended setup for WJunction users

The simplest practical layout is:

  1. Your blog stays on www.yoursite.com
  2. Your file host runs on a subdomain like files.yoursite.com
  3. Your files are stored in Wasabi or similar
  4. Your blog posts link to your file pages on files.yoursite.com

That gives you branded download pages, separation between your blog and your file host, and cheaper storage than trying to keep everything on a normal shared hosting plan.
It also gives you a way to monetize your own traffic instead of sending it to unstable third-party hosts.

Wasabi cost breakdown

As of April 27, 2026, Wasabi lists its Pay as You Go object storage at $6.99 per TB/month, with no egress fees and no API request fees under its stated policy. Wasabi also says the plan has a 1 TB monthly minimum, which means if you use less than 1 TB, you still pay for 1 TB.

Simple examples:

  • 1 TB stored = about $6.99/month
  • 2 TB stored = about $13.98/month
  • 5 TB stored = about $34.95/month
  • 10 TB stored = about $69.90/month

Important note: Wasabi also publishes a free-egress policy with usage guidelines, so review their current terms before scaling hard.

Sources:

Quick shared-hosting tutorial

Step 1:
Create a subdomain such as files.yoursite.com

Step 2:
Upload the fyuhls script into a folder above your public web root if your host allows it

Example:
Code:
/home/yourusername/fyuhls/

The public folder is the only folder that should be web-accessible.

Step 3: Point your subdomain document root to:
Code:
/home/yourusername/fyuhls/public

Step 4: Create a MySQL database and database user in your hosting panel

Step 5: Run the installer at:
Code:
https://files.yoursite.com/install.php

After that, run:
Code:
https://files.yoursite.com/post_install_check.php

Step 6: In admin, configure:

  • Site settings
  • SMTP
  • Uploads
  • Downloads
  • Security
  • SEO

Step 7: Add Wasabi as your storage server

You will typically need:

  • Access key
  • Secret key
  • Bucket name
  • Region
  • Endpoint

For browser uploads to work properly with object storage, your bucket CORS should allow your site origin and allow:

  • PUT
  • GET
  • HEAD

And expose:

  • ETag

Step 8: Set up the cron job

Run this every minute:
Code:
* * * * * php /home/yourusername/fyuhls/src/Cron/Run.php

Step 9: Upload your files and generate your links

Once storage is configured:

  1. Upload your files
  2. Organize them into folders if needed
  3. Use the bulk link tools
  4. Generate download-page links, HTML links, or BBCode
  5. Paste them into your blog posts or forum posts

Example workflow for a blog owner

  1. Publish a new post on your blog
  2. Upload the file into fyuhls
  3. Generate the file page link or HTML link
  4. Paste that into the post
  5. Visitors click through to your own file host on your own domain

That means your blog stays clean, your downloads stay organized, and your links look more professional.

Why this setup works for WJunction users

A lot of people here are not trying to build some giant enterprise project. They want something practical:

  • Easy to launch
  • Works on normal hosting
  • Can be branded
  • Can connect to cheap storage
  • Can be monetized on your own terms
  • Lets them post their own downloads without giving all control to someone else

That is exactly the kind of gap fyuhls is meant to fill.

If you already have a blog and you are posting downloads, running your own file host makes a lot more sense than sending all of that traffic, branding, and revenue opportunity to a third-party service.

With fyuhls, you can launch your own branded file host on a shared host, connect it to Wasabi, upload your files, monetize the traffic around your own content, and stop relying on file hosts that can disappear or stop paying whenever they want.
Post automatically merged:

As a side note, I suggest running on a dedicated domain and not a subdomain. I see no reason to do it as a subdomain honestly.
 
Last edited:
4 comments
Back
Top