Skip to content

theMahdiyarB/toolbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

🧰 جعبه‌ابزار آفلاین

بیش از ۱۱۰ ابزار کاربردی، سبک و آفلاین، قابل نصب روی موبایل و دسکتاپ.

🌐 پیاده‌سازی‌شده: mahdiyar.info


✨ ویژگی‌ها

  • آفلاین - Service Worker تمام فایل‌ها (به‌جز ابزار آنلاین) را در اولین بازدید کش می‌کند؛ پس از آن بدون اینترنت کار می‌کند.
  • قابل نصب (PWA) - به صفحه اصلی اندروید/iOS اضافه می‌شود یا به‌عنوان اپ دسکتاپ نصب می‌شود.
  • معماری تک‌فایلی - تمام اپلیکیشن در یک index.html است؛ بدون نیاز به build، npm یا فریمورک.
  • Material Design 3 - تم تاریک/روشن، چیدمان RTL، فونت وزیرمتن، بازخورد لمسی در موبایل.
  • فارسی‌محور - رابط کاربری کامل فارسی، تقویم خورشیدی (جلالی)، محتوای مخصوص ایران.
  • حریم خصوصی کامل - تمام پردازش‌ها در مرورگر انجام می‌شود؛ هیچ داده‌ای به سرور ارسال نمی‌شود و دیتابیسی وجود ندارد.

🛠️ ابزارها

🧮 محاسبه و ریاضی (۱۳ ابزار)

ابزار توضیح
ماشین‌حساب محاسبات ریاضی ساده و پیشرفته
حسابان مشتق، انتگرال، حد، نمودار تابع، نقاط ویژه (ریشه، اکسترموم، تقاطع)، خط مماس تعاملی
حل معادله معادلات خطی و دستگاه‌های ۲×۲ و ۳×۳
شاخص BMI توده بدنی با دسته‌بندی و راهنمایی
میانگین و آمار مجموع، کمینه، بیشینه، میانگین، انحراف معیار
محاسبه درصد تخفیف، رشد، تغییر درصدی، سهم
ماتریس جمع، ضرب، ترانهاده ماتریس‌ها
جدول ضرب تمرین تعاملی با سطح‌های متفاوت
محاسبه وام/قسط قسط ماهانه، کل بهره و جدول پرداختی
سود سپرده سود ساده و مرکب با اثر بهره‌ای
رهن و اجاره تبدیل دوطرفه بین رهن و اجاره
مالیات و تخفیف محاسبه ارزش افزوده، تخفیف‌ها و مالیات
تقسیم صورت‌حساب بین چند نفر با احتساب سرویس و تخفیف

⏱️ زمان و تقویم (۸ ابزار)

ابزار توضیح
کرونومتر شروع، مکث، ریست و ثبت لپ‌تایم‌ها
تایمر شمارش معکوس با اعلان صوتی
تایمر پومودورو چرخه کار (۲۵ دقیقه) و استراحت (۵ دقیقه)
شمارنده شمارنده دستی با ثبت لپ‌تایم
ساعت جهانی مناطق زمانی جهان با به‌روزرسانی زنده
تقویم خورشیدی نمایش ماهانه با مناسبت‌های ایرانی و تعطیلات
مبدل تاریخ تبدیل بین خورشیدی ↔ میلادی ↔ قمری
محاسبه سن سن دقیق به سال، ماه و روز (خورشیدی و میلادی)

📐 علوم و مهندسی (۵ ابزار)

ابزار توضیح
تبدیل واحد طول، وزن، مساحت، حجم، سرعت، دما، انرژی، فشار، زمان، زاویه و مصرف سوخت
هندسه محیط، مساحت، حجم اشکال هندسی + نمایش SVG تعاملی
جدول تناوبی ۱۱۸ عنصر شیمیایی + تمرین تعاملی
رمزگشایی رنگ مقاومت رمزگشایی رنگ مقاومت‌ها + محاسبه سری/موازی
محاسبه‌گر Subnet محاسبات CIDR، آدرس شبکه، broadcast و تعداد میزبان

✏️ متن و محتوا (۱۶ ابزار)

