A simple and elegant web tool to list and backup public GitHub repositories as ZIP files. Built with HTML, CSS, and JavaScript, this project uses the GitHub API and a custom Cloudflare Worker to enable seamless repository downloads.
- List Public Repositories: Enter a GitHub username to view all public repositories with details like description, creation date, and language.
- Backup Repositories: Download individual repositories or all repositories as ZIP files in one go.
- Search Functionality: Filter repositories by name, description, or language.
- Dark/Light Theme: Toggle between dark and light themes for a better user experience.
- Multilingual Support: Switch between English and Persian (Farsi) interfaces.
- Responsive Design: Works smoothly on desktop and mobile devices.
- CORS Handling: Uses a Cloudflare Worker to bypass CORS restrictions for direct ZIP downloads.
Dark Theme | Light Theme |
---|---|
![]() |
![]() |
Try the tool live at: https://Argh94.github.io/GitHub-Backup-Tool/
- Open the tool in your browser (via GitHub Pages or locally).
- Enter a GitHub username in the input field.
- Click Check Public Repositories to list all public repositories.
- Use the search bar to filter repositories.
- Click Download All Repositories to download all repositories as a single ZIP file, or download individual repositories using the download button next to each.
- HTML5: For the structure of the web page.
- CSS3: For styling, including dark/light themes and responsive design.
- JavaScript: For interacting with the GitHub API and handling downloads.
- GitHub API: To fetch public repository data.
- Cloudflare Workers: To proxy ZIP downloads and bypass CORS restrictions.
- Font Awesome: For icons.
- Google Fonts: For
Vazir
(Persian) andRoboto
/IBM Plex Mono
(English) fonts.
To customize the tool:
-
Change Worker URL:
- Update the
WORKER_URL
injs/download.js
to point to your Cloudflare Worker. - Example:
const WORKER_URL = "https://git-zip.tahmasebimoein140.workers.dev/";
- Update the
-
Modify Styles:
- Edit
css/style.css
to change colors, fonts, or layouts.
- Edit
-
Add Translations:
- Update
js/lang.js
to add support for additional languages.
- Update
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes and commit (
git commit -m "Add your feature"
). - Push to the branch (
git push origin feature/your-feature
). - Open a Pull Request.
Please follow the Code of Conduct.
This project is licensed under the MIT License.
- GitHub API for providing repository data.
- Cloudflare Workers for enabling seamless downloads.
- Font Awesome for icons.
- Google Fonts for typography.
For questions or feedback, reach out to:
- GitHub: Argh94
- Email: your-email@e
ابزاری ساده و زیبا برای نمایش و بکاپ مخازن عمومی GitHub بهصورت فایل ZIP. این پروژه با HTML، CSS و جاوااسکریپت ساخته شده و از API GitHub و یک Worker سفارشی Cloudflare برای دانلود مخازن استفاده میکند.
- نمایش مخازن عمومی: نام کاربری GitHub را وارد کنید تا تمام مخازن عمومی با جزئیاتی مثل توضیحات، تاریخ ایجاد و زبان نمایش داده شوند.
- بکاپ مخازن: مخازن را بهصورت تکی یا همه را یکجا بهصورت فایل ZIP دانلود کنید.
- جستجو: مخازن را بر اساس نام، توضیحات یا زبان فیلتر کنید.
- تم تیره/روشن: بین تم تیره و روشن جابهجا شوید.
- پشتیبانی از دو زبان: رابط کاربری به فارسی و انگلیسی.
- طراحی پاسخگو: روی دسکتاپ و موبایل بهخوبی کار میکند.
- مدیریت CORS: استفاده از Cloudflare Worker برای دور زدن محدودیتهای CORS.
ابزار را بهصورت زنده تست کنید: https://Argh94.github.io/GitHub-Backup-Tool/
- ابزار را در مرورگر باز کنید (از GitHub Pages یا محلی).
- نام کاربری GitHub را وارد کنید.
- روی بررسی مخازن عمومی کلیک کنید تا مخازن نمایش داده شوند.
- از نوار جستجو برای فیلتر کردن مخازن استفاده کنید.
- برای دانلود همه مخازن روی دانلود همه مخازن یا برای دانلود تکی، روی دکمه دانلود کنار هر مخزن کلیک کنید.
- HTML5: برای ساختار صفحه.
- CSS3: برای استایلدهی، تمهای تیره/روشن و طراحی پاسخگو.
- جاوااسکریپت: برای ارتباط با API GitHub و مدیریت دانلودها.
- API GitHub: برای دریافت اطلاعات مخازن عمومی.
- Cloudflare Workers: برای پروکسی دانلودها و دور زدن CORS.
- Font Awesome: برای آیکونها.
- Google Fonts: برای فونتهای
Vazir
(فارسی) وRoboto
/IBM Plex Mono
(انگلیسی).
برای شخصیسازی:
-
تغییر URL Worker:
- در
js/download.js
، مقدارWORKER_URL
را به آدرس Worker خود تغییر دهید. - مثال:
const WORKER_URL = "https://git-zip.tahmasebimoein140.workers.dev/";
- در
-
تغییر استایلها:
- فایل
css/style.css
را برای تغییر رنگها، فونتها یا چیدمان ویرایش کنید.
- فایل
-
اضافه کردن زبانها:
- فایل
js/lang.js
را برای پشتیبانی از زبانهای جدید بهروزرسانی کنید.
- فایل
از مشارکت شما استقبال میکنیم! برای مشارکت:
- مخزن را Fork کنید.
- شاخه جدید بسازید (
git checkout -b feature/your-feature
). - تغییرات را اعمال و Commit کنید (
git commit -m "Add your feature"
). - به شاخه Push کنید (
git push origin feature/your-feature
). - Pull Request باز کنید.
لطفاً قوانین مشارکت را رعایت کنید.
این پروژه تحت مجوز MIT منتشر شده است.
- GitHub API برای دادههای مخازن.
- Cloudflare Workers برای دانلود بدون مشکل.
- Font Awesome برای آیکونها.
- Google Fonts برای تایپوگرافی.
برای سؤالات یا بازخورد:
- GitHub: Argh94
- ایمیل: [email protected]