How to Remotely Upload Video Files to Hydrax/Abyss: An Ideal Choice for Unlimited Free Video Hosting

Hydrax/Abyss offers a free and unlimited video hosting service that is an ideal choice for web developers and bloggers who want to share video content. In this guide, I’ll walk you through the process of remotely uploading video files from the Internet to Hydrax using a simple bash script.


Install Required Libraries

On CentOS:

Open your terminal and run the following commands to install curl and jq:

sudo yum update -y
sudo yum install curl jq nano -y

On Ubuntu:

Open your terminal and run:

sudo apt update
sudo apt install curl jq nano -y

Create and Configure the Bash Script

Using Nano Editor:

  1. Open the terminal and create a new script file: nano
  2. Paste the following script into the editor:

# Config

# Create uploaded.txt if not exists
[ ! -f uploaded.txt ] && touch uploaded.txt

# Function to upload file to Hydrax
upload_to_hydrax() {
  file_name=$(basename "$file_path")
  md5_hash=$(md5sum "$file_path" | awk '{print $1}')

  # Check if the file has already been uploaded
  if grep -q "$md5_hash" uploaded.txt; then
    echo "File already uploaded: $file_name"
    slug=$(grep "$md5_hash" uploaded.txt | awk -F '|' '{print $3}' | xargs)
    echo "Slug: $slug"

  # Notify that we're about to upload the file
  echo "Uploading file: $file_name ..."

  # Upload file
  response=$(curl -s -F "file=@$file_path" "$API_KEY")
  status=$(echo "$response" | jq -r '.status')
  slug=$(echo "$response" | jq -r '.slug')

  if [ "$status" == "true" ]; then
    echo "Successfully uploaded: $file_name"
    echo "Slug: $slug"
    echo "$md5_hash | $file_name | $slug" >> uploaded.txt
    rm -f "$file_path"
    echo "Failed to upload: $file_name"

# Function to download file and check HTTP status code
download_file() {
  http_status=$(curl -o /dev/null --silent --head --write-out '%{http_code}\n' "$url")

  if [[ "$http_status" -eq 403 || "$http_status" -eq 404 ]]; then
    echo "Failed to download due to HTTP status code: $http_status"
    return 1
  echo "Downloading $url..."
  curl -o "$file_name" "$url"

# Main script
if [[ "$1" == *".txt" ]]; then
  while read -r line; do
    [[ "$line" == \#* ]] && continue
    file_name=$(basename "$line")
    if download_file "$line" "$file_name"; then
      upload_to_hydrax "$file_name"
      sed -i "s|$line|# $line|" "$1"
  done < "$1"
  file_name=${2:-$(basename "$url")}
  if download_file "$url" "$file_name"; then
    upload_to_hydrax "$file_name"
  1. Replace YOUR_API_KEY with your actual API key from Hydrax.
  2. Save and exit by pressing Ctrl + O, then Ctrl + X.

Make the Script Executable:

Run the following command to make it executable:

chmod +x

How to Use the Script

  • To upload a single video file from a URL:
  • bash
  • To save the video file with a specific name and then upload:
  • bash video.mp4
  • To batch upload from a list in a text file:
  • bash / list.txt

In list.txt, you can have:


With these simple steps, you can automate the process of uploading video files from the Internet to Hydrax quickly and conveniently. I hope this guide helps you make the most of this free video hosting service.

Happy uploading!






Leave a Reply

Your email address will not be published. Required fields are marked *