ابزار توضیح
ابزار متن تبدیل بزرگ/کوچک/عنوان، معکوس، مرتب‌سازی خطوط
آنالیز متن شمارش کاراکتر، کلمه، خط، جمله، زمان مطالعه
حذف فاصله فشرده‌سازی فاصله‌های اضافی
تک‌خطی کردن الحاق متن چندخطی به یک خط
لورم ایپسوم متن نمونه فارسی و لاتین
تبدیل Markdown رندر زنده + دانلود HTML
مقایسه دو متن نمایش Diff خط به خط
ساخت Slug تبدیل متن برای URL و نام فایل
کد مورس تبدیل متن ↔ کد مورس
اعداد رومی تبدیل دسیمال ↔ اعداد رومی
تبدیل اعداد فارسی/عربی/لاتین با تمام ترکیب‌ها
تصحیح خودکار متن رفع ی/ک و مشکلات کدگذاری اتوماتیک
یادداشت و چک‌لیست ذخیره در localStorage مرورگر
ایموجی تمام ایموجی‌های Unicode با جستجو
اِموتیکون متنی صورتک‌های ASCII و کائوموجی (۳۰۰+)
فرهنگ پارسی واژه‌نامه و معادل‌های فارسی (Pasban)

💻 توسعه (۱۹ ابزار)

ابزار توضیح
فرمت‌دهی JSON زیباسازی، فشرده‌سازی، مرتب‌سازی
فرمت‌دهی XML تورفتگی خودکار
HTML Escaper Escape و Unescape کاراکترهای HTML
هش رمزنگاری SHA-1/256/512 و MD5 (یک‌طرفه)
رمزنگاری متن AES-256-GCM با کلمات فارسی/انگلیسی و پشتیبانی Emoji
JWT Parser فک‌کردن توکن‌های JWT و نمایش هدر/پیلود
PX ↔ REM تبدیل واحد CSS
تست Regex هایلایت زنده تطابق‌های Regex
Cron Parser توضیح فارسی عبارات Cron
تجزیه URL جداسازی اجزای URL
تبدیل مبنا دسیمال، هگزادسیمال، باینری، اکتال
جدول ASCII جستجو در کدهای ASCII و نمایش کاراکتر
ابزار کدگذاری تبدیل متن ↔ باینری ↔ Hex ↔ URL Encoding
نمودار داده CSV/JSON به نمودارهای تعاملی (نوار، خط، پای)
مولد JSON آزمایشی تولید داده‌های ساختگی با طرح دلخواه
عدد به حروف تبدیل اعداد به نوشته فارسی
متا تگ SEO تولید OpenGraph و Twitter Card
مولد .htaccess تنظیم ریدایرکت، کش و HTTPS
کلیدهای RSA/ECC تولید کلید عمومی و خصوصی (PEM format)

⚡ مولدها و ابزارهای تصادفی (۱۴ ابزار)

ابزار توضیح
رمز عبور رمز امن با معیارهای دلخواه (حروف بزرگ، اعداد، نمادها)
UUID / ULID شناسه‌های یکتا استاندارد
عدد تصادفی در بازه دلخواه، تاس، سکه، چرخ شانس
IP تصادفی IPv4 و IPv6
رنگ تصادفی HEX + RGB + HSL
فونت‌های متنوع خط‌های تزیینی و فونت‌های خاص (copy-paste)
داده ساختگی نام، آدرس، ایمیل، تلفن فارسی واقع‌نما
کارت اعتباری تستی شماره معتبر بر اساس الگوریتم Luhn
مولد آواتار SVG تصادفی دانلودپذیر
تصویر جایگزین PNG با اندازه دلخواه
کد QR تولید QR با استایل‌دهی کامل (رنگ، شکل نقاط، سطح اصلاح خطا)
خواندن QR اسکن از دوربین یا آپلود تصویر
بارکد Code-128 تولید SVG آفلاین
حل مکعب روبیک حل اتوماتیک با شبیه‌سازی 3D

🎨 طراحی و رنگ (۱۱ ابزار)

