Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

کوتاه‌کننده لینک موکو

کوتاه‌کننده لینک سبک، سریع و واکنش‌گرا با PHP خالص و MySQL. این پروژه لینک‌های طولانی را به کدهای کوتاه ۷ حرفی تبدیل می‌کند و برای استفاده روی هاست‌های معمولی طراحی شده است.

امکانات

  • کوتاه‌سازی لینک با اعتبارسنجی آدرس
  • تولید کد کوتاه یکتا برای هر لینک
  • ریدایرکت مستقیم به آدرس اصلی
  • پنل مدیریت برای مشاهده، جستجو و حذف لینک‌ها
  • تغییر نام سایت، نام کاربری و رمز عبور مدیر از پنل
  • آمار تعداد لینک‌ها و کلیک‌ها
  • API برای دریافت اطلاعات لینک کوتاه
  • محدودسازی تعداد درخواست‌ها
  • محافظت CSRF برای عملیات کوتاه‌سازی
  • پشتیبانی از تم روشن و تاریک
  • طراحی واکنش‌گرا برای موبایل، تبلت و دسکتاپ
  • خروجی تصویری کارت در فرمت‌های PNG، JPG و WEBP
  • sitemap و robots پویا با تشخیص دامنه‌ی جاری
  • بدون فریم‌ورک PHP و بدون وابستگی npm

نیازمندی‌ها

  • PHP 8 یا جدیدتر
  • MySQL 5.7+ یا MariaDB
  • Apache با mod_rewrite
  • PDO و درایور pdo_mysql
  • دسترسی نوشتن برای فایل config.php هنگام نصب
  • دسترسی نوشتن برای پوشه tmp

نصب

  1. فایل‌های پروژه را در روت دامنه یا یک پوشه‌ی وب آپلود کنید.

  2. مطمئن شوید PHP و MySQL روی هاست فعال هستند.

  3. آدرس زیر را در مرورگر باز کنید:

    https://example.com/installer/
    
  4. نام سایت، دامنه، اطلاعات دیتابیس و حساب مدیر را وارد کنید.

  5. پس از نصب، تنظیمات در config.php ذخیره می‌شود و پوشه‌ی installer به‌صورت خودکار حذف می‌شود.

در نسخه‌ای که installer از آن حذف شده است، باید config.php را از یک نصب قبلی یا از فرایند نصب پروژه تهیه کنید.

تنظیمات پنل

پنل مدیریت در مسیر زیر قرار دارد:

https://example.com/admin/

پس از ورود، از بخش «تنظیمات سایت» می‌توانید موارد زیر را تغییر دهید:

  • نام سایت
  • نام کاربری مدیر
  • رمز عبور مدیر

برای حفظ رمز فعلی، فیلد رمز جدید را خالی بگذارید.

API

برای دریافت اطلاعات یک لینک کوتاه، یک درخواست GET به مسیر زیر ارسال کنید:

GET https://example.com/api?short=Ab3xY9z

نمونه پاسخ موفق:

{
	"status": "success",
	"data": {
		"short_url": "https://example.com/Ab3xY9z",
		"original_url": "https://example.org/a-long-url",
		"clicks": 12,
		"created_at": "2026-09-11 12:00:00"
	}
}

مقدار short باید یک کد ۷ حرفی شامل حروف انگلیسی و عدد باشد. API به‌صورت پیش‌فرض محدودیت درخواست دارد.

SEO

مسیرهای زیر به‌صورت پویا دامنه‌ی جاری را تشخیص می‌دهند:

https://example.com/sitemap.xml
https://example.com/robots.txt

صفحه اصلی نیز شامل meta description، canonical، Open Graph، Twitter Card و داده‌ی ساختاریافته‌ی JSON-LD است.

ساختار پروژه

.
├── admin/                 # پنل مدیریت
├── app/
│   ├── Controllers/       # کنترلرهای برنامه
│   ├── Core/              # هسته و اتصال دیتابیس
│   └── Models/            # مدل‌های دیتابیس
├── assets/
│   ├── css/               # استایل‌ها
│   ├── img/               # لوگو و تصاویر
│   └── js/                # منطق سمت کاربر
├── index.php              # صفحه اصلی و endpointهای اصلی
├── robots.php             # robots.txt پویا
├── sitemap.php            # sitemap.xml پویا
├── .htaccess              # rewrite و مسیرهای تمیز
└── config.php             # تنظیمات نصب، خارج از مخزن عمومی

امنیت

  • فایل config.php را در مخزن عمومی قرار ندهید.
  • رمز مدیر را فقط به‌صورت هش‌شده ذخیره کنید.
  • دسترسی نوشتن پوشه tmp را محدود نگه دارید.
  • پوشه‌های app، tmp و uploads نباید فهرست شوند.
  • قبل از انتشار، اطلاعات دیتابیس و فایل‌های محیطی را بررسی کنید.

مجوز

این پروژه تحت مجوز MIT منتشر می‌شود.

ساخته شده توسط موکو.

About

یک کوتاه‌کننده لینک سبک و سریع نوشته‌شده با PHP و MySQL

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages