Keeping it running

Troubleshooting

On this page

The usual problems, each with where to look and what to do.

First: System check and the logs

Admin → System check lists the server requirements, the folders, the scheduled tasks, security and the database (Schema version shows the version of the database beside that of the files). Its Application log box shows the end of the site's log.

When the panel does not open, read the same files by FTP in storage/logs/:

  • app.log: the site's own log. Errors are lines with ERROR:, often with the file and line. Failed e-mails and broken-off downloads are noted here too.
  • php-errors.log: errors that PHP itself reports.

The bell in the panel rings when new errors are written to the log.

A platform stops working

Platforms change their pages often. Open Admin → Platforms → Test a link, paste a link and press Test. The scraper runs without the cache and shows the formats it found. What was tried lists every attempt and the route each went through; copy those lines when you ask for support.

  • An error that starts with [blocked] or [unreachable]: the platform turned your server away. Go to the Proxy pool (see the next section).
  • Any other error, or no formats: the module needs an update. A new version of the script brings it (Admin → Updates); a single module ZIP is installed on Admin → Modules → Upload a module.

Meanwhile your visitors see Download failed. Please try again. or No downloadable content found.

YouTube: "Sign in to confirm you're not a bot"

YouTube refuses the address of your server. Try these in order:

  1. Admin → Platforms → YouTube: Go through a proxy should be When the server is refused (automatic), the default.
  2. Admin → Proxies → Proxy pool: give the server another way out. The page lists them, best first: Cloudflare WARP on a VPS, another address of the server (type Server address, an IPv6 block works too), a paid rotating proxy, or the free proxy finder.
  3. Admin → yt-dlp: Install yt-dlp and keep the yt-dlp Bridge plugin on. It steps in when the module gets nothing.

Check the result with Test a link and the box Pretend this server is refused (tries out the proxy pool). More in Proxies and routes and YouTube and yt-dlp.

Downloads stop after a minute

  • YouTube hands some addresses out that can only be read for their first minute. The module tests a byte near the end of each file and moves on to the next way of asking; when all of them are limited, Test a link says YouTube lets this address read only the first minute of its files right now. The cure is the same as for the bot message above.
  • Keep Settings → Downloads → Fast downloads (read the source in pieces) switched on, with Connections per download at 4.
  • Nginx needs fastcgi_read_timeout 3600; and fastcgi_buffering off; from nginx.conf.example; a shorter timeout cuts long downloads off.
  • app.log notes each cut with download broke off.

/admin answers "403 Forbidden"

  • A real folder called admin sits in the folder of the site (version 1.0 had one; some backups and other scripts leave one). Rename or delete it: the panel lives in app/admin and needs no admin folder.
  • The .htaccess is missing (upload it again from the package, Show hidden files on), or the Nginx block has $uri/ in try_files.
  • You can also move the panel: Settings → Advanced → Admin panel path.

"Back in a moment" (503)

Visitors see this for a few seconds while an update puts its files in place; the page reloads by itself. After two minutes the site is served again even if the update stopped half way. Then open Admin → Updates: it shows what happened. If the panel does not open, use rollback.php (see The update failed below).

A white page or "Something went wrong"

Something went wrong. The error has been logged. means the message is in storage/logs/app.log. A blank page with nothing there: look in php-errors.log.

  • This script needs PHP 8.1.0 or newer: choose a newer PHP in the hosting panel.
  • Files uploaded by hand over an older version: the next page view updates the database by itself; https://your-site/db_update.php does the same.
  • To see the message on screen for a moment, set define('AIOD_DEBUG', true); in config.php, reload, and set it back to false.

E-mails do not arrive

On Settings → E-mail:

  1. Fill in Send notices to and a Sender address on your own domain.
  2. Set Send through to SMTP (a mailbox of yours): mail sent with PHP's mail() often lands in spam. Port 587 with TLS or 465 with SSL.
  3. Press Save and send a test e-mail. The answer says A test e-mail was handed over … or The test e-mail could not be sent: with the reason.

Failed e-mails are written to app.log (E-mail to … failed), and the bell rings when confirmation e-mails for new members are not going out.

Locked out after too many sign-ins

More than ten sign-in attempts from one address within five minutes lock that address out until the five minutes are over. Meanwhile the page says Wrong e-mail or password. even for the right password. Wait five minutes and sign in once, with the Admin e-mail of your account. The bell reports the flood (Too many sign-in attempts for the admin panel); if it was not you, move the panel with Admin panel path.

Licence errors

  • Could not reach the License Center: the server cannot open HTTPS connections to license.faruk.bd. Ask your host to allow them. The site keeps working through the grace period.
  • This server could not check the certificate of the License Center (no CA bundle): ask the host to fix the certificates of cURL. The installer has a box for it; on a running site define('AIOD_LICENSE_INSECURE_SSL', true); in config.php does the same.
  • Registered to another domain or Expired: see The licence key.

While the licence is not in order only the License page of the panel opens. Visitors are not affected.

The cron job does not run

The Cron job box on System check says Not yet or Late. Press Test the cron line and read its answer. AIOD-CRON-OLD-PHP: use the full path of PHP from the Command line. Forbidden: the key is missing or wrong: copy the address again from System check. A host without cron: use an uptime monitor with the address, and keep the heartbeat on. See Scheduled jobs.

The update failed

Read the note on Admin → Updates and its What happened, step by step: in most cases the backup was put back by itself. When something is still wrong, press Restore → The files only on the newest backup. When the panel does not open, open the rescue address from storage/backups/<backup>/RESCUE.txt:

https://your-site/rollback.php?key=<rescue key>

Then update by hand as described in Updates and backups.

Still stuck

Press Open a support ticket on Admin → License, or open one from your account on license.faruk.bd. Give the address of the site, what you did, and the last lines of storage/logs/app.log or of What was tried.

← Back to AIO Downloader All chapters Updated 15 October 2026
Chat with Faruk
Faruk's Assistant Online — AI Powered