ابزار توضیح
تبدیل رنگ HEX، RGB، HSL، CMYK، HSV با سنکرون دوطرفه
کنتراست WCAG بررسی دسترس‌پذیری رنگ AA/AAA
شبیه‌ساز کوررنگی پیش‌نمایش Protanopia، Deuteranopia، Tritanopia
گرادیان CSS ساخت گرادیان خطی/شعاعی با کد CSS آماده
سایه CSS box-shadow با کنترل تعاملی
گوشه‌گرد CSS border-radius زنده
نسبت ابعاد محاسبه ابعاد متناسب
نسبت طلایی محاسبه ابعاد با فی (φ = ۱.۶۱۸)
پیش‌نمایش SVG رندر کد SVG به صورت زنده
مولد Grid/Flexbox طراح بصری CSS Grid و Flexbox
پالت رنگ تعاملی استخراج رنگ‌ها از تصویر و ویرایش

📁 فایل - کاملاً آفلاین (۷ ابزار)

ابزار توضیح
فشرده‌سازی تصویر پردازش کامل در مرورگر (WebP، JPEG، PNG)
حذف پس‌زمینه تصویر حذف خودکار پس‌زمینه با هوش مصنوعی (ML.js)
ابزار PDF ادغام، تقسیم، مرتب‌سازی صفحات، استخراج تصویر، تبدیل تصویر به PDF - قالب‌بندی اصلی حفظ می‌شود
تصویر → Base64 تحویل به صورت data URI برای CSS و HTML
CSV ↔ JSON تبدیل دوطرفه
تقسیم و مرج فایل تقسیم فایل‌های بزرگ و ادغام با رمزگذاری اختیاری
واترمارک تصویر افزودن لوگو یا متن به عکس با رنگ واترمارک هوشمند (تاریک روی تصاویر روشن)

🛠️ ایران و سیستم (۶ ابزار)

ابزار توضیح
شماره ضروری اورژانس، پلیس، آتش‌نشانی و سازمان‌های دولتی
کد شهرها پیش‌شماره تلفن ثابت شهرهای ایران
جرایم رانندگی فهرست جرایم و نمرات منفی
نقشه مترو نقشه‌های تعاملی (تهران، شیراز، اصفهان، مشهد)
اطلاعات دستگاه صفحه‌نمایش، رزولوشن، حافظه، سیستم‌عامل
تشخیص User Agent تشخیص مرورگر و سیستم‌عامل

🎮 بازی و سرگرمی (۳ ابزار)

ابزار توضیح
۱۵ بازی کوچک دوز، مار، نقطه‌چین، حافظه، ۲۰۴۸، بریکاوت، مین‌روب، واکنش‌سنج، دارآویز، سیمون، پرنده، تتریس، پونگ، دایناسور، واژه (Wordle فارسی) + رفع مشکل تغییر بین بازی‌ها
ابر کلمات تصور کلمات فارسی و انگلیسی
دیوان شعر جستجو و مطالعه اشعار ۲۰+ شاعر ایرانی کلاسیک + پشتیبانی ساختار سلسله‌مراتبی (مثل رومی)

🧭 ابزارهای تخصصی (۸ ابزار)

ابزار توضیح
قطب‌نما جهت‌یابی با حسگر دستگاه (بدون GPS)
بوم کسب‌وکار Business Model Canvas تعاملی
ماتریس آیزنهاور اولویت‌بندی کارها (مهم/فوری)
ماتریس تصمیم رتبه‌بندی گزینه‌ها با وزن
استناد دانشگاهی تولید استناد APA، MLA، Chicago
محاسبه نمره زبان تبدیل IELTS ↔ TOEFL و محاسبه Overall
ابزار صوتی تولید فرکانس سینوسی و طیفی + آنالایز تعاملی
TTS (خواندن متن) تبدیل متن به گفتار (Text-to-Speech)

🌐 ابزارهای آنلاین (نیاز به اینترنت) (۳ ابزار)

ابزار توضیح
هواشناسی اطلاعات آب‌وهوایی و پیش‌بینی آب‌وهوا
ترجمه ترجمه متن بین زبان‌های مختلف
نرخ ارز نرخ تبدیل ارزهای جهانی بروز

🔗 درباره و نصب

