Initial commit
Some checks are pending
ci / deploy (push) Waiting to run

This commit is contained in:
global 2025-03-05 18:05:33 +03:00
commit 2db814702f
425 changed files with 38650 additions and 0 deletions

32
.github/workflows/manual.yml vendored Normal file
View File

@ -0,0 +1,32 @@
name: ci
on:
push:
branches:
- master
- main
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: make prepare
- run: DEV=false mkdocs gh-deploy --force

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.cache
venv
site

7
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"recommendations": [
"redhat.vscode-yaml",
"aikebang.mkdocs-syntax-highlight",
"ms-python.python"
]
}

19
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,19 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "MkDocs server",
"type": "debugpy",
"request": "launch",
"program": "/home/codespace/.python/current/bin/mkdocs",
"args": ["serve", "--no-livereload"],
"env": {
"PYTHONPATH": "."
}
},
]
}

13
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,13 @@
{
"yaml.schemas": {
"https://squidfunk.github.io/mkdocs-material/schema.json": "mkdocs.yml"
},
"yaml.customTags": [
"!ENV scalar",
"!ENV sequence",
"!relative scalar",
"tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg",
"tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji",
"tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format"
]
}

18
Makefile Normal file
View File

@ -0,0 +1,18 @@
prepare:
pip install "mkdocs-material[imaging]==9.2.5" mkdocs-rss-plugin mkdocs-git-revision-date-localized-plugin mkdocs-git-authors-plugin mkdocs-awesome-pages-plugin mkdocs-nav-weight nltk mkdocs-include-markdown-plugin mkdocs-exclude
pip install -U --force-reinstall git+https://github.com/hiddify/mkdocs-static-i18n git+https://github.com/hiddify/mkdocs git+https://github.com/hiddify/lunr.py
sudo apt-get install -y libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev pngquant
docs:
@mkdocs serve --no-livereload
live:
@env DEV=true mkdocs serve
tw:
@npx tailwindcss -i ./input.css -o ./docs/assets/css/site.css
.PHONY: all test clean docs
idx = lunr(ref='location',fields=('title', 'text'),documents={'location':1},languages="fa",)

25
README.md Normal file
View File

@ -0,0 +1,25 @@
# docs.hiddify.com
## add abbrivations:
add abbrivations in includes/abbrivations.md it will included automatically
## example elements:
docs/all_elements.md
https://docs.hiddify.com/all_elements
## disable comments:
add comments: false on page meta
## page title:
the first `#` will be used as page title.
## order pages in menu:
add numberp before file name to order them
increase the number by 10 to be able to easily add new page in between them in future
## add annoncce
Edit file `overrides/main.html`
## add icon
use this link: https://squidfunk.github.io/mkdocs-material/reference/icons-emojis/

BIN
WarpFreeConnection.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 KiB

1
docs/CNAME Normal file
View File

@ -0,0 +1 @@
hiddify.com

260
docs/about-us.fa.md Normal file
View File

@ -0,0 +1,260 @@
---
title: درباره ما
hide:
- toc
- feedback
# - navigation
comments: false
weight: 5
---
<style>
@media screen and (min-width: 76.1875em) {.md-sidebar{display:none;}}
.md-content__button {
display: none;
}
</style>
<section class="products-section">
<main class="2xl:flex 2xl:justify-center">
<div class="px-3 md:px-10 lg:px-20 py-10 flex flex-col gap-40 2xl:max-w-[1920px]">
<section class="w-full grid grid-cols-1 lg:grid-cols-2 gap-10">
<div class="flex flex-col gap-10 w-full">
<h1 class="text-primaryText text-6xl font-semibold">داستان هیدیفای</h1>
<h2 class="text-primaryText text-4xl font-medium">راهکار آزادی اینترنت</h2>
<p class="text-secondaryText text-base font-medium">
در ایران، دسترسی به اینترنت به شدت سانسور می‌شود، حتی بیشتر پس از مرگ <a
href="https://en.wikipedia.org/wiki/Death_of_Mahsa_Amini" class="underline underline-offset-4">مهسا
امینی</a> و اعتراضات پس از آن.
در نتیجه، افراد عادی با محدودیت‌هایی در دسترسی به اینترنت باز مواجه شده‌اند.
</p>
<p class="text-secondaryText text-base font-medium">
پروژه هیدیفای به افراد راه‌هایی ساده و مقرون‌به‌صرفه برای دسترسی به اینترنت بدون محدودیت ارائه می‌دهد.
</p>
<div
class="w-fit lg:w-[486px] h-11 rounded-full border border-[#504A82] py-2 px-6 md:px-8 flex items-center justify-center">
<span class="text-secondaryText font-medium text-lg pr-3 md:pr-5">مخفی</span>
<span class="md:px-5 px-3">
<img src="/assets/add.svg" class="h-6 w-6" decoding="async" loading="lazy" />
</span>
<span class="text-secondaryText font-medium text-lg px-3 md:px-5">ساده</span>
<span class="lg:px-5 px-2 md:px-3">
<img src="/assets/right-arrow.svg" class="h-6 w-6 rotate-180" decoding="async" loading="lazy" />
</span>
<span class="text-secondaryText font-medium text-lg pl-3 md:pl-5">هیدیفای</span>
</div>
</div>
<div class="w-full">
<img src="/assets/web-game.svg" class="w-full mix-blend-multiply" decoding="async" loading="lazy" />
</div>
</section>
<section class="flex items-center justify-center py-10">
<div class="flex flex-col gap-10 w-full max-w-[1200px] items-center justify-center">
<!-- Timeline Header -->
<div class="flex items-center justify-center flex-col gap-3">
<h1 class="text-primaryText text-2xl font-semibold">داستان هیدیفای از تولد تا امروز</h1>
</div>
<!-- Timeline Grid -->
<div class="grid grid-cols-1 lg:grid-cols-4 w-[350px] lg:w-full gap-6">
<!-- Example Timeline Item -->
<div class="relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[6px] lg:-top-[6px] lg:left-[unset] bg-[#504A82]"></div>
<div class="w-full">
<div class="absolute left-0 lg:right-[unset] top-0 lg:top-[unset] lg:left-0 h-1/2 w-1/2 lg:h-full border-l-2 lg:border-l-0 lg:border-t-2 border-[#504A82]"></div>
<div class="py-5 w-full flex items-center justify-center flex-col">
<span class="text-black font-light text-sm mb-3">شهریور ۱۴۰۱</span>
<h3 class="text-secondaryText font-medium text-base">تولد هیدیفای</h3>
<p class="text-secondaryText text-sm">توسعه نسخه اولیه با الهام از Awesome Freedom</p>
</div>
</div>
</div>
<!-- Additional Timeline Items -->
<div class="relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[8px] lg:left-[unset] lg:-top-[8px] bg-[#504A82]"></div>
<div class="py-5 flex flex-col items-center lg:items-[unset]">
<span class="text-black font-light text-sm w-full flex items-center justify-center mb-3">آذر ۱۴۰۱</span>
<div class="w-[230px] ml-20 lg:ml-0 lg:w-fit">
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
انتشار HiddifyManager نسخه اولیه
</span>
<p class="text-secondaryText text-sm">شروع استفاده از روش‌های مختلف پروکسی</p>
</div>
</div>
</div>
<div class="relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[8px] lg:left-[unset] lg:-top-[8px] bg-[#504A82]"></div>
<div class="py-5 flex flex-col items-center lg:items-[unset]">
<span class="text-black font-light text-sm w-full flex items-center justify-center mb-3">تیر ۱۴۰۲</span>
<div class="w-[230px] ml-20 lg:ml-0 lg:w-fit">
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
ارائه نسخه ۷ HiddifyManager
</span>
<p class="text-secondaryText text-sm">افزودن پشتیبانی از پروتکل‌های جدید</p>
</div>
</div>
</div>
<!-- Continue with additional events -->
<div class="relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[6px] lg:-top-[6px] lg:left-[unset] bg-[#504A82]"></div>
<div class="w-full">
<div class="absolute left-0 lg:right-[unset] top-0 lg:top-[unset] lg:left-0 h-1/2 w-1/2 lg:h-full border-l-2 lg:border-l-0 lg:border-t-2 border-[#504A82]"></div>
<div class="py-5 w-full flex items-center justify-center flex-col">
<span class="text-black font-light text-sm mb-3">اکنون</span>
<h3 class="text-secondaryText font-medium text-base">در حال کار روی نسخه‌های بعدی</h3>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="flex flex-col items-center">
<h1 class="text-primaryText text-2xl font-semibold mb-10">تیم‌های ما</h1>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-5">
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/development.svg" class="w-full max-w-52 lg:max-w-[185px] mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">توسعه</h1>
<p class="text-secondaryText text-base font-medium">
توسعه‌دهندگان ما با <a href="https://github.com/hiddify/Hiddify-Manager"
class="underline underline-offset-4">هیدیفای منیجر</a> و <a
href="https://github.com/hiddify/hiddify-next" class="underline underline-offset-4">برنامه هیدیفای</a>
رویاهای ما را به واقعیت تبدیل می‌کنند.
</p>
</div>
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/design.svg" class="w-full max-w-52 mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">طراحی</h1>
<p class="text-secondaryText text-base font-medium">
طراحان ما تصاویر خیره‌کننده ایجاد کرده و UX محصولات هیدیفای را از طریق تست‌های کاربری بهبود می‌بخشند.
</p>
</div>
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/content.svg" class="w-full max-w-52 mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">محتوا</h1>
<p class="text-secondaryText text-base font-medium">
ما محتوای جذاب و آموزنده‌ای از جمله <a href="https://github.com/hiddify/Hiddify-Manager/wiki"
class="underline underline-offset-4">ویکی جامع ما</a> و <a href="https://www.youtube.com/@hiddify"
class="underline underline-offset-4">آموزش‌های یوتیوب</a> گردآوری می‌کنیم.
</p>
</div>
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/user-support.svg" class="w-full max-w-52 lg:max-w-[185px] mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">پشتیبانی کاربران</h1>
<p class="text-secondaryText text-base font-medium">
ما همیشه برای پاسخ به سوالات شما در <a href="https://t.me/hiddify_board"
class="underline underline-offset-4">گروه تلگرام</a> در دسترس هستیم.
</p>
</div>
</div>
</section>
<section class="flex flex-col gap-5">
<div class="flex flex-col gap-5 md:w-1/2">
<h1 class="text-primaryText font-semibold text-2xl">نیازمند همکاران</h1>
<p class="text-secondaryText text-base font-medium">
ما همیشه به دنبال متخصصانی هستیم که به بهبود هیدیفای کمک کنند. لطفا رزومه خود را برای ما ارسال کنید.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-10">
<div class="flex flex-col gap-5">
<div class="w-full flex items-center justify-end">
<button onclick="window.location.href='mailto:contribute@hiddify.com';"
class="bg-primary text-white border border-white px-4 py-2 rounded-xl">ایمیل بزنید</button>
</div>
<div class="flex items-center justify-center md:justify-end">
<img src="/assets/contributes.svg" class="w-full md:max-w-[420px] mix-blend-multiply" />
</div>
</div>
<div class="flex flex-col gap-10">
<div class="flex flex-col gap-5">
<h1 class="text-primaryText font-medium text-lg">تیم توسعه</h1>
<p class="text-secondaryText text-base font-medium">
به تیم توسعه پویا ما بپیوندید! ما به دنبال توسعه‌دهندگان پایتون، کاتلین و فلاتر هستیم تا با ما نوآوری
کنند.
آینده تکنولوژی را شکل دهید—بیایید با هم آن را بسازیم.
</p>
</div>
<div class="flex flex-col gap-5">
<h1 class="text-primaryText font-medium text-lg">تیم محتوا</h1>
<p class="text-secondaryText text-base font-medium">
آیا در ساخت ویدیوهای جذاب برای یوتیوب، ویرایش ویدیو و ایجاد محتوای بصری برای کانال‌های اجتماعی ماهر
هستید؟ ما شما را به بخشی از سفر خود در تعریف دوباره خلاقیت دعوت می‌کنیم.
</p>
</div>
<div class="flex flex-col gap-5">
<h1 class="text-primaryText font-medium text-lg">تیم طراحی</h1>
<p class="text-secondaryText text-base font-medium">
تجربه‌های کاربری را با تیم طراحی ما ارتقاء دهید! ما در جستجوی یک کارشناس طراحی UX/UI هستیم تا نقش مهمی
در بهبود تعاملات کاربران در محصولات مختلف هیدیفای ایفا کند. اگر دید طراحی خوبی دارید، بهبود سفرهای
کاربری
را دوست دارید و در UX/UI تخصص دارید، ما می‌خواهیم شما بخشی از نیروی خلاق ما باشید.
</p>
</div>
</div>
</div>
</section>
<section
class="flex flex-col gap-20 border-white border rounded-[35px] md:rounded-[100px] bg-[#D3CCF7] bg-opacity-90 p-5 md:p-20">
<div class="flex gap-5 flex-col">
<h1 class="text-primaryText font-semibold text-2xl">می‌خواهید از هیدیفای حمایت کنید؟</h1>
<p class="text-secondaryText text-base font-medium">
آسان‌ترین راه برای حمایت از ما کلیک روی ستاره (⭐) <br class="hidden md:block" /> در بالای صفحه <a
href="https://github.com/hiddify/Hiddify-Manager" class="underline underline-offset-4">گیت‌هاب</a> ما
است.
</p>
</div>
<div>
<p class="text-secondaryText text-base font-medium">
ما همچنین به حمایت مالی برای خدمات خود نیاز داریم. تمام <br class="hidden md:block" /> فعالیت‌های ما به
صورت
داوطلبانه انجام می‌شود و حمایت مالی <br class="hidden md:block" /> برای توسعه پروژه صرف خواهد شد. <br
class="hidden md:block" />
برای مشارکت، لطفا به <a href="https://github.com/hiddify/Hiddify-Manager/wiki/support"
class="underline underline-offset-4">صفحه کمک‌های مالی</a> ما در گیت‌هاب مراجعه کنید.
</p>
</div>
</section>
</div>
</main>
<script>
var menuBtn = document.getElementById("menu-btn");
var sideBar = document.getElementById("sidebar");
var closeSideBarBtn = document.getElementById("close-sidebar-btn")
menuBtn.addEventListener("click", function () {
sideBar.classList.remove("hidden");
sideBar.classList.add("flex");
});
closeSideBarBtn.addEventListener("click", function () {
sideBar.classList.remove("flex");
sideBar.classList.add("hidden");
});
</script>
</section>

285
docs/about-us.md Normal file
View File

@ -0,0 +1,285 @@
---
title: About Us
hide:
- toc
- feedback
# - navigation
comments: false
weight: 5
---
<style>
@media screen and (min-width: 76.1875em) {.md-sidebar{display:none;}}
.md-content__button {
display: none;
}
</style>
<section class="products-section">
<main class="2xl:flex 2xl:justify-center">
<div class="px-3 md:px-10 lg:px-20 py-10 flex flex-col gap-40 2xl:max-w-[1920px]">
<section class="w-full grid grid-cols-1 lg:grid-cols-2 gap-10">
<div class="flex flex-col gap-10 w-full">
<h1 class="text-primaryText text-6xl font-semibold">The Story of Hiddify </h1>
<h2 class="text-primaryText text-4xl font-medium">Internet Freedom Solution</h2>
<p class="text-secondaryText text-base font-medium">
In Iran, internet access is heavily censored, even more so after <a
href="https://en.wikipedia.org/wiki/Death_of_Mahsa_Amini" class="underline underline-offset-4">Mahsa
Amini's</a> death and
subsequent protests.
Consequently, everyday individuals have faced restrictions in accessing the open internet since then.
</p>
<p class="text-secondaryText text-base font-medium">
The Hiddify project aims to provide people with straightforward and affordable ways to access the
unrestricted
internet on a broad scale.
</p>
<div
class="w-fit lg:w-[486px] h-11 rounded-full border border-[#504A82] py-2 px-6 md:px-8 flex items-center justify-center">
<span class="text-secondaryText font-medium text-lg pr-3 md:pr-5">Hidden</span>
<span class="md:px-5 px-3">
<img src="/assets/add.svg" class="h-6 w-6" decoding="async" loading="lazy" />
</span>
<span class="text-secondaryText font-medium text-lg px-3 md:px-5">Simplify</span>
<span class="lg:px-5 px-2 md:px-3">
<img src="/assets/right-arrow.svg" class="h-6 w-6" decoding="async" loading="lazy" />
</span>
<span class="text-secondaryText font-medium text-lg pl-3 md:pl-5">Hiddify</span>
</div>
</div>
<div class="w-full">
<img src="/assets/web-game.svg" class="w-full mix-blend-multiply" decoding="async" loading="lazy" />
</div>
</section>
<section class="flex items-center justify-center">
<div class="flex flex-col gap-10 w-full max-w-[1200px] items-center justify-center">
<div class="flex items-center justify-center flex-col gap-3">
<h1 class="text-primaryText text-2xl font-semibold">Timeline</h1>
<h3 class="text-secondaryText text-lg font-medium">From beginning until now</h3>
</div>
<div class="grid grid-cols-1 lg:grid-cols-4 w-[350px] lg:w-full h-[800px] lg:h-fit">
<div class="relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[6px] lg:-top-[6px] lg:left-[unset] bg-[#504A82]"></div>
<div class="w-full">
<div
class="absolute left-0 lg:left-[unset] lg:right-0 bottom-0 lg:bottom-[unset] w-1/2 h-1/2 lg:h-full border-l-2 lg:border-l-0 lg:border-t-2 border-[#504A82]">
</div>
<div class="py-5 w-full flex items-center justify-center flex-col">
<span class="text-black font-light text-sm mb-3">Sep 2022</span>
<h3 class="text-secondaryText font-medium text-base">First Working Version</h3>
</div>
</div>
</div>
<div
class="border-l-2 lg:border-l-0 lg:border-t-2 border-[#504A82] relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[8px] lg:left-[unset] lg:-top-[8px] bg-[#504A82]"></div>
<div class="py-5 flex flex-col items-center lg:items-[unset]">
<span class="text-black font-light text-sm w-full flex items-center justify-center mb-3">Dec 2022</span>
<div class="w-[230px] ml-20 lg:ml-0 lg:w-fit">
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
Hiddify Manager v1
</span>
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
Provided 6 protocol
</span>
</div>
</div>
</div>
<div
class="border-l-2 lg:border-l-0 lg:border-t-2 border-[#504A82] relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[8px] lg:left-[unset] lg:-top-[8px] bg-[#504A82]"></div>
<div class="py-5 flex flex-col items-center lg:items-[unset]">
<span class="text-black font-light text-sm w-full flex items-center justify-center mb-3">Jun 2023</span>
<div class="w-[230px] ml-20 lg:ml-0 lg:w-fit">
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
Hiddify Manager v7
</span>
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
Added Accounting
</span>
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
Auto IP Selector
</span>
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
Client apps for different OSs
</span>
<span class="text-secondaryText font-medium text-base flex items-center gap-2">
<div class="h-2 w-2 bg-secondaryText rounded-full"></div>
Documention on Wiki
</span>
</div>
</div>
</div>
<div class="relative flex flex-col justify-center lg:justify-start lg:items-center">
<div class="rounded-full h-3 w-3 absolute -left-[6px] lg:-top-[6px] lg:left-[unset] bg-[#504A82]"></div>
<div class="w-full">
<div
class="absolute left-0 lg:right-[unset] top-0 lg:top-[unset] lg:left-0 h-1/2 w-1/2 lg:h-full border-l-2 lg:border-l-0 lg:border-t-2 border-[#504A82]">
</div>
<div class="py-5 w-full flex items-center justify-center flex-col">
<span class="text-black font-light text-sm mb-3">Now</span>
<h3 class="text-secondaryText font-medium text-base">Working on x and y</h3>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="flex flex-col items-center">
<h1 class="text-primaryText text-2xl font-semibold mb-10">Our teams</h1>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-5">
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/development.svg" class="w-full max-w-52 lg:max-w-[185px] mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">Development</h1>
<p class="text-secondaryText text-base font-medium">
Our developers bring our vision to life through <a href="https://github.com/hiddify/Hiddify-Manager"
class="underline underline-offset-4">Hiddify
Manager</a> and <a href="https://github.com/hiddify/hiddify-next"
class="underline underline-offset-4">Hiddify app</a>.
</p>
</div>
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/design.svg" class="w-full max-w-52 mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">Design</h1>
<p class="text-secondaryText text-base font-medium">
Our designers create stunning visuals and improve the UX of Hiddify products through usability testing.
</p>
</div>
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/content.svg" class="w-full max-w-52 mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">Content</h1>
<p class="text-secondaryText text-base font-medium">
We curate engaging and informative content including <a
href="https://github.com/hiddify/Hiddify-Manager/wiki" class="underline underline-offset-4">our
comprehensive Wiki </a> & <a href="https://www.youtube.com/@hiddify"
class="underline underline-offset-4">YouTube tutorials</a>.
</p>
</div>
<div
class="border-2 bg-white bg-opacity-25 border-white rounded-[32px] px-5 py-20 flex items-center justify-center flex-col">
<img src="/assets/user-support.svg" class="w-full max-w-52 lg:max-w-[185px] mb-5" />
<h1 class="font-medium text-lg text-primaryText mb-5">User Support</h1>
<p class="text-secondaryText text-base font-medium">
We are always available to help answer your questions in our <a href="https://t.me/hiddify_board"
class="underline underline-offset-4">Telegram group</a>.
</p>
</div>
</div>
</section>
<section class="flex flex-col gap-5">
<div class="flex flex-col gap-5 md:w-1/2">
<h1 class="text-primaryText font-semibold text-2xl">Contributors needed</h1>
<p class="text-secondaryText text-base font-medium">
We are always looking for specialists to help make Hiddify better. Please send us your resume.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-10">
<div class="flex flex-col gap-5">
<div class="w-full flex items-center justify-end">
<button onclick="window.location.href='mailto:contribute@hiddify.com';"
class="bg-primary text-white border border-white px-4 py-2 rounded-xl">Email Us</button>
</div>
<div class="flex items-center justify-center md:justify-end">
<img src="/assets/contributes.svg" class="w-full md:max-w-[420px] mix-blend-multiply" />
</div>
</div>
<div class="flex flex-col gap-10">
<div class="flex flex-col gap-5">
<h1 class="text-primaryText font-medium text-lg">Development team</h1>
<p class="text-secondaryText text-base font-medium">
Join our dynamic development team! We're actively seeking Python, Kotlin, and Flutter developers to
innovate
with us. Shape the future of technology—let's build it together.
</p>
</div>
<div class="flex flex-col gap-5">
<h1 class="text-primaryText font-medium text-lg">Content team</h1>
<p class="text-secondaryText text-base font-medium">
Are you skilled in creating captivating videos for YouTube, adept at video editing, and passionate about
crafting visually stunning content for social channels? We want you to be part of our journey in
redefining
creativity.
</p>
</div>
<div class="flex flex-col gap-5">
<h1 class="text-primaryText font-medium text-lg">Design team</h1>
<p class="text-secondaryText text-base font-medium">
Elevate user experiences with our design team! We're in search of a UX/UI design expert to play a
pivotal
role in enhancing user interactions across our diverse range of Hiddify products. If you have a keen eye
for
design, a passion for improving user journeys, and expertise in UX/UI, we want you to be a part of our
creative force.
</p>
</div>
</div>
</div>
</section>
<section
class="flex flex-col gap-20 border-white border rounded-[35px] md:rounded-[100px] bg-[#D3CCF7] bg-opacity-90 p-5 md:p-20">
<div class="flex gap-5 flex-col">
<h1 class="text-primaryText font-semibold text-2xl">Want to support Hiddify?</h1>
<p class="text-secondaryText text-base font-medium">
The easiest way to support us is to click on the star (⭐) <br class="hidden md:block" /> at the top of our
<a href="https://github.com/hiddify/Hiddify-Manager" class="underline underline-offset-4">GitHub page</a>.
</p>
</div>
<div>
<p class="text-secondaryText text-base font-medium">
We also need financial support for our services. All of <br class="hidden md:block" /> our activities are
done
voluntarily and
financial
support <br class="hidden md:block" /> will be spent on the development of the project. <br
class="hidden md:block" />
To contribute, please visit our <a href="https://github.com/hiddify/Hiddify-Manager/wiki/support"
class="underline underline-offset-4">donation page</a> on GitHub.
</p>
</div>
</section>
</div>
</main>
<script>
var menuBtn = document.getElementById("menu-btn");
var sideBar = document.getElementById("sidebar");
var closeSideBarBtn = document.getElementById("close-sidebar-btn")
menuBtn.addEventListener("click", function () {
sideBar.classList.remove("hidden");
sideBar.classList.add("flex");
});
closeSideBarBtn.addEventListener("click", function () {
sideBar.classList.remove("flex");
sideBar.classList.add("hidden");
});
</script>
</section>