ابزار توضیح
اشتراک‌گذاری QR کد پروژه و لینک مستقیم به هر ابزار
نصب اپ راهنمای PWA برای اندروید، iOS و دسکتاپ
آمار بازدید آمار عمومی بازدیدها، مرورگرها و دستگاه‌ها
درباره جعبه‌ابزار معرفی پروژه و سازنده

📁 ساختار پروژه

toolbox/
├── index.html                         ← تمام اپلیکیشن (تک‌فایل)
├── iran.html                          ← صفحه منابع اینترنت ایران
├── sw.js                              ← سرویس Service Worker (آفلاین)
├── manifest.json                      ← تنظیمات PWA (نصب اپ)
├── tts_server.py                      ← سرور TTS (Text-to-Speech)
├── tts.service                        ← فایل سروی سیستم‌عامل Linux
├── .gitignore                         ← فایل‌های نادیده‌گرفته شده در Git
├── LICENSE                            ← مجوز MIT
├── README.md                          ← این فایل
│
├── scripts/                           ← اسکریپت‌های کمکی
│   ├── parse_logs.py                  ← تحلیل لاگ‌های سایت
│   └── weather_proxy.py               ← پروکسی برای سرویس هواشناسی
│
├── static/
│   ├── main.css                       ← استایل‌های مشترک
│   ├── main.js                        ← کد جاوااسکریپت اصلی
│   ├── Vazirmatn-VF.ttf               ← فونت متغیر وزیرمتن
│   ├── favicon.png                    ← آیکون مرورگر
│   ├── icon-512.png                   ← آیکون PWA
│   ├── screenshot-desktop.png         ← نمایش صفحه دسکتاپ
│   ├── screenshot-mobile.png          ← نمایش صفحه موبایل
│   ├── emoticon_dict.json             ← مجموعه ۶۵ هزار اِموتیکون
│   ├── pasban.json                    ← فرهنگ لغت پارسبان
│   │
│   ├── holidays/                      ← تقویم تعطیلات ایران
│   │   ├── 1390.json … 1420.json      ← تعطیلات برای هر سال
│   │
│   ├── lib/                           ← کتابخانه‌های بیرونی
│   │   ├── math.js                    ← محاسبات ریاضی پیشرفته
│   │   ├── function-plot.js           ← رسم نمودار توابع
│   │   ├── jsQR.min.js                ← خواندن کد QR
│   │   ├── qr-code-styling.js         ← طراحی کد QR
│   │   ├── browser-image-compression.js ← فشرده‌سازی تصویر
│   │   ├── heic2any.min.js            ← تبدیل HEIC (Apple)
│   │   ├── background-removal.mjs     ← حذف پس‌زمینه (ML)
│   │   ├── ort-bundled.mjs            ← یک ONNX Runtime
│   │   ├── fa_IR-ganji-medium.onnx    ← مدل فارسی برای background removal
│   │   ├── fa_IR-ganji-medium.onnx.json
│   │   ├── pdf-lib.min.js             ← دستکاری PDF
│   │   ├── pdf.mjs                    ← رندر PDF
│   │   ├── pdf.worker.mjs             ← یک Web Worker برای PDF
│   │   ├── background-removal-data/   ← داده‌های مدل ML
│   │   │   └── [binary data files]
│   │
│   ├── maps/                          ← نقشه‌های مترو تعاملی
│   │   ├── tehran-metro.jpg/pdf
│   │   ├── shiraz-metro.jpg/pdf
│   │   ├── isfahan-metro.jpg/pdf
│   │   └── mashhad-metro.jpg/pdf
│   │
│   └── poems/                         ← مجموعه اشعار کلاسیک فارسی
│       ├── akhavan/ ferdowsi/ forugh/ hafez/ iraj/ jami/
│       ├── khayyam/ nima/ nizami/ rumi/ saadi/ sanai/
│       ├── shahriar/ shamlou/ sohrab-sepehri/ vahshi/
│       └── [poet]/
│           ├── bio.xhtml              ← زندگی‌نامه شاعر
│           ├── content.opf            ← متادیتای EPUB
│           ├── structure.json         ← ساختار سلسله‌مراتبی
│           ├── toc.ncx                ← فهرست مطالب
│           └── cat*.xhtml             ← فصل‌ها و بخش‌ها

📦 وابستگی‌ها

تمام وابستگی‌ها به‌صورت محلی بارگذاری می‌شوند - بدون CDN، بدون npm، بدون اینترنت در زمان اجرا.

کتابخانه نسخه کاربرد فایل
math.js 11.x محاسبات ریاضی پیشرفته و عبارات static/lib/math.js
function-plot 1.x رسم نمودار توابع ریاضی static/lib/function-plot.js
jsQR 1.4.0 خواندن و رمزگشایی کد QR static/lib/jsQR.min.js
qr-code-styling 1.x ساخت و استایل‌دهی کد QR static/lib/qr-code-styling.js
browser-image-compression 2.x فشرده‌سازی تصویر در مرورگر static/lib/browser-image-compression.js
heic2any 0.0.x تبدیل تصاویر HEIC (Apple) به فرمت‌های متداول static/lib/heic2any.min.js
background-removal.js 1.x حذف هوشمند پس‌زمینه تصویر با ML static/lib/background-removal.mjs
ONNX Runtime Web 1.x اجرای مدل‌های ONNX در مرورگر static/lib/ort-bundled.mjs
Model: Ganji - مدل فارسی برای تشخیص و حذف پس‌زمینه static/lib/fa_IR-ganji-medium.onnx
pdf-lib 1.17.1 ادغام، تقسیم، مرتب‌سازی و ساخت PDF - بدون rasterization static/lib/pdf-lib.min.js
PDF.js 3.x رندر صفحات PDF به canvas (فشرده‌سازی و استخراج تصویر) static/lib/pdf.mjs, static/lib/pdf.worker.mjs
jalaali-js 1.x تبدیل تقویم جلالی و هجری داخل index.html

منابع داده آفلاین

  • تقویم تعطیلات: فهرست کامل تعطیلات و مناسبت‌های ایران (۱۳۹۰-۱۴۲۰) در holidays/
  • اشعار کلاسیک: مجموعه ۲۰+ شاعر ایرانی با ۱۰۰۰+ فصل در poems/
  • مجموعه اِموتیکون: فهرست کامل ASCII و کائوموجی در static/lib/emoticon_dict.json
  • نقشه‌های مترو: نقشه‌های تهران، شیراز، اصفهان، مشهد در maps/

🚀 راه‌اندازی

روش ۱ - باز کردن مستقیم فایل

فایل index.html را دانلود کرده و در هر مرورگر مدرنی باز کنید. اکثر ابزارها از طریق file:// کار می‌کنند.

⚠️ برخی قابلیت‌ها مانند Service Worker و PDF.js به یک سرور HTTP واقعی نیاز دارند. روش ۲ را ببینید.

روش ۲ - سرور محلی (توصیه‌شده)

هر سرور استاتیکی کافی است. ساده‌ترین گزینه‌ها:

# پایتون (داخلی)
python3 -m http.server 8000

# Node.js
npx serve .

سپس آدرس http://localhost:8000 را در مرورگر باز کنید.

روش ۳ - استقرار روی GitHub Pages

راهنمای کامل را در بخش بعدی ببینید.


🌐 استقرار روی GitHub Pages

مرحله ۱ - ساخت ریپوزیتوری

۱. به github.com/new بروید ۲. نام ریپو را وارد کنید (مثلاً toolbox) ۳. دسترسی را روی Public بگذارید ۴. هیچ‌کدام از گزینه‌های Add README، .gitignore یا License را تیک نزنید ۵. روی Create repository کلیک کنید

مرحله ۲ - ارسال فایل‌ها

# در پوشه پروژه
git init
git add .
git commit -m "اولین کامیت - جعبه‌ابزار آفلاین"
git branch -M main
git remote add origin https://github.com/USERNAME_SHOMA/toolbox.git
git push -u origin main

مرحله ۳ - فعال کردن GitHub Pages

۱. در ریپو به SettingsPages بروید ۲. زیر Source گزینه Deploy from a branch را انتخاب کنید ۳. شاخه: main، پوشه: / (root) ۴. روی Save کلیک کنید ۵. پس از حدود ۶۰ ثانیه سایت شما در این آدرس در دسترس است: https://USERNAME_SHOMA.github.io/toolbox/