483
docs/all_elements.md Normal file
View File

@ -0,0 +1,483 @@
---
no_title_header: true
headless: true
description: Welcome to the wiki page for the Hiddify project.
---
# [Admonitions](https://squidfunk.github.io/mkdocs-material/reference/admonitions)
!!! note "optional title"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! abstract "abstract"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! info "info"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! tip "tip"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! success "success"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! question "question"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! warning "warning"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! failure "failure"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! danger "danger"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! bug "bug"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! example "example"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! quote "quote"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
??? info "Collapsible info"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
???+ danger "expanded Collapsible danger"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
!!! info inline end "inline end info "
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
finibus, justo purus auctor massa, nec
semper lorem quam in massa.
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
!!! bug inline "inline bug "
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
finibus, justo purus auctor massa, nec
semper lorem quam in massa.
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla et euismod nulla.
Curabitur feugiat, tortor non consequat
# [Annotations](https://squidfunk.github.io/mkdocs-material/reference/annotations/)
Lorem ipsum dolor sit amet, (1) consectetur adipiscing elit.
{ .annotate }
1. :man_raising_hand: I'm an annotation!
## Annotation in Tab
=== "Tab 1"
Lorem ipsum dolor sit amet, (1) consectetur adipiscing elit.
{ .annotate }
1. :man_raising_hand: I'm an annotation!
=== "Tab 2"
Phasellus posuere in sem ut cursus (1)
{ .annotate }
1. :woman_raising_hand: I'm an annotation as well!
## [Footnote](https://squidfunk.github.io/mkdocs-material/reference/footnotes/#fn:1)
Lorem ipsum[^1] dolor sit amet, consectetur adipiscing elit.[^2]
[^1]: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
[^2]:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.
## [Button](https://squidfunk.github.io/mkdocs-material/reference/buttons/)
[Subscribe to our newsletter](#){ .md-button }
[Send :fontawesome-solid-paper-plane:](#){ .md-button }
[Subscribe to our newsletter](#){ .md-button .md-button--primary }
## [Code Block](https://squidfunk.github.io/mkdocs-material/reference/code-blocks/)
``` py title="bubble_sort.py"
def bubble_sort(items):
for i in range(len(items)):
for j in range(len(items) - 1 - i):
if items[j] > items[j + 1]:
items[j], items[j + 1] = items[j + 1], items[j] # (1)!
```
1. Annotate should be in comment section! # for bash and yaml and // for java
## [Tabs](https://squidfunk.github.io/mkdocs-material/reference/content-tabs/#grouping-code-blocks-c_1)
### Tabs in block
!!! example "tabs in block"
=== "Unordered List"
``` markdown
* Sed sagittis eleifend rutrum
* Donec vitae suscipit est
* Nulla tempor lobortis orci
```
=== "Ordered List"
``` markdown
1. Sed sagittis eleifend rutrum
2. Donec vitae suscipit est
3. Nulla tempor lobortis orci
```
# [Table](https://squidfunk.github.io/mkdocs-material/reference/data-tables/#column-alignment-center)
Remove `:` from the second row to align to left or right
| Method | Description |
| :---------: | :----------------------------------: |
| `GET` | :material-check: Fetch resource |
| `PUT` | :material-check-all: Update resource |
| `DELETE` | :material-close: Delete resource |
## [Diagram](https://squidfunk.github.io/mkdocs-material/reference/diagrams/)
``` mermaid
graph LR
A[Start] --> B{Error?};
B -->|Yes| C[Hmm...];
C --> D[Debug];
D --> B;
B ---->|No| E[Yay!];
```
``` mermaid
sequenceDiagram
autonumber
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
``` mermaid
stateDiagram-v2
state fork_state <<fork>>
[*] --> fork_state
fork_state --> State2
fork_state --> State3
state join_state <<join>>
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
```
``` mermaid
classDiagram
Person <|-- Student
Person <|-- Professor
Person : +String name
Person : +String phoneNumber
Person : +String emailAddress
Person: +purchaseParkingPass()
Address "1" <-- "0..1" Person:lives at
class Student{
+int studentNumber
+int averageMark
+isEligibleToEnrol()
+getSeminarsTaken()
}
class Professor{
+int salary
}
class Address{
+String street
+String city
+String state
+int postalCode
+String country
-validate()
+outputAsLabel()
}
```
# [Formatting](https://squidfunk.github.io/mkdocs-material/reference/formatting/)
Text can be {--deleted--} and replacement text {++added++}. This can also be
combined into {~~one~>a single~~} operation. {==Highlighting==} is also
possible {>>and comments can be added inline<<}.
{==
Formatting can also be applied to blocks by putting the opening and closing
tags on separate lines and adding new lines between the tags and the content.
==}
Text can be {--deleted--} and replacement text {++added++}. This can also be
combined into {~~one~>a single~~} operation. {==Highlighting==} is also
possible {>>and comments can be added inline<<}.
{==
Formatting can also be applied to blocks by putting the opening and closing
tags on separate lines and adding new lines between the tags and the content.
==}
- H~2~O
- A^T^A
++ctrl+alt+del++
## [Grid](https://squidfunk.github.io/mkdocs-material/reference/grids/)
<div class="grid cards" markdown>
- :material-clock-fast:{ .lg .middle } __Set up in 5 minutes__
---
Install [`mkdocs-material`](#) with [`pip`](#) and get up
and running in minutes
[:octicons-arrow-right-24: Getting started](#)
- :fontawesome-brands-markdown:{ .lg .middle } __It's just Markdown__
---
Focus on your content and generate a responsive and searchable static site
[:octicons-arrow-right-24: Reference](#)
- :material-format-font:{ .lg .middle } __Made to measure__
---
Change the colors, fonts, language, icons, logo and more with a few lines
[:octicons-arrow-right-24: Customization](#)
- :material-scale-balance:{ .lg .middle } __Open Source, MIT__
---
Material for MkDocs is licensed under MIT and available on [GitHub]
[:octicons-arrow-right-24: License](#)
</div>
<div class="grid" markdown>
=== "Unordered list"
* Sed sagittis eleifend rutrum
* Donec vitae suscipit est
* Nulla tempor lobortis orci
=== "Ordered list"
1. Sed sagittis eleifend rutrum
2. Donec vitae suscipit est
3. Nulla tempor lobortis orci
``` title="Content tabs"
=== "Unordered list"
* Sed sagittis eleifend rutrum
* Donec vitae suscipit est
* Nulla tempor lobortis orci
=== "Ordered list"
1. Sed sagittis eleifend rutrum
2. Donec vitae suscipit est
3. Nulla tempor lobortis orci
```
</div>
# [Icons](https://squidfunk.github.io/mkdocs-material/reference/icons-emojis/)
Search icons from https://squidfunk.github.io/mkdocs-material/reference/icons-emojis/
:smile:
:fontawesome-regular-face-laugh-wink:
# [Image](https://squidfunk.github.io/mkdocs-material/reference/images/#image-alignment-left)
![Image title](https://dummyimage.com/600x400/eee/aaa){ align=left }
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.
<figure markdown>
![Image title](https://dummyimage.com/600x400/){ width="300" }
<figcaption>Image caption</figcaption>
</figure>
# [List](https://squidfunk.github.io/mkdocs-material/reference/lists/)
1. Vivamus id mi enim. Integer id turpis sapien. Ut condimentum lobortis
sagittis. Aliquam purus tellus, faucibus eget urna at, iaculis venenatis
nulla. Vivamus a pharetra leo.
1. Vivamus venenatis porttitor tortor sit amet rutrum. Pellentesque aliquet
quam enim, eu volutpat urna rutrum a. Nam vehicula nunc mauris, a
ultricies libero efficitur sed.
2. Morbi eget dapibus felis. Vivamus venenatis porttitor tortor sit amet
rutrum. Pellentesque aliquet quam enim, eu volutpat urna rutrum a.
1. Mauris dictum mi lacus
2. Ut sit amet placerat ante
3. Suspendisse ac eros arcu
- Nulla et rhoncus turpis. Mauris ultricies elementum leo. Duis efficitur
accumsan nibh eu mattis. Vivamus tempus velit eros, porttitor placerat nibh
lacinia sed. Aenean in finibus diam.
* Duis mollis est eget nibh volutpat, fermentum aliquet dui mollis.
* Nam vulputate tincidunt fringilla.
* Nullam dignissim ultrices urna non auctor.
- [x] Lorem ipsum dolor sit amet, consectetur adipiscing elit
- [ ] Vestibulum convallis sit amet nisi a tincidunt
* [x] In hac habitasse platea dictumst
* [x] In scelerisque nibh non dolor mollis congue sed et metus
* [ ] Praesent sed risus massa
- [ ] Aenean pretium efficitur erat, donec pharetra, ligula non scelerisque

View File

@ -0,0 +1,89 @@
---
title: آموزش استفاده از HiddifyCli یا هیدیفای‌کامندلاین
---
<div markdown="1">
# آموزش استفاده از HiddifyCli یا هیدیفای‌کامندلاین
این اپ برای مواردی که دسکتاپ وجود ندارد مثل سرورها توسعه داده شده است و از همه پردازنده‌ها پشتیبانی می‌کند.
## دانلود
برای دانلود این اپ به [اینجا](https://github.com/hiddify/hiddify-core/releases) بروید و فایل مرتبط به پردازنده خود را دانلود کنید.
## اجرای کانفیگ یا لینک سابسکریپشن در HiddifyCli
برای استفاده از آن باید از کامند زیر استفاده شود.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file or sublink> -d <HiddifyApp config file or URL>
```
</div>
- برای اتصال به یک کانفیگ خاص کافیه کامند بالا را به شکل زیر اجرا کنید.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file>
```
</div>
در اینجا کانفیگ مورد نظر خود را به جای `<config file>` قرار دهید.
- همچنین می‌توانید یک سابسکریپشن را در اپ اجرا نمایید.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <sublink>
```
</div>
که در اینجا لینک سابسکریپشن خود را به جای `<sublink>` قرار دهید.
## اجرای کانفیگ یا لینک سابسکریپشن در HiddifyCli با تنظیمات HiddifyApp
برای این کار ابتدا می‌بایست تنظیمات مربوط به هیدیفای‌اپ خود را استخراج نمایید.
<details markdown="1"><summary><h3>استخراج تنظیمات HiddifyApp</h3></summary>
- برای این کار هیدیفای‌اپ را باز نمایید و وارد `Config Options` یا `تنظیمات پیکربندی` شوید و منوی سه نقطه را بزنید.
<div align=center>
<img alt="config-options" src="https://github.com/hiddify/hiddify.com/assets/125398461/f1822c80-1e2a-4752-aabe-8306b1124874" />
</div>
- حالا گزینه `صادر کردن تنظیمات به کلیپ‌بورد` را بزنید تا تنظیمات وارد کلیپ‌بورد شوند.
<div align=center>
<img alt="export configs" src="https://github.com/hiddify/hiddify.com/assets/125398461/b4ff8a34-4a8a-4d93-9c53-d2d928c095e6" />
</div>
- حالا می‌توانید این تنظیمات را در یک فایل با پسوند `json` ذخیره نمایید.
- همچنین می‌توانید این تنظیمات در گیتهاب قرار دهید و از لینک آن به عنوان `URL` استفاده نمایید.
</details>
### اجرای کانفیگ یا لینک سابسکریپشن در HiddifyCli با تنظیمات استخراج شده از HiddifyApp
- همچنین اگر بخواهید از تنظیمات هیدیفای‌اپ خود استفاده کنید می‌بایست از کامند زیر استفاده نمایید.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file or sublink> -d <HiddifyApp config file>
```
</div>
که دراینجا فایل کانفیگ یا ساب‌لینک خود را به جای `<config file or sublink>` قرار دهید و فایل تنظیمات مربوط به هیدیفای‌اپ را که در مرحله قبل استخراج کرده بودید را به جای `<HiddifyApp config file>` وارد نمایید.
- می‌توانید به جای فایل کانفیگ، لینک مربوط به تنظیمات در هیدیفای‌اپ را که فرضا در گیتهاب قرار داده‌اید، استفاده نمایید.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file or sublink> -d <HiddifyApp config URL>
```
</div>
که دراینجا فایل کانفیگ یا ساب‌لینک خود را به جای `<config file or sublink>` قرار دهید و لینک مربوط به تنظیمات مورد نظر در هیدیفای‌اپ را به جای `<HiddifyApp config URL>` قرار دهید.

View File

@ -0,0 +1,89 @@
---
title: How to use HiddifyCli
---
# How to use HiddifyCli or Hiddify command line
This app is developed for cases where there is no desktop, such as servers, and it supports all processors.
## Download
To download this app, go to [here](https://github.com/hiddify/hiddify-core/releases) and download the file related to your processor.
## Execution of config or subscription link in HiddifyCli
To use it, the following command should be used.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file or sublink> -d <HiddifyApp config file or URL>
```
</div>
- To connect to a specific configuration, just run the above command as follows.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file>
```
</div>
Here, put your desired configuration instead of `<config file>`.
- You can also run a subscription in the app.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <sublink>
```
</div>
Put your subscription link here instead of `<sublink>`.
## Run config or subscription link in HiddifyCli with HiddifyApp settings
For this, you must first extract the settings related to your HiddifyApp.
<details markdown="1"><summary><h3>Extract HiddifyApp settings</h3></summary>
- To do this, open HiddifyApp and enter `Config Options` and click the three-dot menu.
<div align=center>
<img alt="config-options" src="https://github.com/hiddify/hiddify.com/assets/125398461/36986f9b-cf00-4aef-a11e-c0461a48d3a8" />
</div>
- Now click the `Export Settings to Clipboard` option to save the settings to the clipboard.
<div align=center>
<img alt="export configs" src="https://github.com/hiddify/hiddify.com/assets/125398461/a76e3ed9-cd3d-4746-a5f1-8c8a379856c5" />
</div>
- Now you can save these settings in a file with `json` extension.
- You can also put these settings in Github and use its link as `URL`.
</details>
### Run config or subscription link in HiddifyCli with settings extracted from HiddifyApp
- Also, if you want to use your Hiddify app settings, you should use the following command.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file or sublink> -d <HiddifyApp config file>
```
</div>
Here, put your config file or sublink instead of `<config file or sublink>` and enter the configuration file related to HiddifyApp that you extracted in the previous step instead of `<HiddifyApp config file>`.
- Instead of the config file, you can use the link related to the settings in HiddifyApp that you put on Github.
<div dir="ltr" markdown="1">
```
HiddifyCli run -c <config file or sublink> -d <HiddifyApp config URL>
```
</div>
Here, put your config file or sublink instead of `<config file or sublink>` and put the link of the desired settings in HiddifyApp instead of `<HiddifyApp config URL>`.

View File

@ -0,0 +1,254 @@
---
title: آموزش استفاده از اینترنت آزاد در کلاینت‌های پشت روتر OpenWrt با HiddifyCli
---
<markdown ="1">
### آموزش استفاده از اینترنت آزاد در کلاینت‌های پشت روتر OpenWrt با HiddifyCli
در [مقاله دیگری](/fa/app/How-to-use-HiddifyCli-on-OpenWrt/) نحوه دانلود و نصب HiddifyCli روی روتر OpenWrt توضیح داده شد، در این مقاله به آموزش استفاده از اینترنت آزاد آن روتر برای کلاینت‌های پشت آن می‌پردازیم.
برای استفاده از اینترنت آزاد در کلاینت‌های پشت روتر به دو روش می‌توان اقدام نمود:
#### روش ۱. استفاده از پروکسی برای کلاینت‌های پشت روتر در OpenWrt
اگر می‌خواهید کلاینت‌های متصل به روتر (مانند لپ‌تاپ، گوشی و سایر دستگاه‌ها) از پروکسی **127.0.0.1:12334** استفاده کنند، می‌توانید تنظیمات زیر را اعمال کنید تا این پروکسی به عنوان سرویس مرکزی برای کل شبکه قابل دسترسی باشد.
---
##### ۱. **فعال کردن Port Forwarding در روتر**
پروکسی **127.0.0.1:12334** که روی روتر تنظیم شده، به صورت پیش‌فرض فقط در خود روتر قابل استفاده است. برای دسترسی کلاینت‌ها، این پورت باید روی آدرس LAN روتر نیز باز شود.
۱. **اضافه کردن قانون NAT:**
برای این کار، باید ترافیک ورودی روی این پورت را به پروکسی هدایت کنید:
<div dir="ltr">
```bash
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 12334 -j DNAT --to-destination 127.0.0.1:12334
iptables -A FORWARD -i br-lan -p tcp --dport 12334 -j ACCEPT
```
</div>
**توضیح:**
- `br-lan`: اینترفیس LAN روتر است.
- `12334`: پورت پروکسی HiddifyCli.
۲. **ذخیره قوانین Iptables:**
برای ذخیره قوانین و اعمال آنها پس از هر راه‌اندازی مجدد، دستور زیر را اجرا کنید:
```bash
service firewall restart
```
---
##### ۲. **اعلام تنظیمات به کلاینت‌ها**
دستگاه‌های متصل به روتر باید تنظیمات مربوط به **پروکسی دستی** را انجام دهند. در کلاینت‌ها، مراحل زیر را دنبال کنید:
###### **برای ویندوز:**
۱. وارد بخش **Settings** شوید.
۲. به **Network & Internet** > **Proxy** بروید.
۳. در قسمت **Manual proxy setup**:
- **Address** را روی آی‌پی LAN روتر (معمولاً `192.168.1.1`) تنظیم کنید.
- **Port** را `12334` قرار دهید.
۴. تنظیمات را ذخیره کنید.
###### **برای اندروید:**
۱. به تنظیمات شبکه Wi-Fi متصل شوید.
۲. روی شبکه Wi-Fi فعلی کلیک کرده و **Modify Network** یا **Advanced Settings** را باز کنید.
۳. **Proxy** را روی **Manual** تنظیم کنید:
<div dir="ltr">
- **Proxy hostname**: آی‌پی LAN روتر (مثلاً `192.168.1.1`).
- **Proxy port**: `12334`.
</div>
۴. تنظیمات را ذخیره کنید.
###### **برای iOS:**
۱. به تنظیمات Wi-Fi بروید.
۲. روی شبکه متصل شده کلیک کنید و **Configure Proxy** را روی **Manual** قرار دهید.
۳. آی‌پی روتر را در **Server** و پورت را `12334` وارد کنید.
۴. تنظیمات را ذخیره کنید.
###### **برای مک‌اواس (macOS):**
۱. به **System Preferences** > **Network** بروید.
۲. روی اتصال فعلی خود کلیک کرده و **Advanced** را انتخاب کنید.
۳. در تب **Proxies**، گزینه **SOCKS Proxy** را فعال کنید و:
<div dir="ltr">
- **SOCKS Proxy Server**: آی‌پی روتر (مثلاً `192.168.1.1`).
- **Port**: `12334`.
</div>
۴. تنظیمات را ذخیره کنید.
---
##### ۳. **تست اتصال کلاینت‌ها**
برای اطمینان از عملکرد پروکسی:
- مرورگر کلاینت را باز کرده و سعی کنید به سایتی که بدون پروکسی فیلتر است متصل شوید.
- اگر اتصال برقرار شد، تنظیمات به درستی اعمال شده است.
---
##### ۴. **نکات تکمیلی**
- اگر کلاینت‌ها نیاز به استفاده خودکار از پروکسی دارند، می‌توانید از یک فایل **PAC (Proxy Auto-Configuration)** استفاده کنید و آن را در تنظیمات کلاینت‌ها معرفی کنید.
- آدرس PAC:
<div dir="ltr">
```
http://192.168.1.1/proxy.pac
```
</div>
فایل PAC می‌تواند مسیرها و استثنائات دلخواهی را برای استفاده از پروکسی تعریف کند.
### روش ۲. راه‌اندازی روتینگ در OpenWrt برای عبور تمام ترافیک از **Socks5 Proxy**
برای هدایت تمام ترافیک اینترنت از طریق **Socks5 Proxy**، باید از ابزارهایی مانند `redsocks` یا `iptables` استفاده کنید. مراحل زیر را دنبال کنید:
---
#### ۱. **نصب ابزارهای مورد نیاز**
ابتدا ابزارهای لازم را نصب کنید. در OpenWrt، `redsocks` برای روتینگ ترافیک از طریق **Socks5 Proxy** استفاده می‌شود.
۱. به‌روزرسانی لیست بسته‌ها:
<div dir="ltr">
```bash
opkg update
```
</div>
۲. نصب `redsocks` و سایر ابزارها:
<div dir="ltr">
```bash
opkg install redsocks iptables-mod-nat-extra iptables-mod-tproxy
```
</div>
---
#### ۲. **پیکربندی Redsocks**
فایل پیکربندی `redsocks` را در مسیر `/etc/redsocks.conf` ایجاد کنید:
<div dir="ltr">
```bash
nano /etc/redsocks.conf
```
</div>
و محتوای زیر را در آن قرار دهید:
<div dir="ltr">
```plaintext
base {
log_debug = off;
log_info = on;
log = "syslog:daemon";
daemon = on;
user = "nobody";
group = "nogroup";
redirector = iptables;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 12345; # پورت محلی برای ترافیک پروکسی
ip = 127.0.0.1; # آدرس سرور Socks5
port = 12334; # پورت سرور Socks5
type = socks5;
}
```
</div>
**توضیح:**
<div dir="ltr">
- `local_ip` و `local_port`: آدرس و پورتی که Redsocks به آن گوش می‌دهد.
- `ip` و `port`: آدرس و پورت **Socks5 Proxy**.
</div>
---
#### ۳. **تنظیمات iptables برای روتینگ**
برای هدایت ترافیک به Redsocks، قوانین `iptables` را اضافه کنید:
۱. یک اسکریپت با نام `redsocks-routing` در `/etc/init.d/` ایجاد کنید:
<div dir="ltr">
```bash
touch /etc/init.d/redsocks-routing
chmod +x /etc/init.d/redsocks-routing
```
</div>
۲. اسکریپت را با محتوای زیر پر کنید:
<div dir="ltr">
```bash
#!/bin/sh /etc/rc.common
START=99
STOP=10
start() {
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
iptables -t nat -A PREROUTING -p tcp -j REDSOCKS
}
stop() {
iptables -t nat -F REDSOCKS
iptables -t nat -X REDSOCKS
}
```
</div>
۳. اسکریپت را فعال و اجرا کنید:
<div dir="ltr">
```bash
service redsocks-routing enable
service redsocks-routing start
```
</div>
---
#### ۴. **فعال‌سازی Redsocks**
برای فعال‌سازی و اجرای خودکار Redsocks:
<div dir="ltr">
```bash
service redsocks enable
service redsocks start
```
</div>
---
#### ۵. **بازنشانی روتر**
برای اعمال تغییرات، روتر را ری‌استارت کنید:
<div dir="ltr">
```bash
reboot
```
</div>
---
#### ۶. **بررسی عملکرد**
برای بررسی وضعیت و لاگ‌ها:
- وضعیت `redsocks`:
<div dir="ltr">
```bash
ps | grep redsocks
```
</div>
- لاگ‌های سیستم:
<div dir="ltr">
```bash
logread | grep redsocks
```
</div>
---
#### نتیجه:
پس از اجرای این تنظیمات:
- تمام ترافیک TCP از طریق **Socks5 Proxy** عبور می‌کند.
- ترافیک شبکه‌های داخلی (`192.168.0.0/16`, `10.0.0.0/8`) و آدرس‌های محلی از پروکسی عبور نمی‌کنند.
**نکته:** اگر به ترافیک UDP نیز نیاز دارید، باید از ابزارهای دیگری مانند `dns2socks` یا تنظیمات اضافی `redsocks` استفاده کنید.

View File

@ -0,0 +1,253 @@
---
title: How to Enable Free Internet Access for Clients Behind an OpenWrt Router Using HiddifyCli
---
<markdown ="1">
## **Enabling Free Internet Access for Clients Behind OpenWrt Router Using HiddifyCli**
In [another article](/app/How-to-use-HiddifyCli-on-OpenWrt/), we explained how to download and install HiddifyCli on an OpenWrt router. In this article, we will guide you on enabling free internet access for the clients behind that router.
There are two main methods to allow clients behind the router to use free internet:
---
## ** Method 1. Using Proxy for Clients Behind OpenWrt Router**
If you want devices connected to the router (like laptops, phones, and other devices) to use the proxy **127.0.0.1:12334**, you can configure the following settings to make this proxy accessible as a central service for the entire network.
---
#### **1.1 Enabling Port Forwarding on the Router**
The proxy **127.0.0.1:12334** configured on the router is, by default, only accessible on the router itself. To allow clients to access it, the port must be opened on the routers LAN interface.
1. **Add a NAT Rule:**
You need to direct incoming traffic on this port to the proxy:
```bash
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 12334 -j DNAT --to-destination 127.0.0.1:12334
iptables -A FORWARD -i br-lan -p tcp --dport 12334 -j ACCEPT
```
**Explanation:**
- `br-lan`: The LAN interface of the router.
- `12334`: HiddifyCli proxy port.
2. **Save the Iptables Rules:**
To save and apply the rules after every reboot, run the following command:
```bash
service firewall restart
```
---
#### **1.2 Configuring Proxy Settings on Clients**
Connected devices need to configure **manual proxy settings**. Follow these steps for different platforms:
- **Windows:**
1. Go to **Settings**.
2. Navigate to **Network & Internet** > **Proxy**.
3. Under **Manual proxy setup**:
- Set **Address** to the router's LAN IP (usually `192.168.1.1`).
- Set **Port** to `12334`.
4. Save the settings.
- **Android:**
1. Go to the Wi-Fi network settings.
2. Tap the connected network and select **Modify Network** or **Advanced Settings**.
3. Set **Proxy** to **Manual**:
- **Proxy hostname**: LAN IP of the router (e.g., `192.168.1.1`).
- **Proxy port**: `12334`.
4. Save the settings.
- **iOS:**
1. Open Wi-Fi settings.
2. Tap the connected network and set **Configure Proxy** to **Manual**.
3. Enter the router IP in **Server** and `12334` as the **Port**.
4. Save the settings.
- **macOS:**
1. Go to **System Preferences** > **Network**.
2. Select your current connection and click **Advanced**.
3. Under the **Proxies** tab, enable **SOCKS Proxy**:
- **SOCKS Proxy Server**: Router IP (e.g., `192.168.1.1`).
- **Port**: `12334`.
4. Save the settings.
---
#### **1.3 Testing Client Connections**
To verify the proxy settings:
- Open a web browser on the client device and attempt to access a website that is otherwise blocked without a proxy.
- If successful, the configuration was applied correctly.
---
#### **1.4 Additional Notes**
- If clients need automatic proxy configuration, you can use a **PAC (Proxy Auto-Configuration)** file and specify it in client settings.
**PAC File URL:**
```
http://192.168.1.1/proxy.pac
```
The PAC file allows you to define routes and exceptions for using the proxy.
---
## ** Method 2. Routing All Traffic via Socks5 Proxy in OpenWrt**
To route all internet traffic through **Socks5 Proxy**, you can use tools like `redsocks` or `iptables`. Follow these steps:
---
#### **2.1 Install Required Tools**
First, install the necessary tools. `redsocks` is used to route traffic through the **Socks5 Proxy**.
1. **Update Package List:**
```bash
opkg update
```
2. **Install Redsocks and Additional Tools:**
```bash
opkg install redsocks iptables-mod-nat-extra iptables-mod-tproxy
```
---
#### **2.2 Configure Redsocks**
Create a configuration file for `redsocks` at `/etc/redsocks.conf`:
```bash
nano /etc/redsocks.conf
```
Add the following content:
```plaintext
base {
log_debug = off;
log_info = on;
log = "syslog:daemon";
daemon = on;
user = "nobody";
group = "nogroup";
redirector = iptables;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 12345; # Local port for proxy traffic
ip = 127.0.0.1; # Socks5 server address
port = 12334; # Socks5 server port
type = socks5;
}
```
**Explanation:**
- `local_ip` and `local_port`: Redsocks listens here for traffic.
- `ip` and `port`: Address and port of the **Socks5 Proxy**.
---
#### **2.3 Iptables Rules for Traffic Routing**
Create a script named `redsocks-routing` in `/etc/init.d/`:
```bash
touch /etc/init.d/redsocks-routing
chmod +x /etc/init.d/redsocks-routing
```
Add the following content to the script:
```bash
#!/bin/sh /etc/rc.common
START=99
STOP=10
start() {
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
iptables -t nat -A PREROUTING -p tcp -j REDSOCKS
}
stop() {
iptables -t nat -F REDSOCKS
iptables -t nat -X REDSOCKS
}
```
Enable and start the script:
```bash
service redsocks-routing enable
service redsocks-routing start
```
---
#### **2.4 Enable Redsocks**
Enable and start `redsocks`:
```bash
service redsocks enable
service redsocks start
```
---
#### **2.5 Reboot the Router**
To apply the changes, reboot the router:
```bash
reboot
```
---
#### **2.6 Verify Routing**
Check if `redsocks` is working:
- Check process status:
```bash
ps | grep redsocks
```
- View system logs:
```bash
logread | grep redsocks
```
---
### **Conclusion**
By following these configurations:
1. **Proxy Method**: Clients behind the router can manually use the proxy for free internet.
2. **Routing Method**: All TCP traffic from the router and connected clients is routed through the **Socks5 Proxy**.
For UDP traffic, additional tools like `dns2socks` or advanced `redsocks` settings may be required.

View File

@ -0,0 +1,210 @@
---
title: چگونه می‌توان در این پروژه همکاری نمود
---
# چگونه می‌توان در این پروژه همکاری نمود
برای این کار کافیه شما git را روی سیستم خود نصب نمایید.
## نصب git روی سیستم
بر اساس سیستم عامل خود یکی از موارد زیر را باز نمایید.
<br>
<details markdown="1" dir=rtl><summary><b>ویندوز</b></summary>
- ابتدا به [اینجا](https://git-scm.com/download/win) بروید و نسخه مخصوص ویندوز را دانلود کنید.
- سپس فایل دانلود شده را از حالت فشرده خارج نمایید و برای نصب آن را ارا نمایید.
<div markdown="1" align=center>
![location-git-windows-download](https://github.com/hiddify/hiddify-config/assets/125398461/cd883726-f340-441c-bbca-df98f0389de2)
</div>
- سپس wizard نصب را تا انتها با `next` و `yes` دنبال کنید. پیشنهاد می‌شود تنظیمات دیفالت را تغییر ندهید.
<div markdown="1" align=center>
![read-and-accept-git-license-agreement](https://github.com/hiddify/hiddify-config/assets/125398461/c8220a90-4f88-451f-ac60-ca6280feef20)
</div>
به صورت دیفالت محل نصب git در این مسیر است.
<div markdown="1" dir=ltr>
```
C:/Program Files/Git
```
</div>
یعنی در مراحل بعد، پروژه‌ها در این مسیر قرار می‌گیرند. کار تمام است.
- برای چک کردن ورژن `git` نصب شده، `command prompt` را باز نمایید و دستور زیر را اجرا کنید.
<div markdown="1" dir=ltr>
```
git version
```
</div>
- به صورت دیفالت `git` در پوشه `Home` کاربر نصب می‌گردد.
</details>
<br>
<details markdown="1" dir=rtl><summary><b>مک</b></summary>
- ابتدا از [اینجا](https://sourceforge.net/projects/git-osx-installer/files/git-2.23.0-intel-universal-mavericks.dmg/download?use_mirror=autoselect) فایل نصب را دانلود کنید.
- سپس آن را جارا نمایید. نصب خیلی ساده‌ای دارد.
- بعد از نصب برای چک کردن ورژن `git` نصب شده، `terminal` را باز نمایید و دستور زیر را اجرا کنید.
<div markdown="1" dir=ltr>
```
git version
```
</div>
</details>
<br>
<details markdown="1" dir=rtl><summary><h3>لینوکس</h3></summary>
در اکثر توزیع‌های سیستم عامل لینوکس git به صورت دیفالت نصب است و نیاز نیست کار خاصی بکنید. اما اگر به هر دلیلی نیاز بود آن را نصب نمایید باید سرچ بزنید و کامند مناسب مربوط به آن توزیع را پیدا کنید. در ادامه کامند نصب مربوط به ند توزیع معروف قرار می‌گیرد.
<div markdown="1" dir=ltr>
**Debian/Ubuntu**
```
sudo apt-get install git-all
```
**Fedora**
```
dnf install git-all
```
**Arch**
````
pacman -Syu git-all
````
</div>
در همه توزیع‌ها git در مسیر Home کاربر نصب می‌گردد.
- برای چک کردن نسخه git نصب شده در ترمیال این دستور را اجرا کنید.
<div markdown="1" dir=ltr>
```
git version
```
</div>
</details>
## استفاده از git جهت توسعه پروژه هیدیفای
- ابتدا باید پروژه را fork کنید. برای این کار اگر قصد fork کردن پنل را دارید کامند زیر را اجرا کنید.
<div markdown="1" dir=ltr>
```
git clone https://github.com/hiddify/hiddify-app.git
```
</div>
- اندکی صبر کنید تا فایل‌های پروژه کپی شود.
<div markdown="1" align=center>
![Screenshot_20230807_172554](https://github.com/hiddify/hiddify-config/assets/125398461/b4730f3a-3f86-4792-8ccc-6a5789056c1d)
</div>
- حالا باید یک شاخه یا branch از پروژه درست کنید تا روی آن کار کنید. برای این کار ابتدا برای شاخه یک اسم انتخاب کنید. مثلا فرض کنیم اسم شاخه را `Hiddify-develop` انتخاب می‌کنیم. حالا دستورات زیر را اجرا کنید.
<div markdown="1" dir="ltr" >
```
git branch Hiddify-develop
git checkout Hiddify-develop
```
</div>
<div markdown="1" dir="rtl" >
- حالا تغییرات مورد نظر خود را روی فایل‌ها با استفاده از هر ابزاری اعمال کنید. توصیه می‌شود از `VSCode` استفاده نمایید.
- یادتون نره مسیر تمامی فایل‌ها در پوشه‌های گفته شده در مرحله نصب است.
-
- حالا وقتی تغییرات مورد نظر خود را اعمال نمودید باید تغییرات را در `git` نیز ثبت کنید. بنابراین در ترمینال کامند‌های زیر را به ترتیب اجرا نمایید.
- ابتدا با کامند زیر انجام تغییرات را به `git` اعلام کنید.
<div markdown="1" dir=ltr>
```
git add
```
</div>
- سپس تغییرات را کامیت نمایید. نیاز است که در اینجا یک توضیح برای تغییرات اعلام نمایید.
<div markdown="1" dir=ltr>
```
git commit -m "a short description of the change"
```
</div>
مثلا اگر تغییرات مدنظر شما مربوط به بخش توسعه بات باشد می‌توان چنین توضیحی نوشت.
<div markdown="1" dir=ltr>
```
git commit -m "a short description of the change"
```
</div>
هیچ مشکلی ندارد که توضیحات این بخش زیاد باشد و اتفاقا توصیه می‌شود تا جای ممکن توضیحات کامل و جامع باشد.
در این مرحله تغییرات با موفقیت وارد سیستم git شد. حالا باید تغییرات را به سمت GitHub بفرستید. برای این کار دستور زیر را اجرا کنید.
<div markdown="1" dir=ltr>
```
git push
```
</div>
در اینجا مشخصات اکانت شما در گیتهاب پرسیده می‌شود. نیاز است `username` و `password` خود در گیتهاب را وارد نمایید.
- حالا وارد اکانت خود در گیتهاب شوید و پروژه فورک شده را باز نمایید.
مسیری به شکل زیر دارد:
<div markdown="1" dir=ltr>
`https://github.com/<your_username>/hiddify-app`
</div>
- حالا یک banner مشاهده می‌کنید که به شما اعلام می‌کند که branch شما از پروژه اصلی یک مرحله جلوتر است. برای اینکه تغییرات با پروژه اصلی merge یا ادغام شود `Contribute` را کلیک کنید و `Open a pull request` را بزنید.
- کار تمام است تغییرات به پروژه ارسال شد. حالا پس از تایید مدیر پروژه تغییرات شما به پروژه اضافه می‌گردد.
<br>
**این برنامه با استفاده از [Flutter](https://flutter.dev/) و [Go](https://go.dev/) توسعه یافته است. برای اطلاعات بیشتر در خصوص توسعه می‌توانید [دستورالعمل‌های مشارکت](https://github.com/hiddify/hiddify-app/blob/main/CONTRIBUTING.md) در پروژه ما را مطالعه نمایید.**

View File

@ -0,0 +1,130 @@
---
title: How to contribute to this project
---
# How to contribute to this project
For this, you just need to install git on your system.
## Install git on the system
Open one of the following based on your operating system.
<br>
<details markdown="1" dir=ltr><summary><b>Install git on Windows</b></summary>
- First, go [here](https://git-scm.com/download/win) and download the Windows version.
- Then unzip the downloaded file and install it.
- Then follow the installation wizard to the end with `Next` and `Yes`. It is recommended not to change the default settings.
- By default, the installation location of `git` is in this path.
`C:/Program Files/Git`
- It means that in the next stages, the projects will be placed in this direction. The work is done.
- To check the version of `git` installed, open `command prompt` and run the following command.
```
git version
```
- By default, `git` is installed in the user's `Home` folder.
</details>
<br>
<details markdown="1" dir=ltr><summary><b>Install git on Mac</b></summary>
- First, go [here](https://sourceforge.net/projects/git-osx-installer/files/git-2.23.0-intel-universal-mavericks.dmg/download?use_mirror=autoselect) and download the Mac version.
- Then run it. It has a very simple installation.
- After installation, to check the installed `git` version, open the terminal and run the following command.
```
git version
```
</details>
<br>
<details markdown="1" dir=ltr><summary><b>Install git on Linux</b></summary>
In most distributions of the Linux operating system, git is installed by default and you do not need to do anything special. But if you need to install it for any reason, you should search and find the appropriate command for that distribution. Next is the installation command related to the famous Ned distribution.
_**Debian/Ubuntu**_
```
sudo apt-get install git-all
```
_**Fedora**_
```
dnf install git-all
```
_**Arch**_
```
pacman -Syu git-all
```
In all distributions, git is installed in the `Home` path of the user.
- Run this command to check the version of git installed in the terminal.
```
git version
```
</details>
## Using `git` to develop Hiddify app
- First you need to `fork` the project. For this, if you intend to `fork` the project, execute the following command.
```
git clone https://github.com/hiddify/hiddify-app.git
```
- Wait a while for the project files to be copied.
- Now you have to create a branch of the project to work on it. To do this, first choose a name for the branch. For example, suppose we choose the branch name `Hiddify-develop`. Now run the following commands.
```
git branch Hiddify-develop
git checkout Hiddify-develop
```
- Now apply your desired changes to the files using any tool. It is recommended to use `VSCode`.
- Do not forget that the path of all the files in the mentioned folders is in the installation stage.
- Now, when you have applied your desired changes, you must also register the changes in `git`. Therefore, run the following commands in the terminal in order.
- First, announce the changes to `git` with the following command.
```
git add
```
- Then commit the changes. You need to provide an explanation for the changes here.
```
git commit -m "a short description of the change"
```
For example, if the changes you are looking for are related to the core department, you can write such an explanation.
```
git commit -m "add some features to the core"
```
There is no problem if the explanations of this section are many, and by the way, it is recommended that the explanations be as complete and comprehensive as possible.
At this point, the changes have been successfully imported into the `git` system. Now you need to push the changes to `GitHub`. To do this, run the following command.
```
git push
```
Here, your GitHub account details will be asked. You need to enter your `username` and `password` on GitHub.
- Now log in to your GitHub account and open the forked project. It has a path as follows:
`https://github.com/<your_username>/hiddify-app`
- Now you will see a `banner` that informs you that your `branch` is one step ahead of the main project. To `merge` the changes with the main project, click `Contribute` and `Open a pull request`.
- It's done, the changes have been sent to the project. Now, after the approval of the project manager, your changes will be added to the project.
<br>
**The app is developed using [Flutter](https://flutter.dev) and [Go](https://go.dev). For more information you can read through our [Contribution Guidelines](https://github.com/hiddify/hiddify-app/blob/main/CONTRIBUTING.md) for development.**

View File

@ -0,0 +1,265 @@
---
title: آموزش نصب هیدیفای‌‌اپ
---
<div markdown="1" dir="rtl">
# آموزش نصب هیدیفای‌‌اپ
این نرم‌افزار یک کلاینت مالتی‌پلتفرم مبتنی بر Sing-box است که به عنوان یک ابزار عمومی برای پروکسی عمل می‌کند. این برنامه طیف گسترده‌ای از قابلیت‌ها را ارائه می‌دهد. همچنین از تعداد زیادی پروتکل پشتیبانی می‌کند. این برنامه رایگان، بدون آگهی و منبع باز است و ابزاری امن و مطمئن برای دسترسی به اینترنت رایگان فراهم می کند.
🚀 از رنج وسیعی از پروتکل‌ها پشتیبانی می‌کند از جمله:
**ECH, Sing-box, V2ray, Xray, Vless, Vmess, Trojan, Reality, gRPC, WebSocket, Quic, TUIC, Hysteria, Hysteria2, Shadowtls, SSH, Clash, Clash meta**
🟡 از سابسکریپشن‌های مختلف نیز پشتیبانی می‌کند مثل: **کلش، سینگ‌باکس و شدوساکس**
**[مشاهده قابلیت‌های دیگر](https://github.com/hiddify/hiddify-next/blob/main/README_fa.md#-%D8%A7%D9%85%DA%A9%D8%A7%D9%86%D8%A7%D8%AA-%D8%A7%D8%B5%D9%84%DB%8C)**
برای مشاهده آموزش مربوط به این برنامه این آموزش را دنبال کنید.
## نصب نرم‌افزار
بر اساس سیستم عامل خود یکی از موارد زیر را انتخاب نمایید.
<br>
<div markdown="1" align=center>
<a href="https://play.google.com/store/apps/details?id=app.hiddify.com"><img width=20% src="https://github.com/hiddify/hiddify-next/blob/main/docs/google-play-badge.png"></a>
<br>
<br>
<a href="https://www.youtube.com/watch?v=vUaA1AEUy1s"><img width="32%" src="https://github.com/hiddify/hiddify-next/assets/125398461/0f1e88a7-ecf0-4ba7-8c12-f24f70c68c3d" /></a>
</div>
<details markdown="1"> <summary><b>نصب روی ویندوز</b> (کلیک کنید)</summary>
* ابتدا برنامه را از [اینجا](https://app.hiddify.com/win) دانلود کنید.
* حالا فایل دانلود شده را اجرا نمایید. این پیغام امنیتی ویندوز ظاهر می‌شود که شما باید `Yes` را کلیک کنید.
<div markdown="1" align=center>
<img width=30% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e4174de0-10b5-4b46-9baf-2e302162da5a">
</div>
* ممکن است در ویندوز ۱۱ اخطار به این شکل نمایش داده شود، روی `More info` بزنید.
<div markdown="1" align=center>
<img width=40% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/8a3bc452-004d-4be7-a9bb-21aad90db7fc">
</div>
* سپس `Run Anyway` را بزنید تا فایل باز شود.
<div markdown="1" align=center>
<img width=40% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/36293a7c-f56a-4811-8302-474874654b70">
</div>
* در مرحله بعد محل نصب برنامه را نمایش می‌دهد که در صورت نیاز می‌توانید آن را تغییر دهید و `Next` کنید.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/7196a86f-3f74-4177-b611-19b484e0da9a">
</div>
* در این مرحله تنظیمات بیشتر را از شما می‌خواهد مثل ایجاد Shortcut روی دسکتاپ و فعال‌سازی اجرای خودکار برنامه. می‌توانید گزینه‌های مورد نظر خود را انتخاب کنید و `Next` را بزنید.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/bcac0d1e-f8d8-46d9-bedc-4fe04571a504">
</div>
* حالا کافیه `Install` را بزنید تا برنامه شروع به نصب شود.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/980314df-c907-407c-aa4d-a94d4d492b66">
</div>
* بدین شکل برنامه شروع به نصب می‌کند.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/1aee90d0-dde1-4bf8-b673-058fc0e9204a">
</div>
* در پایان نصب، پنجره زیر ظاهر می‌شود که باید روی `Finish` بزنید.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/4a8849c5-24f0-4376-be4d-355eb754f395">
</div>
* حالا برنامه اجرا می‌شود. اگر اجرا نشد، Shortcut آن در دسکتاپ را اجرا نمایید.
* اولین بار از شما تنظیمات مربوط به زبان و محل سکونت شما را می‌پرسد. برای تغییر زبان روی `Language` بزنید و برای تغییر منطقه روی `Region` بزنید و گزینه‌های مورد نظر خود را انتخاب نمایید و برنامه را اجرا کنید.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/0d50c68f-d6e5-45f3-b86a-0f0217b29867">
</div>
* `Enable Analytics` کمک می‌کند تا دیتای لازم برای بهبود این برنامه جمع‌آوری شود.
* در مرحله بعد برنامه باز می‌شود.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/9ff5d21c-7fbf-4183-96bb-acd12cebf2a8">
</div>
* دفعات بعد که برنامه را اجرا می‌کنید همیشه با این صفحه روبرو خواهید شد و مراحل قبلی نیاز نخواهد بود.
> نکته: همانطور که می‌دانید، ویندوز 7 دیگر توسط مایکروسافت پشتیبانی نمی‌شود. بنابراین ممکن است هنگام نصب این برنامه نیز روی ویندوز 7 به مشکل بخورید. احتمال دارد با نصب [این پکیج](https://www.google.com/search?q=%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF+visual+c%2B%2B&sca_esv=570966760&source=hp&ei=IsIeZbLFIsyp5NoPy_2B4As&iflsig=AO6bgOgAAAAAZR7QMkjEd1aXYyjVQxAzwcErW5_B47mY&oq=%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF+visual&gs_lp=Egdnd3Mtd2l6IhPYr9in2YbZhNmI2K8gdmlzdWFsKgIIADIFEAAYgAQyBRAAGIAEMgUQABiABDIFEAAYgAQyBRAAGIAESNY_UP4KWNcycAR4AJABAJgBigOgAZMuqgEEMy0xNrgBA8gBAPgBAagCCsICEBAuGAMYjwEY5QIY6gIYjAPCAhAQABgDGI8BGOUCGOoCGIwDwgILEAAYgAQYsQMYgwHCAgsQLhiABBixAxiDAcICERAuGIAEGLEDGIMBGMcBGNEDwgILEC4YigUYsQMYgwHCAgsQABiKBRixAxiDAcICDhAuGIAEGLEDGMcBGNEDwgIIEAAYgAQYsQPCAgsQLhiDARixAxiABMICERAuGIMBGMcBGLEDGNEDGIAEwgIIEC4YsQMYgATCAgUQLhiABMICBBAAGAM) مشکل شما حل شود اما گر باز هم نتوانستید برنامه را نصب کنید، پیشنهاد ما استفاده از ویندوز 10 با معماری 64 بیتی می‌باشد.
</details>
<br>
<details markdown="1"> <summary><b>نصب روی مک</b> (کلیک کنید)</summary>
* ابتدا برنامه را از [اینجا](https://app.hiddify.com/mac) دانلود کنید.
* سپس فایل دانلود شده را در `Downloads` پیدا کرده و باز نمایید.
<div markdown="1" align=center>
<img width=60% alt="Downloaded_App" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e6cbdb24-ef18-49a0-9c40-0f4ea4859def"><center>
</div>
* حالا فایل برنامه را بگیرید و در `Applications` رها نمایید. با این کار فایل برنامه به بخش `Applications` انتقال می‌یابد.
<div markdown="1" align=center>
<img width=60% alt="drag_app" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/07fa37b8-fc37-4613-b148-2eb932a3d53a">
</div>
* حالا برنامه برای همیشه در `Applications` کپی شد. برای اجرا روی آن دو بار کلیک کنید.
<div markdown="1" align=center>
<img width="60% alt="App in Application" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/8a32bcd9-367d-4cf1-8951-c764b5f86795">
</div>
* بار اول که برنامه را باز می‌کنید به دلیل اینکه این برنامه از منبعی به جز `App Store` دانلود شده است، این پیغام داده می‌شود.
<div markdown="1" align=center>
<img width=30% alt="Cannot open" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/a65690ed-e169-4c9d-a908-93a4260fddf1">
</div>
* به بخش `Security and Privacy` بروید و در تب `General` روی `Open Anyway` بزنید.
<div markdown="1" align=center>
<img width=60% alt="open for ever" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/97fa1692-5eb2-436c-9070-804a71c3bc81">
</div>
* حالا روی `Open` کلیک کنید.
<div markdown="1" align=center>
<img width=60% alt="open for ever" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/cbdec7f8-e12e-4613-b51d-9870df2acd49">
</div>
* مجددا به بخش `Applications` بروید و برنامه را به راحتی باز نمایید.
* اولین بار از شما تنظیمات مربوط به زبان و محل سکونت شما را می‌پرسد. برای تغییر زبان روی `Language` بزنید و برای تغییر منطقه روی `Region` بزنید و گزینه‌های مورد نظر خود را انتخاب نمایید و برنامه را اجرا کنید.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/0d50c68f-d6e5-45f3-b86a-0f0217b29867">
</div>
* `Enable Analytics` کمک می‌کند تا دیتای لازم برای بهبود این برنامه جمع‌آوری شود.
* صفحه اصلی برنامه به این شکل باز می‌شود.
<div markdown="1" align=center>
<img width=60% alt="Screen Shot 1402-07-10 at 20 26 48" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/4a33feda-ccdd-4cd0-baaa-4e7c32238a9f">
</div>
* از حالا به بعد می‌توانید برنامه را در بخش `Applications` به راحتی اجرا نمایید.
</details>
<br>
<details markdown="1"> <summary><b>نصب روی لینوکس</b> (کلیک کنید)</summary>
* ابتدا برنامه را از [اینجا](https://app.hiddify.com/linux) دانلود کنید.
* فایل دانلود شده را از حالت فشرده خار نمایید و سپس با کامند زیر چک کنید که دسترسی اجرا داشته باشد.
فرض شود که فایل دانلود شده در Downloads در پوشه Home باشد، بنابراین دستور زیر را اجرا نمایید.
<div markdown="1" dir=ltr>
```
ls -la ~/Downloads/hiddify-linux-x64.AppImage
```
</div>
اگر خروجی به شکل زیر بود،
<div markdown="1" dir=ltr>
`-rwxr-xr-x 1 user user 26272960 Sep 30 07:55 ~/Downloads/hiddify-linux-x64.AppImage`
</div>
یعنی دسترسی x یا اجرایی را دارد و می‌توانید آن را به راحتی اجرا نمایید. در غیر این صورت برای افزودن دسترسی اجرایی می‌توانید دستور زیر را در ترمینال اجرا نمایید.
<div markdown="1" dir=ltr>
```
chmod +x ~/Downloads/hiddify-linux-x64.AppImage
```
</div>
* حالا کافیه فایل را اجرا نمایید.
* اولین بار از شما تنظیمات مربوط به زبان و محل سکونت شما را می‌پرسد. برای تغییر زبان روی `Language` بزنید و برای تغییر منطقه روی `Region` بزنید و گزینه‌های مورد نظر خود را انتخاب نمایید و برنامه را اجرا کنید.
<div markdown="1" align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/0d50c68f-d6e5-45f3-b86a-0f0217b29867">
</div>
* `Enable Analytics` کمک می‌کند تا دیتای لازم برای بهبود این برنامه جمع‌آوری شود.
</details>
<br>
## کار با نرم‌افزار
برای مشاهده نحوه کار با این برنامه [این مقاله](https://github.com/hiddify/hiddify-next/wiki/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D9%86%D8%B1%D9%85%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D9%87%DB%8C%D8%AF%DB%8C%D9%81%D8%A7%DB%8C%E2%80%8C%D9%86%DA%A9%D8%B3%D8%AA) را مشاهده نمایید.

View File

@ -0,0 +1,222 @@
---
title: How to install HiddifyApp
---
<div dir="ltr" markdown="1">
# How to install HiddifyApp
This app is a multi-platform client based on Sing-box that serves as a universal proxy toolchain. This app offers a wide range of capabilities. It also supports a large number of protocols. The app is free to use, ad-free, and open-source. It provides a secure and private tool for getting access to the free internet.
🚀 Supporting a wide range of protocols such as:
**ECH, Sing-box, V2ray, Xray, Vless, Vmess, Trojan, Reality, gRPC, WebSocket, Quic, TUIC, Hysteria, Hysteria2, Shadowtls, SSH, Clash, Clash meta**
🟡 Supporting different subscription links like: **Clash, Sing-box, Shadowsocks**
**[View more features](https://github.com/hiddify/hiddify-next/blob/main/README.md#-main-features)**
For reading the tutorial follow this article.
## Software installation
Choose one of the following based on your operating system.
<br>
<div align=center>
<a href="https://play.google.com/store/apps/details?id=app.hiddify.com"><img width=20% src="https://github.com/hiddify/hiddify-next/blob/main/docs/google-play-badge.png"></a>
</div>
<br>
<details markdown="1"> <summary><b>Install on Windows</b> (click)</summary>
- First download the program from [here](https://app.hiddify.com/win).
- Now run the downloaded file. This Windows security message will appear and you must click `Yes`.
<div align=center>
<img width=30% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e4174de0-10b5-4b46-9baf-2e302162da5a">
</div>
- In Windows 11, a warning may be displayed like this, click on `More info`.
<div align=center>
<img width=40% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/8a3bc452-004d-4be7-a9bb-21aad90db7fc">
</div>
- Then click `Run Anyway` to open the file.
<div align=center>
<img width=40% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/36293a7c-f56a-4811-8302-474874654b70">
</div>
- In the next step, it displays the installation location of the program, which you can change if needed and click `Next`.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/7196a86f-3f74-4177-b611-19b484e0da9a">
</div>
- At this stage, it asks you for more settings, such as creating a shortcut on the desktop and enabling Automatically start the app. You can choose the options you want and click `Next`.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/bcac0d1e-f8d8-46d9-bedc-4fe04571a504">
</div>
- Now just click `Install` to start installing the program.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/980314df-c907-407c-aa4d-a94d4d492b66">
</div>
- In this way, the program starts to install.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/1aee90d0-dde1-4bf8-b673-058fc0e9204a">
</div>
- At the end of the installation, the following window will appear, click `Finish`.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/4a8849c5-24f0-4376-be4d-355eb754f395">
</div>
- Now the program is running. If it does not run, run its shortcut on the desktop.
- The first time it will ask you for your language and location settings. Click on `Language `to change the language and click on `Region `to change the region and choose the options you want and run the program.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/0d50c68f-d6e5-45f3-b86a-0f0217b29867">
</div>
- `Enable Analytics` help us collect data to improve the app
- In the next step, the program will open.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/9ff5d21c-7fbf-4183-96bb-acd12cebf2a8">
</div>
- The next time you run the program, you will always face this page and the previous steps will not be needed.
> Note: As you know, Windows 7 is no longer supported by Microsoft. Therefore, you may encounter problems when installing this program on Windows 7. It is possible that your problem will be solved by installing [this package](https://www.google.com/search?q=%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF+visual+c%2B%2B&sca_esv=570966760&source=hp&ei=IsIeZbLFIsyp5NoPy_2B4As&iflsig=AO6bgOgAAAAAZR7QMkjEd1aXYyjVQxAzwcErW5_B47mY&oq=%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF+visual&gs_lp=Egdnd3Mtd2l6IhPYr9in2YbZhNmI2K8gdmlzdWFsKgIIADIFEAAYgAQyBRAAGIAEMgUQABiABDIFEAAYgAQyBRAAGIAESNY_UP4KWNcycAR4AJABAJgBigOgAZMuqgEEMy0xNrgBA8gBAPgBAagCCsICEBAuGAMYjwEY5QIY6gIYjAPCAhAQABgDGI8BGOUCGOoCGIwDwgILEAAYgAQYsQMYgwHCAgsQLhiABBixAxiDAcICERAuGIAEGLEDGIMBGMcBGNEDwgILEC4YigUYsQMYgwHCAgsQABiKBRixAxiDAcICDhAuGIAEGLEDGMcBGNEDwgIIEAAYgAQYsQPCAgsQLhiDARixAxiABMICERAuGIMBGMcBGLEDGNEDGIAEwgIIEC4YsQMYgATCAgUQLhiABMICBBAAGAM), but if you still could not install the program, we recommend using Windows 10 with 64-bit architecture.
</details>
<br>
<details markdown="1"> <summary><b>Install on Mac</b> (click)</summary>
- First, download the program from [here](https://app.hiddify.com/mac).
- Then find the downloaded file in `Downloads` and open it.
<div align=center>
<img width=60% alt="Downloaded_App" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e6cbdb24-ef18-49a0-9c40-0f4ea4859def"><center>
</div>
- Now program the file and drop it in `Applications`. With this, the application file will be transferred to the `Applications` section.
<div align=center>
<img width=60% alt="drag_app" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/07fa37b8-fc37-4613-b148-2eb932a3d53a">
</div>
- Now the program is permanently copied to the `Applications`. Double click on it to run.
<div align=center>
<img width="60% alt="App in Application" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/8a32bcd9-367d-4cf1-8951-c764b5f86795">
</div>
- This message is given the first time you open the app because it was downloaded from a source other than the `App Store`.
<div align=center>
<img width=30% alt="Cannot open" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/a65690ed-e169-4c9d-a908-93a4260fddf1">
</div>
- Go to the `Security and Privacy` section and click `Open Anyway` in the `General` tab.
<div align=center>
<img width=60% alt="open for ever" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/97fa1692-5eb2-436c-9070-804a71c3bc81">
</div>
- Now click on `Open`.
<div align=center>
<img width=60% alt="open for ever" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/cbdec7f8-e12e-4613-b51d-9870df2acd49">
</div>
- Go to the `Applications` section again and open the program easily.
- The first time it will ask you for your language and location settings. Click on `Language `to change the language and click on `Region `to change the region and choose the options you want and run the program.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/0d50c68f-d6e5-45f3-b86a-0f0217b29867">
</div>
- `Enable Analytics` help us collect data to improve the app
- The program opens like this.
<div align=center>
<img width=60% alt="Screen Shot 1402-07-10 at 20 26 48" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/4a33feda-ccdd-4cd0-baaa-4e7c32238a9f">
</div>
- From now on, you can easily run the program in the `Applications` section.
</details>
<br>
<details markdown="1"> <summary><b>Install on Linux</b> (click)</summary>
- First, download the program from here.
- Extract the downloaded file from the compressed mode and then check with the following command that it has access to execute.
Assume that the downloaded file is in Downloads in the Home folder, so run the following command.
```
ls -la ~/Downloads/hiddify-linux-x64.AppImage
```
- If the output was as follows,
`rwxr-xr-x 1 user user 26272960 Sep 30 07:55 ~/Downloads/hiddify-linux-x64.AppImage`
It means that it has x or executable permission and you can run it easily. Otherwise, you can run the following command in the terminal to add executive access.
- Now just run the file.
- The first time it will ask you for your language and location settings. Click on `Language `to change the language and click on `Region `to change the region and choose the options you want and run the program.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/0d50c68f-d6e5-45f3-b86a-0f0217b29867">
</div>
- `Enable Analytics` help us collect data to improve the app
</details>
<br>
## How to use the app
In order to know how to use this app please take a look at this [article](https://github.com/hiddify/hiddify-next/wiki/How-to-use-HiddifyNext-app).

View File

@ -0,0 +1,252 @@
---
title: آموزش کار با هیدیفای‌اپ
---
<div dir="rtl">
# آموزش کار با هیدیفای‌‌اپ
این نرم‌افزار یک کلاینت مالتی‌پلتفرم مبتنی بر Sing-box است که به عنوان یک ابزار عمومی برای پروکسی عمل می‌کند. این برنامه طیف گسترده‌ای از قابلیت‌ها را ارائه می‌دهد. همچنین از تعداد زیادی پروتکل پشتیبانی می‌کند. این برنامه رایگان، بدون آگهی و منبع باز است و ابزاری امن و مطمئن برای دسترسی به اینترنت رایگان فراهم می کند.
🚀 از رنج وسیعی از پروتکل‌ها پشتیبانی می‌کند از جمله:
**ECH, Sing-box, V2ray, Xray, Vless, Vmess, Trojan, Reality, gRPC, WebSocket, Quic, TUIC, Hysteria, Hysteria2, Shadowtls, SSH, Clash, Clash meta**
🟡 از سابسکریپشن‌های مختلف نیز پشتیبانی می‌کند مثل: **کلش، سینگ‌باکس و شدوساکس**
**[مشاهده قابلیت‌های دیگر](https://github.com/hiddify/hiddify-next/blob/main/README_fa.md#-%D8%A7%D9%85%DA%A9%D8%A7%D9%86%D8%A7%D8%AA-%D8%A7%D8%B5%D9%84%DB%8C)**
برای مشاهده آموزش مربوط به این برنامه این آموزش را دنبال کنید.
## نصب نرم‌افزار
برای مشاهده نحوه نصب این نرم‌افزار [این مقاله](https://github.com/hiddify/hiddify-next/wiki/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-%D9%86%D8%B1%D9%85%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D9%87%DB%8C%D8%AF%DB%8C%D9%81%D8%A7%DB%8C%E2%80%8C%D9%86%DA%A9%D8%B3%D8%AA) را مطالعه نمایید.
<br>
## ویدئوی آموزش کار با نرم‌افزار
<div align=center>
<a href="https://www.youtube.com/watch?v=EjHjLQbC40E"><img width="32%" src="https://github.com/hiddify/hiddify-next/assets/125398461/ea1480af-e7a8-4add-b0f2-600ace5efd4b" /></a>
</div>
## افزودن پروفایل به اپ
* ابتدا لینک مربوط به یوزر خود را در پنل باز نمایید.
* صفحه زیر قابل مشاهده است. با زدن `کلیک برای اعمال فیلترشکن` لینک مربوط به پروفایل شما در اپ بارگذاری می‌شود.
<div align=center>
<img width=60% alt="Startup VPN" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/97b48dca-e8b2-47e2-bc78-5912609662f9">
</div>
* اگر به صورت خودکار لینک پروفایل اضافه نشد، این صفحه باز می‌شود. کافیه روی `کپی لینک` بزنید تا لینک پروفایل کپی شود.
<div align=center>
<img width=60% alt="Copy link" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/1853e246-161f-46a1-b3da-9f795765c303">
</div>
* حالا وارد برنامه شوید و در صفحه `خانه` روی دکمه `+` در بالا سمت چپ بزنید، تا صفحه افزودن پروفایل جدید ظاهر شود.
<div align=center>
<img width="60%" alt="Add profile" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/96ece1f2-17d9-466c-a6a7-f4e25dc05149">
</div>
* در این صفحه به دو روش می‌توانید لینک کپی شده را اضافه نمایید.
> روش اول: روی `افزودن از کلیپ‌بورد` بزنید. لینک کپی شده به صورت خودکار اضافه می‌گردد.
<div align=center>
<img width=60% alt="Add from clipboard" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/f784859e-3a27-4bbc-b0d2-9cbe072beb8c">
</div>
> روش دوم: روی افزودن دستی بزنید، در صفحه بعد یک نام دلخواه در فیلد `نام` وارد کنید و لینک را در فیلد `لینک` کپی کنید. سپس دکمه `ذخیره` را بزنید.
<div align=center>
<img width=60% alt="Manual input" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/bb222a5a-b596-43bf-81b3-deceb9ec04f9">
</div>
## افزودن کانفیگ تکی
* برای این کار در صفحه کاربر بروید و `تمام کانفیگ‌ها` را بزنید.
<div align=center>
<img width=80% alt="All configs" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/ada2d057-c85c-4693-bef6-df146fd47b67">
</div>
* در لیست نمایش داده شده، کانفیگ تکی مورد نظر خود را انتخاب نمایید.
* کپی را بزنید تا کانفیگ کپی شود.
<div align=center>
<img width=30% src="https://github.com/hiddify/hiddify-config/assets/125398461/b8a76e41-4db4-45ac-be27-856f6ec9182e" />
</div>
* وارد برنامه شوید و دکمه `+` را بزنید.
* افزودن از کلیپ‌بورد را بزنید.
<div align=center>
<img width=60% alt="Config input" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/17f73dcf-ede0-451d-9dc2-4524395a5fdc">
</div>
* کانفیگ به برنامه اضافه می‌گردد.
## آموزش کار با برنامه
### اتصال به فیلترشکن
* وقتی پروفایل اضافه شد، چنین حالتی در صفحه خانه مشاهده می‌کنید.
<div align=center>
<img width=60% alt="Home page" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/16f7d8f2-d721-4a8d-a837-c2ac22290ca1">
</div>
* کافیه روی دکمه اتصال وسط صفحه بزنید تا فیلترشکن وصل شود.
<div align=center>
<img width=60% alt="Connection" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/2ed08762-a297-446e-ad74-f03770b92d08">
</div>
* در صورت نیاز به آپدیت پروفایل روی این دکمه کلیک کنید.
<div align=center>
<img width=60% alt="update profile" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/4010fe97-f119-44ca-851b-ad7bcbbbf07b">
</div>
* در صورت نیاز به تغییر پروفایل روی بخش پروفایل کلیک کنید و از لیست باز شده پروفایل مورد نظر را انتخاب نمایید.
<div align=center>
<img width=60% alt="profile section" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/28ff97f0-0226-47e1-a4df-9818c0908b82">
</div>
* در این قسمت می‌توانید پروفایل‌ها را ویرایش نمایید.
<div align=center>
<img width=60% alt="Edit profile" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/d7e2293e-49e7-4a2b-b124-25a435fc87ae">
</div>
### مشاهده و تست پروکسی‌ها
* برای مشاهده پروکسی‌ها، ابتدا فیلترشکن را متصل نمایید.
* سپس به منوی `پروکسی‌ها` بروید.
* در این صفحه، پروکسی‌ها یا کانفیگ‌های مربوط به پروفایل، یا کانفیگ تکی اضافه شده به نرم‌افزار نمایش داده می‌شوند.
<div align=center>
<img width=60% alt="proxies" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/a2aee8b0-55fe-4022-a756-6dc1810f6018">
</div>
* به صورت خودکار فیلترشکن به بهترین پروکسی بر اساس تست متصل می‌شود اما شما هم می‌توانید پروکسی مورد نظر خود را انتخاب نمایید.
* در کنار این پروکسی‌ها میزان تاخیر آن‌ها نیز نمایش داده می‌شود.
* در صورتی نیاز به تست تاخیر، می‌بایست روی دکمه آن در پایین سمت چپ کلیک کنید.
<div align=center>
<img width=60% alt="ping test" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/7f0fde6a-c828-4c00-97b7-db5e3203e43e">
</div>
* می‌توانید پروکسی‌ها را بر اساس نام، یا نتیجه تست با دکمه بالا سمت چپ مرتب نمایید.
<div align=center>
<img width=60% alt="sorting proxies" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e64ecbda-d351-4d31-b1df-1bb2308f00a1">
</div>
### تنظیمات عمومی نرم‌افزار
* در منوی `تنظیمات` می‌توانید `تنظیمات عمومی` را مشاهده کنید.
<div align=center>
<img width=60% alt="General Settings" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/4fef0503-17bd-4947-b671-e3ee1401c4d9">
</div>
* با استفاده از منوی `زبان` می‌توانید زبان نرم‌افزار را تغییر دهید.
* با استفاده از `تم مود` می‌توانید تم مورد نظر خود را از بین دارک، لایت و یا حالت دستگاه انتخاب نمایید.
* دکمه `کاملا سیاه` تم دستگاه را به صورت کامل سیاه می‌کند.
* دکمه `اجرا با روشن شدن سیستم` باعت می‌شود که هنگامی که سیستم عامل برای بار اول بالا می‌آید، برنامه اجرا شود.
* دکمه `اجرای ساکت` باعث می‌شود موقع اجرای نرم‌افزار پنجره‌ای نمایش داده نشود و نرم‌افزار پس از اجرا صرفا در نوار ابزار پایین نمایش داده شود.
### تنظیمات پیشرفته
#### فعال‌سازی تونل
* برای فعال سازی تونل ابتدا می‌بایست برنامه را با دسترسی ادمین یا روت باز نمایید. این کار به ترتیب سیستم عامل‌های مختلف متفاوت است.
<br>
<details markdown="1"> <summary><b>فعال‌سازی برنامه با دسترسی ادمین در ویندوز</b></summary>
* اگر برنامه قبلا با دسترسی غیرادمین باز بوده، برنامه را ببندید. یعنی در نوار ابزارپایین روی آیکن برنامه راست کلیک کنید و `خروج` را بزنید.
* حالا در دسکتاپ یا در لیست برنامه‌های Start روی آیکون برنامه راست کلیک کنید و `Run as administrator` را بزنید.
<div align=center>
<img width=30% alt="Run ad admin" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/9db385ec-8aba-47f5-a5b7-d2c34899fbc1">
</div>
* برنامه با دسترسی ادمین باز می‌شود.
</details>
<br>
<details markdown="1"> <summary><b>فعال‌سازی برنامه با دسترسی ادمین در مک</b></summary>
* اگر برنامه قبلا با دسترسی غیرادمین باز بوده، برنامه را ببندید. یعنی در نوار ابزاربالا روی آیکن برنامه راست کلیک کنید و `خروج` را بزنید.
* ترمینال را باز نمایید.
* حالا به `Applications `بروید. روی آیکن برنامه راست کلیک کنید و `Show contents` را بزنید.
* وارد پوشه MacOS شوید و فایل HiddifyNext را بگیرید و روی ترمینال رها کنید. با این کار آدرس مربوط به این فایل در ترمینال قرار می‌گیرد.
* دکمه‌های `ctrl+a` را بزنید تا در ترمینال به اول خط بیایید. حالا sudo را تایپ کنید. یعنی مثلا خواهید داشت.
<div dir=ltr>
`sudo \Applications\HiddifyNext.app\Contents\MacOS\HiddifyNext`
</div>
* حالا `Enter `بزنید تا برنامه با دسترسی ادمین اجرا گردد.
</details>
<br>
<details markdown="1"> <summary><b>فعال‌سازی برنامه با دسترسی روت در لینوکس</b></summary>
* اگر برنامه قبلا با دسترسی غیرادمین باز بوده، برنامه را ببندید. یعنی در نوار ابزار روی آیکن برنامه راست کلیک کنید و `خروج` را بزنید.
* حالا ترمینال را باز نمایید و اگر مثلا برنامه در پوشه `Downloads ` در `Home `باشد، بنابراین دستور زیر را اجرا نمایید تا برنامه با سطح دسترسی روت اجرا شود.
<div dir=ltr>
```
sudo ~/Downloads/hiddify-linux-x64.AppImage
```
</div>
> نکته: اگر برنامه در مسیر دیگری قرار داشت، بر اساس آن دستور بالا را تغییر دهید.
</details>
<br>
* حالا که برنامه با سطح دسترسی ادمین یا روت باز شد، کافیه به منوی `تنظیمات` بروید.
* در بخش `پیشرفته` وارد `تنظیمات کانفیگ` شوید.
* دکمه `فعال‌سازی تونل` را روشن کنید.
<div align=center>
<img width=60% alt="Enable TUN" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/f3c627d8-aec7-464e-a437-fa5553954fb7">
</div>
* حالا به منوی `خانه` بروید و `دکمه اتصال` را بزنید تا سبز شود.

View File

@ -0,0 +1,252 @@
---
title: How to use HiddifyApp
---
<div dir="ltr" markdown="1">
# How to use HiddifyApp
This app is a multi-platform client based on Sing-box that serves as a universal proxy toolchain. This app offers a wide range of capabilities. It also supports a large number of protocols. The app is free to use, ad-free, and open-source. It provides a secure and private tool for getting access to the free internet.
🚀 Supporting a wide range of protocols such as:
**ECH, Sing-box, V2ray, Xray, Vless, Vmess, Trojan, Reality, gRPC, WebSocket, Quic, TUIC, Hysteria, Hysteria2, Shadowtls, SSH, Clash, Clash meta**
🟡 Supporting different subscription links like: **Clash, Sing-box, Shadowsocks**
**[View more features](https://github.com/hiddify/hiddify-next/blob/main/README.md#-main-features)**
For reading the tutorial follow this article.
## Software installation
For installing this app please take a look at [this article](https://github.com/hiddify/hiddify-next/wiki/How-to-install-HiddifyNext-app).
## Adding a profile to the app
- First, open the link related to your user in the panel.
- The following page is visible. By clicking on `Tap to Start Anti-Filter`, the link related to your profile will be loaded in the app.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/d39e775c-4817-427b-b11c-6161ecffc81f">
</div>
- If profile link is not added automatically, this page will open. Just click on `Copy Link` to copy the profile link.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e921e0a0-1034-456b-bc9c-fd59fd55503e">
</div>
- Now enter the program and tap on the `+` button on the top left on the `Home` menu, so that the page of adding a new profile appears.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/279924ad-9f16-424f-9133-b5096329030a">
</div>
- You can add the copied link in two ways on this page.
> Method 1: Click `Add from clipboard`. The copied link will be added automatically.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e515d2d7-886f-4e33-9764-76b4398fc83b">
</div>
> Method 2: Click on `Add manually`, on the next page enter a desired name in the `Name` field and copy the link in the `URL` field. Then hit the `Save` button.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/2931f4c9-c2af-4d61-b0a9-40af563b248f">
</div>
## Add single configs
- For this, go to the user page and click on `All Configs`.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/92912b97-38bb-4973-a48d-44a29613598e">
</div>
- In the displayed list, select the single config you want.
- Click `Copy` to copy the config.
<div align=center>
<img width=30% src="https://github.com/hiddify/hiddify-config/assets/125398461/eb4d7cf9-4f1f-4910-acc8-1c7d545ee1eb" />
</div>
- Enter the program and click the `+' button.
- Tap `Add from clipboard`.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e515d2d7-886f-4e33-9764-76b4398fc83b">
</div>
- The config is added to the program.
## Working with the app
### Connect to the VPN
- When the profile is added, you will see this on the `Home` page.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/a69b2807-d9df-4a03-b48f-6f96f21ff377">
</div>
- Just click on the connection button in the middle of the screen to connect the VPN.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/484b1f82-63d8-4a9b-b72d-fb78f8ac6da6">
</div>
- If you need to update your profile, click on this button.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/e5faed5f-c373-4acb-a33b-991599e2be5a">
</div>
- If you need to change the profile, click on the profile section and select the desired profile from the opened list.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/18f8e9e1-34b8-4a3f-b7bd-a70c9f9d9404">
</div>
- In this section you can edit profiles.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/c5520e82-aeae-4213-b55b-ecce33bfed0e">
</div>
## Checking and testing proxies
- To view the proxies, first connect the VPN. Then go to the `Proxies` menu.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/919020e5-0ed6-4523-8f2f-ece7e6d74219">
</div>
- On this page, the proxies or configs related to the profile, are displayed or you can see the individual configs added to the software.
- The VPN automatically connects to the best proxy based on the test, but you can also choose the desired proxy manually.
- Along with these proxies, their delay is also displayed.
- If you need to test the delay, you should click on its button at the bottom right.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/265bd648-4716-4791-80d4-666a2dc4b0b7">
</div>
- You can sort the proxies by name or test result with the upper right button.
<div align=center>
<img width=60% src="https://github.com/hiddify/Hiddify-Server/assets/125398461/95ca6072-96b5-4282-be66-bc8980befded">
</div>
## General settings
* In the `Settings` menu, you can see the `General` settings.
<div align=center>
<img width=60% alt="General-settings" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/4a00ed21-8988-419e-86a2-4ba102d8893f">
</div>
* You can change the language of the software using the `Language` menu.
* By using `Theme Mode` you can choose your desired theme from dark, light or device mode.
* The `Pure Black` button makes the device theme deeply black.
* The `Start on Boot` button is used to run the program when the operating system starts up for the first time.
* The `Silent Start` button causes a window not to be displayed when the software is running, and the software is only displayed in the bottom toolbar after execution.
## Advanced settings
### Enabling TUN
- To activate the tunnel, you must first open the program with admin or root access. This work is different according to different operating systems.
<br>
<details markdown="1"> <summary><b>Opening the app with admin privilege on Windows</b></summary>
- If the program was previously open with non-admin privilege, close the program. That is, right-click on the program icon in the lower toolbar and click `Exit`.
- Now, on the desktop or in the list of `Start` programs, right-click on the program icon and click `Run as administrator`.
<div align=center>
<img width=30% alt="Run ad admin" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/9db385ec-8aba-47f5-a5b7-d2c34899fbc1">
</div>
- The program opens with admin privilege.
</details>
<br>
<details markdown="1"> <summary><b>Opening the app with admin privilege on Mac</b></summary>
- If the program was previously open with non-admin access, close the program. That is, right-click on the program icon in the upper toolbar and click `Exit`.
- Open the terminal.
- Now go to `Applications`. Right click on the program icon and click `Show contents`.
- Go into the `MacOS` folder and grab the `HiddifyNext` file and drop it on the terminal. With this, the address of this file will be placed in the terminal.
- Press `ctrl+a` to go to the start of the line in terminal. Now type `sudo`. For example, you will have
`sudo \Applications\HiddifyNext.app\Contents\MacOS\HiddifyNext`
- Now press `Enter` to run the program with admin privilege.
</details>
<br>
<details markdown="1"> <summary><b>Opening the app with root privilege on Linux</b></summary>
- If the program was previously open with non-admin access, close the program. That is, right-click on the program icon in the toolbar and click `Exit`.
- Now open the terminal and if, for example, the program is in the `Downloads` folder in `Home`, then execute the following command to run the program with root privilege.
```
sudo ~/Downloads/hiddify-linux-x64.AppImage
```
> Note: If the program is in a different path, change the above command accordingly.
</details>
<br>
- Now that the program is opened with admin or root access level, just go to the `Settings` menu.
- Enter the `Config Options` in the `Advanced` section.
- Turn on `Enable TUN` button.
<div align=center>
<img width=60% alt="advanced-setting" src="https://github.com/hiddify/Hiddify-Server/assets/125398461/d624876a-bca9-4d52-b169-cf8f42b86f70">
</div>
- Now go to the `Home` menu and tap the `Connect button` until it turns green.

View File

@ -0,0 +1,171 @@
---
title: آموزش کامل نصب و راه‌اندازی HiddifyCli در سیستم‌عامل OpenWrt
---
<markdown ="1">
### آموزش کامل نصب و راه‌اندازی HiddifyCli در سیستم‌عامل OpenWrt
برای نصب **HiddifyCli** در سیستم‌عامل OpenWrt، تمام مراحل زیر را به ترتیب انجام دهید. این آموزش شامل دانلود، استخراج، نصب و پیکربندی کامل است.
---
#### ۱. **دانلود فایل HiddifyCli**
برای دانلود نسخه مناسب معماری روتر، ابتدا از دستور زیر برای دانلود مستقیم فایل استفاده کنید:
<div dir="ltr">
```bash
wget -O /tmp/HiddifyCli.tar.gz https://github.com/hiddify/hiddify-core/releases/download/latest/hiddify-cli-linux-{معماری}.tar.gz
```
</div>
**توضیح:**
- `{معماری}` را با معماری روتر خود جایگزین کنید (مثلاً `mips`, `arm`, یا `x86_64`).
---
#### ۲. **استخراج فایل**
پس از دانلود، فایل را با دستور زیر استخراج کنید:
<div dir="ltr">
```bash
tar -xvzf /tmp/HiddifyCli.tar.gz -C /tmp
```
</div>
**توضیحات دستور:**
- `x-` برای استخراج فایل.
- `v-` برای نمایش جزئیات فرآیند.
- `z-` برای باز کردن فایل‌های فشرده gzip.
- `f-` برای مشخص کردن نام فایل.
- `tmp/` مسیری است که فایل در آن استخراج می‌شود (می‌توانید مسیر دلخواه خود را جایگزین کنید).
---
#### ۳. **انتقال فایل اجرایی به مسیر مناسب**
فایل اجرایی `HiddifyCli` را به مسیر `/usr/bin/` منتقل کنید:
<div dir="ltr">
```bash
mv /tmp/HiddifyCli /usr/bin/
```
</div>
---
#### ۴. **تنظیم مجوز اجرا**
برای فعال کردن قابلیت اجرا برای فایل، دستور زیر را وارد کنید:
<div dir="ltr">
```bash
chmod +x /usr/bin/HiddifyCli
```
</div>
---
#### ۵. **ساخت فایل راه‌اندازی (Init Script)**
برای ایجاد سرویس خودکار:
۱. یک فایل در مسیر `/etc/init.d/` با نام `HiddifyCli` ایجاد کنید:
<div dir="ltr">
```bash
touch /etc/init.d/HiddifyCli
```
</div>
۲. فایل را با محتوای زیر پر کنید:
<div dir="ltr">
```bash
#!/bin/sh /etc/rc.common
START=91
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /usr/bin/HiddifyCli run -c /root/config.conf
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}
```
</div>
۳. مجوز فایل را تنظیم کنید:
<div dir="ltr">
```bash
chmod 755 /etc/init.d/HiddifyCli
```
</div>
---
#### ۶. **فعال‌سازی و اجرای سرویس**
دستورات زیر را برای فعال‌سازی و راه‌اندازی سرویس اجرا کنید:
<div dir="ltr">
```bash
service HiddifyCli enable
service HiddifyCli start
```
</div>
---
#### ۷. **تنظیم کانفیگ**
۱. **استخراج کانفیگ از اپ دسکتاپ هیدیفای:**
- تنظیمات دلخواه را در اپلیکیشن انجام دهید.
- کانفیگ را استخراج کرده و در یک فایل متنی ذخیره کنید.
- پسوند فایل را به `conf.` تغییر دهید (مثلاً `config.conf`).
-
۲. **فایل کانفیگ را به مسیر `/root/` در روتر انتقال دهید:**
<div dir="ltr">
```bash
mv config.conf /root/
```
</div>
---
#### ۸. **راه‌اندازی مجدد روتر**
روتر را ری‌استارت کنید تا تغییرات اعمال شوند:
<div dir="ltr">
```bash
reboot
```
</div>
پس از راه‌اندازی مجدد، سرویس HiddifyCli فعال شده و **Socks5 Proxy** در آدرس زیر در دسترس خواهد بود:
<div dir="ltr">
```plaintext
127.0.0.1:12334
```
</div>
---
### نکات تکمیلی:
- برای بررسی معماری روتر، دستور زیر را اجرا کنید:
<div dir="ltr">
```bash
uname -m
```
</div>
- اگر در هر مرحله مشکلی پیش آمد، می‌توانید با دستور زیر لاگ‌های سرویس را بررسی کنید:
<div dir="ltr">
```bash
logread | grep HiddifyCli
```
</div>
در [مقاله دیگری](/fa/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli/) نحوه استفاده از این اینترنت آزاد برای کلاینت‌های پشت روتر را آموزش خواهیم داد.

View File

@ -0,0 +1,168 @@
---
title: How to use HiddifyCli on OpenWrt
---
<markdown ="1">
### **Complete Guide to Installing and Setting Up HiddifyCli on OpenWrt**
To install **HiddifyCli** on OpenWrt, follow all the steps below in order. This guide includes downloading, extracting, installing, and full configuration.
---
#### 1. **Download HiddifyCli File**
To download the version suitable for your routers architecture, use the following command for direct download:
<div dir="ltr">
```bash
wget -O /tmp/HiddifyCli.tar.gz https://github.com/hiddify/hiddify-core/releases/download/latest/hiddify-cli-linux-{ARCH}.tar.gz
```
</div>
**Explanation:**
- Replace `{ARCH}` with your routers architecture (e.g., `mips`, `arm`, or `x86_64`).
---
#### 2. **Extract the File**
After downloading, extract the file using the following command:
<div dir="ltr">
```bash
tar -xvzf /tmp/HiddifyCli.tar.gz -C /tmp
```
</div>
**Command Explanation:**
- `x-` extracts the file.
- `v-` displays extraction details.
- `z-` opens gzip-compressed files.
- `f-` specifies the file name.
- `/tmp/` is the extraction path (you can replace it with your preferred directory).
---
#### 3. **Move the Executable to the Appropriate Directory**
Move the `HiddifyCli` executable file to `/usr/bin/` using:
<div dir="ltr">
```bash
mv /tmp/HiddifyCli /usr/bin/
```
</div>
---
#### 4. **Set Execution Permissions**
To enable execution for the file, enter the following command:
<div dir="ltr">
```bash
chmod +x /usr/bin/HiddifyCli
```
</div>
---
#### 5. **Create an Init Script**
To create an automatic service:
1. Create a file named `HiddifyCli` in `/etc/init.d/`:
<div dir="ltr">
```bash
touch /etc/init.d/HiddifyCli
```
</div>
2. Fill the file with the following content:
<div dir="ltr">
```bash
#!/bin/sh /etc/rc.common
START=91
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /usr/bin/HiddifyCli run -c /root/config.conf
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}
```
</div>
3. Set the file permissions:
<div dir="ltr">
```bash
chmod 755 /etc/init.d/HiddifyCli
```
</div>
---
#### 6. **Enable and Start the Service**
Run the following commands to enable and start the service:
<div dir="ltr">
```bash
service HiddifyCli enable
service HiddifyCli start
```
</div>
---
#### 7. **Configure the Settings**
1. **Extract the Configuration from Hiddify Desktop App:**
- Set up your desired configurations in the app.
- Export the config and save it as a text file.
- Rename the file extension to `.conf` (e.g., `config.conf`).
2. **Move the Config File to `/root/` on the Router:**
<div dir="ltr">
```bash
mv config.conf /root/
```
</div>
---
#### 8. **Reboot the Router**
Restart the router to apply the changes:
<div dir="ltr">
```bash
reboot
```
</div>
After rebooting, the HiddifyCli service will be active, and the **Socks5 Proxy** will be available at:
<div dir="ltr">
```plaintext
127.0.0.1:12334
```
</div>
---
### Additional Notes:
- To check the routers architecture, run the following command:
<div dir="ltr">
```bash
uname -m
```
</div>
- If any issues arise during the process, check the service logs using:
<div dir="ltr">
```bash
logread | grep HiddifyCli
```
</div>
In [another article](/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli/), we will explain how to enable free internet access for clients behind the router.

View File

@ -0,0 +1,77 @@
---
title: آموزش استفاده از UDP Turn Relay در هیدیفای‌اپ
---
<div dir="rtl">
# آموزش استفاده از UDP Turn Relay
اخیرا از قابلیتی در پیام‌رسان‌ها برای دور زدن فیلترینگ استفاده می‌شود که به آن UDP Turn relay می‌گویند. یعنی در این حالت از پیام‌رسان‌ها به عنوان سرور میانی (ریلی) استفاده می‌شود و ترافیک از طریق آن‌ها به سرور اصلی ارسال می‌گردد. این مورد در خصوص پیام‌رسان‌هایی که در داخل ایران فعال هستند و از این پروتکل پشتیبانی می‌کنند و یا پیام‌رسان‌های خارجی که فیلتر نشده‌اند، قابل استفاده است. شماتیک اتصال به اینترنت آزاد در این حالت به شکل زیر است.
<div align=center>
![UDP Turn Relay_fa](https://github.com/hiddify/hiddify-next/assets/125398461/f3df43df-daea-437b-9a68-66537574c8e0)
</div>
توجه داشته باشید که این قابلیت فق برای کانفیگ‌هایی کار می‌کند که روی پروتکل UDP هستند. یعنی این قابلیت روی Hysteria2 یا TUIC v5 قابل استفاده است ولی برای ریالیتی نمی‌توان از آن استفاده نمود.
برای استفاده از آن کافیه در انتهای لینک کانفیگ خود، طبق دستور زیر پارامترهای مربوط به آن پیام‌رسان را قرار دهید.
<div dir="ltr">
```
relay=urlencoded(turn://user:pass@host:port?realm=t)
```
</div>
که در اینجا `user` نام‌کاربری هست اتصال به پروتکل مورد نظر در پیام‌رسان مورد نظر خود می‌باشد. `pass` نیز پسورد مربوط به این اکانت در آن پیام‌رسان است. همچنین `host` هاست‌نیم مربوط هت اتصال به پیام‌رسان است و `port` نیز پورت اتصال به پیام‌رسان است. پارامتر `realm` مربوط به ناحیه احراز هویت در هاست‌نیم قرار داده شده است. یعنی به این نام‌کاربری در کدام ناحیه از پیام‌رسان می‌توان احرازهویت نمود.
به عنوان مثال در پیام‌رسان Bale این پارامترها به شکل زیر هستند.
`user = balelivekit`، `pass = GygZPHQSgAV7L5L8`، `host = meet-turn.bale.sh` ، `port = 443` و `realm = bale.ai` است که در نهایت با جایگزاری به حالت زیر می‌رسیم.
<div dir="ltr">
```
relay=urlencoded(turn://balelivekit:GygZPHQSgAV7L5L8@meet-turn.bale.sh:443?realm=bale.ai)
```
</div>
ابتدا اطلاعات ریلی را با استفاده Encoder تبدیل به UTF-8 می‌کنید. به عنوان مثال از [این Encoder](https://www.urlencoder.org/) می‌توانید استفاده کنید که نتیجه خروجی آن به شکل زیر است:
<div dir="ltr">
```
relay=turn%3A%2F%2Fbalelivekit%3AGygZPHQSgAV7L5L8%40meet-turn.bale.sh%3A443%3Frealm%3Dbale.ai
```
</div>
حالا اگر یک کانفیگ هیستریا که بر پایه UDP است به شکل زیر داشته باشیم:
<div dir="ltr">
```
hysteria2://87543215-15ac-54f6-3895-34e4e931f5b4@45.120.34.46:11464?hiddify=1&obfs=salamander&obfs-password=bdgf!huy678559j89GrTu&sni=www.speedtest.net&insecure=1#test
```
</div>
در نهایت اطلاعات Encode شده مربوط به ریلی (پیام‌رسان) را در انتهای لینک هیستریا اضاقه می‌کنیم. برای این کار ابتدا یک `&` می‌گذاریم و لینک را دقیقا قبل از `#` به شکل زیر کپی می‌کنیم.
<div dir="ltr">
```
hysteria2://87543215-15ac-54f6-3895-34e4e931f5b4@45.120.34.46:11464?hiddify=1&obfs=salamander&obfs-password=bdgf!huy678559j89GrTu&sni=www.speedtest.net&insecure=1&relay=turn%3A%2F%2Fbalelivekit%3AGygZPHQSgAV7L5L8%40meet-turn.bale.sh%3A443%3Frealm%3Dbale.ai#test
```
</div>
این لینک را می‌توانید در برنامه هیدیفای‌نکست ایمپورت کنید و چون این برنامه از پروتکل UDP Turn Relay پشتیبانی می‌کند، بنابراین می‌توانید از این قابلیت استفاده نمایید.
نکته: پیام‌رسان Bale قابلیت گفته شده را پس از مدت کوتاهی غیرفعال کرده است. شما می‌بایست بر اساس مطالب توضیح داده شده بالا، [از لیست پیام‌رسان‌های داخلی](https://eservices.ito.gov.ir/Page/IPListMessenger) و یا خارجی غیر فیلتر یک پیام‌رسانی را پیدا نمایید که این قابلیت را پشتیبانی می‌کند.

View File

@ -0,0 +1,53 @@
---
title: How to use UDP Turn Relay in HiddifyApp
---
<div dir="ltr" markdown="1">
# How to use UDP Turn Relay
Recently, a feature called UDP Turn Relay is used in messengers to bypass filtering. That is, in this case, messengers are used as intermediate servers (relay) and traffic is sent to the main server through them. This can be used for messengers that are active inside Iran and support this protocol, or for foreign messengers that are not filtered. The diagram of free internet connection in this case is as follows.
<div align=center>
<img width=100% src="https://github.com/hiddify/hiddify-next/assets/125398461/037262d4-ad89-45c0-bcab-c6504c08d3df">
</div>
Note that this feature only works for configurations that are on the UDP protocol. This means that this feature can be used on Hysteria2 or TUIC v5, but it cannot be used for reality.
To use it, just put the parameters of that messenger at the end of your config link according to the command below.
```
relay=urlencoded(turn://user:pass@host:port?realm=t)
```
Where `user` is the username to connect to the protocol in the desired messenger. `pass` is also the password for this account in that messenger. Also, `host` is the host-name for connecting to the messenger, and `port` is the port for connecting to the messenger. The `realm` parameter is related to the authentication area inside the host-name. That is, which area of the messenger can be authenticated with this account.
For example, in Bale messenger (an Iranian Messenger), these parameters are as follows.
```
relay=urlencoded(turn://balelivekit:GygZPHQSgAV7L5L8@meet-turn.bale.sh:443?realm=bale.ai)
```
First, you convert this information to UTF-8 using an Encoder. For example, you can use [this Encoder](https://www.urlencoder.org/), the output of which is as follows:
```
relay=turn%3A%2F%2Fbalelivekit%3AGygZPHQSgAV7L5L8%40meet-turn.bale.sh%3A443%3Frealm%3Dbale.ai
```
Now if we have a hysteria configuration based on UDP as follows:
```
hysteria2://87543215-15ac-54f6-3895-34e4e931f5b4@45.120.34.46:11464?hiddify=1&obfs=salamander&obfs-password=bdgf!huy678559j89GrTu&sni=www.speedtest.net&insecure=1#test
```
Finally, we add the encoded information related to the relay (messenger) at the end of the hysteria link. For this, we first put an `&` and copy the link exactly before `#` as below:
```
hysteria2://87543215-15ac-54f6-3895-34e4e931f5b4@45.120.34.46:11464?hiddify=1&obfs=salamander&obfs-password=bdgf!huy678559j89GrTu&sni=www.speedtest.net&insecure=1&relay=turn%3A%2F%2Fbalelivekit%3AGygZPHQSgAV7L5L8%40meet-turn.bale.sh%3A443%3Frealm%3Dbale.ai#test
```
You can import this link in the Hiddify-Next program and because this program supports the UDP Turn Relay protocol, you can use this feature.
!!! note "NOTE!"
Bale messenger disabled the said feature after a short time. Based on the contents explained above, you should find a messenger that supports this feature from the [list of internal messengers of Iran](https://eservices.ito.gov.ir/Page/IPListMessenger) or non-filtered external messengers.

View File

@ -0,0 +1,89 @@
# آموزش استفاده از وارپ روی هیدیفای‌اپ
وارپ یکی از سرویس‌های بر مبنای وایرگارد است که توسط کلاودفلر ارائه می‌شود. با استفاده از این پروتکل می‌توان از طریق ایجاد یک پروکسی سیستم فیلترینگ را دور زد. هیدیفای‌اپ نیز از این پروتکل پشتیبانی می‌کند که در ادامه به توضیحاتی در خصوص تنظیمات این پروتکل و نحوه استفاده از آن ارائه می‌شود.
## پارامترهای وارپ
در هیدیفای‌اپ پارامترهای مختلفی می‌توان تعیین نمود که به ترتیب توضیح داده می‌شوند.
### مدهای مختلف:
۶ مد اصلی وجود دارد و ۲ مد پیشرفته که با استفاده از آن‌ها یک هدر (نویز) برای وارپ ایجاد می‌شود تا به کمک آن از فیلترینگ عبور کند.
- m1: در این مد هدر به صورت تصادفی ایجاد می‌شود.
- m2: در این مد هدر به صورت تصادفی و بدون تغییر ایجاد می‌شود و هیچ اثری از وایرگارد و وارپ در هدر نیست.
- m3: در این مد از پروتکل QUIC برای ایجاد هدر استفاده می‌شود.
- m4: در این مد از QUIC استفاده می‌شود و غیر قابل تغییر است و هیچ اثری از وایرگارد و وارپ در هدر نیست.
- m5: این مد از LQUIC استفاده می‌کند.
- m6: این مد از LQUIC استفاده می‌کند و بدون تغییر است و هیچ اثری از وایرگارد و وارپ در هدر نیست.
- gHEX: این مد که حالت پیشرفته است از یک عدد HEX برای هدر وارپ استفاده می‌کند تا نویز را ایجاد نماید.
- hHEX: این مد نیز که پیشرفه است از همان عدد HEX برای هدر وارپ استفاده می‌کند ولی تغییرات ندارد و هیچ اثری از وایرگارد و وارپ در هدر نیست.
این هدرها با پارامتر IFPM در وارپ تعریف می‌شود. مقلا: `ifpm=m4` یا `ifpm=h04ad5d` یا `ifpm=g04ad5d`
!!! tip "نکته!"
مد پیشنهادی `m4` است.
### تعداد، سایز و دیلی پکت نویز
این پارامترها به این شکل هستند:
- تعداد بسته‌های نویز: تعداد بسته‌های مربوط به نویز را با استفاده از `ifp` می‌توان در وارپ تعریف نمود که به صورت یک بازه تعریف می‌شود و هر بار به صورت تصادفی یک عدد بین این بازه انتخاب می‌شود. مثلا:`ifp=40-80` یعنی بین ۴۰ تا ۸۰ عدد بسته برای نویز به صورت تصادفی ایجاد می‌شوند.
- سایز بسته‌های نویز: سایز بسته‌ها را با استفاده از پارامتر `ifps` می‌توان تعریف نمود که این نیز به صورت یک بازه تعریف می‌شود و هر بار به صورت تصادفی یک سایز در این بازه انتخاب می‌شود. مثلا: `ifps=40-100` یعنی هر بار یک بسته نویز با سایز تصادفی بین بازه ۴۰ تا ۱۰۰ بیت ساخته می‌شود.
- تاخیر ارسال بسته‌های نویز: تاخیر با استفاده از پارامتر `ifpd` تعریف می‌شود که این مورد نیز به صورت بازه تعریف می‌شود و هر بار بسته‌ها با یک تاخیر تصادفی بین این بازه ارسال می‌شوند. مثلا: `ifpd=4-8` یعنی بسته‌ها با تخیری بین ۴ تا ۸ ثانیه به صورت تصادفی ارسال می‌شوند. بدیهی است که هرچه این بازه کمتر باشد بهتر است.
### تنظیمات آیپی
تنظیمات آیپی کانفیگ‌ها به چند شکل انجام می‌شود:
- auto4: یک IPv4 خودکار توسط کلادفلر به کانفیگ تخصیص داده می‌شود.
- auto6: یک IPv6 خودکار توسط کلادفلر به کانفیگ تخصیص داده می‌شود.
- auto: هر دو رنج IPv4 و Ipv6 توسط کلادفلر به کانفیگ تخصیص داده می‌شود.
- IPv4 تمیز: آیپی ورزن ۴ را می‌توان به صورت مستقیم وارد کانفیگ کرد. مثلا:
`188.114.97.170`
- IPv6 تمیز: آیپی ورژن ۶ را بایستی با استفاده از `[]` وارد کانفیگ نمود. مثلا: `[2a01:4ef:f0:10a5::1]`
!!! tip "نکته!"
برای یافتن آیپی‌های تمیز می‌توان از اسکنرهای مختلف استفاده نمود. مثلا این اسکنرها: [1](https://github.com/MortezaBashsiz/CFScanner) ، [2](https://github.com/azavaxhuman/Quick_Warp_on_Warp) ، [3](https://github.com/Ptechgithub/warp)
### نام نمایشی کانفیگ:
برای ایجاد نام نمایشی یا ریمارک نمودن کانفیگ می‌توان در انتهای کانفیگ از یک `#` استفاده نمود و اسم مورد نظر را اضافه نمود. دقت شود که اسم باید به صورت یک تکه باشد. مثلا:
<div dir=ltr markdown=1>
`warp://auto#NAME`
</div>
### وارپ در وارپ
با استفاده از این قابلیت می‌توان از دو وارپ مختلف استفاده نمود و یکی را در انتهای دیگری قرار داد. بدین ترتیب فرضا شما با وارپ اول متصل می‌شوید سپس از آنجا به وارپ دوم متصل می‌شوید و آیپی نهایی، آیپی وارپ دوم می‌شود. برای استفاده از این قابلیت باید از پارامتر `detour` استفاده نمود و ان را با `&&` در انتهای وارپ اول قرار داد و سپس وارپ دوم را اضافه نمود. مثلا:
<div dir=ltr markdown=1>
`warp://auto&&detour=warp://auto`
</div>
### فرمول کلی کانفیگ وارپ:
کانفیگ وارپ را می‌توان با استفاده از این فرمول ساخت. در این حالت یک کانفیگ ثابت در نرم‌افزار ایمپورت می‌شود.
<div dir=ltr markdown=1>
`warp://License@IP:port?ifp=n1-n2&ifps=s1-s2&ifpd=d1-d2&ifpm=mode#name`
</div>
مثال:
<div dir=ltr markdown=1>
`warp://auto?ifp=40-80&ifps=40-100&ifpd=4-8&ifpm=m4#m4`
</div>
در این حالت یک کانفیگ وارپ با نام نمایشی `m4` در نرم‌افزار ایمپورت می‌شود.
همچنین می‌توان دو وارپ را detour نمود. مثلا:
<div dir=ltr markdown=1>
`warp://auto?ifp=40-80&ifps=40-100&ifpd=4-8&ifpm=m4#m4&&detour=warp://188.114.97.170:894?ifp=40-80&ifps=40-100&ifpd=4-8&ifpm=m3#m3`
</div>
در این حالت یک کانفیگ با نام `m4` و یک کانفیگ detour شده برای وارپ در وارپ (WoW) با نام `m3` در نرم‌افزار ایجاد می‌شود.
در نهایت توصیه می‌شود نمونه کانفیگ‌های وارپ از [اینجا](کانفیگ‌های نمونه برای وارپ (https://raw.githubusercontent.com/hiddify/hiddify-next/main/test.configs/warp)) و [اینجا](https://raw.githubusercontent.com/hiddify/hiddify-next/main/test.configs/warp2) ملاحظه شوند.
!!! tip "نکته پایانی!"
- برای رسیدن به کانفیگ مناسب باید با استفاده از اسکنرهای بالا آیپی تمیز مناسب شبکه خود را پیدا کنید و سپس مطابق با فرمول وارپ کانفیگ را بسازید.
- همچنین رنج پارامترها را دستکاری کنید تا به نتیجه مطلوب برسید.

View File

@ -0,0 +1,73 @@
# How to Use WARP on HiddifyApp
WARP is a service based on WireGuard provided by Cloudflare. By using this protocol, you can bypass the filtering system through creating a proxy. The HiddifyApp also supports this protocol. Below are the instructions for setting up and using this protocol.
## WARP Parameters
In the HiddifyApp, various parameters can be set, which are explained in order below.
### Different Modes:
There are 6 main modes and 2 advanced modes that create a header (noise) for WARP to help bypass filtering.
- m1: In this mode, the header is created randomly.
- m2: In this mode, the header is created randomly and remains unchanged, with no traces of WireGuard and WARP in the header.
- m3: In this mode, the QUIC protocol is used to create the header.
- m4: This mode uses QUIC and is unchangeable, with no traces of WireGuard and WARP in the header.
- m5: This mode uses LQUIC.
- m6: This mode uses LQUIC and remains unchanged, with no traces of WireGuard and WARP in the header.
- gHEX: This advanced mode uses a HEX number for the WARP header to create noise.
- hHEX: This advanced mode also uses a HEX number for the WARP header but remains unchanged, with no traces of WireGuard and WARP in the header.
These headers are defined with the IFPM parameter in WARP. For example: `ifpm=m4` or `ifpm=h04ad5d` or `ifpm=g04ad5d`
!!! tip "Tip"
The recommended mode is `m4`.
### Number, Size, and Delay of Noise Packets
These parameters are as follows:
- Number of noise packets: The number of noise packets can be defined in WARP using `ifp`, which is defined as a range, and each time a random number within this range is selected. For example: `ifp=40-80` means between 40 to 80 noise packets are created randomly.
- Size of noise packets: The size of the packets can be defined with the `ifps` parameter, which is also defined as a range, and each time a random size within this range is selected. For example: `ifps=40-100` means each time a noise packet with a random size between 40 to 100 bits is created.
- Delay in sending noise packets: The delay is defined using the `ifpd` parameter, which is also defined as a range, and each time the packets are sent with a random delay within this range. For example: `ifpd=4-8` means the packets are sent with a random delay between 4 to 8 seconds. Obviously, the smaller this range, the better.
### IP Settings
IP configuration settings are done in several ways:
- auto4: An automatic IPv4 is assigned to the config by Cloudflare.
- auto6: An automatic IPv6 is assigned to the config by Cloudflare.
- auto: Both IPv4 and IPv6 ranges are assigned to the config by Cloudflare.
- Clean IPv4: IPv4 can be directly entered into the config. For example: `188.114.97.170`
- Clean IPv6: IPv6 must be entered into the config using `[]`. For example: `[2a01:4ef:f0:10a5::1]`
!!! tip "Tip"
To find clean IPs, various scanners can be used. For example, these scanners: [1](https://github.com/MortezaBashsiz/CFScanner), [2](https://github.com/azavaxhuman/Quick_WARP_on_WARP), [3](https://github.com/Ptechgithub/WARP)
### Display Name for Config:
To create a display name or remark the config, a `#` can be used at the end of the config followed by the desired name. The name should be a single piece. For example:
`warp://auto#NAME`
### WARP in WARP
With this feature, you can use two different WARPs and place one at the end of the other. In this way, you first connect to the first WARP, then connect to the second WARP from there, and the final IP becomes the IP of the second WARP. To use this feature, the `detour` parameter should be used, and it should be added at the end of the first WARP with `&&`, followed by the second WARP. For example:
`warp://auto&&detour=WARP://auto`
### General Formula for WARP Config:
The WARP config can be built using this formula. In this case, a fixed config is imported into the software.
`warp://License@IP:port?ifp=n1-n2&ifps=s1-s2&ifpd=d1-d2&ifpm=mode#name`
Example:
`warp://auto?ifp=40-80&ifps=40-100&ifpd=4-8&ifpm=m4#m4`
In this case, a WARP config with the display name `m4` is imported into the software.
You can also detour two WARPs. For example:
`warp://auto?ifp=40-80&ifps=40-100&ifpd=4-8&ifpm=m4#m4&&detour=WARP://188.114.97.170:894?ifp=40-80&ifps=40-100&ifpd=4-8&ifpm=m3#m3`
In this case, a config with the name `m4` and a detoured config for WARP in WARP (WoW) with the name `m3` is created in the software.
Finally, it is recommended to check out sample WARP configs from [here](https://raw.githubusercontent.com/hiddify/hiddify-next/main/test.configs/WARP) and [here](https://raw.githubusercontent.com/hiddify/hiddify-next/main/test.configs/WARP2).
!!! tip "Final Tip"
- To achieve a suitable configuration, use the above scanners to find a clean IP suitable for your network and then build the Warp configuration according to the formula.
- Also, adjust the range of parameters to achieve the desired result.

244
docs/app/URL-Scheme.md Normal file
View File

@ -0,0 +1,244 @@
---
title: URL scheme in HiddifyApp
---
# URL Scheme in HiddifyApp
We extend the protocol defined [here](https://web.archive.org/web/20230323111527/docs.cfw.lbyczf.com/contents/urlscheme.html#%E4%B8%8B%E8%BD%BD%E9%85%8D%E7%BD%AE).
## Download configuration
Supports quick import of configuration files using URL Scheme:
```
hiddify://import/<sublink>#name
vmess://....
vless://...
ss://...
trojan://...
```
`<sublink>` is either clash link, singbox link, v2ray sublink, or single proxy link
<details><summary>deprecated</summary>
```
hiddify://install-sub?url=<encoded v2ray config URI>#<name>
hiddify://install-config?url=<encoded v2ray config URI>#<name>
hiddify://install-proxy?url=<encoded v2ray proxy share link>#<name>
```
</details>
### Examples:
#### Example Deeplink
```
hiddify://import/https://hiddify.com/autosub#name
hiddify://import/trojan://your_password@aws-ar-buenosaires-1.f1cflineb.com:443#name
```
##### Example Sub link content
###### v2ray format
```
# http_WS_direct_vless تست
vless://64177752-4266-4e00-94e3-1b8ececc6623@ip.sslip.io:80?security=none&sni=ip.sslip.io&type=ws&alpn=http/1.1&path=/2LBLzR6NsjNkCN830caotU&host=ip.sslip.io&encryption=none&fp=chrome&headerType=None#http_WS_direct_vless_تست
# http_WS_direct_vmess تست
vmess://64177752-4266-4e00-94e3-1b8ececc6623@ip.sslip.io:80?security=none&sni=ip.sslip.io&type=ws&alpn=http/1.1&path=/2LBLzR6NsjNkCN830caotU&host=ip.sslip.io&encryption=none&fp=chrome&headerType=None#http_WS_direct_vless_تست
# ssconfig
ssconf://s3.amazonaws.com/beedynconprd/ng4lf90ip01zstlyle4r0t56x1qli4cvmt2ws6nh0kdz1jpgzyedogxt3mpxfbxi.json#BeePass",
# Reality
vless://409f106a-b2f2-4416-b186-5429c9979cd9@54.38.144.4:2053?encryption=none&flow=&fp=chrome&pbk=SbVKOEMjK0sIlbwg4akyBg5mL5KZwwB-ed4eEE7YnRc&security=reality&serviceName=xyz&sid=&sni=discordapp.com&type=grpc#رایگان | REALITY | @EliV2ray | FR🇫🇷 | 0⃣1
# Vless
vless://25da296e-1d96-48ae-9867-4342796cd742@172.67.149.95:443?encryption=none&fp=chrome&host=vless.229feb8b52a0e7e117ea76f8b591bcb3.workers.dev&path=%2F%3Fed%3D2048&security=tls&sni=vless.229feb8b52a0e7e117ea76f8b591bcb3.workers.dev&type=ws#رایگان | VLESS | @Helix_Servers | US🇺🇸 | 0⃣1
# Vmess
vmess://eyJhZGQiOiI1MS4xNjEuMTMwLjE3MyIsImFpZCI6IjAiLCJhbHBuIjoiIiwiZnAiOiIiLCJob3N0IjoiIiwiaWQiOiJkNDNlZTVlMy0xYjA3LTU2ZDctYjJlYS04ZDIyYzQ0ZmRjNjYiLCJuZXQiOiJ0Y3AiLCJwYXRoIjoiIiwicG9ydCI6IjgwODAiLCJzY3kiOiJjaGFjaGEyMC1wb2x5MTMwNSIsInNuaSI6IiIsInRscyI6IiIsInR5cGUiOiJub25lIiwidiI6IjIiLCJwcyI6Ilx1MDYzMVx1MDYyN1x1MDZjY1x1MDZhZlx1MDYyN1x1MDY0NiB8IFZNRVNTIHwgQFdhdGFzaGlfVlBOIHwgQVVcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZmEgfCAwXHVmZTBmXHUyMGUzMVx1ZmUwZlx1MjBlMyJ9"
# ss
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTp0T3dPeXZsWGlZNUFUSkFVT3BYTlBO@5.35.34.107:55990#%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86+%7C+SS+%7C+%40iP_CF+%7C+RU%F0%9F%87%B7%F0%9F%87%BA+%7C+0%EF%B8%8F%E2%83%A31%EF%B8%8F%E2%83%A3"
# TUIC
tuic://3618921b-adeb-4bd3-a2a0-f98b72a674b1:dongtaiwang@108.181.24.7:23450?allow_insecure=1&alpn=h3&congestion_control=bbr&sni=www.google.com&udp_relay_mode=native#رایگان | TUIC | @V2rayCollector | CA🇨🇦 | 0⃣1
# Hysteria1
hysteria://host:443?protocol=udp&auth=123456&peer=sni.domain&insecure=1&upmbps=100&downmbps=100&alpn=hysteria&obfs=xplus&obfsParam=123456#remarks",
# Hysteria2
hysteria2://letmein@example.com/?insecure=1&obfs=salamander&obfs-password=gawrgura&pinSHA256=deadbeef&sni=real.example.com
# SSH
ssh://user:pass@server:22/?pk=pk&hk=hk"
# Trojan
trojan://your_password@aws-ar-buenosaires-1.f1cflineb.com:443?host=aws-ar-buenosaires-1.f1cflineb.com&path=%2Ff1rocket&security=tls&sni=aws-ar-buenosaires-1.f1cflineb.com&type=ws#رایگان | TROJAN | @VmessProtocol | RELAY🚩 | 0⃣1⃣"
#Wireguard
wg://[server]:222/?pk=[private_key]&local_address=10.0.0.2/24&peer_pk=[peer_public_key]&pre_shared_key=[pre_shared_key]&workers=[workers]&mtu=[mtu]&reserved=0,0,0
```
###### v2ray link format
```
#normal exmaple
hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/fe3637db4ece53e56ac99ea09dbefa34466f280f/sub/normal/mix
#base64 example
hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/fe3637db4ece53e56ac99ea09dbefa34466f280f/sub/base64/mix
```
###### Singbox format
```
hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/fe3637db4ece53e56ac99ea09dbefa34466f280f/singbox/sfasfi/mixLite.json
```
##### Clash format
```
hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/d6ce7b907eeb58abf503c283af192e7bc915d143/clash/mix.yml
```
# Profile Title:
We use the first item from the following list if it is not empty or null
- "Profile-Title" header
- "content-disposition" header (described bellow)
- URL Fragment (anything after # in the url)
- the last part of the URL as the configuration file name. Any `.txt` `.json` `.yaml` or `.yml` will be removed
### Response headers
#### Profile-Title
You can use base64 encoded UTF8 name for profile title that allows you to have emoji in profile title 😍
However you use also the ascii name in the header. Example:
```
Profile-Title: base64:SSDinaTvuI8gSGlkZGlmeQ==
```
It will show the profile title as `I ❤️ Hiddify`
```
Profile-Title: I love hiddify
```
It will show the profile title as `I love Hiddify`
#### content-disposition
If the `Profile-Title` is not set for backward compatibility with clash configs we use the value corresponding to `filename` as the configuration file name, otherwise use the last part of the URL as the configuration file name. Any `.txt`, `.yaml` or `.yml` will be removed
```
content-disposition: attachment; filename="abc.txt"
```
#### profile-update-interval
If there is a `profile-update-interval` field in the response header, the configuration file automatic update interval is set to the corresponding value, in hours
```
profile-update-interval: 12
```
#### subscription-userinfo
If the `subscription-userinfo` field exists in the response header, its corresponding traffic and expiration information will be displayed in the Profiles module, [specification reference here](https://github.com/crossutility/Quantumult/blob/master/extra-subscription-feature.md)
```
subscription-userinfo: upload=455727941; download=6174315083; totl=1073741824000; expire=1671815872
```
#### profile-web-page-url
If the `profile-web-page-url` field exists in the response header, the `Open web page` option will be displayed in the profile, allowing the user to jump to the corresponding portal home page
#### support-url
If the `support-url` field exists in the response header, the `support` option will be displayed in the profile, allowing the user to jump to the corresponding portal home page
#### moved-permanently-to
If the `moved-permanently-to` field exists in the response header, this will update the subscription url. It is useful when your sublink is blocked or you want to change the domain.
#### DNS
If the `DNS` field exists in the response header, and the user did not set his/her own preferred DNS, the application will use this DNS server. (In the clash profile this setting can be override)
#### Example
<div align=center>
![image](https://user-images.githubusercontent.com/114227601/230938537-db2b697c-fa58-41fb-a2d7-b11f749d5de8.png)
</div>
In this example:
```
پروفایل یک = <name>
usage=<download>+<upload> (if more than 80% of total :yellow, more than 100% :red)
total=<total>
روزباقیمانه=relative date of <expire> (if less than 7 days: yellow, less than zero: red)
مشاهده= open browser with <profile-web-page-url>
```
The usage information will be fetched by HEAD option whenever user open the application or every 1 minute (when user is focused in the application)
If any of those fields are empty the corresponding data will not be shown.
# if you can not modify HTTP header (e g. In GitHub)
You can add headers in the first 10 lines of the file with skip characters such as `//` for json or `#` for Yaml and sub links
E.g.,
```
#profile-title: Hiddify
#profile-title: base64:base64string
#profile-update-interval: 1
#subscription-userinfo: upload=455727941; download=6174315083; total=1073741824000; expire=1671815872
#support-url: https://t.me/hiddify
#profile-web-page-url: https://hiddify.com
```
# Fragment Parameters
If you want to use Fragment in your links, you have to consider the following parameters
```
&fragment=size,sleep,hellotls
```
For example, you just need to put the following information in your links
`&fragment=10-100,100-200,hellotls`
# MUX parameter
If you want to setup Mux parameters in your link
```
mux : "smux/h2mux/yamux"
mux_max : "number" e.g. 6
mux_min : "number" e.g. 2
mux_pad : "true/false"
mux_down : "number in mbps" e.g. 100
mux_up : "number in mbps" e.g. 200
```
Here:
- `mux` can be one of `smux`, `yamux`, `h2mux`
- `mux_max` is the maximum number of connections.
- `mux_min` is the minimum number of streams.
- `mux_pad` is a true or false parameter which turns on or off this feature on MUX. It Should be the same with the server.
- `mux_down` is the download bandwidth for MUX in mbps.
- `mux_up` is the upload bandwidth for MUX in mbps.
Example: `mux=smux&mux_max=4&mux_min=0&mix_pad=false&mux_up=10&mux_down=10`

17
docs/app/changelog.md Normal file
View File

@ -0,0 +1,17 @@
---
description: Welcome to the wiki page for the Hiddify project.
comments: true
keywords: [hiddify, hiddify-manager, changelog]
category: Getting Started
---
# :octicons-log-16: Change Log
## v1.1.1
test
## V2.1.1
test2

150
docs/app/index.fa.md Normal file
View File

@ -0,0 +1,150 @@
---
title: راهنمای اپ
hide:
# - navigation
- toc
- feedback
weight: -19
comments: false
---
<style>
@media screen and (min-width: 76.1875em) {.md-sidebar{display:none;}} {.md-content__button {display: none;}}</style>
# همه آموزش‌ها و ویدیوهای مرتبط با اپ هیدیفای
هیدیفای یک اپ کلاینت VPN است که به عنوان
ابزار پروکسی جهانی عمل می‌کند و ویژگی‌ها و پروتکل‌های متنوعی را ارائه می‌دهد. اطلاعات مناسب و دقیق
<a class="underline underline-offset-2"
href="https://github.com/hiddify/hiddify-app/blob/main/README_fa.md">اینجا</a> در دسترس است. این صفحه شامل
راهنماهای آموزشی مرتبط با این پروژه می‌باشد.
<section class="flex flex-col gap-5 items-center justify-center py-10">
<section
class=" video-card relative w-full md:max-w-[900px] rounded-3xl border-2 border-white bg-white bg-opacity-20 shadow-lg">
<div class="flex flex-col md:flex-row h-full md:max-h-[450px]" id="section-1">
<div class="px-8 py-8 w-full md:w-2/3">
<img src="/assets/hiddify-app.png" class="md:max-h-[183px] rounded-xl w-full md:max-w-[326px] mb-5" />
<div class="flex flex-col gap-2">
<h1 class="text-primaryText title-font text-lg mb-3">هیدیفای‌اپ</h1>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-install-Hiddify-app/" target="_blank" class="text-secondaryText text-sm">چگونه
هیدیفای‌اپ را نصب کنیم</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-use-Hiddify-app" target="_blank" class="text-secondaryText text-sm">چگونه
از هیدیفای‌اپ استفاده کنیم
</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/HiddifyCli-guide/" target="_blank" class="text-secondaryText text-sm">چگونه از
هیدیفای‌کامندلاین استفاده کنیم</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-use-UDP-Turn-Relay/" target="_blank" class="text-secondaryText text-sm">چگونه
از
UDP Turn Relay در هیدیفای‌اپ استفاده کنیم</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-contribute-to-this-project/" target="_blank"
class="text-secondaryText text-sm">
چگونه به این پروژه کمک کنیم</a>
</div>
<div class="flex flex-col gap-2 md:hidden" id="section-content-1">
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/URL-Scheme/" target="_blank" class="text-secondaryText text-sm">
طرح URL در هیدیفای‌اپ
</a>
</div>
</div>
</div>
</div>
<div
class="max-h-[500px] md:max-h-[unset] md:border-r-2 border-t-2 md:border-t-0 border-white px-2 py-2 w-full md:w-1/3">
<div class="px-6 overflow-y-auto overflow-x-hidden max-h-[400px] md:h-full">
<div class="pt-6">
<h1 class="text-secondaryText title-font text-base">ویدیوهای مرتبط</h1>
</div>
<div class="flex flex-col gap-3 md:gap-1">
<a href="https://www.youtube.com/watch?v=vUaA1AEUy1s">
<div class="relative p-2 flex justify-center items-center">
<img src="/assets/install_HiddifyApp.png"
class="md:max-h-[103px] w-full md:max-w-[184px] rounded-xl" />
<img src="/assets/play-icon.svg" class="absolute" decoding="async" loading="lazy" />
</div>
</a>
<a href="https://www.youtube.com/watch?v=EjHjLQbC40E">
<div class="relative p-2 flex justify-center items-center">
<img src="/assets/Use_HiddifyApp.png"
class="md:max-h-[103px] w-full md:max-w-[184px] rounded-xl" />
<img src="/assets/play-icon.svg" class="absolute" decoding="async" loading="lazy" />
</div>
</a>
<a href="https://www.youtube.com/watch?v=NtQ0bQlIRrYs">
<div class="relative p-2 flex justify-center items-center">
<img src="/assets/advanced_setting_HiddifyApp.jpg"
class="md:max-h-[103px] w-full md:max-w-[184px] rounded-xl" />
<img src="/assets/play-icon.svg" class="absolute" decoding="async" loading="lazy" />
</div>
</a>
</div>
</div>
</div>
</div>
</section>
</section>
</div>
</main>
<script>
function readMore(id) {
const readMoreBtn = document.getElementById(`read-more-${id}`)
const arrowIcon = document.getElementById(`arrow-${id}`)
const hiddenContent = document.getElementById(`section-content-${id}`)
const section = document.getElementById(`section-${id}`)
const sectionBottom = document.getElementById(`section-bottom-${id}`)
const btnText = readMoreBtn.getElementsByTagName('span')[0].innerText
if (btnText.includes('بیشتر')) {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'کمتر بخوانید'
hiddenContent.style.display = 'flex'
sectionBottom.classList.remove('absolute')
const content = document.getElementById(`section-content-${id}`)
section.style.maxHeight = content.offsetHeight + 450 + 'px'
arrowIcon.style.transform = "rotate(180deg)";
} else {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'بیشتر بخوانید'
hiddenContent.style.display = 'none'
section.style.maxHeight = 450 + 'px'
arrowIcon.style.transform = "rotate(0deg)";
sectionBottom.classList.add('absolute')
}
}
</script>

123
docs/app/index.md Normal file
View File

@ -0,0 +1,123 @@
---
title: App Guide
hide:
- toc
- feedback
# - navigation
comments: false
weight: -19
---
<style>
@media screen and (min-width: 76.1875em) {.md-sidebar{display:none;}}
.md-content__button {
display: none;
}
</style>
# All tutorials and videos related to Hiddify application
Hiddify is a VPN client app that serves as a
universal proxy tool-chain which offers a wide
range of features and protocols. The appropriate and detailed information are accessible <a
class="underline underline-offset-2"
href="https://github.com/hiddify/hiddify-next/blob/main/README.md">here</a>. This page
contains
tutorial guides related to this project.
<section class="flex flex-col gap-5 items-center justify-center py-10">
<section
class=" video-card relative w-full md:max-w-[900px] rounded-3xl border-2 border-white bg-white bg-opacity-20 shadow-lg">
<div class="flex flex-col md:flex-row h-full md:max-h-[450px]" id="section-1">
<div class="px-8 py-8 w-full md:w-2/3">
<img src="/assets/hiddify-app.png" class="md:max-h-[183px] rounded-xl w-full md:max-w-[326px] mb-5" />
<div class="flex flex-col gap-2">
<h1 class="text-primaryText title-font text-lg mb-3">Hiddify App</h1>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-install-Hiddify-app/" target="_blank" class="text-secondaryText text-sm">How
to install HiddifyApp</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-use-Hiddify-app" target="_blank" class="text-secondaryText text-sm">How to use
HiddifyApp
</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/HiddifyCli-guide/" target="_blank" class="text-secondaryText text-sm">How to use
HiddifyCli</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-use-UDP-Turn-Relay/" target="_blank" class="text-secondaryText text-sm">How to
use
UDP Turn Relay in HiddifyApp</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-contribute-to-this-project/" target="_blank"
class="text-secondaryText text-sm">How
to contribute to this project</a>
</div>
<div class="flex flex-col gap-2 md:hidden" id="section-content-1">
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/URL-Scheme/" target="_blank" class="text-secondaryText text-sm">
URL scehme in HiddifyApp
</a>
</div>
</div>
</div>
</div>
</div>
</section>
</section>
<script>
function readMore(id) {
const readMoreBtn = document.getElementById(`read-more-${id}`)
const arrowIcon = document.getElementById(`arrow-${id}`)
const hiddenContent = document.getElementById(`section-content-${id}`)
const section = document.getElementById(`section-${id}`)
const sectionBottom = document.getElementById(`section-bottom-${id}`)
const btnText = readMoreBtn.getElementsByTagName('span')[0].innerText
if (btnText.includes('more')) {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'Read less'
hiddenContent.style.display = 'flex'
sectionBottom.classList.remove('absolute')
const content = document.getElementById(`section-content-${id}`)
section.style.maxHeight = content.offsetHeight + 450 + 'px'
arrowIcon.style.transform = "rotate(180deg)";
} else {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'Read more'
hiddenContent.style.display = 'none'
section.style.maxHeight = 450 + 'px'
arrowIcon.style.transform = "rotate(0deg)";
sectionBottom.classList.add('absolute')
}
}
</script>

22
docs/app/index.zh.md Normal file
View File

@ -0,0 +1,22 @@
---
description: به ویکی هیدیفای خوش آمدید
title: راهنمای اپ
comments: falseح
weight: 2
---
# راهنمای اپ
## :material-home: خانه
به ویکی هیدیفای خوش آمدید
هیدیفای همه کاره هست
## لایسنس
```
TODO
```
## تغییرات
[see](changelog.md)

425
docs/app/index2.fa.html Normal file
View File

@ -0,0 +1,425 @@
<!doctype html>
<html lang="fa" class="translated-rtl">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="favicon" href="/assets/favicon.ico" />
<meta property="description" content="هیدیفای، برای اینترنت رایگان" data-rh="true" />
<link data-rh="true" rel="canonical" href="https://hiddify.com/" />
<meta property="og:title" content="هیدیفای | Hiddify" data-rh="true" />
<title>هیدیفای | راهکار آزادی اینترنت</title>
<link href="/assets/css/site.css" rel="stylesheet" />
<style>
html,
body {
margin: 0;
overflow-x: hidden;
}
body {
/* تنظیم تصویر پس‌زمینه */
background-image: url('/assets/background-color.png');
/* پوشش تمام صفحه */
background-size: cover;
/* مرکز تصویر پس‌زمینه */
background-position: center;
/* عدم تکرار تصویر */
background-repeat: no-repeat;
/* ثابت نگه داشتن پس‌زمینه (همراه محتوا اسکرول نمی‌شود) */
background-attachment: scroll;
}
</style>
<style>
/* width */
::-webkit-scrollbar {
width: 8px;
}
/* Track */
::-webkit-scrollbar-track {
border-radius: 20px;
}
/* Handle */
::-webkit-scrollbar-thumb {
background: white;
border-radius: 20px;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: white;
}
</style>
</head>
<body style="direction:rtl">
<header class="md:mb-10 lg:mb-24 px-3 md:px-10 lg:px-20">
<nav class="flex items-center justify-between py-10">
<div class="justify-start items-center w-full hidden md:flex">
<a href="/fa" class="items-center flex">
<img src="/assets/hiddify-logo.png" alt="لوگوی هیدیفای" height="40" />
</a>
</div>
<div class="w-full hidden md:flex items-center justify-end gap-8 text-[#212529]">
<a href="/fa/app" class="py-2 w-fit no-underline hover:text-primary">
اپلیکیشن
</a>
<a href="/fa/manager" class="py-2 w-fit no-underline hover:text-primary">
منیجر
</a>
<a href="/fa/about-us" class="py-2 w-fit no-underline hover:text-primary">
درباره ما
</a>
<a href="/app" class="py-2 w-fit px-2 no-underline hover:text-primary flex items-center gap-2">
<div class="w-6 h-3">
<img src="/assets/united-states-flag-icon.png" class="w-6 h-3" />
</div>
<span>English</span>
</a>
</div>
<div class="flex justify-start items-center w-fit h-7 md:hidden">
<a href="/fa" class="flex items-center h-7">
<img src="/assets/hiddify-logo.png" alt="لوگوی هیدیفای" height="28" class="h-7" />
</a>
</div>
<div id="menu-btn" class="flex justify-center items-center w-fit md:hidden cursor-pointer">
<img src="/assets/three-dots.svg" alt="hero" height="24" decoding="async" loading="lazy" />
</div>
</nav>
<div dir="ltr" id="sidebar"
class="w-[250px] bg-[#e8cff1] hidden max-h-screen h-screen fixed left-0 top-0 px-10 py-20 flex-col gap-5 z-50">
<div id="close-sidebar-btn"
class="absolute top-5 right-5 flex justify-center items-center w-fit md:hidden cursor-pointer">
<img src="/assets/close-button.svg" alt="hero" height="24" decoding="async" loading="lazy" />
</div>
<div class="flex justify-start items-center w-fit h-7 md:hidden">
<a href="/fa" class="flex items-center h-7">
<img src="/assets/hiddify-logo.png" alt="لوگوی Hiddify" height="28" class="h-7" />
</a>
</div>
<a href="/fa/app" class="py-2 w-fit no-underline hover:text-primary">
اپ
</a>
<a href="/fa/manager" class="py-2 w-fit no-underline hover:text-primary">
منیجر
</a>
<a href="/fa/about-us" class="py-2 w-fit no-underline hover:text-primary">
درباره ما
</a>
<a href="/app" class="py-2 w-fit px-2 no-underline hover:text-primary flex items-center gap-2">
<div class="w-6 h-3">
<img src="/assets/united-states-flag-icon.png" class="w-6 h-3" />
</div>
<span>English</span>
</a>
</div>
</header>
<main class="2xl:flex 2xl:justify-center">
<div class="px-3 md:px-10 lg:px-20 2xl:max-w-[1920px]">
<h1 class="text-primaryText title-font text-4xl">راهنمای هیدیفای‌اپ</h1>
<div class="py-10">
<p class="text-secondaryText text-xl">
HiddifyApp یک کلاینت مبتنی بر <a class="underline underline-offset-2"
href="https://github.com/SagerNet/sing-box">Sing-box</a> است که به عنوان یک
زنجیره ابزار پروکسی جهانی عمل می‌کند و ویژگی‌ها و پروتکل‌های متنوعی را ارائه می‌دهد. اطلاعات مناسب و دقیق
<a class="underline underline-offset-2"
href="https://github.com/hiddify/hiddify-next/blob/main/README.md">اینجا</a> در دسترس است. این صفحه شامل
راهنماهای آموزشی مرتبط با این پروژه می‌باشد.
</p>
</div>
<section class="flex flex-col gap-5 items-center justify-center py-10">
<section
class="relative w-full md:max-w-[900px] rounded-3xl border-2 border-white bg-white bg-opacity-20 shadow-lg">
<div class="flex flex-col md:flex-row h-full md:max-h-[450px]" id="section-1">
<div class="px-8 py-8 w-full md:w-2/3">
<img src="/assets/hiddify-app.png" class="md:max-h-[183px] rounded-xl w-full md:max-w-[326px] mb-5" />
<div class="flex flex-col gap-2">
<h1 class="text-primaryText title-font text-lg mb-3">هیدیفای‌اپ</h1>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-install-Hiddify-app/" target="_blank" class="text-secondaryText text-sm">چگونه
هیدیفای‌اپ را نصب کنیم</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-use-Hiddify-app" target="_blank" class="text-secondaryText text-sm">چگونه
از هیدیفای‌اپ استفاده کنیم
</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/HiddifyCli-guide/" target="_blank" class="text-secondaryText text-sm">چگونه از
هیدیفای‌کامندلاین استفاده کنیم</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-use-UDP-Turn-Relay/" target="_blank" class="text-secondaryText text-sm">چگونه
از
UDP Turn Relay در هیدیفای‌اپ استفاده کنیم</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/How-to-contribute-to-this-project/" target="_blank"
class="text-secondaryText text-sm">
چگونه به این پروژه کمک کنیم</a>
</div>
<div class="flex flex-col gap-2 md:hidden" id="section-content-1">
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/fa/app/URL-Scheme/" target="_blank" class="text-secondaryText text-sm">
طرح URL در هیدیفای‌اپ
</a>
</div>
</div>
</div>
</div>
<div
class="max-h-[500px] md:max-h-[unset] md:border-r-2 border-t-2 md:border-t-0 border-white px-2 py-2 w-full md:w-1/3">
<div class="px-6 overflow-y-auto overflow-x-hidden max-h-[400px] md:h-full">
<div class="pt-6">
<h1 class="text-secondaryText title-font text-base">ویدیوهای مرتبط</h1>
</div>
<div class="flex flex-col gap-3 md:gap-1">
<a href="https://www.youtube.com/watch?v=vUaA1AEUy1s">
<div class="relative p-2 flex justify-center items-center">
<img src="/assets/install_HiddifyApp.png"
class="md:max-h-[103px] w-full md:max-w-[184px] rounded-xl" />
<img src="/assets/play-icon.svg" class="absolute" decoding="async" loading="lazy" />
</div>
</a>
<a href="https://www.youtube.com/watch?v=EjHjLQbC40E">
<div class="relative p-2 flex justify-center items-center">
<img src="/assets/Use_HiddifyApp.png"
class="md:max-h-[103px] w-full md:max-w-[184px] rounded-xl" />
<img src="/assets/play-icon.svg" class="absolute" decoding="async" loading="lazy" />
</div>
</a>
<a href="https://www.youtube.com/watch?v=NtQ0bQlIRrYs">
<div class="relative p-2 flex justify-center items-center">
<img src="/assets/advanced_setting_HiddifyApp.jpg"
class="md:max-h-[103px] w-full md:max-w-[184px] rounded-xl" />
<img src="/assets/play-icon.svg" class="absolute" decoding="async" loading="lazy" />
</div>
</a>
</div>
</div>
</div>
</div>
</section>
</section>
</div>
</main>
<footer
class="body-font relative bg-transparent py-4 text-secondary border-t border-white px-3 md:px-16 lg:px-28 xl:px-36">
<div class="flex flex-col flex-wrap px-5 py-24 md:flex-row md:flex-nowrap md:items-center lg:items-start">
<div class="w-full md:w-64 flex-shrink-0 md:mx-0 px-4 text-right">
<div class="w-full flex flex-col sm:flex-row sm:items-center sm:justify-between gap-5">
<a class="title-font flex items-center font-medium text-white md:justify-start">
<img src="/assets/hiddify-logo.png" alt="hero" height="40" />
</a>
<div class="items-end justify-start gap-5 flex md:hidden">
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://www.youtube.com/@hiddify">
<img src="/assets/socials/youtube.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://twitter.com/hiddify_com">
<img src="/assets/socials/x.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://t.me/hiddify">
<img src="/assets/socials/telegram.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://github.com/hiddify/Hiddify-Manager">
<img src="/assets/socials/github.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
</div>
</div>
<p class="mt-5 mb-10 text-secondary text-sm">
برای اطمینان از اینکه همه می توانند با یک ابزار قدرتمند و حرفه ای ضد سانسور به راحتی به اینترنت نامحدود دسترسی
داشته باشند
</p>
<div class="items-end justify-start gap-5 hidden md:flex">
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://www.youtube.com/@hiddify">
<img src="/assets/socials/youtube.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://twitter.com/hiddify_com">
<img src="/assets/socials/x.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://t.me/hiddify">
<img src="/assets/socials/telegram.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://github.com/hiddify/Hiddify-Manager">
<img src="/assets/socials/github.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
</div>
</div>
<div class="-mb-10 mt-10 flex flex-grow flex-wrap md:mt-0 md:pr-20 text-right">
<div class="w-full px-4 md:w-1/2 lg:w-1/3">
<h2 class="title-font mb-3 text-lg text-secondary">دانلود اپ</h2>
<nav class="mb-10 list-none">
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary">اندروید</a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary">iOS</a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary">ویندوز</a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary">مک</a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary">لینوکس</a>
</li>
</nav>
</div>
<div class="w-full px-4 md:w-1/2 lg:w-1/3">
<h2 class="title-font mb-3 text-lg text-secondary">راه‌اندازی هیدیفای‌منیجر</h2>
<nav class="mb-10 list-none">
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-Installation-On-Ubuntu"
class="text-sm text-secondary">
اوبونتو
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Install-Hiddify-using-Docker"
class="text-sm text-secondary">
داکر
</a>
</li>
<li>
<a class="text-sm text-secondary"
href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-installation-on-Hetzner-Servers">
نصب سریع هتزنر
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-Installation-on-Oracle-Cloud"
class="text-sm text-secondary">
نصب سریع اوراکل
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-installation-on-Vultr-Servers"
class="text-sm text-secondary">
نصب سریع والتر
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-Installation-on-OVH-Servers"
class="text-sm text-secondary">
نصب سریع او-وی‌-اچ
</a>
</li>
</nav>
</div>
<div class="w-full px-4 md:w-1/2 lg:w-1/3">
<h2 class="title-font mb-3 text-lg text-secondary">حمایت کردن</h2>
<nav class="mb-10 list-none">
<li>
<a class="text-sm text-secondary" href="https://github.com/hiddify/Hiddify-Manager/wiki/">
از ویکی گیت هاب دیدن کنید
</a>
</li>
<li>
<a class="text-sm text-secondary" href="https://t.me/hiddify">عضویت در گروه تلگرام</a>
</li>
</nav>
</div>
</div>
</div>
<div>
<div class="flex justify-center">
<p class="text-center text-sm sm:text-left">
پشتیبانی شده توسط تیم Hiddify 2024. تمامی حقوق محفوظ است.
</p>
</div>
</div>
</footer>
<script>
var menuBtn = document.getElementById("menu-btn");
var sideBar = document.getElementById("sidebar");
var closeSideBarBtn = document.getElementById("close-sidebar-btn")
menuBtn.addEventListener("click", function () {
sideBar.classList.remove("hidden");
sideBar.classList.add("flex");
});
closeSideBarBtn.addEventListener("click", function () {
sideBar.classList.remove("flex");
sideBar.classList.add("hidden");
});
function readMore(id) {
const readMoreBtn = document.getElementById(`read-more-${id}`)
const arrowIcon = document.getElementById(`arrow-${id}`)
const hiddenContent = document.getElementById(`section-content-${id}`)
const section = document.getElementById(`section-${id}`)
const sectionBottom = document.getElementById(`section-bottom-${id}`)
const btnText = readMoreBtn.getElementsByTagName('span')[0].innerText
if (btnText.includes('بیشتر')) {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'کمتر بخوانید'
hiddenContent.style.display = 'flex'
sectionBottom.classList.remove('absolute')
const content = document.getElementById(`section-content-${id}`)
section.style.maxHeight = content.offsetHeight + 450 + 'px'
arrowIcon.style.transform = "rotate(180deg)";
} else {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'بیشتر بخوانید'
hiddenContent.style.display = 'none'
section.style.maxHeight = 450 + 'px'
arrowIcon.style.transform = "rotate(0deg)";
sectionBottom.classList.add('absolute')
}
}
</script>
</body>
</html>

395
docs/app/index2.html Normal file
View File

@ -0,0 +1,395 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="favicon" href="/assets/favicon.ico" />
<meta property="description" content="Hiddify, for a free internet" data-rh="true" />
<link data-rh="true" rel="canonical" href="https://hiddify.com/" />
<meta property="og:title" content="Hiddify | Hiddify" data-rh="true" />
<title>Hiddify | Internet Freedom Solution</title>
<link href="/assets/css/site.css" rel="stylesheet" />
<style>
html,
body {
margin: 0;
overflow-x: hidden;
}
body {
/* Set the background image */
background-image: url('/assets/background-color.png');
/* Cover the entire page */
background-size: cover;
/* Center the background image */
background-position: center;
/* Do not repeat the image */
background-repeat: no-repeat;
/* Fix the background (won't scroll with the content) */
background-attachment: scroll;
}
</style>
<style>
/* width */
::-webkit-scrollbar {
width: 8px;
}
/* Track */
::-webkit-scrollbar-track {
border-radius: 20px;
}
/* Handle */
::-webkit-scrollbar-thumb {
background: white;
border-radius: 20px;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: white;
}
</style>
</head>
<body>
<header class="md:mb-10 lg:mb-24 px-3 md:px-10 lg:px-20">
<nav class="flex items-center justify-between py-10">
<div class="justify-start items-center w-full hidden md:flex">
<a href="/" class="items-center flex">
<img src="/assets/hiddify-logo.png" alt="Hiddify Logo" height="40" />
</a>
</div>
<div class="w-full hidden md:flex items-center justify-end gap-8 text-[#212529]">
<a href="/app" class="py-2 w-fit no-underline hover:text-primary">
App
</a>
<a href="/manager" class="py-2 w-fit no-underline hover:text-primary">
Manager
</a>
<a href="/about-us" class="py-2 w-fit no-underline hover:text-primary">
About Us
</a>
<a href="/fa/app" class="py-2 w-fit px-2 no-underline hover:text-primary flex items-center gap-2">
<img style="display:inline"
src="https://user-images.githubusercontent.com/125398461/234186932-52f1fa82-52c6-417f-8b37-08fe9250a55f.png"
alt="Lang_farsi">
<span>فارسی</span>
</a>
</div>
<div class="flex justify-start items-center w-fit h-7 md:hidden">
<a href="/" class="flex items-center h-7">
<img src="/assets/hiddify-logo.png" alt="Hiddify Logo" height="28" class="h-7" />
</a>
</div>
<div id="menu-btn" class="flex justify-center items-center w-fit md:hidden cursor-pointer">
<img src="/assets/three-dots.svg" alt="hero" height="24" decoding="async" loading="lazy" />
</div>
</nav>
<div id="sidebar"
class="w-[250px] bg-[#e8cff1] hidden max-h-screen h-screen fixed right-0 top-0 px-10 py-20 flex-col gap-5 z-50">
<div id="close-sidebar-btn"
class="absolute top-5 left-5 flex justify-center items-center w-fit md:hidden cursor-pointer">
<img src="/assets/close-button.svg" alt="hero" height="24" decoding="async" loading="lazy" />
</div>
<div class="flex justify-start items-center w-fit h-7 md:hidden">
<a href="/" class="flex items-center h-7">
<img src="/assets/hiddify-logo.png" alt="Hiddify Logo" height="28" class="h-7" />
</a>
</div>
<a href="/app" class="py-2 w-fit no-underline hover:text-primary">
App
</a>
<a href="/manager" class="py-2 w-fit no-underline hover:text-primary">
Manager
</a>
<a href="/about-us" class="py-2 w-fit no-underline hover:text-primary">
About Us
</a>
<a href="/fa/app" class="py-2 w-fit px-2 no-underline hover:text-primary flex items-center gap-2">
<img style="display:inline"
src="https://user-images.githubusercontent.com/125398461/234186932-52f1fa82-52c6-417f-8b37-08fe9250a55f.png"
alt="Lang_farsi">
<span>فارسی</span>
</a>
</div>
</header>
<main class="2xl:flex 2xl:justify-center">
<div class="px-3 md:px-10 lg:px-20 2xl:max-w-[1920px]">
<h1 class="text-primaryText title-font text-4xl">Hiddify App Guide</h1>
<div class="py-10">
<p class="text-secondaryText text-xl">
HiddifyApp is a client based on <a class="underline underline-offset-2"
href="https://github.com/SagerNet/sing-box">Sing-box</a> that serves as a
universal proxy tool-chain which offers a wide
range
of features and protocols. The appropriate and detailed information are accessible <a
class="underline underline-offset-2"
href="https://github.com/hiddify/hiddify-next/blob/main/README.md">here</a>. This page
contains
tutorial guides related to this project.
</p>
</div>
<section class="flex flex-col gap-5 items-center justify-center py-10">
<section
class="relative w-full md:max-w-[900px] rounded-3xl border-2 border-white bg-white bg-opacity-20 shadow-lg">
<div class="flex flex-col md:flex-row h-full md:max-h-[450px]" id="section-1">
<div class="px-8 py-8 w-full md:w-2/3">
<img src="/assets/hiddify-app.png" class="md:max-h-[183px] rounded-xl w-full md:max-w-[326px] mb-5" />
<div class="flex flex-col gap-2">
<h1 class="text-primaryText title-font text-lg mb-3">Hiddify App</h1>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-install-Hiddify-app/" target="_blank" class="text-secondaryText text-sm">How
to install HiddifyApp</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-use-Hiddify-app" target="_blank" class="text-secondaryText text-sm">How to use
HiddifyApp
</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/HiddifyCli-guide/" target="_blank" class="text-secondaryText text-sm">How to use
HiddifyCli</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-use-UDP-Turn-Relay/" target="_blank" class="text-secondaryText text-sm">How to
use
UDP Turn Relay in HiddifyApp</a>
</div>
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/How-to-contribute-to-this-project/" target="_blank"
class="text-secondaryText text-sm">How
to contribute to this project</a>
</div>
<div class="flex flex-col gap-2 md:hidden" id="section-content-1">
<div class="flex items-center gap-2">
<div>
<div class="h-2 w-2 rounded-full bg-[#455FE9]"></div>
</div>
<a href="/app/URL-Scheme/" target="_blank" class="text-secondaryText text-sm">
URL scehme in HiddifyApp
</a>
</div>
</div>
</div>
</div>
</div>
</section>
</section>
</div>
</main>
<footer
class="body-font relative bg-transparent py-4 text-secondary border-t border-white px-3 md:px-16 lg:px-28 xl:px-36">
<div class="flex flex-col flex-wrap px-5 py-24 md:flex-row md:flex-nowrap md:items-center lg:items-start">
<div class="w-full md:w-64 flex-shrink-0 md:mx-0 px-4 text-left">
<div class="w-full flex flex-col sm:flex-row sm:items-center sm:justify-between gap-5">
<a class="title-font flex items-center font-medium text-white md:justify-start">
<img src="/assets/hiddify-logo.png" alt="hero" height="40" />
</a>
<div class="items-end justify-start gap-5 flex md:hidden">
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://www.youtube.com/@hiddify">
<img src="/assets/socials/youtube.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://twitter.com/hiddify_com">
<img src="/assets/socials/x.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://t.me/hiddify">
<img src="/assets/socials/telegram.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://github.com/hiddify/Hiddify-Manager">
<img src="/assets/socials/github.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
</div>
</div>
<p class="mt-5 mb-10 text-secondary text-sm">
To ensure everyone can access the unrestricted internet easily with a powerful and
professional anti-censorship tool
</p>
<div class="items-end justify-start gap-5 hidden md:flex">
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://www.youtube.com/@hiddify">
<img src="/assets/socials/youtube.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://twitter.com/hiddify_com">
<img src="/assets/socials/x.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://t.me/hiddify">
<img src="/assets/socials/telegram.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
<div class="flex items-center justify-center w-6 h-6 rounded-full bg-white text-white">
<a href="https://github.com/hiddify/Hiddify-Manager">
<img src="/assets/socials/github.svg" alt="linux" class="w-6" decoding="async" loading="lazy" />
</a>
</div>
</div>
</div>
<div class="-mb-10 mt-10 flex flex-grow flex-wrap md:mt-0 md:pl-20 text-left">
<div class="w-full px-4 md:w-1/2 lg:w-1/3">
<h2 class="title-font mb-3 text-lg text-secondary">Download Client</h2>
<nav class="mb-10 list-none">
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary"> Android </a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary"> IOS </a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary"> Windows </a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary"> MacOS </a>
</li>
<li>
<a href="https://app.hiddify.com/" target="_blank" class="text-sm text-secondary"> Linux </a>
</li>
</nav>
</div>
<div class="w-full px-4 md:w-1/2 lg:w-1/3">
<h2 class="title-font mb-3 text-lg text-secondary">Setup Hiddify Manager</h2>
<nav class="mb-10 list-none">
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-Installation-On-Ubuntu"
class="text-sm text-secondary">
Ubuntu
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Install-Hiddify-using-Docker"
class="text-sm text-secondary">
Docker
</a>
</li>
<li>
<a class="text-sm text-secondary"
href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-installation-on-Hetzner-Servers">
Hetzner
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-Installation-on-Oracle-Cloud"
class="text-sm text-secondary">
Oracle Cloud
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-installation-on-Vultr-Servers"
class="text-sm text-secondary">
Vultr
</a>
</li>
<li>
<a href="https://github.com/hiddify/Hiddify-Manager/wiki/Quick-Installation-on-OVH-Servers"
class="text-sm text-secondary">
OVH
</a>
</li>
</nav>
</div>
<div class="w-full px-4 md:w-1/2 lg:w-1/3">
<h2 class="title-font mb-3 text-lg text-secondary">Support</h2>
<nav class="mb-10 list-none">
<li>
<a class="text-sm text-secondary" href="https://github.com/hiddify/Hiddify-Manager/wiki/">
Visit GitHub Wiki
</a>
</li>
<li>
<a class="text-sm text-secondary" href="https://t.me/hiddify"> Join Telegram Group </a>
</li>
</nav>
</div>
</div>
</div>
<div>
<div class="flex justify-center">
<p class="text-center text-sm sm:text-left">
Powered by 2024 Hiddify team. All Rights Reserved.
</p>
</div>
</div>
</footer>
<script>
var menuBtn = document.getElementById("menu-btn");
var sideBar = document.getElementById("sidebar");
var closeSideBarBtn = document.getElementById("close-sidebar-btn")
menuBtn.addEventListener("click", function () {
sideBar.classList.remove("hidden");
sideBar.classList.add("flex");
});
closeSideBarBtn.addEventListener("click", function () {
sideBar.classList.remove("flex");
sideBar.classList.add("hidden");
});
function readMore(id) {
const readMoreBtn = document.getElementById(`read-more-${id}`)
const arrowIcon = document.getElementById(`arrow-${id}`)
const hiddenContent = document.getElementById(`section-content-${id}`)
const section = document.getElementById(`section-${id}`)
const sectionBottom = document.getElementById(`section-bottom-${id}`)
const btnText = readMoreBtn.getElementsByTagName('span')[0].innerText
if (btnText.includes('more')) {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'Read less'
hiddenContent.style.display = 'flex'
sectionBottom.classList.remove('absolute')
const content = document.getElementById(`section-content-${id}`)
section.style.maxHeight = content.offsetHeight + 450 + 'px'
arrowIcon.style.transform = "rotate(180deg)";
} else {
readMoreBtn.getElementsByTagName('span')[0].innerText = 'Read more'
hiddenContent.style.display = 'none'
section.style.maxHeight = 450 + 'px'
arrowIcon.style.transform = "rotate(0deg)";
sectionBottom.classList.add('absolute')
}
}
</script>
</body>
</html>

88
docs/app/old-index.fa.md Normal file
View File

@ -0,0 +1,88 @@
---
description: به ویکی هیدیفای خوش آمدید
title: راهنمای اپ
comments: false
weight: -1
---
# :material-home: راهنمای هیدیفای‌اپ
هیدیفای‌اپ یک کلاینت مالتی‌پلتفرم مبتنی بر [سینگ‌باکس](https://github.com/SagerNet/sing-box) که به عنوان یک ابزار عمومی برای پروکسی عمل می‌کند و با دارا بودن قابلیت‌های فراوان از پروتکل‌های زیادی برای دور زدن محدودیت‌های اینترنتی پشتیبانی می‌کند. اطلاعات بیشتر و دقیق‌تر را در [اینجا](https://github.com/hiddify/hiddify-next/blob/main/README_fa.md) ملاحظه فرمایید. این صفحه شامل مطالب آموزشی مرتبط به این برنامه می‌باشد.
## هیدیفای‌اپ
<div class="absolute -z-40 h-full max-h-[800px] w-full max-w-[700px] bg-blue-200 opacity-30 mix-blend-multiply blur-3xl filter md:left-0 md:animate-blob"></div>
<div class="animation-delay-2000 animat absolute -z-40 h-full max-h-[800px] w-full max-w-[700px] bg-indigo-300 opacity-30 mix-blend-multiply blur-3xl filter md:right-[5%] md:animate-blob"></div>
<div class="card-item mt-4 flex gap-16 rounded-xl border border-gray-500 p-8 backdrop-blur-xl backdrop-filter max-w-[800px] max-h-[451] w-full h-full relative mx-auto my-20 flex-col lg:flex-row">
<div class="max-w-[552px]">
<img src="/assets/image-197.png" alt="image" class="rounded-xl">
<ul class="my-4 list-disc text-secondary ml-5">
<li>
<a href="/fa/app/How-to-install-Hiddify-app/" target="_blank">آموزش نصب هیدیفای‌اپ</a>
</li>
<li>
<a href="/fa/app/How-to-use-Hiddify-app/" target="_blank">آموزش کار با هیدیفای‌اپ</a>
</li>
<li>
<a href="/fa/app/HiddifyCli-guide/" target="_blank">آموزش استفاده از HiddifyCli یا هیدیفای‌کامندلاین</a>
</li>
<li>
<a href="/fa/app/How-to-use-UDP-Turn-Relay/" target="_blank">آموزش استفاده از UDP Turn Relay در هیدیفای‌اپ</a>
</li>
<li>
<a href="/fa/app/How-to-contribute-to-this-project/" target="_blank">چگونه می‌توان در این پروژه همکاری نمود</a>
</li>
<li>
<a href="/app/URL-Scheme/" target="_blank">ساختار لینک‌ها در هیدیفای‌اپ</a>
</li>
</ul>
</div>
<div class="lg:border-r lg:border-gray-500 lg:p-4 lg:mr-auto">
<h4 class="text-md">ویدئوهای مرتبط</h4>
<div class="flex gap-4 mt-4 flex-col lg:mr-2">
<a href="https://www.youtube.com/watch?v=vUaA1AEUy1s" target="_blank">
<img src="/assets/install_HiddifyApp.png" alt="image" class="rounded-xl w-[184px] h-[103px]">
</a>
<a href="https://www.youtube.com/watch?v=EjHjLQbC40E" target="_blank">
<img src="/assets/Use_HiddifyApp.png" alt="image" class="rounded-xl w-[184px] h-[103px]">
</a>
<a href="https://www.youtube.com/watch?v=NtQ0bQlIRrYs" target="_blank">
<img src="/assets/advanced_setting_HiddifyApp.jpg" alt="image" class="rounded-xl w-[184px] h-[103px]">
</a>
</div>
</div>
</div>
<script>
function toggleShow() {
var mobileHeader = document.getElementById("mobile-header");
var showIcon = document.getElementById("show-icon");
var hideIcon = document.getElementById("hide-icon");
if (mobileHeader.classList.contains("hidden")) {
mobileHeader.classList.remove("hidden");
showIcon.classList.add("hidden");
hideIcon.classList.remove("hidden");
} else {
mobileHeader.classList.add("hidden");
showIcon.classList.remove("hidden");
hideIcon.classList.add("hidden");
}
}
var cardItems = document.querySelectorAll(".card-item");
cardItems.forEach(function (item) {
var show_more = item.querySelector("button");
var contents = item.querySelector(".hidden");
var read_more_par = item.querySelector(".read-more-par");
if (show_more) {
show_more.addEventListener("click", function () {
contents.outerHTML = contents.innerHTML;
read_more_par.outerHTML = "";
});
}
});
</script>

76
docs/app/old-index.md Normal file
View File

@ -0,0 +1,76 @@
---
description: Welcome to the wiki page for Hiddify App.
title: App Guide
weight: -1
comments: false
---
# :material-home: HiddifyApp Guide
HiddifyApp is a client based on [Sing-box](https://github.com/SagerNet/sing-box) that serves as a universal proxy tool-chain which offers a wide range of features and protocols. The appropriate and detailed information are accessible [here](https://github.com/hiddify/hiddify-next/blob/main/README.md). This page contains tutorial guides related to this project.
## HiddifyApp
<div class="absolute -z-40 h-full max-h-[800px] w-full max-w-[700px] bg-blue-200 opacity-30 mix-blend-multiply blur-3xl filter md:left-0 md:animate-blob"></div>
<div class="animation-delay-2000 animat absolute -z-40 h-full max-h-[800px] w-full max-w-[700px] bg-indigo-300 opacity-30 mix-blend-multiply blur-3xl filter md:right-[5%] md:animate-blob"></div>
<div class="card-item mt-4 flex gap-16 rounded-xl border border-gray-500 p-8 backdrop-blur-xl backdrop-filter max-w-[800px] max-h-[451] w-full h-full relative mx-auto my-20 flex-col lg:flex-row">
<div class="max-w-[552px]">
<img src="/assets/image-197.png" alt="image" class="rounded-xl">
<ul class="my-4 list-disc text-secondary ml-5">
<li>
<a href="/app/How-to-install-Hiddify-app/" target="_blank">How to install HiddifyApp</a>
</li>
<li>
<a href="/app/How-to-use-Hiddify-app/" target="_blank">How to use HiddifyApp</a>
</li>
<li>
<a href="/app/HiddifyCli-guide/" target="_blank">How to use HiddifyCli</a>
</li>
<li>
<a href="/app/How-to-use-UDP-Turn-Relay/" target="_blank">How to use UDP Turn Relay in HiddifyApp</a>
</li>
<li>
<a href="/app/How-to-contribute-to-this-project/" target="_blank">How to contribute to this project</a>
</li>
<li>
<a href="/app/URL-Scheme/" target="_blank">URL scehme in HiddifyApp</a>
</li>
</ul>
</div>
</div>
<script>
function toggleShow() {
var mobileHeader = document.getElementById("mobile-header");
var showIcon = document.getElementById("show-icon");
var hideIcon = document.getElementById("hide-icon");
if (mobileHeader.classList.contains("hidden")) {
mobileHeader.classList.remove("hidden");
showIcon.classList.add("hidden");
hideIcon.classList.remove("hidden");
} else {
mobileHeader.classList.add("hidden");
showIcon.classList.remove("hidden");
hideIcon.classList.add("hidden");
}
}
var cardItems = document.querySelectorAll(".card-item");
cardItems.forEach(function (item) {
var show_more = item.querySelector("button");
var contents = item.querySelector(".hidden");
var read_more_par = item.querySelector(".read-more-par");
if (show_more) {
show_more.addEventListener("click", function () {
contents.outerHTML = contents.innerHTML;
read_more_par.outerHTML = "";
});
}
});
</script>

BIN
docs/assets/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

BIN
docs/assets/HiddifyMenu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 KiB

BIN
docs/assets/OVH_install.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

BIN
docs/assets/WPA_iPhone.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

4
docs/assets/add.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18 12.75H6C5.59 12.75 5.25 12.41 5.25 12C5.25 11.59 5.59 11.25 6 11.25H18C18.41 11.25 18.75 11.59 18.75 12C18.75 12.41 18.41 12.75 18 12.75Z" fill="#495057"/>
<path d="M12 18.75C11.59 18.75 11.25 18.41 11.25 18V6C11.25 5.59 11.59 5.25 12 5.25C12.41 5.25 12.75 5.59 12.75 6V18C12.75 18.41 12.41 18.75 12 18.75Z" fill="#495057"/>
</svg>

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.90961 20.6695C8.71961 20.6695 8.52961 20.5995 8.37961 20.4495C8.08961 20.1595 8.08961 19.6795 8.37961 19.3895L14.8996 12.8695C15.3796 12.3895 15.3796 11.6095 14.8996 11.1295L8.37961 4.60953C8.08961 4.31953 8.08961 3.83953 8.37961 3.54953C8.66961 3.25953 9.14961 3.25953 9.43961 3.54953L15.9596 10.0695C16.4696 10.5795 16.7596 11.2695 16.7596 11.9995C16.7596 12.7295 16.4796 13.4195 15.9596 13.9295L9.43961 20.4495C9.28961 20.5895 9.09961 20.6695 8.90961 20.6695Z" fill="#6C757D"/>
</svg>

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 KiB

BIN
docs/assets/clean_ip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -0,0 +1,12 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools -->
<svg height="24px" width="24px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 26 26" xml:space="preserve" fill="#495057">
<g id="SVGRepo_bgCarrier" stroke-width="0"/>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
<g id="SVGRepo_iconCarrier"> <g> <path style="fill:#495057;" d="M21.125,0H4.875C2.182,0,0,2.182,0,4.875v16.25C0,23.818,2.182,26,4.875,26h16.25 C23.818,26,26,23.818,26,21.125V4.875C26,2.182,23.818,0,21.125,0z M18.78,17.394l-1.388,1.387c-0.254,0.255-0.67,0.255-0.924,0 L13,15.313L9.533,18.78c-0.255,0.255-0.67,0.255-0.925-0.002L7.22,17.394c-0.253-0.256-0.253-0.669,0-0.926l3.468-3.467 L7.221,9.534c-0.254-0.256-0.254-0.672,0-0.925l1.388-1.388c0.255-0.257,0.671-0.257,0.925,0L13,10.689l3.468-3.468 c0.255-0.257,0.671-0.257,0.924,0l1.388,1.386c0.254,0.255,0.254,0.671,0.001,0.927l-3.468,3.467l3.468,3.467 C19.033,16.725,19.033,17.138,18.78,17.394z"/> </g> </g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

9
docs/assets/content.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 54 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

2700
docs/assets/css/site.css Normal file

File diff suppressed because it is too large Load Diff

9
docs/assets/design.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

BIN
docs/assets/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
docs/assets/finalize.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
docs/assets/globe-fa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

BIN
docs/assets/globe.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

BIN
docs/assets/gost_tunnel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

BIN
docs/assets/hiddify-app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

Some files were not shown because too many files have changed in this diff Show More