مرحله ۴ - دامنه اختصاصی (اختیاری)

اگر دامنه‌ای دارید (مثلاً tools.example.com):

۱. در پنل DNS خود یک رکورد CNAME اضافه کنید: tools.example.com → USERNAME_SHOMA.github.io ۲. در تنظیمات GitHub Pages دامنه سفارشی را وارد کنید ۳. گزینه Enforce HTTPS را فعال کنید ۴. در manifest.json مقادیر start_url و scope را به آدرس جدید تغییر دهید


🔄 به‌روزرسانی اپ

# تغییرات خود را اعمال کنید

# برای اینکه کاربران نسخه جدید را دریافت کنند،
# شماره نسخه کش را در sw.js افزایش دهید:
# از:  const CACHE_VERSION = 'toolbox-v3';
# به:  const CACHE_VERSION = 'toolbox-v4';

git add .
git commit -m "بروزرسانی: توضیح تغییرات"
git push

صفحات GitHub پس از هر push به‌طور خودکار در کمتر از ۶۰ ثانیه به‌روز می‌شود.


📱 نصب به‌عنوان اپ

اندروید (Chrome)

۱. سایت را در Chrome باز کنید ۲. روی منوی افزودن به صفحه اصلی ضربه بزنید ۳. یا منتظر بمانید تا بنر نصب خودکار ظاهر شود

آیفون و iOS (Safari)

۱. سایت را در Safari باز کنید ۲. روی دکمه اشتراک‌گذاری ضربه بزنید → افزودن به صفحه اصلی

دسکتاپ (Chrome/Edge)

۱. سایت را باز کنید ۲. روی آیکون نصب (⊕) در نوار آدرس کلیک کنید


🤝 مشارکت در پروژه

از مشارکت شما استقبال می‌کنیم. برای افزودن ابزار جدید:

  1. ریپو را Fork کنید
  2. HTML کارت ابزار را داخل <!-- /tool-container --> در index.html اضافه کنید
  3. جاوااسکریپت ابزار را در بلوک <script> اصلی اضافه کنید
  4. یک لینک‌کارت در بخش مناسب صفحه اصلی اضافه کنید
  5. یک آیتم در منوی کشویی <nav> اضافه کنید
  6. نام ابزار را به TOOL_TITLES اضافه کنید
  7. یک Pull Request باز کنید

لطفاً سبک کد را رعایت کنید - JavaScript خالص، بدون فریمورک، سازگار با RTL، قابل استفاده آفلاین.


📄 مجوز

مجوز MIT - جزئیات را در فایل LICENSE ببینید.

استفاده، تغییر و توزیع این پروژه - از جمله برای اهداف تجاری - آزاد است، به شرطی که اعلان حق مؤلف اصلی حفظ شود.


� خلاصه ابزارها

دسته تعداد
محاسبه و ریاضی ۱۳
زمان و تقویم ۸
علوم و مهندسی ۵
متن و محتوا ۱۶
توسعه ۱۹
مولدها و تصادفی ۱۴
طراحی و رنگ ۱۱
فایل (آفلاین) ۷
ایران و سیستم ۶
بازی و سرگرمی ۳
ابزارهای تخصصی ۸
ابزارهای آنلاین ۳
درباره و نصب ۴
کل ۱۱۳

✅ تقریباً ۹۵% ابزارها کاملاً آفلاین هستند و Service Worker آن‌ها را کش می‌کند.

📡 فقط ۳ ابزار (هواشناسی، ترجمه، نرخ ارز) نیاز به اینترنت دارند.


🙏 تشکر و قدردانی

  • وزیرمتن صابر رستی‌کردار - فونت زیبای فارسی مورد استفاده در سراسر پروژه
  • Material Design 3 توسط Google - سیستم طراحی و توکن‌های رنگی
  • گنجور (Ganjoor) - مجموعه جامع اشعار کلاسیک فارسی (۲۰+ شاعر از EPUB)

ساخته‌شده با ❤️ برای وب فارسی‌زبان

About

بیش از ۱۰۰ ابزار کاربردی؛ کاملاً آفلاین، بدون نیاز به اینترنت، قابل نصب روی موبایل و دسکتاپ.

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Contributors

Languages