commit 2db814702fa10013a7d0b3324271292fd3c5e4d7 Author: global Date: Wed Mar 5 18:05:33 2025 +0300 Initial commit diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml new file mode 100644 index 0000000..80b9cf6 --- /dev/null +++ b/.github/workflows/manual.yml @@ -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 + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..29a016a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.cache +venv +site \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..ede0ccd --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "redhat.vscode-yaml", + "aikebang.mkdocs-syntax-highlight", + "ms-python.python" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..bbc9e9b --- /dev/null +++ b/.vscode/launch.json @@ -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": "." + } + }, + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..12ecef8 --- /dev/null +++ b/.vscode/settings.json @@ -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" + ] + } \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..59af758 --- /dev/null +++ b/Makefile @@ -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",) diff --git a/README.md b/README.md new file mode 100644 index 0000000..2bd7287 --- /dev/null +++ b/README.md @@ -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/ \ No newline at end of file diff --git a/WarpFreeConnection.jpg b/WarpFreeConnection.jpg new file mode 100644 index 0000000..c02f697 Binary files /dev/null and b/WarpFreeConnection.jpg differ diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000..7097648 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +hiddify.com \ No newline at end of file diff --git a/docs/about-us.fa.md b/docs/about-us.fa.md new file mode 100644 index 0000000..1118f22 --- /dev/null +++ b/docs/about-us.fa.md @@ -0,0 +1,260 @@ +--- +title: درباره ما +hide: + - toc + - feedback + # - navigation + +comments: false +weight: 5 +--- + + + + +
+
+
+
+
+

داستان هیدیفای

+

راهکار آزادی اینترنت

+

+ در ایران، دسترسی به اینترنت به شدت سانسور می‌شود، حتی بیشتر پس از مرگ مهسا + امینی و اعتراضات پس از آن. + در نتیجه، افراد عادی با محدودیت‌هایی در دسترسی به اینترنت باز مواجه شده‌اند. +

+

+ پروژه هیدیفای به افراد راه‌هایی ساده و مقرون‌به‌صرفه برای دسترسی به اینترنت بدون محدودیت ارائه می‌دهد. +

+
+ مخفی + + + + ساده + + + + هیدیفای +
+
+
+ +
+
+ +
+
+ +
+

داستان هیدیفای از تولد تا امروز

+
+ + +
+ +
+
+
+
+
+ شهریور ۱۴۰۱ +

تولد هیدیفای

+

توسعه نسخه اولیه با الهام از Awesome Freedom

+
+
+
+ + +
+
+
+ آذر ۱۴۰۱ +
+ +
+ انتشار HiddifyManager نسخه اولیه +
+

شروع استفاده از روش‌های مختلف پروکسی

+
+
+
+ +
+
+
+ تیر ۱۴۰۲ +
+ +
+ ارائه نسخه ۷ HiddifyManager +
+

افزودن پشتیبانی از پروتکل‌های جدید

+
+
+
+ + +
+
+
+
+
+ اکنون +

در حال کار روی نسخه‌های بعدی

+
+
+
+
+
+
+ + +
+

تیم‌های ما

+
+
+ +

توسعه

+

+ توسعه‌دهندگان ما با هیدیفای منیجر و برنامه هیدیفای + رویاهای ما را به واقعیت تبدیل می‌کنند. +

+
+ +
+ +

طراحی

+

+ طراحان ما تصاویر خیره‌کننده ایجاد کرده و UX محصولات هیدیفای را از طریق تست‌های کاربری بهبود می‌بخشند. +

+
+ +
+ +

محتوا

+

+ ما محتوای جذاب و آموزنده‌ای از جمله ویکی جامع ما و آموزش‌های یوتیوب گردآوری می‌کنیم. +

+
+ +
+ +

پشتیبانی کاربران

+

+ ما همیشه برای پاسخ به سوالات شما در گروه تلگرام در دسترس هستیم. +

+
+
+
+ +
+
+

نیازمند همکاران

+

+ ما همیشه به دنبال متخصصانی هستیم که به بهبود هیدیفای کمک کنند. لطفا رزومه خود را برای ما ارسال کنید. +

+
+ +
+
+
+ +
+
+ +
+
+ +
+
+

تیم توسعه

+

+ به تیم توسعه پویا ما بپیوندید! ما به دنبال توسعه‌دهندگان پایتون، کاتلین و فلاتر هستیم تا با ما نوآوری + کنند. + آینده تکنولوژی را شکل دهید—بیایید با هم آن را بسازیم. +

+
+ +
+

تیم محتوا

+

+ آیا در ساخت ویدیوهای جذاب برای یوتیوب، ویرایش ویدیو و ایجاد محتوای بصری برای کانال‌های اجتماعی ماهر + هستید؟ ما شما را به بخشی از سفر خود در تعریف دوباره خلاقیت دعوت می‌کنیم. +

+
+ +
+

تیم طراحی

+

+ تجربه‌های کاربری را با تیم طراحی ما ارتقاء دهید! ما در جستجوی یک کارشناس طراحی UX/UI هستیم تا نقش مهمی + در بهبود تعاملات کاربران در محصولات مختلف هیدیفای ایفا کند. اگر دید طراحی خوبی دارید، بهبود سفرهای + کاربری + را دوست دارید و در UX/UI تخصص دارید، ما می‌خواهیم شما بخشی از نیروی خلاق ما باشید. +

+
+
+
+
+ +
+
+

می‌خواهید از هیدیفای حمایت کنید؟

+

+ آسان‌ترین راه برای حمایت از ما کلیک روی ستاره (⭐) در بالای صفحه گیت‌هاب ما + است. +

+
+
+

+ ما همچنین به حمایت مالی برای خدمات خود نیاز داریم. تمام فعالیت‌های ما به + صورت + داوطلبانه انجام می‌شود و حمایت مالی برای توسعه پروژه صرف خواهد شد. + برای مشارکت، لطفا به صفحه کمک‌های مالی ما در گیت‌هاب مراجعه کنید. +

+
+
+
+
+ + + + + +
diff --git a/docs/about-us.md b/docs/about-us.md new file mode 100644 index 0000000..2682231 --- /dev/null +++ b/docs/about-us.md @@ -0,0 +1,285 @@ +--- +title: About Us +hide: + - toc + - feedback + # - navigation + +comments: false +weight: 5 +--- + + + + +
+
+
+
+
+

The Story of Hiddify

+

Internet Freedom Solution

+

+ In Iran, internet access is heavily censored, even more so after Mahsa + Amini's death and + subsequent protests. + Consequently, everyday individuals have faced restrictions in accessing the open internet since then. +

+

+ The Hiddify project aims to provide people with straightforward and affordable ways to access the + unrestricted + internet on a broad scale. +

+
+ Hidden + + + + Simplify + + + + Hiddify +
+
+
+ +
+
+ +
+
+
+

Timeline

+

From beginning until now

+
+
+
+
+
+
+
+
+ Sep 2022 +

First Working Version

+
+
+
+ +
+
+
+ Dec 2022 +
+ +
+ Hiddify Manager v1 +
+ +
+ Provided 6 protocol +
+
+
+
+ +
+
+
+ Jun 2023 +
+ +
+ Hiddify Manager v7 +
+ +
+ Added Accounting +
+ +
+ Auto IP Selector +
+ +
+ Client apps for different OSs +
+ +
+ Documention on Wiki +
+
+
+
+ +
+
+
+
+
+
+ Now +

Working on x and y

+
+
+
+
+
+
+ +
+

Our teams

+
+
+ +

Development

+

+ Our developers bring our vision to life through Hiddify + Manager and Hiddify app. +

+
+ +
+ +

Design

+

+ Our designers create stunning visuals and improve the UX of Hiddify products through usability testing. +

+
+ +
+ +

Content

+

+ We curate engaging and informative content including our + comprehensive Wiki & YouTube tutorials. +

+
+ +
+ +

User Support

+

+ We are always available to help answer your questions in our Telegram group. +

+
+
+
+ +
+
+

Contributors needed

+

+ We are always looking for specialists to help make Hiddify better. Please send us your resume. +

+
+ +
+
+
+ +
+
+ +
+
+ +
+
+

Development team

+

+ 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. +

+
+ +
+

Content team

+

+ 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. +

+
+ +
+

Design team

+

+ 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. +

+
+
+
+
+ +
+
+

Want to support Hiddify?

+

+ The easiest way to support us is to click on the star (⭐) at the top of our + GitHub page. +

+
+
+

+ We also need financial support for our services. All of our activities are + done + voluntarily and + financial + support will be spent on the development of the project. + To contribute, please visit our donation page on GitHub. +

+
+
+
+
+ + + + +
diff --git a/docs/all_elements.md b/docs/all_elements.md new file mode 100644 index 0000000..005a906 --- /dev/null +++ b/docs/all_elements.md @@ -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_state + fork_state --> State2 + fork_state --> State3 + + state join_state <> + 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/) + + +
+ +- :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](#) + +
+ + + + + + + +
+ +=== "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 +``` + +
+ + + +# [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. + + + +
+ ![Image title](https://dummyimage.com/600x400/){ width="300" } +
Image caption
+
+ + + +# [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 + + diff --git a/docs/app/HiddifyCli-guide.fa.md b/docs/app/HiddifyCli-guide.fa.md new file mode 100644 index 0000000..9af5da9 --- /dev/null +++ b/docs/app/HiddifyCli-guide.fa.md @@ -0,0 +1,89 @@ +--- +title: آموزش استفاده از HiddifyCli یا هیدیفای‌کامندلاین +--- + +
+ +# آموزش استفاده از HiddifyCli یا هیدیفای‌کامندلاین +این اپ برای مواردی که دسکتاپ وجود ندارد مثل سرورها توسعه داده شده است و از همه پردازنده‌ها پشتیبانی می‌کند. + +## دانلود +برای دانلود این اپ به [اینجا](https://github.com/hiddify/hiddify-core/releases) بروید و فایل مرتبط به پردازنده خود را دانلود کنید. + +## اجرای کانفیگ یا لینک سابسکریپشن در HiddifyCli + +برای استفاده از آن باید از کامند زیر استفاده شود. +
+ +``` +HiddifyCli run -c -d +``` +
+ +- برای اتصال به یک کانفیگ خاص کافیه کامند بالا را به شکل زیر اجرا کنید. +
+ +``` +HiddifyCli run -c +``` +
+ +در اینجا کانفیگ مورد نظر خود را به جای `` قرار دهید. + +- همچنین می‌توانید یک سابسکریپشن را در اپ اجرا نمایید. +
+ +``` +HiddifyCli run -c +``` +
+ +که در اینجا لینک سابسکریپشن خود را به جای `` قرار دهید. + +## اجرای کانفیگ یا لینک سابسکریپشن در HiddifyCli با تنظیمات HiddifyApp +برای این کار ابتدا می‌بایست تنظیمات مربوط به هیدیفای‌اپ خود را استخراج نمایید. +

استخراج تنظیمات HiddifyApp

+ + - برای این کار هیدیفای‌اپ را باز نمایید و وارد `Config Options` یا `تنظیمات پیکربندی` شوید و منوی سه نقطه را بزنید. + +
+ +config-options + +
+ +- حالا گزینه `صادر کردن تنظیمات به کلیپ‌بورد` را بزنید تا تنظیمات وارد کلیپ‌بورد شوند. +
+ +export configs +
+ + +- حالا می‌توانید این تنظیمات را در یک فایل با پسوند `json` ذخیره نمایید. + +- همچنین می‌توانید این تنظیمات در گیتهاب قرار دهید و از لینک آن به عنوان `URL` استفاده نمایید. + + + +
+ +### اجرای کانفیگ یا لینک سابسکریپشن در HiddifyCli با تنظیمات استخراج شده از HiddifyApp +- همچنین اگر بخواهید از تنظیمات هیدیفای‌اپ خود استفاده کنید می‌بایست از کامند زیر استفاده نمایید. +
+ +``` +HiddifyCli run -c -d +``` +
+ +که دراینجا فایل کانفیگ یا ساب‌لینک خود را به جای `` قرار دهید و فایل تنظیمات مربوط به هیدیفای‌اپ را که در مرحله قبل استخراج کرده بودید را به جای `` وارد نمایید. + +- می‌توانید به جای فایل کانفیگ، لینک مربوط به تنظیمات در هیدیفای‌اپ را که فرضا در گیتهاب قرار داده‌اید، استفاده نمایید. +
+ +``` +HiddifyCli run -c -d +``` +
+ +که دراینجا فایل کانفیگ یا ساب‌لینک خود را به جای `` قرار دهید و لینک مربوط به تنظیمات مورد نظر در هیدیفای‌اپ را به جای `` قرار دهید. diff --git a/docs/app/HiddifyCli-guide.md b/docs/app/HiddifyCli-guide.md new file mode 100644 index 0000000..c24b4ad --- /dev/null +++ b/docs/app/HiddifyCli-guide.md @@ -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. +
+ +``` +HiddifyCli run -c -d +``` +
+ +- To connect to a specific configuration, just run the above command as follows. +
+ +``` +HiddifyCli run -c +``` +
+ +Here, put your desired configuration instead of ``. + +- You can also run a subscription in the app. +
+ +``` +HiddifyCli run -c +``` +
+ +Put your subscription link here instead of ``. + +## Run config or subscription link in HiddifyCli with HiddifyApp settings +For this, you must first extract the settings related to your HiddifyApp. +

Extract HiddifyApp settings

+ + - To do this, open HiddifyApp and enter `Config Options` and click the three-dot menu. + +
+ +config-options + +
+ + +- Now click the `Export Settings to Clipboard` option to save the settings to the clipboard. +
+ +export configs + +
+ + +- 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`. + + + +
+ +### 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. +
+ +``` +HiddifyCli run -c -d +``` +
+ +Here, put your config file or sublink instead of `` and enter the configuration file related to HiddifyApp that you extracted in the previous step instead of ``. + +- Instead of the config file, you can use the link related to the settings in HiddifyApp that you put on Github. +
+ +``` +HiddifyCli run -c -d +``` +
+ +Here, put your config file or sublink instead of `` and put the link of the desired settings in HiddifyApp instead of ``. diff --git a/docs/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli.fa.md b/docs/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli.fa.md new file mode 100644 index 0000000..15383f4 --- /dev/null +++ b/docs/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli.fa.md @@ -0,0 +1,254 @@ +--- +title: آموزش استفاده از اینترنت آزاد در کلاینت‌های پشت روتر OpenWrt با HiddifyCli +--- + + + + +### آموزش استفاده از اینترنت آزاد در کلاینت‌های پشت روتر 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:** +برای این کار، باید ترافیک ورودی روی این پورت را به پروکسی هدایت کنید: +
+```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 +``` +
+**توضیح:** +- `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** تنظیم کنید: +
+- **Proxy hostname**: آی‌پی LAN روتر (مثلاً `192.168.1.1`). +- **Proxy port**: `12334`. +
+۴. تنظیمات را ذخیره کنید. + +###### **برای iOS:** +۱. به تنظیمات Wi-Fi بروید. +۲. روی شبکه متصل شده کلیک کنید و **Configure Proxy** را روی **Manual** قرار دهید. +۳. آی‌پی روتر را در **Server** و پورت را `12334` وارد کنید. +۴. تنظیمات را ذخیره کنید. + +###### **برای مک‌اواس (macOS):** +۱. به **System Preferences** > **Network** بروید. +۲. روی اتصال فعلی خود کلیک کرده و **Advanced** را انتخاب کنید. +۳. در تب **Proxies**، گزینه **SOCKS Proxy** را فعال کنید و: +
+- **SOCKS Proxy Server**: آی‌پی روتر (مثلاً `192.168.1.1`). +- **Port**: `12334`. +
+۴. تنظیمات را ذخیره کنید. + +--- + +##### ۳. **تست اتصال کلاینت‌ها** +برای اطمینان از عملکرد پروکسی: +- مرورگر کلاینت را باز کرده و سعی کنید به سایتی که بدون پروکسی فیلتر است متصل شوید. +- اگر اتصال برقرار شد، تنظیمات به درستی اعمال شده است. + +--- + +##### ۴. **نکات تکمیلی** +- اگر کلاینت‌ها نیاز به استفاده خودکار از پروکسی دارند، می‌توانید از یک فایل **PAC (Proxy Auto-Configuration)** استفاده کنید و آن را در تنظیمات کلاینت‌ها معرفی کنید. +- آدرس PAC: +
+``` +http://192.168.1.1/proxy.pac +``` +
+فایل PAC می‌تواند مسیرها و استثنائات دلخواهی را برای استفاده از پروکسی تعریف کند. + +### روش ۲. راه‌اندازی روتینگ در OpenWrt برای عبور تمام ترافیک از **Socks5 Proxy** + +برای هدایت تمام ترافیک اینترنت از طریق **Socks5 Proxy**، باید از ابزارهایی مانند `redsocks` یا `iptables` استفاده کنید. مراحل زیر را دنبال کنید: + +--- + +#### ۱. **نصب ابزارهای مورد نیاز** +ابتدا ابزارهای لازم را نصب کنید. در OpenWrt، `redsocks` برای روتینگ ترافیک از طریق **Socks5 Proxy** استفاده می‌شود. + +۱. به‌روزرسانی لیست بسته‌ها: +
+```bash +opkg update +``` +
+۲. نصب `redsocks` و سایر ابزارها: +
+```bash +opkg install redsocks iptables-mod-nat-extra iptables-mod-tproxy +``` +
+ +--- + +#### ۲. **پیکربندی Redsocks** +فایل پیکربندی `redsocks` را در مسیر `/etc/redsocks.conf` ایجاد کنید: +
+ +```bash +nano /etc/redsocks.conf +``` +
+و محتوای زیر را در آن قرار دهید: +
+ +```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; +} +``` +
+**توضیح:** + +
+ +- `local_ip` و `local_port`: آدرس و پورتی که Redsocks به آن گوش می‌دهد. +- `ip` و `port`: آدرس و پورت **Socks5 Proxy**. +
+--- + +#### ۳. **تنظیمات iptables برای روتینگ** +برای هدایت ترافیک به Redsocks، قوانین `iptables` را اضافه کنید: + +۱. یک اسکریپت با نام `redsocks-routing` در `/etc/init.d/` ایجاد کنید: +
+ +```bash +touch /etc/init.d/redsocks-routing +chmod +x /etc/init.d/redsocks-routing +``` +
+۲. اسکریپت را با محتوای زیر پر کنید: +
+ +```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 +} +``` +
+۳. اسکریپت را فعال و اجرا کنید: +
+ +```bash +service redsocks-routing enable +service redsocks-routing start +``` +
+--- + +#### ۴. **فعال‌سازی Redsocks** +برای فعال‌سازی و اجرای خودکار Redsocks: +
+ +```bash +service redsocks enable +service redsocks start +``` +
+--- + +#### ۵. **بازنشانی روتر** +برای اعمال تغییرات، روتر را ری‌استارت کنید: +
+ +```bash +reboot +``` +
+--- + +#### ۶. **بررسی عملکرد** +برای بررسی وضعیت و لاگ‌ها: +- وضعیت `redsocks`: +
+```bash +ps | grep redsocks +``` +
+- لاگ‌های سیستم: +
+ +```bash +logread | grep redsocks +``` +
+--- + +#### نتیجه: +پس از اجرای این تنظیمات: +- تمام ترافیک TCP از طریق **Socks5 Proxy** عبور می‌کند. +- ترافیک شبکه‌های داخلی (`192.168.0.0/16`, `10.0.0.0/8`) و آدرس‌های محلی از پروکسی عبور نمی‌کنند. + +**نکته:** اگر به ترافیک UDP نیز نیاز دارید، باید از ابزارهای دیگری مانند `dns2socks` یا تنظیمات اضافی `redsocks` استفاده کنید. diff --git a/docs/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli.md b/docs/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli.md new file mode 100644 index 0000000..df6ce20 --- /dev/null +++ b/docs/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli.md @@ -0,0 +1,253 @@ +--- +title: How to Enable Free Internet Access for Clients Behind an OpenWrt Router Using HiddifyCli +--- + + + +## **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 router’s 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. diff --git a/docs/app/How-to-contribute-to-this-project.fa.md b/docs/app/How-to-contribute-to-this-project.fa.md new file mode 100644 index 0000000..aa6dcc2 --- /dev/null +++ b/docs/app/How-to-contribute-to-this-project.fa.md @@ -0,0 +1,210 @@ +--- +title: چگونه می‌توان در این پروژه همکاری نمود +--- + + +# چگونه می‌توان در این پروژه همکاری نمود + +برای این کار کافیه شما git را روی سیستم خود نصب نمایید. + +## نصب git روی سیستم +بر اساس سیستم عامل خود یکی از موارد زیر را باز نمایید. + +
+ +
ویندوز + + + +- ابتدا به [اینجا](https://git-scm.com/download/win) بروید و نسخه مخصوص ویندوز را دانلود کنید. +- سپس فایل دانلود شده را از حالت فشرده خارج نمایید و برای نصب آن را ارا نمایید. +
+ +![location-git-windows-download](https://github.com/hiddify/hiddify-config/assets/125398461/cd883726-f340-441c-bbca-df98f0389de2) + +
+ +- سپس wizard نصب را تا انتها با `next` و `yes` دنبال کنید. پیشنهاد می‌شود تنظیمات دیفالت را تغییر ندهید. + +
+ +![read-and-accept-git-license-agreement](https://github.com/hiddify/hiddify-config/assets/125398461/c8220a90-4f88-451f-ac60-ca6280feef20) + +
+به صورت دیفالت محل نصب git در این مسیر است. +
+ +``` +C:/Program Files/Git +``` +
+یعنی در مراحل بعد، پروژه‌ها در این مسیر قرار می‌گیرند. کار تمام است. +- برای چک کردن ورژن `git` نصب شده، `command prompt` را باز نمایید و دستور زیر را اجرا کنید. + +
+ +``` +git version +``` + +
+ +- به صورت دیفالت `git` در پوشه `Home` کاربر نصب می‌گردد. +
+ +
+
مک + +- ابتدا از [اینجا](https://sourceforge.net/projects/git-osx-installer/files/git-2.23.0-intel-universal-mavericks.dmg/download?use_mirror=autoselect) فایل نصب را دانلود کنید. +- سپس آن را جارا نمایید. نصب خیلی ساده‌ای دارد. +- بعد از نصب برای چک کردن ورژن `git` نصب شده، `terminal` را باز نمایید و دستور زیر را اجرا کنید. + +
+ +``` +git version +``` + +
+ + +
+ +
+

لینوکس

+ +در اکثر توزیع‌های سیستم عامل لینوکس git به صورت دیفالت نصب است و نیاز نیست کار خاصی بکنید. اما اگر به هر دلیلی نیاز بود آن را نصب نمایید باید سرچ بزنید و کامند مناسب مربوط به آن توزیع را پیدا کنید. در ادامه کامند نصب مربوط به ند توزیع معروف قرار می‌گیرد. +
+ +**Debian/Ubuntu** + +``` +sudo apt-get install git-all +``` + +**Fedora** + +``` +dnf install git-all +``` + +**Arch** +```` +pacman -Syu git-all +```` +
+ +در همه توزیع‌ها git در مسیر Home کاربر نصب می‌گردد. +- برای چک کردن نسخه git نصب شده در ترمیال این دستور را اجرا کنید. + +
+ +``` +git version +``` +
+ +
+ + + + +## استفاده از git جهت توسعه پروژه هیدیفای + +- ابتدا باید پروژه را fork کنید. برای این کار اگر قصد fork کردن پنل را دارید کامند زیر را اجرا کنید. + +
+ +``` +git clone https://github.com/hiddify/hiddify-app.git +``` + +
+ + +- اندکی صبر کنید تا فایل‌های پروژه کپی شود. + +
+ +![Screenshot_20230807_172554](https://github.com/hiddify/hiddify-config/assets/125398461/b4730f3a-3f86-4792-8ccc-6a5789056c1d) + +
+ +- حالا باید یک شاخه یا branch از پروژه درست کنید تا روی آن کار کنید. برای این کار ابتدا برای شاخه یک اسم انتخاب کنید. مثلا فرض کنیم اسم شاخه را `Hiddify-develop` انتخاب می‌کنیم. حالا دستورات زیر را اجرا کنید. + +
+ +``` +git branch Hiddify-develop +git checkout Hiddify-develop +``` + +
+ +
+ +- حالا تغییرات مورد نظر خود را روی فایل‌ها با استفاده از هر ابزاری اعمال کنید. توصیه می‌شود از `VSCode` استفاده نمایید. +- یادتون نره مسیر تمامی فایل‌ها در پوشه‌های گفته شده در مرحله نصب است. +- +- حالا وقتی تغییرات مورد نظر خود را اعمال نمودید باید تغییرات را در `git` نیز ثبت کنید. بنابراین در ترمینال کامند‌های زیر را به ترتیب اجرا نمایید. +- ابتدا با کامند زیر انجام تغییرات را به `git` اعلام کنید. + + +
+ +``` +git add +``` + +
+ +- سپس تغییرات را کامیت نمایید. نیاز است که در اینجا یک توضیح برای تغییرات اعلام نمایید. + +
+ +``` +git commit -m "a short description of the change" +``` + +
+ +مثلا اگر تغییرات مدنظر شما مربوط به بخش توسعه بات باشد می‌توان چنین توضیحی نوشت. + + +
+ +``` +git commit -m "a short description of the change" +``` + +
+ +هیچ مشکلی ندارد که توضیحات این بخش زیاد باشد و اتفاقا توصیه می‌شود تا جای ممکن توضیحات کامل و جامع باشد. +در این مرحله تغییرات با موفقیت وارد سیستم git شد. حالا باید تغییرات را به سمت GitHub بفرستید. برای این کار دستور زیر را اجرا کنید. + +
+ +``` +git push +``` +
+ +در اینجا مشخصات اکانت شما در گیتهاب پرسیده می‌شود. نیاز است `username` و `password` خود در گیتهاب را وارد نمایید. + + +- حالا وارد اکانت خود در گیتهاب شوید و پروژه فورک شده را باز نمایید. +مسیری به شکل زیر دارد: + +
+ +`https://github.com//hiddify-app` + +
+ +- حالا یک banner مشاهده می‌کنید که به شما اعلام می‌کند که branch شما از پروژه اصلی یک مرحله جلوتر است. برای اینکه تغییرات با پروژه اصلی merge یا ادغام شود `Contribute` را کلیک کنید و `Open a pull request` را بزنید. +- کار تمام است تغییرات به پروژه ارسال شد. حالا پس از تایید مدیر پروژه تغییرات شما به پروژه اضافه می‌گردد. + +
+ +**این برنامه با استفاده از [Flutter](https://flutter.dev/) و [Go](https://go.dev/) توسعه یافته است. برای اطلاعات بیشتر در خصوص توسعه می‌توانید [دستورالعمل‌های مشارکت](https://github.com/hiddify/hiddify-app/blob/main/CONTRIBUTING.md) در پروژه ما را مطالعه نمایید.** + diff --git a/docs/app/How-to-contribute-to-this-project.md b/docs/app/How-to-contribute-to-this-project.md new file mode 100644 index 0000000..4075c1a --- /dev/null +++ b/docs/app/How-to-contribute-to-this-project.md @@ -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. + +
+
Install git on Windows + +- 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. + +
+ +
+
Install git on Mac + +- 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 +``` +
+ +
+
Install git on Linux + +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 +``` +
+ +## 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//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. + +
+ +**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.** diff --git a/docs/app/How-to-install-Hiddify-app.fa.md b/docs/app/How-to-install-Hiddify-app.fa.md new file mode 100644 index 0000000..dfd1462 --- /dev/null +++ b/docs/app/How-to-install-Hiddify-app.fa.md @@ -0,0 +1,265 @@ +--- +title: آموزش نصب هیدیفای‌‌اپ +--- + +
+ + +# آموزش نصب هیدیفای‌‌اپ +این نرم‌افزار یک کلاینت مالتی‌پلتفرم مبتنی بر 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://app.hiddify.com/win) دانلود کنید. + +* حالا فایل دانلود شده را اجرا نمایید. این پیغام امنیتی ویندوز ظاهر می‌شود که شما باید `Yes` را کلیک کنید. + +
+ + +
+ +* ممکن است در ویندوز ۱۱ اخطار به این شکل نمایش داده شود، روی `More info` بزنید. + +
+ + +
+ + + +* سپس `Run Anyway` را بزنید تا فایل باز شود. + +
+ + +
+ + + + +* در مرحله بعد محل نصب برنامه را نمایش می‌دهد که در صورت نیاز می‌توانید آن را تغییر دهید و `Next` کنید. + +
+ + + +
+ + +* در این مرحله تنظیمات بیشتر را از شما می‌خواهد مثل ایجاد Shortcut روی دسکتاپ و فعال‌سازی اجرای خودکار برنامه. می‌توانید گزینه‌های مورد نظر خود را انتخاب کنید و `Next` را بزنید. + +
+ + +
+ + + +* حالا کافیه `Install` را بزنید تا برنامه شروع به نصب شود. + +
+ + + +
+ + + +* بدین شکل برنامه شروع به نصب می‌کند. + +
+ + + +
+ + + + +* در پایان نصب، پنجره زیر ظاهر می‌شود که باید روی `Finish` بزنید. + + +
+ + + +
+ + + +* حالا برنامه اجرا می‌شود. اگر اجرا نشد، Shortcut آن در دسکتاپ را اجرا نمایید. + +* اولین بار از شما تنظیمات مربوط به زبان و محل سکونت شما را می‌پرسد. برای تغییر زبان روی `Language` بزنید و برای تغییر منطقه روی `Region` بزنید و گزینه‌های مورد نظر خود را انتخاب نمایید و برنامه را اجرا کنید. + +
+ + + +
+ +* `Enable Analytics` کمک می‌کند تا دیتای لازم برای بهبود این برنامه جمع‌آوری شود. + +* در مرحله بعد برنامه باز می‌شود. + +
+ + + +
+ + + +* دفعات بعد که برنامه را اجرا می‌کنید همیشه با این صفحه روبرو خواهید شد و مراحل قبلی نیاز نخواهد بود. + + +> نکته: همانطور که می‌دانید، ویندوز 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 بیتی می‌باشد. + +
+
+ +
نصب روی مک (کلیک کنید) + +* ابتدا برنامه را از [اینجا](https://app.hiddify.com/mac) دانلود کنید. + +* سپس فایل دانلود شده را در `Downloads` پیدا کرده و باز نمایید. + +
+ +Downloaded_App
+ +
+ +* حالا فایل برنامه را بگیرید و در `Applications` رها نمایید. با این کار فایل برنامه به بخش `Applications` انتقال می‌یابد. + +
+drag_app +
+ + +* حالا برنامه برای همیشه در `Applications` کپی شد. برای اجرا روی آن دو بار کلیک کنید. + +
+ +
+ +* بار اول که برنامه را باز می‌کنید به دلیل اینکه این برنامه از منبعی به جز `App Store` دانلود شده است، این پیغام داده می‌شود. + +
+Cannot open +
+ +* به بخش `Security and Privacy` بروید و در تب `General` روی `Open Anyway` بزنید. + +
+open for ever +
+ + +* حالا روی `Open` کلیک کنید. + +
+open for ever +
+ +* مجددا به بخش `Applications` بروید و برنامه را به راحتی باز نمایید. + +* اولین بار از شما تنظیمات مربوط به زبان و محل سکونت شما را می‌پرسد. برای تغییر زبان روی `Language` بزنید و برای تغییر منطقه روی `Region` بزنید و گزینه‌های مورد نظر خود را انتخاب نمایید و برنامه را اجرا کنید. + +
+ + + +
+ +* `Enable Analytics` کمک می‌کند تا دیتای لازم برای بهبود این برنامه جمع‌آوری شود. + +* صفحه اصلی برنامه به این شکل باز می‌شود. + +
+Screen Shot 1402-07-10 at 20 26 48 +
+ + +* از حالا به بعد می‌توانید برنامه را در بخش `Applications` به راحتی اجرا نمایید. + +
+
+ +
نصب روی لینوکس (کلیک کنید) + +* ابتدا برنامه را از [اینجا](https://app.hiddify.com/linux) دانلود کنید. +* فایل دانلود شده را از حالت فشرده خار نمایید و سپس با کامند زیر چک کنید که دسترسی اجرا داشته باشد. + +فرض شود که فایل دانلود شده در Downloads در پوشه Home باشد، بنابراین دستور زیر را اجرا نمایید. + +
+ +``` +ls -la ~/Downloads/hiddify-linux-x64.AppImage +``` +
+ +اگر خروجی به شکل زیر بود، + +
+ +`-rwxr-xr-x 1 user user 26272960 Sep 30 07:55 ~/Downloads/hiddify-linux-x64.AppImage` + +
+ +یعنی دسترسی x یا اجرایی را دارد و می‌توانید آن را به راحتی اجرا نمایید. در غیر این صورت برای افزودن دسترسی اجرایی می‌توانید دستور زیر را در ترمینال اجرا نمایید. + +
+ +``` +chmod +x ~/Downloads/hiddify-linux-x64.AppImage +``` + +
+ +* حالا کافیه فایل را اجرا نمایید. +* اولین بار از شما تنظیمات مربوط به زبان و محل سکونت شما را می‌پرسد. برای تغییر زبان روی `Language` بزنید و برای تغییر منطقه روی `Region` بزنید و گزینه‌های مورد نظر خود را انتخاب نمایید و برنامه را اجرا کنید. + +
+ + + +
+ +* `Enable Analytics` کمک می‌کند تا دیتای لازم برای بهبود این برنامه جمع‌آوری شود. + +
+
+ +## کار با نرم‌افزار +برای مشاهده نحوه کار با این برنامه [این مقاله](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) را مشاهده نمایید. + diff --git a/docs/app/How-to-install-Hiddify-app.md b/docs/app/How-to-install-Hiddify-app.md new file mode 100644 index 0000000..df83475 --- /dev/null +++ b/docs/app/How-to-install-Hiddify-app.md @@ -0,0 +1,222 @@ +--- +title: How to install HiddifyApp +--- + +
+ +# 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. + +
+
+ +
+
+
Install on Windows (click) + +- 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`. + +
+ + +
+ +- In Windows 11, a warning may be displayed like this, click on `More info`. + +
+ + +
+ +- Then click `Run Anyway` to open the file. + +
+ + +
+ +- In the next step, it displays the installation location of the program, which you can change if needed and click `Next`. + +
+ + + +
+ +- 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`. + +
+ + +
+ +- Now just click `Install` to start installing the program. + +
+ + + +
+ +- In this way, the program starts to install. + + +
+ + + +
+ +- At the end of the installation, the following window will appear, click `Finish`. + +
+ + + +
+ + +- 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. + +
+ + + +
+ +- `Enable Analytics` help us collect data to improve the app + + + +- In the next step, the program will open. + +
+ + + +
+ +- 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. + +
+
+ +
Install on Mac (click) + +- First, download the program from [here](https://app.hiddify.com/mac). + +- Then find the downloaded file in `Downloads` and open it. + +
+ +Downloaded_App
+ +
+ +- Now program the file and drop it in `Applications`. With this, the application file will be transferred to the `Applications` section. + +
+drag_app +
+ +- Now the program is permanently copied to the `Applications`. Double click on it to run. + +
+ +
+ +- This message is given the first time you open the app because it was downloaded from a source other than the `App Store`. + +
+Cannot open +
+ +- Go to the `Security and Privacy` section and click `Open Anyway` in the `General` tab. + +
+open for ever +
+ +- Now click on `Open`. + +
+open for ever +
+ +- 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. + +
+ + + +
+ +- `Enable Analytics` help us collect data to improve the app + +- The program opens like this. + +
+Screen Shot 1402-07-10 at 20 26 48 +
+ + +- From now on, you can easily run the program in the `Applications` section. + +
+
+ +
Install on Linux (click) + +- 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. + +
+ + + +
+ +- `Enable Analytics` help us collect data to improve the app + +
+ +
+ +## 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). \ No newline at end of file diff --git a/docs/app/How-to-use-Hiddify-app.fa.md b/docs/app/How-to-use-Hiddify-app.fa.md new file mode 100644 index 0000000..8ab6b45 --- /dev/null +++ b/docs/app/How-to-use-Hiddify-app.fa.md @@ -0,0 +1,252 @@ +--- +title: آموزش کار با هیدیفای‌اپ +--- + +
+ + +# آموزش کار با هیدیفای‌‌اپ +این نرم‌افزار یک کلاینت مالتی‌پلتفرم مبتنی بر 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) را مطالعه نمایید. +
+ +## ویدئوی آموزش کار با نرم‌افزار + +
+ + + +
+ +## افزودن پروفایل به اپ + +* ابتدا لینک مربوط به یوزر خود را در پنل باز نمایید. +* صفحه زیر قابل مشاهده است. با زدن `کلیک برای اعمال فیلترشکن` لینک مربوط به پروفایل شما در اپ بارگذاری می‌شود. + +
+ +Startup VPN + +
+ +* اگر به صورت خودکار لینک پروفایل اضافه نشد، این صفحه باز می‌شود. کافیه روی `کپی لینک` بزنید تا لینک پروفایل کپی شود. + +
+ +Copy link + +
+ +* حالا وارد برنامه شوید و در صفحه `خانه` روی دکمه `+` در بالا سمت چپ بزنید، تا صفحه افزودن پروفایل جدید ظاهر شود. + +
+Add profile +
+ +* در این صفحه به دو روش می‌توانید لینک کپی شده را اضافه نمایید. + +> روش اول: روی `افزودن از کلیپ‌بورد` بزنید. لینک کپی شده به صورت خودکار اضافه می‌گردد. + +
+Add from clipboard +
+ +> روش دوم: روی افزودن دستی بزنید، در صفحه بعد یک نام دلخواه در فیلد `نام` وارد کنید و لینک را در فیلد `لینک` کپی کنید. سپس دکمه `ذخیره` را بزنید. + +
+Manual input +
+ + +## افزودن کانفیگ تکی + +* برای این کار در صفحه کاربر بروید و `تمام کانفیگ‌ها` را بزنید. + +
+All configs +
+ + +* در لیست نمایش داده شده، کانفیگ تکی مورد نظر خود را انتخاب نمایید. + +* کپی را بزنید تا کانفیگ کپی شود. + +
+ + + +
+ +* وارد برنامه شوید و دکمه `+` را بزنید. +* افزودن از کلیپ‌بورد را بزنید. + +
+Config input +
+ +* کانفیگ به برنامه اضافه می‌گردد. + +## آموزش کار با برنامه + +### اتصال به فیلترشکن + +* وقتی پروفایل اضافه شد، چنین حالتی در صفحه خانه مشاهده می‌کنید. + +
+Home page +
+ +* کافیه روی دکمه اتصال وسط صفحه بزنید تا فیلترشکن وصل شود. + +
+Connection + +
+ +* در صورت نیاز به آپدیت پروفایل روی این دکمه کلیک کنید. + +
+ +update profile + +
+ +* در صورت نیاز به تغییر پروفایل روی بخش پروفایل کلیک کنید و از لیست باز شده پروفایل مورد نظر را انتخاب نمایید. + +
+ +profile section + +
+ +* در این قسمت می‌توانید پروفایل‌ها را ویرایش نمایید. + +
+Edit profile + +
+ + + +### مشاهده و تست پروکسی‌ها + +* برای مشاهده پروکسی‌ها، ابتدا فیلترشکن را متصل نمایید. +* سپس به منوی `پروکسی‌ها` بروید. +* در این صفحه، پروکسی‌ها یا کانفیگ‌های مربوط به پروفایل، یا کانفیگ تکی اضافه شده به نرم‌افزار نمایش داده می‌شوند. + + +
+proxies +
+ +* به صورت خودکار فیلترشکن به بهترین پروکسی بر اساس تست متصل می‌شود اما شما هم می‌توانید پروکسی مورد نظر خود را انتخاب نمایید. +* در کنار این پروکسی‌ها میزان تاخیر آن‌ها نیز نمایش داده می‌شود. +* در صورتی نیاز به تست تاخیر، می‌بایست روی دکمه آن در پایین سمت چپ کلیک کنید. + +
+ping test +
+ +* می‌توانید پروکسی‌ها را بر اساس نام، یا نتیجه تست با دکمه بالا سمت چپ مرتب نمایید. + +
+sorting proxies +
+ + + + +### تنظیمات عمومی نرم‌افزار +* در منوی `تنظیمات` می‌توانید `تنظیمات عمومی` را مشاهده کنید. + +
+General Settings + +
+ + +* با استفاده از منوی `زبان` می‌توانید زبان نرم‌افزار را تغییر دهید. +* با استفاده از `تم مود` می‌توانید تم مورد نظر خود را از بین دارک، لایت و یا حالت دستگاه انتخاب نمایید. +* دکمه `کاملا سیاه` تم دستگاه را به صورت کامل سیاه می‌کند. +* دکمه `اجرا با روشن شدن سیستم` باعت می‌شود که هنگامی که سیستم عامل برای بار اول بالا می‌آید، برنامه اجرا شود. +* دکمه `اجرای ساکت` باعث می‌شود موقع اجرای نرم‌افزار پنجره‌ای نمایش داده نشود و نرم‌افزار پس از اجرا صرفا در نوار ابزار پایین نمایش داده شود. + +### تنظیمات پیشرفته +#### فعال‌سازی تونل +* برای فعال سازی تونل ابتدا می‌بایست برنامه را با دسترسی ادمین یا روت باز نمایید. این کار به ترتیب سیستم عامل‌های مختلف متفاوت است. +
+ +
فعال‌سازی برنامه با دسترسی ادمین در ویندوز + +* اگر برنامه قبلا با دسترسی غیرادمین باز بوده، برنامه را ببندید. یعنی در نوار ابزارپایین روی آیکن برنامه راست کلیک کنید و `خروج` را بزنید. +* حالا در دسکتاپ یا در لیست برنامه‌های Start روی آیکون برنامه راست کلیک کنید و `Run as administrator` را بزنید. + +
+ +Run ad admin + +
+ +* برنامه با دسترسی ادمین باز می‌شود. + +
+
+ +
فعال‌سازی برنامه با دسترسی ادمین در مک + +* اگر برنامه قبلا با دسترسی غیرادمین باز بوده، برنامه را ببندید. یعنی در نوار ابزاربالا روی آیکن برنامه راست کلیک کنید و `خروج` را بزنید. +* ترمینال را باز نمایید. +* حالا به `Applications `بروید. روی آیکن برنامه راست کلیک کنید و `Show contents` را بزنید. +* وارد پوشه MacOS شوید و فایل HiddifyNext را بگیرید و روی ترمینال رها کنید. با این کار آدرس مربوط به این فایل در ترمینال قرار می‌گیرد. +* دکمه‌های `ctrl+a` را بزنید تا در ترمینال به اول خط بیایید. حالا sudo را تایپ کنید. یعنی مثلا خواهید داشت. + +
+`sudo \Applications\HiddifyNext.app\Contents\MacOS\HiddifyNext` +
+ +* حالا `Enter `بزنید تا برنامه با دسترسی ادمین اجرا گردد. + +
+
+ +
فعال‌سازی برنامه با دسترسی روت در لینوکس + +* اگر برنامه قبلا با دسترسی غیرادمین باز بوده، برنامه را ببندید. یعنی در نوار ابزار روی آیکن برنامه راست کلیک کنید و `خروج` را بزنید. +* حالا ترمینال را باز نمایید و اگر مثلا برنامه در پوشه `Downloads ` در `Home `باشد، بنابراین دستور زیر را اجرا نمایید تا برنامه با سطح دسترسی روت اجرا شود. + +
+ +``` +sudo ~/Downloads/hiddify-linux-x64.AppImage +``` +
+ +> نکته: اگر برنامه در مسیر دیگری قرار داشت، بر اساس آن دستور بالا را تغییر دهید. + + +
+
+ +* حالا که برنامه با سطح دسترسی ادمین یا روت باز شد، کافیه به منوی `تنظیمات` بروید. +* در بخش `پیشرفته` وارد `تنظیمات کانفیگ` شوید. +* دکمه `فعال‌سازی تونل` را روشن کنید. + +
+ +Enable TUN +
+ +* حالا به منوی `خانه` بروید و `دکمه اتصال` را بزنید تا سبز شود. diff --git a/docs/app/How-to-use-Hiddify-app.md b/docs/app/How-to-use-Hiddify-app.md new file mode 100644 index 0000000..4f77a5a --- /dev/null +++ b/docs/app/How-to-use-Hiddify-app.md @@ -0,0 +1,252 @@ +--- +title: How to use HiddifyApp +--- + +
+ + +# 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. + +
+ + + +
+ + +- If profile link is not added automatically, this page will open. Just click on `Copy Link` to copy the profile link. + +
+ + + +
+ +- 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. + + +
+ + + +
+ +- 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. + +
+ + + +
+ + +> 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. + +
+ + + +
+ + +## Add single configs + +- For this, go to the user page and click on `All Configs`. + +
+ + + +
+ + + +- In the displayed list, select the single config you want. +- Click `Copy` to copy the config. + +
+ + + +
+ +- Enter the program and click the `+' button. +- Tap `Add from clipboard`. + +
+ + + +
+ +- 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. + +
+ + +
+ +- Just click on the connection button in the middle of the screen to connect the VPN. + +
+ + +
+ +- If you need to update your profile, click on this button. + +
+ + +
+ + +- If you need to change the profile, click on the profile section and select the desired profile from the opened list. + +
+ + +
+ +- In this section you can edit profiles. + +
+ + +
+ + +## Checking and testing proxies +- To view the proxies, first connect the VPN. Then go to the `Proxies` menu. + +
+ + +
+ + +- 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. + +
+ + +
+ + + +- You can sort the proxies by name or test result with the upper right button. + +
+ + +
+ + +## General settings + +* In the `Settings` menu, you can see the `General` settings. + +
+ +General-settings +
+ + +* 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. +
+ +
Opening the app with admin privilege on Windows +- 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`. + +
+ +Run ad admin + +
+ +- The program opens with admin privilege. + +
+
+ +
Opening the app with admin privilege on Mac + +- 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. + +
+
+ +
Opening the app with root privilege on Linux + +- 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. + +
+
+ + + + +- 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. + +
+ +advanced-setting + +
+ +- Now go to the `Home` menu and tap the `Connect button` until it turns green. diff --git a/docs/app/How-to-use-HiddifyCli-on-OpenWrt.fa.md b/docs/app/How-to-use-HiddifyCli-on-OpenWrt.fa.md new file mode 100644 index 0000000..13126e7 --- /dev/null +++ b/docs/app/How-to-use-HiddifyCli-on-OpenWrt.fa.md @@ -0,0 +1,171 @@ +--- +title: آموزش کامل نصب و راه‌اندازی HiddifyCli در سیستم‌عامل OpenWrt +--- + + + + +### آموزش کامل نصب و راه‌اندازی HiddifyCli در سیستم‌عامل OpenWrt + +برای نصب **HiddifyCli** در سیستم‌عامل OpenWrt، تمام مراحل زیر را به ترتیب انجام دهید. این آموزش شامل دانلود، استخراج، نصب و پیکربندی کامل است. + +--- +#### ۱. **دانلود فایل HiddifyCli** +برای دانلود نسخه مناسب معماری روتر، ابتدا از دستور زیر برای دانلود مستقیم فایل استفاده کنید: +
+ ```bash + wget -O /tmp/HiddifyCli.tar.gz https://github.com/hiddify/hiddify-core/releases/download/latest/hiddify-cli-linux-{معماری}.tar.gz + ``` +
+ **توضیح:** + + - `{معماری}` را با معماری روتر خود جایگزین کنید (مثلاً `mips`, `arm`, یا `x86_64`). + +--- + +#### ۲. **استخراج فایل** +پس از دانلود، فایل را با دستور زیر استخراج کنید: + +
+```bash +tar -xvzf /tmp/HiddifyCli.tar.gz -C /tmp +``` +
+**توضیحات دستور:** + +- `x-` برای استخراج فایل. +- `v-` برای نمایش جزئیات فرآیند. +- `z-` برای باز کردن فایل‌های فشرده gzip. +- `f-` برای مشخص کردن نام فایل. +- `tmp/` مسیری است که فایل در آن استخراج می‌شود (می‌توانید مسیر دلخواه خود را جایگزین کنید). + +--- + +#### ۳. **انتقال فایل اجرایی به مسیر مناسب** +فایل اجرایی `HiddifyCli` را به مسیر `/usr/bin/` منتقل کنید: + +
+```bash +mv /tmp/HiddifyCli /usr/bin/ +``` +
+ +--- + +#### ۴. **تنظیم مجوز اجرا** +برای فعال کردن قابلیت اجرا برای فایل، دستور زیر را وارد کنید: + +
+```bash +chmod +x /usr/bin/HiddifyCli +``` +
+ +--- + +#### ۵. **ساخت فایل راه‌اندازی (Init Script)** +برای ایجاد سرویس خودکار: +۱. یک فایل در مسیر `/etc/init.d/` با نام `HiddifyCli` ایجاد کنید: + +
+ ```bash + touch /etc/init.d/HiddifyCli + ``` +
+ +۲. فایل را با محتوای زیر پر کنید: + + +
+ ```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 + } + ``` +
+۳. مجوز فایل را تنظیم کنید: + + +
+ ```bash + chmod 755 /etc/init.d/HiddifyCli + ``` +
+ +--- + +#### ۶. **فعال‌سازی و اجرای سرویس** +دستورات زیر را برای فعال‌سازی و راه‌اندازی سرویس اجرا کنید: + +
+```bash +service HiddifyCli enable +service HiddifyCli start +``` +
+ +--- + +#### ۷. **تنظیم کانفیگ** +۱. **استخراج کانفیگ از اپ دسکتاپ هیدیفای:** + + - تنظیمات دلخواه را در اپلیکیشن انجام دهید. + - کانفیگ را استخراج کرده و در یک فایل متنی ذخیره کنید. + - پسوند فایل را به `conf.` تغییر دهید (مثلاً `config.conf`). + - +۲. **فایل کانفیگ را به مسیر `/root/` در روتر انتقال دهید:** + +
+ ```bash + mv config.conf /root/ + ``` +
+ +--- + +#### ۸. **راه‌اندازی مجدد روتر** +روتر را ری‌استارت کنید تا تغییرات اعمال شوند: + +
+```bash +reboot +``` +
+ +پس از راه‌اندازی مجدد، سرویس HiddifyCli فعال شده و **Socks5 Proxy** در آدرس زیر در دسترس خواهد بود: + +
+```plaintext +127.0.0.1:12334 +``` +
+ +--- + +### نکات تکمیلی: +- برای بررسی معماری روتر، دستور زیر را اجرا کنید: + +
+ ```bash + uname -m + ``` +
+ +- اگر در هر مرحله مشکلی پیش آمد، می‌توانید با دستور زیر لاگ‌های سرویس را بررسی کنید: + +
+ ```bash + logread | grep HiddifyCli + ``` +
+ +در [مقاله دیگری](/fa/app/How-to-Enable-Free-Internet-Access-for-Clients-Behind-an-OpenWrt-Router-Using-HiddifyCli/) نحوه استفاده از این اینترنت آزاد برای کلاینت‌های پشت روتر را آموزش خواهیم داد. diff --git a/docs/app/How-to-use-HiddifyCli-on-OpenWrt.md b/docs/app/How-to-use-HiddifyCli-on-OpenWrt.md new file mode 100644 index 0000000..54c7c20 --- /dev/null +++ b/docs/app/How-to-use-HiddifyCli-on-OpenWrt.md @@ -0,0 +1,168 @@ +--- +title: How to use HiddifyCli on OpenWrt +--- + + +### **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 router’s architecture, use the following command for direct download: +
+ ```bash + wget -O /tmp/HiddifyCli.tar.gz https://github.com/hiddify/hiddify-core/releases/download/latest/hiddify-cli-linux-{ARCH}.tar.gz + ``` +
+**Explanation:** + +- Replace `{ARCH}` with your router’s architecture (e.g., `mips`, `arm`, or `x86_64`). + +--- + +#### 2. **Extract the File** +After downloading, extract the file using the following command: + +
+```bash +tar -xvzf /tmp/HiddifyCli.tar.gz -C /tmp +``` +
+**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: + +
+```bash +mv /tmp/HiddifyCli /usr/bin/ +``` +
+ +--- + +#### 4. **Set Execution Permissions** +To enable execution for the file, enter the following command: + +
+```bash +chmod +x /usr/bin/HiddifyCli +``` +
+ +--- + +#### 5. **Create an Init Script** +To create an automatic service: +1. Create a file named `HiddifyCli` in `/etc/init.d/`: + +
+ ```bash + touch /etc/init.d/HiddifyCli + ``` +
+ +2. Fill the file with the following content: + +
+ ```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 + } + ``` +
+ +3. Set the file permissions: + +
+ ```bash + chmod 755 /etc/init.d/HiddifyCli + ``` +
+ +--- + +#### 6. **Enable and Start the Service** +Run the following commands to enable and start the service: + +
+```bash +service HiddifyCli enable +service HiddifyCli start +``` +
+ +--- + +#### 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:** + +
+ ```bash + mv config.conf /root/ + ``` +
+ +--- + +#### 8. **Reboot the Router** +Restart the router to apply the changes: + +
+```bash +reboot +``` +
+ +After rebooting, the HiddifyCli service will be active, and the **Socks5 Proxy** will be available at: + +
+```plaintext +127.0.0.1:12334 +``` +
+ +--- + +### Additional Notes: +- To check the router’s architecture, run the following command: + +
+ ```bash + uname -m + ``` +
+ +- If any issues arise during the process, check the service logs using: + +
+ ```bash + logread | grep HiddifyCli + ``` +
+ +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. diff --git a/docs/app/How-to-use-UDP-Turn-Relay.fa.md b/docs/app/How-to-use-UDP-Turn-Relay.fa.md new file mode 100644 index 0000000..d83874f --- /dev/null +++ b/docs/app/How-to-use-UDP-Turn-Relay.fa.md @@ -0,0 +1,77 @@ +--- +title: آموزش استفاده از UDP Turn Relay در هیدیفای‌اپ +--- + +
+ +# آموزش استفاده از UDP Turn Relay + +اخیرا از قابلیتی در پیام‌رسان‌ها برای دور زدن فیلترینگ استفاده می‌شود که به آن UDP Turn relay می‌گویند. یعنی در این حالت از پیام‌رسان‌ها به عنوان سرور میانی (ریلی) استفاده می‌شود و ترافیک از طریق آن‌ها به سرور اصلی ارسال می‌گردد. این مورد در خصوص پیام‌رسان‌هایی که در داخل ایران فعال هستند و از این پروتکل پشتیبانی می‌کنند و یا پیام‌رسان‌های خارجی که فیلتر نشده‌اند، قابل استفاده است. شماتیک اتصال به اینترنت آزاد در این حالت به شکل زیر است. + +
+ +![UDP Turn Relay_fa](https://github.com/hiddify/hiddify-next/assets/125398461/f3df43df-daea-437b-9a68-66537574c8e0) + +
+ +توجه داشته باشید که این قابلیت فق برای کانفیگ‌هایی کار می‌کند که روی پروتکل UDP هستند. یعنی این قابلیت روی Hysteria2 یا TUIC v5 قابل استفاده است ولی برای ریالیتی نمی‌توان از آن استفاده نمود. + +برای استفاده از آن کافیه در انتهای لینک کانفیگ خود، طبق دستور زیر پارامترهای مربوط به آن پیام‌رسان را قرار دهید. + + + +
+ +``` +relay=urlencoded(turn://user:pass@host:port?realm=t) +``` +
+ +که در اینجا `user` نام‌کاربری هست اتصال به پروتکل مورد نظر در پیام‌رسان مورد نظر خود می‌باشد. `pass` نیز پسورد مربوط به این اکانت در آن پیام‌رسان است. همچنین `host` هاست‌نیم مربوط هت اتصال به پیام‌رسان است و `port` نیز پورت اتصال به پیام‌رسان است. پارامتر `realm` مربوط به ناحیه احراز هویت در هاست‌نیم قرار داده شده است. یعنی به این نام‌کاربری در کدام ناحیه از پیام‌رسان می‌توان احرازهویت نمود. + +به عنوان مثال در پیام‌رسان Bale این پارامترها به شکل زیر هستند. + +`user = balelivekit`، `pass = GygZPHQSgAV7L5L8`، `host = meet-turn.bale.sh` ، `port = 443` و `realm = bale.ai` است که در نهایت با جایگزاری به حالت زیر می‌رسیم. + +
+ +``` +relay=urlencoded(turn://balelivekit:GygZPHQSgAV7L5L8@meet-turn.bale.sh:443?realm=bale.ai) +``` +
+ + +ابتدا اطلاعات ریلی را با استفاده Encoder تبدیل به UTF-8 می‌کنید. به عنوان مثال از [این Encoder](https://www.urlencoder.org/) می‌توانید استفاده کنید که نتیجه خروجی آن به شکل زیر است: + +
+ +``` +relay=turn%3A%2F%2Fbalelivekit%3AGygZPHQSgAV7L5L8%40meet-turn.bale.sh%3A443%3Frealm%3Dbale.ai +``` +
+ + +حالا اگر یک کانفیگ هیستریا که بر پایه UDP است به شکل زیر داشته باشیم: + +
+ +``` +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 +``` +
+ + +در نهایت اطلاعات Encode شده مربوط به ریلی (پیام‌رسان) را در انتهای لینک هیستریا اضاقه می‌کنیم. برای این کار ابتدا یک `&` می‌گذاریم و لینک را دقیقا قبل از `#` به شکل زیر کپی می‌کنیم. + +
+ +``` +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 +``` +
+ +این لینک را می‌توانید در برنامه هیدیفای‌نکست ایمپورت کنید و چون این برنامه از پروتکل UDP Turn Relay پشتیبانی می‌کند، بنابراین می‌توانید از این قابلیت استفاده نمایید. + +نکته: پیام‌رسان Bale قابلیت گفته شده را پس از مدت کوتاهی غیرفعال کرده است. شما می‌بایست بر اساس مطالب توضیح داده شده بالا، [از لیست پیام‌رسان‌های داخلی](https://eservices.ito.gov.ir/Page/IPListMessenger) و یا خارجی غیر فیلتر یک پیام‌رسانی را پیدا نمایید که این قابلیت را پشتیبانی می‌کند. + + diff --git a/docs/app/How-to-use-UDP-Turn-Relay.md b/docs/app/How-to-use-UDP-Turn-Relay.md new file mode 100644 index 0000000..8d4bcca --- /dev/null +++ b/docs/app/How-to-use-UDP-Turn-Relay.md @@ -0,0 +1,53 @@ +--- +title: How to use UDP Turn Relay in HiddifyApp +--- + +
+ +# 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. + +
+ + + +
+ +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. diff --git a/docs/app/How-to-use-WARP-on-Hiddify-App.fa.md b/docs/app/How-to-use-WARP-on-Hiddify-App.fa.md new file mode 100644 index 0000000..8747a7b --- /dev/null +++ b/docs/app/How-to-use-WARP-on-Hiddify-App.fa.md @@ -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) + +### نام نمایشی کانفیگ: +برای ایجاد نام نمایشی یا ریمارک نمودن کانفیگ می‌توان در انتهای کانفیگ از یک `#‍` استفاده نمود و اسم مورد نظر را اضافه نمود. دقت شود که اسم باید به صورت یک تکه باشد. مثلا: +
+ +`warp://auto#NAME` +
+ ### وارپ در وارپ + با استفاده از این قابلیت می‌توان از دو وارپ مختلف استفاده نمود و یکی را در انتهای دیگری قرار داد. بدین ترتیب فرضا شما با وارپ اول متصل می‌شوید سپس از آنجا به وارپ دوم متصل می‌شوید و آیپی نهایی، آیپی وارپ دوم می‌شود. برای استفاده از این قابلیت باید از پارامتر `detour` استفاده نمود و ان را با `&&` در انتهای وارپ اول قرار داد و سپس وارپ دوم را اضافه نمود. مثلا: + +
+ +`warp://auto&&detour=warp://auto` +
+ +### فرمول کلی کانفیگ وارپ: +کانفیگ وارپ را می‌توان با استفاده از این فرمول ساخت. در این حالت یک کانفیگ ثابت در نرم‌افزار ایمپورت می‌شود. +
+ +`warp://License@IP:port?ifp=n1-n2&ifps=s1-s2&ifpd=d1-d2&ifpm=mode#name` +
+ +مثال: + +
+ +`warp://auto?ifp=40-80&ifps=40-100&ifpd=4-8&ifpm=m4#m4` +
+ +در این حالت یک کانفیگ وارپ با نام نمایشی `m4` در نرم‌افزار ایمپورت می‌شود. + +همچنین می‌توان دو وارپ را detour نمود. مثلا: + +
+ +`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` +
+ +در این حالت یک کانفیگ با نام `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 "نکته پایانی!" + - برای رسیدن به کانفیگ مناسب باید با استفاده از اسکنرهای بالا آیپی تمیز مناسب شبکه خود را پیدا کنید و سپس مطابق با فرمول وارپ کانفیگ را بسازید. + - همچنین رنج پارامترها را دستکاری کنید تا به نتیجه مطلوب برسید. diff --git a/docs/app/How-to-use-WARP-on-Hiddify-App.md b/docs/app/How-to-use-WARP-on-Hiddify-App.md new file mode 100644 index 0000000..c064797 --- /dev/null +++ b/docs/app/How-to-use-WARP-on-Hiddify-App.md @@ -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. diff --git a/docs/app/URL-Scheme.md b/docs/app/URL-Scheme.md new file mode 100644 index 0000000..0dacc80 --- /dev/null +++ b/docs/app/URL-Scheme.md @@ -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/#name + +vmess://.... +vless://... +ss://... +trojan://... +``` + +`` is either clash link, singbox link, v2ray sublink, or single proxy link + + + +
deprecated + +``` +hiddify://install-sub?url=# +hiddify://install-config?url=# +hiddify://install-proxy?url=# +``` +
+ + +### 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 + +
+ +![image](https://user-images.githubusercontent.com/114227601/230938537-db2b697c-fa58-41fb-a2d7-b11f749d5de8.png) +
+ +In this example: +``` +پروفایل یک = +usage=+ (if more than 80% of total :yellow, more than 100% :red) +total= +روزباقیمانه=relative date of (if less than 7 days: yellow, less than zero: red) +مشاهده= open browser with +``` + +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` \ No newline at end of file diff --git a/docs/app/changelog.md b/docs/app/changelog.md new file mode 100644 index 0000000..b6a75a8 --- /dev/null +++ b/docs/app/changelog.md @@ -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 + diff --git a/docs/app/index.fa.md b/docs/app/index.fa.md new file mode 100644 index 0000000..7265283 --- /dev/null +++ b/docs/app/index.fa.md @@ -0,0 +1,150 @@ +--- +title: راهنمای اپ +hide: + # - navigation + - toc + - feedback +weight: -19 +comments: false +--- + + +# همه آموزش‌ها و ویدیوهای مرتبط با اپ هیدیفای + +هیدیفای یک اپ کلاینت VPN است که به عنوان + ابزار پروکسی جهانی عمل می‌کند و ویژگی‌ها و پروتکل‌های متنوعی را ارائه می‌دهد. اطلاعات مناسب و دقیق +اینجا در دسترس است. این صفحه شامل +راهنماهای آموزشی مرتبط با این پروژه می‌باشد. + +
+
+ + +
+ +
+
+ + + + + diff --git a/docs/app/index.md b/docs/app/index.md new file mode 100644 index 0000000..b0dc36a --- /dev/null +++ b/docs/app/index.md @@ -0,0 +1,123 @@ +--- +title: App Guide +hide: + - toc + - feedback + # - navigation + +comments: false + +weight: -19 +--- + + + +# 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 here. This page +contains +tutorial guides related to this project. + +
+
+ + +
+ +
+ + + diff --git a/docs/app/index.zh.md b/docs/app/index.zh.md new file mode 100644 index 0000000..a274686 --- /dev/null +++ b/docs/app/index.zh.md @@ -0,0 +1,22 @@ +--- +description: به ویکی هیدیفای خوش آمدید +title: راهنمای اپ +comments: falseح +weight: 2 +--- +# راهنمای اپ +## :material-home: خانه + +به ویکی هیدیفای خوش آمدید + +هیدیفای همه کاره هست + +## لایسنس + +``` +TODO +``` + +## تغییرات + +[see](changelog.md) \ No newline at end of file diff --git a/docs/app/index2.fa.html b/docs/app/index2.fa.html new file mode 100644 index 0000000..510a327 --- /dev/null +++ b/docs/app/index2.fa.html @@ -0,0 +1,425 @@ + + + + + + + + + + + + + هیدیفای | راهکار آزادی اینترنت + + + + + + + +
+ + +
+
+
+

راهنمای هیدیفای‌اپ

+
+

+ HiddifyApp یک کلاینت مبتنی بر Sing-box است که به عنوان یک + زنجیره ابزار پروکسی جهانی عمل می‌کند و ویژگی‌ها و پروتکل‌های متنوعی را ارائه می‌دهد. اطلاعات مناسب و دقیق + اینجا در دسترس است. این صفحه شامل + راهنماهای آموزشی مرتبط با این پروژه می‌باشد. +

+
+
+
+ +
+ +
+
+
+ + + + + + + + diff --git a/docs/app/index2.html b/docs/app/index2.html new file mode 100644 index 0000000..f3bb4d1 --- /dev/null +++ b/docs/app/index2.html @@ -0,0 +1,395 @@ + + + + + + + + + + + + + Hiddify | Internet Freedom Solution + + + + + + + +
+ + +
+
+
+

Hiddify App Guide

+
+

+ HiddifyApp is a client based on 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. This page + contains + tutorial guides related to this project. +

+
+
+
+ +
+ +
+
+
+ + + + + + + \ No newline at end of file diff --git a/docs/app/old-index.fa.md b/docs/app/old-index.fa.md new file mode 100644 index 0000000..fc5a82a --- /dev/null +++ b/docs/app/old-index.fa.md @@ -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) ملاحظه فرمایید. این صفحه شامل مطالب آموزشی مرتبط به این برنامه می‌باشد. + +## هیدیفای‌اپ + +
+
+ + + + diff --git a/docs/app/old-index.md b/docs/app/old-index.md new file mode 100644 index 0000000..71c924e --- /dev/null +++ b/docs/app/old-index.md @@ -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 + +
+
+ + + + + diff --git a/docs/assets/1.png b/docs/assets/1.png new file mode 100644 index 0000000..828f8a4 Binary files /dev/null and b/docs/assets/1.png differ diff --git a/docs/assets/235692699-f6cc0a42-3742-44d5-be20-783ac0e50fdc.png b/docs/assets/235692699-f6cc0a42-3742-44d5-be20-783ac0e50fdc.png new file mode 100644 index 0000000..9d50d93 Binary files /dev/null and b/docs/assets/235692699-f6cc0a42-3742-44d5-be20-783ac0e50fdc.png differ diff --git a/docs/assets/235705873-4f6730b7-a23a-4717-95c3-a5a667db1c59.png b/docs/assets/235705873-4f6730b7-a23a-4717-95c3-a5a667db1c59.png new file mode 100644 index 0000000..24c8ca2 Binary files /dev/null and b/docs/assets/235705873-4f6730b7-a23a-4717-95c3-a5a667db1c59.png differ diff --git a/docs/assets/235706386-047d5713-2b07-4aa6-bb6b-6464bdc105ef.png b/docs/assets/235706386-047d5713-2b07-4aa6-bb6b-6464bdc105ef.png new file mode 100644 index 0000000..0055c0c Binary files /dev/null and b/docs/assets/235706386-047d5713-2b07-4aa6-bb6b-6464bdc105ef.png differ diff --git a/docs/assets/235707725-a6d73e32-178b-4163-9fe8-8aab4e4458fe.png b/docs/assets/235707725-a6d73e32-178b-4163-9fe8-8aab4e4458fe.png new file mode 100644 index 0000000..bfcc23f Binary files /dev/null and b/docs/assets/235707725-a6d73e32-178b-4163-9fe8-8aab4e4458fe.png differ diff --git a/docs/assets/235707818-ea5ad5dc-8492-4338-8ec0-fc14993fbaaa.png b/docs/assets/235707818-ea5ad5dc-8492-4338-8ec0-fc14993fbaaa.png new file mode 100644 index 0000000..69f7802 Binary files /dev/null and b/docs/assets/235707818-ea5ad5dc-8492-4338-8ec0-fc14993fbaaa.png differ diff --git a/docs/assets/238177886-661b1164-aca9-4ef6-bce8-781ab2970040.png b/docs/assets/238177886-661b1164-aca9-4ef6-bce8-781ab2970040.png new file mode 100644 index 0000000..ea2746f Binary files /dev/null and b/docs/assets/238177886-661b1164-aca9-4ef6-bce8-781ab2970040.png differ diff --git a/docs/assets/240580612-97edd880-89ee-4f57-9f8d-d9398a3ceea0.png b/docs/assets/240580612-97edd880-89ee-4f57-9f8d-d9398a3ceea0.png new file mode 100644 index 0000000..9f3540d Binary files /dev/null and b/docs/assets/240580612-97edd880-89ee-4f57-9f8d-d9398a3ceea0.png differ diff --git a/docs/assets/244041345-ed55040a-3239-450b-99d9-34b722cee1a9.png b/docs/assets/244041345-ed55040a-3239-450b-99d9-34b722cee1a9.png new file mode 100644 index 0000000..5d314f1 Binary files /dev/null and b/docs/assets/244041345-ed55040a-3239-450b-99d9-34b722cee1a9.png differ diff --git a/docs/assets/248152095-f107a096-8abe-4f30-a8a6-b2413803dc86.png b/docs/assets/248152095-f107a096-8abe-4f30-a8a6-b2413803dc86.png new file mode 100644 index 0000000..7339ebb Binary files /dev/null and b/docs/assets/248152095-f107a096-8abe-4f30-a8a6-b2413803dc86.png differ diff --git a/docs/assets/248152327-846063e3-1827-41bb-b946-8d2687ab5543.png b/docs/assets/248152327-846063e3-1827-41bb-b946-8d2687ab5543.png new file mode 100644 index 0000000..1d99b59 Binary files /dev/null and b/docs/assets/248152327-846063e3-1827-41bb-b946-8d2687ab5543.png differ diff --git a/docs/assets/261299658-59808c2f-3894-47f7-ab7b-b50c3dbb3d68.jpg b/docs/assets/261299658-59808c2f-3894-47f7-ab7b-b50c3dbb3d68.jpg new file mode 100644 index 0000000..54df568 Binary files /dev/null and b/docs/assets/261299658-59808c2f-3894-47f7-ab7b-b50c3dbb3d68.jpg differ diff --git a/docs/assets/274807068-2e229b5d-4b3d-4588-8434-aff0b278c66a.jpg b/docs/assets/274807068-2e229b5d-4b3d-4588-8434-aff0b278c66a.jpg new file mode 100644 index 0000000..bfc62a6 Binary files /dev/null and b/docs/assets/274807068-2e229b5d-4b3d-4588-8434-aff0b278c66a.jpg differ diff --git a/docs/assets/HiddifyClashAndroid_Tutorial_en.png b/docs/assets/HiddifyClashAndroid_Tutorial_en.png new file mode 100644 index 0000000..a0d0a2f Binary files /dev/null and b/docs/assets/HiddifyClashAndroid_Tutorial_en.png differ diff --git a/docs/assets/HiddifyClashDesktop_tutorial.png b/docs/assets/HiddifyClashDesktop_tutorial.png new file mode 100644 index 0000000..ed93fc2 Binary files /dev/null and b/docs/assets/HiddifyClashDesktop_tutorial.png differ diff --git a/docs/assets/HiddifyClashDesktop_tutorial_en.png b/docs/assets/HiddifyClashDesktop_tutorial_en.png new file mode 100644 index 0000000..92a409f Binary files /dev/null and b/docs/assets/HiddifyClashDesktop_tutorial_en.png differ diff --git a/docs/assets/HiddifyMenu.png b/docs/assets/HiddifyMenu.png new file mode 100644 index 0000000..f540d3f Binary files /dev/null and b/docs/assets/HiddifyMenu.png differ diff --git a/docs/assets/HiddifyNG_Tutorial_en.png b/docs/assets/HiddifyNG_Tutorial_en.png new file mode 100644 index 0000000..d4ba1f6 Binary files /dev/null and b/docs/assets/HiddifyNG_Tutorial_en.png differ diff --git a/docs/assets/HiddifyN_Tutorial_en.png b/docs/assets/HiddifyN_Tutorial_en.png new file mode 100644 index 0000000..c27beb0 Binary files /dev/null and b/docs/assets/HiddifyN_Tutorial_en.png differ diff --git a/docs/assets/HiddifyN_tutorial.png b/docs/assets/HiddifyN_tutorial.png new file mode 100644 index 0000000..c57fb24 Binary files /dev/null and b/docs/assets/HiddifyN_tutorial.png differ diff --git a/docs/assets/OVH_install.png b/docs/assets/OVH_install.png new file mode 100644 index 0000000..808cb02 Binary files /dev/null and b/docs/assets/OVH_install.png differ diff --git a/docs/assets/Rectangle-2434.png b/docs/assets/Rectangle-2434.png new file mode 100644 index 0000000..4a81d44 Binary files /dev/null and b/docs/assets/Rectangle-2434.png differ diff --git a/docs/assets/Telegram_Bot.png b/docs/assets/Telegram_Bot.png new file mode 100644 index 0000000..2e181ca Binary files /dev/null and b/docs/assets/Telegram_Bot.png differ diff --git a/docs/assets/Use_HiddifyApp.png b/docs/assets/Use_HiddifyApp.png new file mode 100644 index 0000000..7fdc675 Binary files /dev/null and b/docs/assets/Use_HiddifyApp.png differ diff --git a/docs/assets/V2flyng_Tutorial_en.png b/docs/assets/V2flyng_Tutorial_en.png new file mode 100644 index 0000000..f40280f Binary files /dev/null and b/docs/assets/V2flyng_Tutorial_en.png differ diff --git a/docs/assets/V2rayNG_Tutorial_en.png b/docs/assets/V2rayNG_Tutorial_en.png new file mode 100644 index 0000000..f26d11f Binary files /dev/null and b/docs/assets/V2rayNG_Tutorial_en.png differ diff --git a/docs/assets/WPA_iPhone.png b/docs/assets/WPA_iPhone.png new file mode 100644 index 0000000..370d519 Binary files /dev/null and b/docs/assets/WPA_iPhone.png differ diff --git a/docs/assets/add.svg b/docs/assets/add.svg new file mode 100644 index 0000000..8070e39 --- /dev/null +++ b/docs/assets/add.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/assets/advanced_setting_HiddifyApp.jpg b/docs/assets/advanced_setting_HiddifyApp.jpg new file mode 100644 index 0000000..2767124 Binary files /dev/null and b/docs/assets/advanced_setting_HiddifyApp.jpg differ diff --git a/docs/assets/android_tutorials.jpg b/docs/assets/android_tutorials.jpg new file mode 100644 index 0000000..5a9e847 Binary files /dev/null and b/docs/assets/android_tutorials.jpg differ diff --git a/docs/assets/arrow-right.svg b/docs/assets/arrow-right.svg new file mode 100644 index 0000000..4b1714b --- /dev/null +++ b/docs/assets/arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/assets/auto_cdn_ip_domain.png b/docs/assets/auto_cdn_ip_domain.png new file mode 100644 index 0000000..a0b66ad Binary files /dev/null and b/docs/assets/auto_cdn_ip_domain.png differ diff --git a/docs/assets/background-color-fa.png b/docs/assets/background-color-fa.png new file mode 100644 index 0000000..cd3fec7 Binary files /dev/null and b/docs/assets/background-color-fa.png differ diff --git a/docs/assets/background-color.png b/docs/assets/background-color.png new file mode 100644 index 0000000..d0e2571 Binary files /dev/null and b/docs/assets/background-color.png differ diff --git a/docs/assets/background-color.webp b/docs/assets/background-color.webp new file mode 100644 index 0000000..225396d Binary files /dev/null and b/docs/assets/background-color.webp differ diff --git a/docs/assets/basic-settings.png b/docs/assets/basic-settings.png new file mode 100644 index 0000000..2ff8d7a Binary files /dev/null and b/docs/assets/basic-settings.png differ diff --git a/docs/assets/cdn_tutorial.png b/docs/assets/cdn_tutorial.png new file mode 100644 index 0000000..271a949 Binary files /dev/null and b/docs/assets/cdn_tutorial.png differ diff --git a/docs/assets/cf_worker_tutorial.png b/docs/assets/cf_worker_tutorial.png new file mode 100644 index 0000000..73db08a Binary files /dev/null and b/docs/assets/cf_worker_tutorial.png differ diff --git a/docs/assets/clean_ip.png b/docs/assets/clean_ip.png new file mode 100644 index 0000000..8508a15 Binary files /dev/null and b/docs/assets/clean_ip.png differ diff --git a/docs/assets/close-button.svg b/docs/assets/close-button.svg new file mode 100644 index 0000000..826113f --- /dev/null +++ b/docs/assets/close-button.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/config_hiddifymanager.png b/docs/assets/config_hiddifymanager.png new file mode 100644 index 0000000..ebacee2 Binary files /dev/null and b/docs/assets/config_hiddifymanager.png differ diff --git a/docs/assets/content.svg b/docs/assets/content.svg new file mode 100644 index 0000000..8de9d14 --- /dev/null +++ b/docs/assets/content.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/assets/contributes.svg b/docs/assets/contributes.svg new file mode 100644 index 0000000..fa40c13 --- /dev/null +++ b/docs/assets/contributes.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/assets/contribution.jpg b/docs/assets/contribution.jpg new file mode 100644 index 0000000..a1e2db8 Binary files /dev/null and b/docs/assets/contribution.jpg differ diff --git a/docs/assets/cross-platform.png b/docs/assets/cross-platform.png new file mode 100644 index 0000000..506db82 Binary files /dev/null and b/docs/assets/cross-platform.png differ diff --git a/docs/assets/css/site.css b/docs/assets/css/site.css new file mode 100644 index 0000000..5c53ba6 --- /dev/null +++ b/docs/assets/css/site.css @@ -0,0 +1,2700 @@ +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-Thin.woff2") format("woff2"); + + font-weight: 100; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: VazirmatnUIFDNL; + src: url('/assets/webfonts/Vazirmatn-UI-FD-NL-Regular.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; +} + + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-ExtraLight.woff2") format("woff2"); + + font-weight: 200; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-Light.woff2") format("woff2"); + + font-weight: 300; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-Regular.woff2") format("woff2"); + + font-weight: 400; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-Medium.woff2") format("woff2"); + + font-weight: 500; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-SemiBold.woff2") format("woff2"); + + font-weight: 600; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-Bold.woff2") format("woff2"); + + font-weight: 700; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-ExtraBold.woff2") format("woff2"); + + font-weight: 800; + + font-style: normal; + + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + + src: url("/assets/webfonts/Vazirmatn-RD-Black.woff2") format("woff2"); + + font-weight: 900; + + font-style: normal; + + font-display: swap; +} + +/* +! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com +*/ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e5e7eb; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +7. Disable tap highlights on iOS +*/ + +html, +:host { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ + -webkit-tap-highlight-color: transparent; + /* 7 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font-family by default. +2. Use the user's configured `mono` font-feature-settings by default. +3. Use the user's configured `mono` font-variation-settings by default. +4. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-feature-settings: normal; + /* 2 */ + font-variation-settings: normal; + /* 3 */ + font-size: 1em; + /* 4 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + letter-spacing: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +input:where([type='button']), +input:where([type='reset']), +input:where([type='submit']) { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +.visible { + visibility: visible; +} + +.static { + position: static; +} + +.fixed { + position: fixed; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.-bottom-\[350px\] { + bottom: -350px; +} + +.-left-24 { + left: -6rem; +} + +.-left-\[6px\] { + left: -6px; +} + +.-left-\[8px\] { + left: -8px; +} + +.-right-24 { + right: -6rem; +} + +.-right-\[6px\] { + right: -6px; +} + +.-right-\[8px\] { + right: -8px; +} + +.bottom-0 { + bottom: 0px; +} + +.left-0 { + left: 0px; +} + +.left-5 { + left: 1.25rem; +} + +.right-0 { + right: 0px; +} + +.right-5 { + right: 1.25rem; +} + +.top-0 { + top: 0px; +} + +.top-5 { + top: 1.25rem; +} + +.-z-40 { + z-index: -40; +} + +.z-0 { + z-index: 0; +} + +.z-10 { + z-index: 10; +} + +.z-50 { + z-index: 50; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-20 { + margin-top: 5rem; + margin-bottom: 5rem; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.my-40 { + margin-top: 10rem; + margin-bottom: 10rem; +} + +.my-5 { + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} + +.-mb-10 { + margin-bottom: -2.5rem; +} + +.mb-10 { + margin-bottom: 2.5rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.mb-40 { + margin-bottom: 10rem; +} + +.mb-5 { + margin-bottom: 1.25rem; +} + +.mb-80 { + margin-bottom: 20rem; +} + +.ml-20 { + margin-left: 5rem; +} + +.ml-4 { + margin-left: 1rem; +} + +.ml-5 { + margin-left: 1.25rem; +} + +.mr-20 { + margin-right: 5rem; +} + +.mr-5 { + margin-right: 1.25rem; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.mt-10 { + margin-top: 2.5rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.mt-3 { + margin-top: 0.75rem; +} + +.mt-4 { + margin-top: 1rem; +} + +.mt-5 { + margin-top: 1.25rem; +} + +.mt-6 { + margin-top: 1.5rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.block { + display: block; +} + +.inline { + display: inline; +} + +.flex { + display: flex; +} + +.grid { + display: grid; +} + +.contents { + display: contents; +} + +.hidden { + display: none; +} + +.h-1\/2 { + height: 50%; +} + +.h-11 { + height: 2.75rem; +} + +.h-2 { + height: 0.5rem; +} + +.h-20 { + height: 5rem; +} + +.h-24 { + height: 6rem; +} + +.h-3 { + height: 0.75rem; +} + +.h-6 { + height: 1.5rem; +} + +.h-7 { + height: 1.75rem; +} + +.h-\[103px\] { + height: 103px; +} + +.h-\[800px\] { + height: 800px; +} + +.h-\[80px\] { + height: 80px; +} + +.h-fit { + height: -moz-fit-content; + height: fit-content; +} + +.h-full { + height: 100%; +} + +.h-screen { + height: 100vh; +} + +.max-h-\[400px\] { + max-height: 400px; +} + +.max-h-\[451\] { + max-height: 451; +} + +.max-h-\[500px\] { + max-height: 500px; +} + +.max-h-\[800px\] { + max-height: 800px; +} + +.max-h-screen { + max-height: 100vh; +} + +.w-1\/2 { + width: 50%; +} + +.w-1\/4 { + width: 25%; +} + +.w-12 { + width: 3rem; +} + +.w-2 { + width: 0.5rem; +} + +.w-3 { + width: 0.75rem; +} + +.w-6 { + width: 1.5rem; +} + +.w-\[184px\] { + width: 184px; +} + +.w-\[230px\] { + width: 230px; +} + +.w-\[250px\] { + width: 250px; +} + +.w-\[350px\] { + width: 350px; +} + +.w-\[400px\] { + width: 400px; +} + +.w-\[741px\] { + width: 741px; +} + +.w-\[80px\] { + width: 80px; +} + +.w-fit { + width: -moz-fit-content; + width: fit-content; +} + +.w-full { + width: 100%; +} + +.min-w-\[400px\] { + min-width: 400px; +} + +.min-w-\[741px\] { + min-width: 741px; +} + +.max-w-52 { + max-width: 13rem; +} + +.max-w-5xl { + max-width: 64rem; +} + +.max-w-\[1120px\] { + max-width: 1120px; +} + +.max-w-\[1200px\] { + max-width: 1200px; +} + +.max-w-\[402px\] { + max-width: 402px; +} + +.max-w-\[552px\] { + max-width: 552px; +} + +.max-w-\[700px\] { + max-width: 700px; +} + +.max-w-\[800px\] { + max-width: 800px; +} + +.flex-shrink-0 { + flex-shrink: 0; +} + +.flex-grow { + flex-grow: 1; +} + +.rotate-180 { + --tw-rotate: 180deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.cursor-pointer { + cursor: pointer; +} + +.list-disc { + list-style-type: disc; +} + +.list-none { + list-style-type: none; +} + +.grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); +} + +.flex-col { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.items-start { + align-items: flex-start; +} + +.items-end { + align-items: flex-end; +} + +.items-center { + align-items: center; +} + +.justify-start { + justify-content: flex-start; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.gap-10 { + gap: 2.5rem; +} + +.gap-16 { + gap: 4rem; +} + +.gap-2 { + gap: 0.5rem; +} + +.gap-20 { + gap: 5rem; +} + +.gap-3 { + gap: 0.75rem; +} + +.gap-4 { + gap: 1rem; +} + +.gap-40 { + gap: 10rem; +} + +.gap-5 { + gap: 1.25rem; +} + +.gap-7 { + gap: 1.75rem; +} + +.gap-8 { + gap: 2rem; +} + +.overflow-y-auto { + overflow-y: auto; +} + +.overflow-x-hidden { + overflow-x: hidden; +} + +.whitespace-nowrap { + white-space: nowrap; +} + +.rounded-3xl { + border-radius: 1.5rem; +} + +.rounded-\[32px\] { + border-radius: 32px; +} + +.rounded-\[35px\] { + border-radius: 35px; +} + +.rounded-full { + border-radius: 9999px; +} + +.rounded-lg { + border-radius: 0.5rem; +} + +.rounded-md { + border-radius: 0.375rem; +} + +.rounded-xl { + border-radius: 0.75rem; +} + +.rounded-b-3xl { + border-bottom-right-radius: 1.5rem; + border-bottom-left-radius: 1.5rem; +} + +.rounded-b-xl { + border-bottom-right-radius: 0.75rem; + border-bottom-left-radius: 0.75rem; +} + +.rounded-bl-\[30px\] { + border-bottom-left-radius: 30px; +} + +.rounded-br-\[30px\] { + border-bottom-right-radius: 30px; +} + +.rounded-tl-\[30px\] { + border-top-left-radius: 30px; +} + +.rounded-tr-\[30px\] { + border-top-right-radius: 30px; +} + +.border { + border-width: 1px; +} + +.border-2 { + border-width: 2px; +} + +.border-x-2 { + border-left-width: 2px; + border-right-width: 2px; +} + +.border-b-2 { + border-bottom-width: 2px; +} + +.border-l-2 { + border-left-width: 2px; +} + +.border-r-2 { + border-right-width: 2px; +} + +.border-t { + border-top-width: 1px; +} + +.border-t-0 { + border-top-width: 0px; +} + +.border-t-2 { + border-top-width: 2px; +} + +.border-solid { + border-style: solid; +} + +.border-\[\#504A82\] { + --tw-border-opacity: 1; + border-color: rgb(80 74 130 / var(--tw-border-opacity)); +} + +.border-gray-500 { + --tw-border-opacity: 1; + border-color: rgb(107 114 128 / var(--tw-border-opacity)); +} + +.border-primary { + --tw-border-opacity: 1; + border-color: rgb(69 95 233 / var(--tw-border-opacity)); +} + +.border-white { + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} + +.bg-\[\#455FE9\] { + --tw-bg-opacity: 1; + background-color: rgb(69 95 233 / var(--tw-bg-opacity)); +} + +.bg-\[\#504A82\] { + --tw-bg-opacity: 1; + background-color: rgb(80 74 130 / var(--tw-bg-opacity)); +} + +.bg-\[\#D3CCF7\] { + --tw-bg-opacity: 1; + background-color: rgb(211 204 247 / var(--tw-bg-opacity)); +} + +.bg-\[\#E2E2E2\] { + --tw-bg-opacity: 1; + background-color: rgb(226 226 226 / var(--tw-bg-opacity)); +} + +.bg-\[\#FFFFFF\] { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.bg-\[\#e8cff1\] { + --tw-bg-opacity: 1; + background-color: rgb(232 207 241 / var(--tw-bg-opacity)); +} + +.bg-blue-200 { + --tw-bg-opacity: 1; + background-color: rgb(191 219 254 / var(--tw-bg-opacity)); +} + +.bg-gray-500 { + --tw-bg-opacity: 1; + background-color: rgb(107 114 128 / var(--tw-bg-opacity)); +} + +.bg-indigo-300 { + --tw-bg-opacity: 1; + background-color: rgb(165 180 252 / var(--tw-bg-opacity)); +} + +.bg-pink-200 { + --tw-bg-opacity: 1; + background-color: rgb(251 207 232 / var(--tw-bg-opacity)); +} + +.bg-primary { + --tw-bg-opacity: 1; + background-color: rgb(69 95 233 / var(--tw-bg-opacity)); +} + +.bg-secondaryText { + --tw-bg-opacity: 1; + background-color: rgb(73 80 87 / var(--tw-bg-opacity)); +} + +.bg-transparent { + background-color: transparent; +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.bg-opacity-20 { + --tw-bg-opacity: 0.2; +} + +.bg-opacity-25 { + --tw-bg-opacity: 0.25; +} + +.bg-opacity-5 { + --tw-bg-opacity: 0.05; +} + +.bg-opacity-80 { + --tw-bg-opacity: 0.8; +} + +.bg-opacity-90 { + --tw-bg-opacity: 0.9; +} + +.bg-gradient-to-t { + background-image: linear-gradient(to top, var(--tw-gradient-stops)); +} + +.from-white { + --tw-gradient-from: #fff var(--tw-gradient-from-position); + --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.to-white\/10 { + --tw-gradient-to: rgb(255 255 255 / 0.1) var(--tw-gradient-to-position); +} + +.p-2 { + padding: 0.5rem; +} + +.p-4 { + padding: 1rem; +} + +.p-5 { + padding: 1.25rem; +} + +.p-8 { + padding: 2rem; +} + +.px-10 { + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-2\.5 { + padding-top: 0.625rem; + padding-bottom: 0.625rem; +} + +.py-20 { + padding-top: 5rem; + padding-bottom: 5rem; +} + +.py-24 { + padding-top: 6rem; + padding-bottom: 6rem; +} + +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} + +.py-7 { + padding-top: 1.75rem; + padding-bottom: 1.75rem; +} + +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} + +.pb-24 { + padding-bottom: 6rem; +} + +.pl-3 { + padding-left: 0.75rem; +} + +.pr-3 { + padding-right: 0.75rem; +} + +.pt-6 { + padding-top: 1.5rem; +} + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-start { + text-align: start; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} + +.text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; +} + +.text-6xl { + font-size: 3.75rem; + line-height: 1; +} + +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} + +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.font-light { + font-weight: 300; +} + +.font-medium { + font-weight: 500; +} + +.font-normal { + font-weight: 400; +} + +.font-semibold { + font-weight: 600; +} + +.uppercase { + text-transform: uppercase; +} + +.lowercase { + text-transform: lowercase; +} + +.text-\[\#212529\] { + --tw-text-opacity: 1; + color: rgb(33 37 41 / var(--tw-text-opacity)); +} + +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} + +.text-gray-700 { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); +} + +.text-primary { + --tw-text-opacity: 1; + color: rgb(69 95 233 / var(--tw-text-opacity)); +} + +.text-primaryText { + --tw-text-opacity: 1; + color: rgb(33 37 41 / var(--tw-text-opacity)); +} + +.text-secondaryText { + --tw-text-opacity: 1; + color: rgb(73 80 87 / var(--tw-text-opacity)); +} + +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) !important; +} + +.underline { + text-decoration-line: underline; +} + +.no-underline { + text-decoration-line: none; +} + +.underline-offset-2 { + text-underline-offset: 2px; +} + +.underline-offset-4 { + text-underline-offset: 4px; +} + +.opacity-30 { + opacity: 0.3; +} + +.opacity-60 { + opacity: 0.6; +} + +.mix-blend-multiply { + mix-blend-mode: multiply; +} + +.shadow-lg { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-md { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.blur-3xl { + --tw-blur: blur(64px); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.backdrop-blur-xl { + --tw-backdrop-blur: blur(24px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.backdrop-filter { + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.hover\:bg-primary:hover { + --tw-bg-opacity: 1; + background-color: rgb(69 95 233 / var(--tw-bg-opacity)); +} + +.hover\:bg-primary\/90:hover { + background-color: rgb(69 95 233 / 0.9); +} + +.hover\:bg-white:hover { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.hover\:text-primary:hover { + --tw-text-opacity: 1; + color: rgb(69 95 233 / var(--tw-text-opacity)); +} + +.hover\:text-white:hover { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:ring-4:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus\:ring-blue-300:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity)); +} + +.focus\:ring-primary\/70:focus { + --tw-ring-color: rgb(69 95 233 / 0.7); +} + +@media (min-width: 640px) { + .sm\:flex { + display: flex; + } + + .sm\:flex-row { + flex-direction: row; + } + + .sm\:items-center { + align-items: center; + } + + .sm\:justify-between { + justify-content: space-between; + } + + .sm\:text-left { + text-align: left; + } +} + +@media (min-width: 768px) { + .md\:left-0 { + left: 0px; + } + + .md\:right-\[5\%\] { + right: 5%; + } + + .md\:mx-0 { + margin-left: 0px; + margin-right: 0px; + } + + .md\:mb-10 { + margin-bottom: 2.5rem; + } + + .md\:mb-36 { + margin-bottom: 9rem; + } + + .md\:mt-0 { + margin-top: 0px; + } + + .md\:block { + display: block; + } + + .md\:flex { + display: flex; + } + + .md\:hidden { + display: none; + } + + .md\:h-24 { + height: 6rem; + } + + .md\:h-full { + height: 100%; + } + + .md\:max-h-\[103px\] { + max-height: 103px; + } + + .md\:max-h-\[183px\] { + max-height: 183px; + } + + .md\:max-h-\[450px\] { + max-height: 450px; + } + + .md\:max-h-\[unset\] { + max-height: unset; + } + + .md\:w-1\/2 { + width: 50%; + } + + .md\:w-1\/3 { + width: 33.333333%; + } + + .md\:w-2\/3 { + width: 66.666667%; + } + + .md\:w-64 { + width: 16rem; + } + + .md\:w-\[500px\] { + width: 500px; + } + + .md\:max-w-\[184px\] { + max-width: 184px; + } + + .md\:max-w-\[326px\] { + max-width: 326px; + } + + .md\:max-w-\[420px\] { + max-width: 420px; + } + + .md\:max-w-\[900px\] { + max-width: 900px; + } + + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .md\:flex-row { + flex-direction: row; + } + + .md\:flex-nowrap { + flex-wrap: nowrap; + } + + .md\:items-center { + align-items: center; + } + + .md\:justify-start { + justify-content: flex-start; + } + + .md\:justify-end { + justify-content: flex-end; + } + + .md\:gap-1 { + gap: 0.25rem; + } + + .md\:gap-10 { + gap: 2.5rem; + } + + .md\:rounded-\[100px\] { + border-radius: 100px; + } + + .md\:rounded-bl-\[100px\] { + border-bottom-left-radius: 100px; + } + + .md\:rounded-br-\[100px\] { + border-bottom-right-radius: 100px; + } + + .md\:rounded-tl-\[100px\] { + border-top-left-radius: 100px; + } + + .md\:rounded-tr-\[100px\] { + border-top-right-radius: 100px; + } + + .md\:border-l-2 { + border-left-width: 2px; + } + + .md\:border-r-2 { + border-right-width: 2px; + } + + .md\:border-t-0 { + border-top-width: 0px; + } + + .md\:p-20 { + padding: 5rem; + } + + .md\:px-10 { + padding-left: 2.5rem; + padding-right: 2.5rem; + } + + .md\:px-16 { + padding-left: 4rem; + padding-right: 4rem; + } + + .md\:px-20 { + padding-left: 5rem; + padding-right: 5rem; + } + + .md\:px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + + .md\:px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .md\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } + + .md\:py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; + } + + .md\:pb-36 { + padding-bottom: 9rem; + } + + .md\:pl-20 { + padding-left: 5rem; + } + + .md\:pl-5 { + padding-left: 1.25rem; + } + + .md\:pr-20 { + padding-right: 5rem; + } + + .md\:pr-5 { + padding-right: 1.25rem; + } + + .md\:text-2xl { + font-size: 1.5rem; + line-height: 2rem; + } + + .md\:text-5xl { + font-size: 3rem; + line-height: 1; + } +} + +@media (min-width: 1024px) { + .lg\:-bottom-\[400px\] { + bottom: -400px; + } + + .lg\:-left-56 { + left: -14rem; + } + + .lg\:-right-56 { + right: -14rem; + } + + .lg\:-top-\[6px\] { + top: -6px; + } + + .lg\:-top-\[8px\] { + top: -8px; + } + + .lg\:bottom-\[unset\] { + bottom: unset; + } + + .lg\:left-0 { + left: 0px; + } + + .lg\:left-\[unset\] { + left: unset; + } + + .lg\:right-0 { + right: 0px; + } + + .lg\:right-\[unset\] { + right: unset; + } + + .lg\:top-\[unset\] { + top: unset; + } + + .lg\:mb-24 { + margin-bottom: 6rem; + } + + .lg\:mb-52 { + margin-bottom: 13rem; + } + + .lg\:ml-0 { + margin-left: 0px; + } + + .lg\:ml-2 { + margin-left: 0.5rem; + } + + .lg\:ml-auto { + margin-left: auto; + } + + .lg\:mr-0 { + margin-right: 0px; + } + + .lg\:mr-2 { + margin-right: 0.5rem; + } + + .lg\:mr-auto { + margin-right: auto; + } + + .lg\:block { + display: block; + } + + .lg\:h-fit { + height: -moz-fit-content; + height: fit-content; + } + + .lg\:h-full { + height: 100%; + } + + .lg\:w-1\/2 { + width: 50%; + } + + .lg\:w-1\/3 { + width: 33.333333%; + } + + .lg\:w-\[486px\] { + width: 486px; + } + + .lg\:w-\[750px\] { + width: 750px; + } + + .lg\:w-fit { + width: -moz-fit-content; + width: fit-content; + } + + .lg\:w-full { + width: 100%; + } + + .lg\:max-w-\[185px\] { + max-width: 185px; + } + + .lg\:max-w-\[250px\] { + max-width: 250px; + } + + .lg\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .lg\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .lg\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .lg\:flex-row { + flex-direction: row; + } + + .lg\:items-start { + align-items: flex-start; + } + + .lg\:items-center { + align-items: center; + } + + .lg\:justify-start { + justify-content: flex-start; + } + + .lg\:rounded-bl-\[100px\] { + border-bottom-left-radius: 100px; + } + + .lg\:rounded-bl-none { + border-bottom-left-radius: 0px; + } + + .lg\:rounded-br-\[100px\] { + border-bottom-right-radius: 100px; + } + + .lg\:rounded-br-none { + border-bottom-right-radius: 0px; + } + + .lg\:rounded-tl-\[100px\] { + border-top-left-radius: 100px; + } + + .lg\:rounded-tl-none { + border-top-left-radius: 0px; + } + + .lg\:rounded-tr-\[100px\] { + border-top-right-radius: 100px; + } + + .lg\:rounded-tr-none { + border-top-right-radius: 0px; + } + + .lg\:border-y-2 { + border-top-width: 2px; + border-bottom-width: 2px; + } + + .lg\:border-l { + border-left-width: 1px; + } + + .lg\:border-l-0 { + border-left-width: 0px; + } + + .lg\:border-l-2 { + border-left-width: 2px; + } + + .lg\:border-r { + border-right-width: 1px; + } + + .lg\:border-r-0 { + border-right-width: 0px; + } + + .lg\:border-r-2 { + border-right-width: 2px; + } + + .lg\:border-t-2 { + border-top-width: 2px; + } + + .lg\:border-gray-500 { + --tw-border-opacity: 1; + border-color: rgb(107 114 128 / var(--tw-border-opacity)); + } + + .lg\:p-4 { + padding: 1rem; + } + + .lg\:px-20 { + padding-left: 5rem; + padding-right: 5rem; + } + + .lg\:px-28 { + padding-left: 7rem; + padding-right: 7rem; + } + + .lg\:px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .lg\:pb-52 { + padding-bottom: 13rem; + } + + .lg\:text-2xl { + font-size: 1.5rem; + line-height: 2rem; + } + + .lg\:text-7xl { + font-size: 4.5rem; + line-height: 1; + } +} + +@media (min-width: 1280px) { + .xl\:px-36 { + padding-left: 9rem; + padding-right: 9rem; + } +} + +@media (min-width: 1536px) { + .\32xl\:flex { + display: flex; + } + + .\32xl\:w-\[850px\] { + width: 850px; + } + + .\32xl\:w-fit { + width: -moz-fit-content; + width: fit-content; + } + + .\32xl\:max-w-\[1920px\] { + max-width: 1920px; + } + + .\32xl\:flex-row { + flex-direction: row; + } + + .\32xl\:justify-start { + justify-content: flex-start; + } + + .\32xl\:justify-center { + justify-content: center; + } +} + + + + + + + +html, body { + margin: 0; + overflow-x: hidden; + } + + body[data-md-color-scheme="default"] { + /* تنظیم تصویر پس‌زمینه */ + background-image: url('/assets/background-color.webp'); + + /* پوشش تمام صفحه */ + background-size: cover; + + /* مرکز تصویر پس‌زمینه */ + background-position: center; + + /* عدم تکرار تصویر */ + background-repeat: repeat; + + /* ثابت نگه داشتن پس‌زمینه (همراه محتوا اسکرول نمی‌شود) */ + background-attachment: scroll; + } + + + + .md-header{ + background-color: transparent; + color: var(--md-typeset-color); + } + + .md-tabs{ + background-color: transparent; + color: var(--md-typeset-color); + } + + .md-copyright__highlight{ + color: var(--md-typeset-color); + } + + @media screen and (max-width: 76.1875em) { + .md-header__button.md-logo { + display: inline-block; + } + } + + +.video-card div:first-child { + overflow: auto; +} + + + + + + + + + + + + + + + + +/*new hiddify*/ + +.hidden-features { + display: none; + color: var(--md-primary-fg-color); + padding-left: 0.5rem; + animation: fadeIn 0.3s ease-in; +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + +.hiddify-container { + display: flex; + flex-direction: column; + gap: 2rem; + width: 100%; +} + +@media (min-width: 768px) { + .hiddify-container { + flex-direction: row; + align-items: center; + } + + .hiddify-image { + flex: 1; + } + + .hiddify-content { + flex: 1; + } +} +.d-md-block{ + display: none; +} +.d-md-none{ + display: block; +} +@media (max-width: 767px) { + .hiddify-image { + margin: 0 auto; + + } + .d-md-none{ + display: none; + } + .d-md-block{ + display: block; + } + .hiddify-image img{ +object-fit: cover; + height:40vh; + + } + + .hiddify-content { + + margin: 0 auto; + } +} + +.platform-grid { + display: flex; + gap: 1rem; + margin: 2rem 0; + flex-wrap: wrap; + justify-content: center; +} + +@media (max-width: 480px) { + .platform-grid { + gap: 0.5rem; + } +} + +.platform-button { + width: 80px; + height: 80px; + border-radius: 50%; + border: 2px solid var(--md-default-fg-color--lighter); + background: var(--md-default-bg-color); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: all 0.2s ease; +} + +@media (max-width: 480px) { + .platform-button { + width: 60px; + height: 60px; + } + + .platform-button img { + width: 30px; + height: 30px; + } +} + +.platform-button:hover { + transform: translateY(-2px); +} + +.platform-button.selected { + border-color: var(--md-primary-fg-color); +} + +.platform-button.selected svg path { + fill: var(--md-primary-fg-color); +} + + +.md-button-fill { + width: 100%; + text-align: center; + } + + section{ + margin-top: 4rem; + } + + + + html{ + scroll-behavior: smooth; + } + .hero-title { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; + font-size: 2.5rem; + font-weight: 600; + color: var(--md-default-fg-color); + } + + .hero-subtitle { + font-size: 1.2rem; + color: var(--md-default-fg-color); + opacity: 0.7; + } + + .products-section { + position: relative; + margin-top:0px; + } + + .products-title { + text-align: center; + color: var(--md-default-fg-color); + margin-bottom: 3rem; + font-size: 1.2rem; + opacity: 0.7; + } + + .products-grid { + display: grid; + grid-template-columns: 1fr; + gap: 0; + } + + .product-card { + background: rgba(255, 255, 255, 0.1); /* 0.5 for 50% transparency */ + backdrop-filter: blur(10px); + border: 2px solid rgba(255, 255, 255, 0.5); + padding: 2rem; + transition: transform 0.3s ease; + cursor: pointer; + text-decoration: none; + color: inherit; + display: flex; + flex-direction: column; + gap: 1.5rem; + align-items: center; + } + + .product-card:first-child { + border-radius: 30px 30px 0 0; + } + + .product-card:last-child { + border-radius: 0 0 30px 30px; + border-top: none; + } + + [dir="rtl"] .product-card:first-child{ + border-radius: 0px 30px 30px 0px; + } + + [dir="rtl"] .product-card:last-child{ + border-radius: 30px 0 0 30px; + } + + .product-card:hover { + transform: scale(1.02); + background: rgba(255, 255, 255, 0.3); + } + + .product-logo-wrapper { + height: 80px; + display: flex; + align-items: center; + justify-content: center; + } + + .product-logo { + height: 100%; + object-fit: contain; + } + + .product-title { + font-size: 1rem; + color: var(--md-default-fg-color); + text-align: center; + opacity: 0.7; + font-weight: normal; + } + + .product-description { + color: var(--md-default-fg-color); + line-height: 1.6; + text-align: start; + opacity: 0.7; + } + + .product-arrow { + align-self: flex-end; + padding: 0.5rem; + border-radius: 0.5rem; + transition: background-color 0.3s ease; + } + + .product-arrow:hover { + background-color: rgba(255, 255, 255, 0.5); + } + + @media (min-width: 768px) { + .hero-title { + font-size: 3.5rem; + } + + .products-grid { + grid-template-columns: 1fr 1fr; + } + + .product-card:first-child { + border-radius: 100px 0 0 100px; + } + + .product-card:last-child { + border-radius: 0 100px 100px 0; + border-top: 2px solid rgba(255, 255, 255, 0.5); + border-left: none; + } + [dir="rtl"] .product-card:last-child { + border-left: 2px solid rgba(255, 255, 255, 0.5); + border-right: none; + } + + .product-title { + font-size: 1.2rem; + } + } + + @media (min-width: 1024px) { + .hero-title { + font-size: 4.5rem; + } + + .product-description br { + display: block; + } + } + + .hiddify-logo-icon{ + fill:#455FE9; + } + .hiddify-logo-stroke{ + stroke: #455FE9; + } + .hiddify-logo-text{ + fill:#585d69 + } + + [data-md-color-scheme=slate] .hiddify-logo-icon{ + fill:#d3d7ff; + } + [data-md-color-scheme=slate] .hiddify-logo-stroke{ + stroke:#d3d7ff; + + } + + [data-md-color-scheme=slate] .hiddify-logo-text{ + fill:#FFF + } + + + svg.badge-value-only g { + display: none; +} + +svg.badge-value-only g[text-anchor="middle"]{ + display: block; +} + +svg.badge-value-only text{ + fill:#000; + +} +[dir="rtl"] svg.badge-value-only text{ +font-family: VazirmatnUIFDNL; +} +[data-md-color-scheme=slate] svg.badge-value-only text{ + fill:#FFF; +} + +svg.badge-value-only text{ +text-transform: uppercase; +} + +svg.badge-value-only{ + zoom:4; + height:20px; + margin: auto; +} + +footer { + overflow-x: hidden; + margin: 0; + padding: 0; +} diff --git a/docs/assets/design.svg b/docs/assets/design.svg new file mode 100644 index 0000000..83b37db --- /dev/null +++ b/docs/assets/design.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/assets/desktop_tutorials.jpg b/docs/assets/desktop_tutorials.jpg new file mode 100644 index 0000000..dd371e9 Binary files /dev/null and b/docs/assets/desktop_tutorials.jpg differ diff --git a/docs/assets/development.svg b/docs/assets/development.svg new file mode 100644 index 0000000..5177d89 --- /dev/null +++ b/docs/assets/development.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/assets/domain-types.png b/docs/assets/domain-types.png new file mode 100644 index 0000000..3f61ba6 Binary files /dev/null and b/docs/assets/domain-types.png differ diff --git a/docs/assets/enable_ssh_key.png b/docs/assets/enable_ssh_key.png new file mode 100644 index 0000000..6e58a65 Binary files /dev/null and b/docs/assets/enable_ssh_key.png differ diff --git a/docs/assets/fairvpn_tutorial.png b/docs/assets/fairvpn_tutorial.png new file mode 100644 index 0000000..3e7a813 Binary files /dev/null and b/docs/assets/fairvpn_tutorial.png differ diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico new file mode 100644 index 0000000..488bbcb Binary files /dev/null and b/docs/assets/favicon.ico differ diff --git a/docs/assets/finalize.png b/docs/assets/finalize.png new file mode 100644 index 0000000..3783b44 Binary files /dev/null and b/docs/assets/finalize.png differ diff --git a/docs/assets/finding_clean_ip_cf.png b/docs/assets/finding_clean_ip_cf.png new file mode 100644 index 0000000..232cb1e Binary files /dev/null and b/docs/assets/finding_clean_ip_cf.png differ diff --git a/docs/assets/foxray_tutorial.jpg b/docs/assets/foxray_tutorial.jpg new file mode 100644 index 0000000..650ed03 Binary files /dev/null and b/docs/assets/foxray_tutorial.jpg differ diff --git a/docs/assets/globe-fa.png b/docs/assets/globe-fa.png new file mode 100644 index 0000000..93109c1 Binary files /dev/null and b/docs/assets/globe-fa.png differ diff --git a/docs/assets/globe.png b/docs/assets/globe.png new file mode 100644 index 0000000..5e3bba5 Binary files /dev/null and b/docs/assets/globe.png differ diff --git a/docs/assets/gost_tunnel.png b/docs/assets/gost_tunnel.png new file mode 100644 index 0000000..eee5949 Binary files /dev/null and b/docs/assets/gost_tunnel.png differ diff --git a/docs/assets/group-289773.png b/docs/assets/group-289773.png new file mode 100644 index 0000000..b5df08c Binary files /dev/null and b/docs/assets/group-289773.png differ diff --git a/docs/assets/hiddify-app-logo.svg b/docs/assets/hiddify-app-logo.svg new file mode 100644 index 0000000..b78990d --- /dev/null +++ b/docs/assets/hiddify-app-logo.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/assets/hiddify-app.png b/docs/assets/hiddify-app.png new file mode 100644 index 0000000..db4465e Binary files /dev/null and b/docs/assets/hiddify-app.png differ diff --git a/docs/assets/hiddify-logo-dark.svg b/docs/assets/hiddify-logo-dark.svg new file mode 100644 index 0000000..ae3f86a --- /dev/null +++ b/docs/assets/hiddify-logo-dark.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/hiddify-logo-white-bg.png b/docs/assets/hiddify-logo-white-bg.png new file mode 100644 index 0000000..945c951 Binary files /dev/null and b/docs/assets/hiddify-logo-white-bg.png differ diff --git a/docs/assets/hiddify-logo-white.svg b/docs/assets/hiddify-logo-white.svg new file mode 100644 index 0000000..78c2dd7 --- /dev/null +++ b/docs/assets/hiddify-logo-white.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/assets/hiddify-logo.png b/docs/assets/hiddify-logo.png new file mode 100644 index 0000000..0a186b8 Binary files /dev/null and b/docs/assets/hiddify-logo.png differ diff --git a/docs/assets/hiddify-logo.svg b/docs/assets/hiddify-logo.svg new file mode 100644 index 0000000..f527e35 --- /dev/null +++ b/docs/assets/hiddify-logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/hiddify-manager-logo.png b/docs/assets/hiddify-manager-logo.png new file mode 100644 index 0000000..98978f6 Binary files /dev/null and b/docs/assets/hiddify-manager-logo.png differ diff --git a/docs/assets/hiddify-manager-logo.svg b/docs/assets/hiddify-manager-logo.svg new file mode 100644 index 0000000..6ddb18d --- /dev/null +++ b/docs/assets/hiddify-manager-logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/assets/hiddify-manager.png b/docs/assets/hiddify-manager.png new file mode 100644 index 0000000..8aeab21 Binary files /dev/null and b/docs/assets/hiddify-manager.png differ diff --git a/docs/assets/hiddify-next-mobile.svg b/docs/assets/hiddify-next-mobile.svg new file mode 100644 index 0000000..a345268 --- /dev/null +++ b/docs/assets/hiddify-next-mobile.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/assets/hiddify-next.png b/docs/assets/hiddify-next.png new file mode 100644 index 0000000..af58893 Binary files /dev/null and b/docs/assets/hiddify-next.png differ diff --git a/docs/assets/hiddify_clash_android_tutorial.png b/docs/assets/hiddify_clash_android_tutorial.png new file mode 100644 index 0000000..5b84e42 Binary files /dev/null and b/docs/assets/hiddify_clash_android_tutorial.png differ diff --git a/docs/assets/hiddify_reality_scanner.png b/docs/assets/hiddify_reality_scanner.png new file mode 100644 index 0000000..06adad5 Binary files /dev/null and b/docs/assets/hiddify_reality_scanner.png differ diff --git a/docs/assets/hiddifymanager_features.png b/docs/assets/hiddifymanager_features.png new file mode 100644 index 0000000..502b904 Binary files /dev/null and b/docs/assets/hiddifymanager_features.png differ diff --git a/docs/assets/hiddifyng_tutorial.png b/docs/assets/hiddifyng_tutorial.png new file mode 100644 index 0000000..e8decbd Binary files /dev/null and b/docs/assets/hiddifyng_tutorial.png differ diff --git a/docs/assets/ic_hiddify.png b/docs/assets/ic_hiddify.png new file mode 100644 index 0000000..af5cc16 Binary files /dev/null and b/docs/assets/ic_hiddify.png differ diff --git a/docs/assets/ic_hiddify_wiki.png b/docs/assets/ic_hiddify_wiki.png new file mode 100644 index 0000000..798223d Binary files /dev/null and b/docs/assets/ic_hiddify_wiki.png differ diff --git a/docs/assets/image-195.png b/docs/assets/image-195.png new file mode 100644 index 0000000..067ec11 Binary files /dev/null and b/docs/assets/image-195.png differ diff --git a/docs/assets/image-196.png b/docs/assets/image-196.png new file mode 100644 index 0000000..ac9797f Binary files /dev/null and b/docs/assets/image-196.png differ diff --git a/docs/assets/image-197.png b/docs/assets/image-197.png new file mode 100644 index 0000000..db4465e Binary files /dev/null and b/docs/assets/image-197.png differ diff --git a/docs/assets/image-199.png b/docs/assets/image-199.png new file mode 100644 index 0000000..d8c9f20 Binary files /dev/null and b/docs/assets/image-199.png differ diff --git a/docs/assets/image-200.png b/docs/assets/image-200.png new file mode 100644 index 0000000..2e6fc20 Binary files /dev/null and b/docs/assets/image-200.png differ diff --git a/docs/assets/image194.png b/docs/assets/image194.png new file mode 100644 index 0000000..50d6ce0 Binary files /dev/null and b/docs/assets/image194.png differ diff --git a/docs/assets/install.png b/docs/assets/install.png new file mode 100644 index 0000000..88a4f15 Binary files /dev/null and b/docs/assets/install.png differ diff --git a/docs/assets/install_HiddifyApp.png b/docs/assets/install_HiddifyApp.png new file mode 100644 index 0000000..7df76bc Binary files /dev/null and b/docs/assets/install_HiddifyApp.png differ diff --git a/docs/assets/install_hiddifymanager_version7.png b/docs/assets/install_hiddifymanager_version7.png new file mode 100644 index 0000000..e007ba9 Binary files /dev/null and b/docs/assets/install_hiddifymanager_version7.png differ diff --git a/docs/assets/install_version8.jpg b/docs/assets/install_version8.jpg new file mode 100644 index 0000000..6af467e Binary files /dev/null and b/docs/assets/install_version8.jpg differ diff --git a/docs/assets/ios_tutorials.jpg b/docs/assets/ios_tutorials.jpg new file mode 100644 index 0000000..e2e8199 Binary files /dev/null and b/docs/assets/ios_tutorials.jpg differ diff --git a/docs/assets/iptables_tunnel.png b/docs/assets/iptables_tunnel.png new file mode 100644 index 0000000..256ff17 Binary files /dev/null and b/docs/assets/iptables_tunnel.png differ diff --git a/docs/assets/javascripts/lunr/min/lunr.fa.min.js b/docs/assets/javascripts/lunr/min/lunr.fa.min.js new file mode 100644 index 0000000..240c86b --- /dev/null +++ b/docs/assets/javascripts/lunr/min/lunr.fa.min.js @@ -0,0 +1,339 @@ +/*! + * Lunr languages, `Persian` (Farsi) language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2023, Seyed Masih Sajadi + * http://www.mozilla.org/MPL/ + * + * NOTE: the file has been forked from `lunr.ar.js` file + */ +/*! + * based on + * Kazem Taghva, Rania Elkhoury, and Jeffrey Coombs (2005) + * Meryeme Hadni, Abdelmonaime Lachkar, and S. Alaoui Ouatik (2012) + * + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory); + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory(); + } else { + // Browser globals (root is window) + factory()(root.lunr); + } + })(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error( + 'Lunr is not present. Please include / require Lunr before this script.' + ); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error( + 'Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.' + ); + } + + /* register specific locale function */ + lunr.fa = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.fa.trimmer, + lunr.fa.stopWordFilter, + lunr.fa.stemmer + ); + + // for lunr version 2 + // this is necessary so that every searched word is also stemmed before + // in lunr <= 1 this is not needed, as it is done using the normal pipeline + if (this.searchPipeline) { + this.searchPipeline.reset(); + this.searchPipeline.add(lunr.fa.stemmer); + } + }; + + const wordCharacters = + '\u0621-\u06ef\u0671\u0688-\u069A\u06A9\u06AF\u06CC\u0640'; + + /* lunr trimmer function */ + lunr.fa.wordCharacters = wordCharacters; + lunr.fa.trimmer = lunr.trimmerSupport.generateTrimmer( + lunr.fa.wordCharacters + ); + + lunr.Pipeline.registerFunction(lunr.fa.trimmer, 'trimmer-fa'); + + // Refernece: https://github.com/kharazi/persian-stopwords + const stopWords = + 'و در به از كه مي اين است را با هاي براي آن يك شود شده خود ها كرد شد اي تا كند بر بود گفت نيز وي هم كنند دارد ما كرده يا اما بايد دو اند هر خواهد او مورد آنها باشد ديگر مردم نمي بين پيش پس اگر همه صورت يكي هستند بي من دهد هزار نيست استفاده داد داشته راه داشت چه همچنين كردند داده بوده دارند همين ميليون سوي شوند بيشتر بسيار روي گرفته هايي تواند اول نام هيچ چند جديد بيش شدن كردن كنيم نشان حتي اينكه ولی توسط چنين برخي نه ديروز دوم درباره بعد مختلف گيرد شما گفته آنان بار طور گرفت دهند گذاري بسياري طي بودند ميليارد بدون تمام كل تر براساس شدند ترين امروز باشند ندارد چون قابل گويد ديگري همان خواهند قبل آمده اكنون تحت طريق گيري جاي هنوز چرا البته كنيد سازي سوم كنم بلكه زير توانند ضمن فقط بودن حق آيد وقتي اش يابد نخستين مقابل خدمات امسال تاكنون مانند تازه آورد فكر آنچه نخست نشده شايد چهار جريان پنج ساخته زيرا نزديك برداري كسي ريزي رفت گردد مثل آمد ام بهترين دانست كمتر دادن تمامي جلوگيري بيشتري ايم ناشي چيزي آنكه بالا بنابراين ايشان بعضي دادند داشتند برخوردار نخواهد هنگام نبايد غير نبود ديده وگو داريم چگونه بندي خواست فوق ده نوعي هستيم ديگران همچنان سراسر ندارند گروهي سعي روزهاي آنجا يكديگر كردم بيست بروز سپس رفته آورده نمايد باشيم گويند زياد خويش همواره گذاشته شش نداشته شناسي خواهيم آباد داشتن نظير همچون باره نكرده شان سابق هفت دانند جايي بی جز زیرِ رویِ سریِ تویِ جلویِ پیشِ عقبِ بالایِ خارجِ وسطِ بیرونِ سویِ کنارِ پاعینِ نزدِ نزدیکِ دنبالِ حدودِ برابرِ طبقِ مانندِ ضدِّ هنگامِ برایِ مثلِ بارة اثرِ تولِ علّتِ سمتِ عنوانِ قصدِ روب جدا کی که چیست هست کجا کجاست کَی چطور کدام آیا مگر چندین یک چیزی دیگر کسی بعری هیچ چیز جا کس هرگز یا تنها بلکه خیاه بله بلی آره آری مرسی البتّه لطفاً ّه انکه وقتیکه همین پیش مدّتی هنگامی مان تان'; + + /* lunr stemmer function */ + lunr.fa.stemmer = (function() { + var self = this; + var word = ''; + self.result = false; + self.preRemoved = false; + self.sufRemoved = false; + + // prefix data + // Reference: https://fa.wikipedia.org/wiki/%D9%BE%DB%8C%D8%B4%D9%88%D9%86%D8%AF + self.pre = { + pre1: 'آ ا ب پ ز س ش گ ن', + pre2: 'ان آف ان با بر بس بی پت پس پی پر تک خر در دژ هز اف آز سر اس دش اش فر نا وا ور هم هن ان هو خو', + pre3: 'ارد ابر باز بیش ابی ترا پاد پرا پسا پیش ریز فرا فرو', + pre4: 'اندر ارتا پارا پیرا', + }; + + // Suffix data + // Reference: https://fa.wikipedia.org/wiki/%D9%BE%D8%B3%D9%88%D9%86%D8%AF + self.suf = { + suf1: 'ا ش ک ک ه ی م', + suf2: 'او اد ار اک ال ان بد پد تر چه ژه گر نا ند ور وش فش ان', + suf3: 'آسا اور اده اله انه ایک این بار باز بان دان دیس زار سار سان سرا سیر فام کار کده کنت گار گان گاه گرد گری گون لاخ مان مند ناک نده وار وند', + suf4: 'آگین اینه ترین ستان گانه گانی واره وانه', + suf5: 'اومند اومند', + }; + + self.execArray = [ + 'cleanWord', + 'removeDiacritics', + 'cleanAlef', + 'removeStopWords', + 'removePre432', + 'wordCheck', + ]; + + self.stem = function() { + var counter = 0; + self.result = false; + self.preRemoved = false; + self.sufRemoved = false; + while (counter < self.execArray.length && self.result != true) { + self.result = self[self.execArray[counter]](); + counter++; + } + }; + + self.setCurrent = function(word) { + self.word = word; + }; + + self.getCurrent = function() { + return self.word; + }; + + /*remove elongating character and test that the word does not contain non-arabic characters. + If the word contains special characters, don't stem. */ + self.cleanWord = function() { + var testRegex = new RegExp('[^' + wordCharacters + ']'); + self.word = self.word.replace(new RegExp('\u0640', 'g'), ''); + if (testRegex.test(word)) { + return true; + } + return false; + }; + + self.removeDiacritics = function() { + self.word = self.word.replace(/[\u064b-\u065b]/gi, ''); + return false; + }; + + /*Replace all variations of alef (آأإٱى) to a plain alef (ا)*/ + self.cleanAlef = function() { + var alefRegex = new RegExp('[\u0622\u0623\u0625\u0671\u0649]'); + self.word = self.word.replace(alefRegex, '\u0627'); + return false; + }; + + /* if the word is a stop word, don't stem*/ + self.removeStopWords = function() { + stopWords.split(' '); + if (stopWords.indexOf(self.word) >= 0) { + return true; + } + }; + + /* remove prefixes of size 4, 3 and 2 characters */ + self.removePre432 = function() { + var word = self.word; + if (self.word.length >= 7) { + var pre4Regex = new RegExp( + '^(' + self.pre.pre4.split(' ').join('|') + ')' + ); + self.word = self.word.replace(pre4Regex, ''); + } + if (self.word == word && self.word.length >= 6) { + var pre3Regex = new RegExp( + '^(' + self.pre.pre3.split(' ').join('|') + ')' + ); + self.word = self.word.replace(pre3Regex, ''); + } + if (self.word == word && self.word.length >= 5) { + var pre2Regex = new RegExp( + '^(' + self.pre.pre2.split(' ').join('|') + ')' + ); + self.word = self.word.replace(pre2Regex, ''); + } + if (word != self.word) self.preRemoved = true; + return false; + }; + + /* remove prefixes of size 1 char*/ + self.removePre1 = function() { + var word = self.word; + if (self.preRemoved == false) + if (self.word.length > 3) { + var pre1Regex = new RegExp( + '^(' + self.pre.pre1.split(' ').join('|') + ')' + ); + self.word = self.word.replace(pre1Regex, ''); + } + if (word != self.word) self.preRemoved = true; + return false; + }; + + /*remove suffixes of size 1 char */ + self.removeSuf1 = function() { + var word = self.word; + if (self.sufRemoved == false) + if (self.word.length > 3) { + var suf1Regex = new RegExp( + '(' + self.suf.suf1.split(' ').join('|') + ')$' + ); + self.word = self.word.replace(suf1Regex, ''); + } + if (word != self.word) self.sufRemoved = true; + return false; + }; + + /*remove suffixes of size 5, 4, 3 and 2 chars*/ + self.removeSuf5432 = function() { + var word = self.word; + if (self.word.length >= 7) { + var suf5Regex = new RegExp( + '(' + self.suf.suf5.split(' ').join('|') + ')$' + ); + self.word = self.word.replace(suf5Regex, ''); + } + if (self.word.length >= 6) { + var suf4Regex = new RegExp( + '(' + self.suf.suf4.split(' ').join('|') + ')$' + ); + self.word = self.word.replace(suf4Regex, ''); + } + if (self.word == word && self.word.length >= 5) { + var suf3Regex = new RegExp( + '(' + self.suf.suf3.split(' ').join('|') + ')$' + ); + self.word = self.word.replace(suf3Regex, ''); + } + if (self.word == word && self.word.length >= 4) { + var suf2Regex = new RegExp( + '(' + self.suf.suf2.split(' ').join('|') + ')$' + ); + self.word = self.word.replace(suf2Regex, ''); + } + if (word != self.word) self.sufRemoved = true; + return false; + }; + + /*check the word length and decide what is the next step accordingly*/ + self.wordCheck = function() { + var word = self.word; + var word7Exec = [self.removeSuf5432, self.removeSuf1, self.removePre1]; + var counter = 0; + while ( + self.word.length >= 7 && + !self.result && + counter < word7Exec.length + ) { + word7Exec[counter](); + counter++; + } + + var word6Exec = [self.removeSuf5432, self.removeSuf1, self.removePre1]; + counter = 0; + while ( + self.word.length == 6 && + !self.result && + counter < word6Exec.length + ) { + word6Exec[counter](); + counter++; + } + + var word5Exec = [self.removeSuf5432, self.removeSuf1, self.removePre1]; + counter = 0; + while ( + self.word.length == 5 && + !self.result && + counter < word5Exec.length + ) { + word5Exec[counter](); + counter++; + } + + var word4Exec = [self.removeSuf1, self.removePre1, self.removeSuf5432]; + counter = 0; + while ( + self.word.length == 4 && + !self.result && + counter < word4Exec.length + ) { + word4Exec[counter](); + counter++; + } + return true; + }; + + /* and return a function that stems a word for the current locale */ + return function(token) { + // for lunr version 2 + if (typeof token.update === 'function') { + return token.update(function(word) { + self.setCurrent(word); + self.stem(); + return self.getCurrent(); + }); + } else { + // for lunr version <= 1 + self.setCurrent(token); + self.stem(); + return self.getCurrent(); + } + }; + })(); + + lunr.Pipeline.registerFunction(lunr.fa.stemmer, 'stemmer-fa'); + + lunr.fa.stopWordFilter = lunr.generateStopWordFilter(stopWords.split(' ')); + lunr.Pipeline.registerFunction(lunr.fa.stopWordFilter, 'stopWordFilter-fa'); + }; + }); + \ No newline at end of file diff --git a/docs/assets/js/site.js b/docs/assets/js/site.js new file mode 100644 index 0000000..c404eea --- /dev/null +++ b/docs/assets/js/site.js @@ -0,0 +1,78 @@ +document.addEventListener("DOMContentLoaded", function () { + // Check if there's a hash in the URL + if (window.location.hash) { + const hash = window.location.hash; + + // Use a timeout to ensure the scrolling happens after the content is loaded + setTimeout(() => { + const targetElement = document.querySelector(hash); + if (targetElement) { + // Calculate the target position minus 100 pixels + const offsetTop = targetElement.getBoundingClientRect().top + window.scrollY - 100; + + window.scrollTo({ top: offsetTop, behavior: 'smooth' }); + } + }, 500); + } + + SVGInject(document.querySelectorAll("img")); + +document.getElementById('show-protocols-app').addEventListener('click', function(event) { + event.preventDefault(); // Prevent page jump + const hiddenFeatures = document.querySelector('#show-protocols-app + .hidden-features'); + hiddenFeatures.style.display = hiddenFeatures.style.display === 'none' ? 'inline' : 'none'; +}); + +document.getElementById('show-protocols-manager').addEventListener('click', function(event) { + event.preventDefault(); // Prevent page jump + const hiddenFeatures = document.querySelector('#show-protocols-manager + .hidden-features'); + hiddenFeatures.style.display = hiddenFeatures.style.display === 'none' ? 'inline' : 'none'; +}); + + + + + if (document.getElementById('show-protocols')){ + document.getElementById('show-protocols').addEventListener('click', function(e) { + e.preventDefault(); + const hiddenFeatures = document.querySelector('.hidden-features'); + hiddenFeatures.style.display = hiddenFeatures.style.display === 'none' ? 'inline' : 'none'; + }); + } + + const platformButtons = document.querySelectorAll('.platform-button'); + const downloadButton = document.getElementById('download-button'); + + platformButtons.forEach(button => { + button.addEventListener('click', () => { + Swal.fire({title: "Downloading", icon:"info"}); + platformButtons.forEach(btn => btn.classList.remove('selected')); + button.classList.add('selected'); + const platform = button.dataset.platform; + downloadButton.textContent = `${downloadButton.dataset.prefix} ${platform}`; + downloadButton.href = button.attributes['href'].value; + }); + }); + const installButton = document.getElementById("install-btn"); + +var btnid = "btn-windows"; +if (window.navigator.userAgent.indexOf("Windows") != -1) btnid = "btn-windows"; +else if (window.navigator.userAgent.indexOf("Mac") != -1) btnid = "btn-ios"; +else if (window.navigator.userAgent.indexOf("iPhone") != -1) btnid = "btn-ios"; +else if (window.navigator.userAgent.indexOf("iPad") != -1) btnid = "btn-ios"; +else if (window.navigator.userAgent.indexOf("Android") != -1) btnid = "btn-android"; +else if (window.navigator.userAgent.indexOf("X11") != -1) btnid = "btn-linux"; +else if (window.navigator.userAgent.indexOf("Linux") != -1) btnid = "btn-linux"; +button=document.getElementById(btnid); +if (button && downloadButton){ + platformButtons.forEach(btn => btn.classList.remove('selected')); + button.classList.add('selected'); + + downloadButton.textContent = `${downloadButton.dataset.prefix} ${button.dataset.platform}`; + downloadButton.href = button.attributes['href'].value; +} +}); + + + + diff --git a/docs/assets/js/svginject.js b/docs/assets/js/svginject.js new file mode 100644 index 0000000..307eb7c --- /dev/null +++ b/docs/assets/js/svginject.js @@ -0,0 +1,10 @@ +!function(o,l){var r,a,s="createElement",g="getElementsByTagName",b="length",E="style",d="title",y="undefined",k="setAttribute",w="getAttribute",x=null,A="__svgInject",C="--inject-",S=new RegExp(C+"\\d+","g"),I="LOAD_FAIL",t="SVG_NOT_SUPPORTED",L="SVG_INVALID",v=["src","alt","onload","onerror"],j=l[s]("a"),G=typeof SVGRect!=y,f={useCache:!0,copyAttributes:!0,makeIdsUnique:!0},N={clipPath:["clip-path"],"color-profile":x,cursor:x,filter:x,linearGradient:["fill","stroke"],marker:["marker", + "marker-end","marker-mid","marker-start"],mask:x,pattern:["fill","stroke"],radialGradient:["fill","stroke"]},u=1,c=2,O=1;function T(e){return(r=r||new XMLSerializer).serializeToString(e)}function P(e,r){var t,n,i,o,a=C+O++,f=/url\("?#([a-zA-Z][\w:.-]*)"?\)/g,u=e.querySelectorAll("[id]"),c=r?[]:x,l={},s=[],d=!1;if(u[b]){for(i=0;i + + + + + diff --git a/docs/assets/platforms/apple.svg b/docs/assets/platforms/apple.svg new file mode 100644 index 0000000..681d386 --- /dev/null +++ b/docs/assets/platforms/apple.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/assets/platforms/linux.svg b/docs/assets/platforms/linux.svg new file mode 100644 index 0000000..5dddb4b --- /dev/null +++ b/docs/assets/platforms/linux.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/assets/platforms/mac.svg b/docs/assets/platforms/mac.svg new file mode 100644 index 0000000..dad044a --- /dev/null +++ b/docs/assets/platforms/mac.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/assets/platforms/windows.svg b/docs/assets/platforms/windows.svg new file mode 100644 index 0000000..2768017 --- /dev/null +++ b/docs/assets/platforms/windows.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/assets/play-icon.svg b/docs/assets/play-icon.svg new file mode 100644 index 0000000..094e022 --- /dev/null +++ b/docs/assets/play-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/assets/processor.png b/docs/assets/processor.png new file mode 100644 index 0000000..f8000dd Binary files /dev/null and b/docs/assets/processor.png differ diff --git a/docs/assets/purchase_domain.jpg b/docs/assets/purchase_domain.jpg new file mode 100644 index 0000000..eb21d7f Binary files /dev/null and b/docs/assets/purchase_domain.jpg differ diff --git a/docs/assets/purchase_vps.png b/docs/assets/purchase_vps.png new file mode 100644 index 0000000..92267b2 Binary files /dev/null and b/docs/assets/purchase_vps.png differ diff --git a/docs/assets/purchase_vps2.png b/docs/assets/purchase_vps2.png new file mode 100644 index 0000000..80509e4 Binary files /dev/null and b/docs/assets/purchase_vps2.png differ diff --git a/docs/assets/pure-logo.png b/docs/assets/pure-logo.png new file mode 100644 index 0000000..6d3591a Binary files /dev/null and b/docs/assets/pure-logo.png differ diff --git a/docs/assets/quick_reality_tutorial.png b/docs/assets/quick_reality_tutorial.png new file mode 100644 index 0000000..08540f6 Binary files /dev/null and b/docs/assets/quick_reality_tutorial.png differ diff --git a/docs/assets/reality_on_hiddifymanager.png b/docs/assets/reality_on_hiddifymanager.png new file mode 100644 index 0000000..1ed5bf7 Binary files /dev/null and b/docs/assets/reality_on_hiddifymanager.png differ diff --git a/docs/assets/right-arrow.svg b/docs/assets/right-arrow.svg new file mode 100644 index 0000000..d40cca9 --- /dev/null +++ b/docs/assets/right-arrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/assets/secure.png b/docs/assets/secure.png new file mode 100644 index 0000000..7bd5c3e Binary files /dev/null and b/docs/assets/secure.png differ diff --git a/docs/assets/shadowrocket_tutorial.png b/docs/assets/shadowrocket_tutorial.png new file mode 100644 index 0000000..67c1155 Binary files /dev/null and b/docs/assets/shadowrocket_tutorial.png differ diff --git a/docs/assets/socials/github.svg b/docs/assets/socials/github.svg new file mode 100644 index 0000000..ee529d8 --- /dev/null +++ b/docs/assets/socials/github.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/assets/socials/instagram.svg b/docs/assets/socials/instagram.svg new file mode 100644 index 0000000..7946aa6 --- /dev/null +++ b/docs/assets/socials/instagram.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/socials/telegram.svg b/docs/assets/socials/telegram.svg new file mode 100644 index 0000000..8bfae65 --- /dev/null +++ b/docs/assets/socials/telegram.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/assets/socials/x.svg b/docs/assets/socials/x.svg new file mode 100644 index 0000000..46f0f59 --- /dev/null +++ b/docs/assets/socials/x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/assets/socials/youtube.svg b/docs/assets/socials/youtube.svg new file mode 100644 index 0000000..5ebb633 --- /dev/null +++ b/docs/assets/socials/youtube.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/assets/some_points_about_vpn.png b/docs/assets/some_points_about_vpn.png new file mode 100644 index 0000000..6b9cb13 Binary files /dev/null and b/docs/assets/some_points_about_vpn.png differ diff --git a/docs/assets/stash_tutorial.png b/docs/assets/stash_tutorial.png new file mode 100644 index 0000000..9da5705 Binary files /dev/null and b/docs/assets/stash_tutorial.png differ diff --git a/docs/assets/streisand.png b/docs/assets/streisand.png new file mode 100644 index 0000000..cbbeca1 Binary files /dev/null and b/docs/assets/streisand.png differ diff --git a/docs/assets/subscription_link.png b/docs/assets/subscription_link.png new file mode 100644 index 0000000..ba7e187 Binary files /dev/null and b/docs/assets/subscription_link.png differ diff --git a/docs/assets/three-dots.svg b/docs/assets/three-dots.svg new file mode 100644 index 0000000..af26134 --- /dev/null +++ b/docs/assets/three-dots.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/united-states-flag-icon.png b/docs/assets/united-states-flag-icon.png new file mode 100644 index 0000000..0eac576 Binary files /dev/null and b/docs/assets/united-states-flag-icon.png differ diff --git a/docs/assets/user-support.svg b/docs/assets/user-support.svg new file mode 100644 index 0000000..58aa882 --- /dev/null +++ b/docs/assets/user-support.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/assets/v2flyng_tutorial.png b/docs/assets/v2flyng_tutorial.png new file mode 100644 index 0000000..4804784 Binary files /dev/null and b/docs/assets/v2flyng_tutorial.png differ diff --git a/docs/assets/v2rayng_tutorial.png b/docs/assets/v2rayng_tutorial.png new file mode 100644 index 0000000..d42a2a8 Binary files /dev/null and b/docs/assets/v2rayng_tutorial.png differ diff --git a/docs/assets/vutr_install.png b/docs/assets/vutr_install.png new file mode 100644 index 0000000..9f95aba Binary files /dev/null and b/docs/assets/vutr_install.png differ diff --git a/docs/assets/web-game.svg b/docs/assets/web-game.svg new file mode 100644 index 0000000..e06fd15 --- /dev/null +++ b/docs/assets/web-game.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/assets/webfonts/Vazirmatn-RD-Black.woff2 b/docs/assets/webfonts/Vazirmatn-RD-Black.woff2 new file mode 100644 index 0000000..4ec3c64 Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-Black.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-Bold.woff2 b/docs/assets/webfonts/Vazirmatn-RD-Bold.woff2 new file mode 100644 index 0000000..8de5f27 Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-Bold.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-ExtraBold.woff2 b/docs/assets/webfonts/Vazirmatn-RD-ExtraBold.woff2 new file mode 100644 index 0000000..305c34a Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-ExtraBold.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-ExtraLight.woff2 b/docs/assets/webfonts/Vazirmatn-RD-ExtraLight.woff2 new file mode 100644 index 0000000..95da9ab Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-ExtraLight.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-Light.woff2 b/docs/assets/webfonts/Vazirmatn-RD-Light.woff2 new file mode 100644 index 0000000..fd9071f Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-Light.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-Medium.woff2 b/docs/assets/webfonts/Vazirmatn-RD-Medium.woff2 new file mode 100644 index 0000000..0a0d223 Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-Medium.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-Regular.woff2 b/docs/assets/webfonts/Vazirmatn-RD-Regular.woff2 new file mode 100644 index 0000000..6461002 Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-Regular.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-SemiBold.woff2 b/docs/assets/webfonts/Vazirmatn-RD-SemiBold.woff2 new file mode 100644 index 0000000..a246e47 Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-SemiBold.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD-Thin.woff2 b/docs/assets/webfonts/Vazirmatn-RD-Thin.woff2 new file mode 100644 index 0000000..062b7da Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD-Thin.woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-RD[wght].woff2 b/docs/assets/webfonts/Vazirmatn-RD[wght].woff2 new file mode 100644 index 0000000..21a2009 Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-RD[wght].woff2 differ diff --git a/docs/assets/webfonts/Vazirmatn-UI-FD-NL-Regular.woff2 b/docs/assets/webfonts/Vazirmatn-UI-FD-NL-Regular.woff2 new file mode 100644 index 0000000..13adfe8 Binary files /dev/null and b/docs/assets/webfonts/Vazirmatn-UI-FD-NL-Regular.woff2 differ diff --git a/docs/assets/wilcard_domain.png b/docs/assets/wilcard_domain.png new file mode 100644 index 0000000..cf92715 Binary files /dev/null and b/docs/assets/wilcard_domain.png differ diff --git a/docs/assets/wingx_tutorial.png b/docs/assets/wingx_tutorial.png new file mode 100644 index 0000000..9a6068e Binary files /dev/null and b/docs/assets/wingx_tutorial.png differ diff --git a/docs/assets/wpa_android.png b/docs/assets/wpa_android.png new file mode 100644 index 0000000..f505a04 Binary files /dev/null and b/docs/assets/wpa_android.png differ diff --git a/docs/assets/ws_tunnel.png b/docs/assets/ws_tunnel.png new file mode 100644 index 0000000..5cb84cc Binary files /dev/null and b/docs/assets/ws_tunnel.png differ diff --git a/docs/blog/index.fa.md b/docs/blog/index.fa.md new file mode 100644 index 0000000..f5a459f --- /dev/null +++ b/docs/blog/index.fa.md @@ -0,0 +1,6 @@ +--- +weight: -11 +--- + +# بلاگ + diff --git a/docs/blog/index.md b/docs/blog/index.md new file mode 100644 index 0000000..68e03ef --- /dev/null +++ b/docs/blog/index.md @@ -0,0 +1,7 @@ +--- +weight: -11 +--- + + +# Blog + diff --git a/docs/blog/posts/.authors.yml b/docs/blog/posts/.authors.yml new file mode 100644 index 0000000..82b437b --- /dev/null +++ b/docs/blog/posts/.authors.yml @@ -0,0 +1,5 @@ +authors: + hiddify: + name: Hiddify + description: Creator + avatar: https://github.com/squidfunk.png diff --git a/docs/blog/posts/1st-anniversary.fa.md b/docs/blog/posts/1st-anniversary.fa.md new file mode 100644 index 0000000..bda2fd8 --- /dev/null +++ b/docs/blog/posts/1st-anniversary.fa.md @@ -0,0 +1,123 @@ +--- +draft: false +date: 2023-09-23 +# authors: +# - hiddify +categories: + - Hello + +tags: + - Hiddify + - Free Internet Solution +description: Birthday. + +--- + +# یکسالگی هیدیفای + +## داستان هیدیفای … + +درود به همه همراهان هیدیفای + +پارسال همین حدودا بود که همه ما در شوک بزرگی فرو رفتیم و هر کس سعی داشت به هر روشی که می‌تونه کمک کنه + +خیلی از عزیزانمون از جونشون مایه گذاشتند و جای خالیشون همیشه در قلب ما هست. + +خیلی‌ها چشمشون را از دست دادند، خیلی‌ها اخراج شدند، بعضی‌ها زندان رفتند و... + +همه اینها واسه اعتراض به چیزی بود که حق طبیعی‌شون بود + +این اتفاق‌ها هیچ وقت از ذهن ما پاک نمیشه و همواره قلب ما را به درد میاره + + + +پارسال در چنین روزهایی بود که تصمیم گرفتیم ما هم به نوبه خود کاری که از دستمون بر میاد را بکنیم و با ایجاد دسترسی ساده به اینترنت، شرایط را برای مردم عزیز کشورمون ساده‌تر کنیم و این آغاز راه این پروژه بود و هیدیفای در همین روزها متولد شد. + + + +روزهای اول سعی کردیم یه ریویو روی روش‌های فیلترینگ بکنیم و یه لیستی از سایت هایی که vps میدن تهیه کنیم + + + +بعد از آن، یه سری نصب خیلی خیلی آسان و رایگان برای مایکروسافت آژور درست کردیم. + + + +پروژه را به دیتاسنترهای دیگه گسترش دادیم از جمله نصب سریع در دیتاسنترهای هتزنر، اوراکل کلود، OVH. هدف این بود که همه بتونن بدون‌ داشتن هیچ گونه دانش فنی سرور خود را راه‌اندازی کنند. + + + +پس از آن، ورژن اولیه هیدیفای سرور را درست کردیم و سعی کردیم خیلی ساده روش فعال سازی در کلاینت را آموزش بدیم. همینطور سعی شد اپ روی سرور در مقابل ربات‌های تشخیص فیلترشکن مقاوم باشه، سرتیفیکیت ولید بگیره، تنظیمات ایمنی ست کنه و کانفیگ های مناسب را اجرا کنه و... + + + +با گذر زمان و ادامه دار شدن وضعیت فاجعه بار اینترنت، سعی کردیم پروسه ساده‌سازی مفاهیم پیچیده را بیشتر جلو ببریم تا برای همه قابل انجام باشه. از طرفی، تعداد زیادی مقاله و ویدیوی آموزشی هم در دسترس همگان قرار دادیم تا فرآیند انجام تنظیمات پیچیده نیز برای همگان قابل انجام باشه. + + + + + +در سمت مقابل اپ‌های کلاینت موجود اون‌قدری که باید ساده نبودند. یعنی بابا مامان‌هامون اصن باهاش ارتباط برقرار نمی‌کردند. + + + +برای این موضوع، در قدم اول نسخه‌های سفارشی از Hiddify Clash را برای اندروید و دسکتاپ درست کردیم تا نحوه اتصال کاربر را ساده‌تر کنیم. + + + +کم کم همراهی شما با پروژه بیشتر شد و این انگیزه مضاعفی شد تا قابلیت‌های بیشتری به پنل اضافه کنیم. نسخه چند کاربره‌ی پنل را توسعه دادیم و کلی از موارد بازطراحی شد، ساختارها بهتر شد و...، همچنین گروه پشتیبانی در تلگرام راه اندازی شد. + + + +در سمت کلاینت، بعد از توسعه چندین نسخه از اپ Hiddify Clash، باگهای متعدد هسته کلش متا، باعث شد به دنبال راه جایگزین باشیم. + +پس از بررسی و طراحی مجدد کل پروسه کلاینت به صورت دقیق بر اساس تست کارایی، مقرر شد راه حل‌های خوب بازار را استفاده کنیم و در نهایت نسخه‌های سفارشی HiddifyNG و HiddifyN متولد شدند که بسیار مورد استقبال شما عزیزان قرار گرفتند. + +به عنوان مثال HiddifyNG تنها در گوگل پلی بالغ بر ۱۰۰ هزار بار دانلود شد و امتیاز ۴.۸ از ۵ را از شما عزیزان گرفت که برای یک اپ با عمر کمتر از ۵ ماه فوق‌العاده است. + + + +همزمان سمت سرور پروتوکل‌های جدید را اضافه کردیم و امکانات بیشتری ارائه شد از جمله: انتخاب خودکار آی پی CDN، استفاده همزمان از چند دامنه، افزودن نودهای میانی و... خیلی قابلیت‌های دیگه که در این مجال نمی‌گنجه. + + + + + +یک‌سالگی هیدیفای +در اولین سالگرد تولدمون + +در سمت کلاینت، اپ کراس‌پلتفرم HiddifyNext را برای اندروید، ویندوز، لینوکس، مک ارائه کردیم و به زودی برای iOS هم ارائه میدیم. + +هدفمون توسعه راحت پروتکل‌های جدید روی همه سیستم عامل‌ها توسط برنامه نویس ها و داشتن یکپارچگی بین همه سیستم عامل ها بود + +طراحی اپلیکیشن جدید خیلی ساده است و با کارایی بالا و بدون گرفتن منابع زیادی از سیستم کار می‌کنه و در ادامه سعی می‌کنیم امکانات جدیدتر و جذاب‌تری به آن اضافه کنیم. + + + +اگه توسعه دهنده پنل هستید آموزش نحوه یکپارچه کردن پنلتون با برنامه را اینجا بخونید. + + + + + +در سمت سرور، جدا از پروتکل های قبلی مثل Vless, Vmess, Trojan پروتکل‌های جدیدتر ریالیتی gRPC، وب سوکت، h2 و همچنین SSH ارائه شدند و در نسخه بتای پنل هم اکنون پروتکل‌های Hysteria2 و TUICv5 با قابلیت مدیریت یکپارچه کاربر اضافه شده‌اند که در نسخه بتا به راحتی قابل دسترسی هست و به زودی نیز رسما منتشر خواهد شد. + +اگر مایل به تست نسخه بتا و استفاده از پروتکل‌های جدیدتر هستید، میتونید از اینجا نحوه ارتقا به نسخه بتا را مشاهده کنید. نسخه پایدار بعدی پنل، کم باگ‌ترین و سریع‌ترین نسخه ممکن خواهد بود و به همین دلیل مدت زمان بیشتری در نسخه بتا خواهند ماند. + + + +تمامی کارهایی که تا الان انجام شده همه خودجوش، داوطلبانه و بدون منفعت مالی بوده و تمام دونیت‌هایی هم که توسط شما عزیزان به پروژه شده، برای پروژه خرج شده و در ادامه خرج خواهد شد. + +در طول این مسیر سخت، از همه کسانی که به هر نحو به ما کمک کردند تا مردم عزیز کشورمان راحت‌تر به اینترنت آزاد متصل بمانند و بتوانند از این سیاهی مطلق خارج بشن؛ از صمیم قلب تشکر می‌کنیم + + + +همچنین از همه کسانی که برای اینترنت برای همه تلاش کردند ممنونیم. + +از همه شما عزیزان که همواره همراه و حامی ما بودید و در این مسیر تنهامون نذاشتید، بی‌اندازه سپاسگزاریم. + +به امید روزی که هیچ فردی محدود و تحت کنترل حکومت‌های تمامیت‌خواه نباشه. + +#زن_زندگی_آزادی + +هیدیفای، برای یک اینترنت آزاد diff --git a/docs/blog/posts/1st-anniversary.md b/docs/blog/posts/1st-anniversary.md new file mode 100644 index 0000000..19dbb46 --- /dev/null +++ b/docs/blog/posts/1st-anniversary.md @@ -0,0 +1,85 @@ +--- +draft: false +date: 2023-09-23 +# authors: +# - hiddify +categories: + - Hello + +tags: + - Hiddify + - Free Internet Solution +description: Birthday. + +--- + +# One-Year Anniversary of Hiddify + +## The Story of Hiddify… + +Hello to all Hiddify supporters, + +Around this time last year, we were all in shock, and everyone was trying to help in any way they could. + +Many of our loved ones gave their lives, and their absence will always be felt in our hearts. + +Many lost their eyesight, others were fired, some were imprisoned, and more… + +All of this happened as part of protests for their natural rights. + +These events will never be erased from our minds and will always bring pain to our hearts. + +It was during these difficult days last year that we decided to do what we could by providing simple access to the internet, making it easier for the dear people of our country. That was the beginning of this project, and Hiddify was born during these very days. + +In the first days, we tried to review various censorship methods and create a list of VPS providers. + +After that, we created extremely easy and free installations for Microsoft Azure. + +We expanded the project to other datacenters, including quick installations for Hetzner, Oracle Cloud, and OVH. The goal was for everyone to be able to set up their own server without any technical knowledge. + +Then, we developed the initial version of the Hiddify server and tried to teach the activation process for the client in a simple way. We also worked to ensure that the server app was resistant to VPN detection bots, obtained valid certificates, set safety configurations, and applied appropriate settings. + +As time passed and the internet situation remained dire, we worked harder to simplify complex concepts to make them accessible to everyone. Additionally, we made many articles and tutorial videos available so that everyone could perform complex configurations. + +On the client side, existing apps were not as user-friendly as they should have been. Our parents, for example, couldn’t connect with them at all. + +To address this, we first created custom versions of Hiddify Clash for Android and desktop to make the user connection process easier. + +Gradually, your support for the project grew, and this provided extra motivation to add more features to the panel. We developed the multi-user version of the panel, redesigned many components, improved structures, and set up a support group on Telegram. + +On the client side, after developing several versions of the Hiddify Clash app, many bugs in the Clash Meta core led us to seek an alternative solution. + +After thoroughly reviewing and redesigning the entire client process based on performance tests, we decided to use the best market solutions. This led to the birth of the custom HiddifyNG and HiddifyN versions, which were warmly welcomed by you all. + +For example, HiddifyNG was downloaded more than 100,000 times on Google Play and received a 4.8 out of 5 rating from you, which is incredible for an app less than five months old. + +At the same time, on the server side, we added new protocols and introduced more features, including automatic CDN IP selection, simultaneous use of multiple domains, adding intermediate nodes, and many other features that cannot all be mentioned here. + +### One-Year Anniversary of Hiddify +On our first anniversary: + +On the client side, we introduced the cross-platform HiddifyNext app for Android, Windows, Linux, and Mac, and we will soon release it for iOS as well. + +Our goal was to make it easy for developers to implement new protocols across all operating systems and to maintain integration across platforms. + +The new app design is simple, performs efficiently, and uses minimal system resources. We will continue to add more exciting new features to it. + +If you are a panel developer, you can read here how to integrate your panel with the app. + +On the server side, in addition to previous protocols like Vless, Vmess, and Trojan, we introduced newer protocols such as Reality gRPC, WebSocket, H2, and SSH. In the panel’s beta version, protocols like Hysteria2 and TUICv5 with unified user management are now available and can easily be accessed in the beta version. They will be officially released soon. + +If you would like to test the beta version and use the newer protocols, you can find out how to upgrade to the beta here. The next stable panel release will be the most bug-free and fastest version yet, so it will remain in beta for a longer period. + +Everything that has been done so far has been spontaneous, voluntary, and without any financial gain. All the donations from you have gone toward the project and will continue to do so. + +Through this difficult journey, we sincerely thank everyone who has helped us in any way to ensure that the dear people of our country remain connected to the free internet and can emerge from this absolute darkness. + +We are also grateful to everyone who has fought for the internet for all. + +To all of you who have continuously supported and stood by us on this journey, we are deeply thankful. + +We hope for a day when no one is oppressed or controlled by authoritarian regimes. + +#Women_Life_Freedom + +Hiddify, for a free internet. \ No newline at end of file diff --git a/docs/blog/posts/2nd-anniversary.fa.md b/docs/blog/posts/2nd-anniversary.fa.md new file mode 100644 index 0000000..81d91c2 --- /dev/null +++ b/docs/blog/posts/2nd-anniversary.fa.md @@ -0,0 +1,513 @@ +--- +draft: false +date: 2024-09-23 +# authors: +# - hiddify +categories: + - Anniversary + +tags: + - Hiddify + - Internet Freedom Solution +description: Hiddify's Second Anniversary +--- + + +# دو سالگی هیدیفای + + +
+ +Logo +
+ + +## داستان هیدیفای از تولد تا امروز + +_گزارشی تشریحی به همراهان عزیز از اقدامات صورت گرفته در این دو سال_ + +
+ + +۲ سال قبل همین روزها بود که همه ما در شوک بزرگی فرو رفتیم و هر کس سعی داشت به هر روشی که می‌تونه کمک کنه و این سرآغاز فعالیت‌های ما بود. + + +این ایام، یادآور غمی عمیق است، غمی بزرگ که ما را برای دستیابی به حقی که شایسته آن هستیم، متحد کرد. + + +**❤️ آزادی** + +آزادی اینترنت، آزادی اندیشه، آزادی سیاسی، آزادی اقتصادی، آزادی در همه جوانب زندگی. + +ما برای آزادی اینترنت تلاش کردیم، چرا که معتقد بودیم و هستیم این آزادی، سایر آزادی‌ها را نیز به دنبال دارد. + + +در اواخر شهریور ۱۴۰۱ پس از محدودتر شدن دسترسی مردم به اینترنت آزاد، تصمیم گرفتیم ما هم به نوبه خود کاری که از دستمون بر میاد را بکنیم و با ایجاد دسترسی ساده به اینترنت، شرایط را برای مردم عزیز کشورمون ساده‌تر کنیم و این آغاز راه این پروژه بود و هیدیفای در همین روزها متولد شد. + + +### استارت کار پس از یک شوک بزرگ +روزهای اول سعی کردیم یه [ریویو روی روش‌های فیلترینگ بکنیم](https://github.com/hiddify/awesome-freedom) و یه لیستی از [سایت هایی که vps](https://github.com/hiddify/awesome-freedom/blob/main/vps-providers.md) میدن تهیه کنیم و در [ریپوی Awesome-Freedom](https://github.com/hiddify/awesome-freedom) بذاریم که هر کس که یک مقدار دانش فنی داره بتونه سرور بخره و فیلترشکن درست کنه. + +### ارائه اولین ابزارها +بعد از آن، در مهرماه همان سال یه سری نصب خیلی خیلی آسان و [رایگان برای مایکروسافت آژور](https://github.com/hiddify/Hiddify-Server/wiki/Azure-%D9%86%D8%B5%D8%A8-%D8%AE%DB%8C%D9%84%DB%8C-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%B1%DB%8C%D8%B9-%D8%AF%D8%B1-%D9%85%D8%A7%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%A7%D9%81%D8%AA-%D8%A2%DA%98%D9%88%D8%B1) درست کردیم. + + +در آبان ماه پروژه را به دیتاسنترهای دیگه گسترش دادیم از جمله نصب سریع در دیتاسنترهای هتزنر، اوراکل کلود، والتر و OVH. هدف این بود که همه بتونن بدون داشتن هیچ گونه دانش فنی سرور خود را راه‌اندازی کنند. + + +### انتشار نسخه‌ اولیه HiddifyManager +پس از آن، در آذرماه ۱۴۰۱ ورژن اولیه HiddifyManager را درست کردیم و سعی کردیم خیلی ساده روش فعال سازی در کلاینت را آموزش بدیم. همینطور سعی شد HiddifyManager در مقابل ربات‌های تشخیص فیلترشکن مقاوم باشه، سرتیفیکیت ولید بگیره، تنظیمات ایمنی ست کنه و کانفیگ های مناسب را اجرا کنه و در اختیار کاربر بذاره. + +
+ +Initial_version_of_HiddifyManager +
+ + +### ادامه توسعه HiddifyManager و ایجاد مطالب آموزشی + +با گذر زمان و ادامه دار شدن وضعیت فاجعه بار اینترنت، سعی کردیم پروسه ساده‌سازی مفاهیم پیچیده را بیشتر جلو ببریم تا برای همه قابل انجام باشه. از طرفی، [تعداد زیادی مقاله و ویدیوی آموزشی هم در دسترس همگان قرار دادیم تا فرآیند انجام تنظیمات پیچیده نیز برای همگان قابل انجام باشه. ](https://hiddify.com/fa/manager) + + + +
+ +Initial_version_of_HiddifyManager_II +
+ + + + +### ارائه کلاینت سفارشی‌سازی شده HiddifyClash +در سمت مقابل اپ‌های کلاینت موجود اون‌قدری که باید ساده نبودند. یعنی بابا مامان‌هامون اصن باهاش ارتباط برقرار نمی‌کردند. + +برای این موضوع، در قدم اول در دی ماه ۱۴۰۱ نسخه‌های سفارشی از HiddifyClash را برای اندروید و دسکتاپ درست کردیم تا نحوه اتصال کاربر را ساده‌تر کنیم. + +
+ +HiddifyClash +
+ + + + +### انتشار نسخه ۱ HiddifyManager +کم کم همراهی شما با پروژه بیشتر شد و این انگیزه مضاعفی شد تا در بهمن ماه [گروه پشتیبانی تلگرام](https://t.me/hiddify_board/) را راه‌اندازی نماییم. +همچنین قابلیت‌های بیشتری به پنل اضافه کردیم و در اسفند ماه ۱۴۰۱ پس از انتشار چندین نسخه اولیه از HiddifyManager، نسخه ۱ آن با قابلیت ایجاد چند کاربر و چند دامنه منتشر شد، کلی از موارد بازطراحی شد و ساختارها بهبود پیدا کرد. + +
+ +HiddifyMananger_V1 + +HiddifyMananger_V1_User_Panel + +
+ + + + + + +### انتشار نسخه ۲ HiddifyManager +قبل از نوروز ۱۴۰۲، نسخه ۲ HiddifyManager را منتشر کردیم که در آن از قابلیت‌های جدیدی نظیر + +- معرفی وب اپلیکیشن PWA +- افزودن ویدیو آموزش به صفحه پنل وقتی روی ❓کلیک شود +- افزودن قابلیت انتخاب پورت‌های پروتکل‌ها و ویرایش نام پروکسی‌ها و همچنین افزودن فینگرپرینت + + +در همان نوروز متوجه شدیم [توسعه‌دهندگان Xray ما را در لیست وب پنل‌های مورد تایید خود قرار داده‌اند](https://github.com/xtls/xray-core#installation) و این حس خیلی خوبی به ما داد چرا که آن‌ها خودشان ما را پیدا کرده بودند. + +در همان ایام، قابلیت ایجاد لینک ساب با توجه به اپراتور کاربر به صورت خودکار را با کمک دوستان‌مان در [IRCF](https/ircf.space) به نسخه ۲ HiddifyManager اضافه نمودیم و دامنه AutoCDN به وجود آمد. + + +
+ +HiddifyMananger_V2_AutoCDN_Domains +
+ + + + +### انتشار نسخه ۳ HiddifyManager +در فروردین ماه یک بازطراحی در پنل انجام دادیم و نسخه ۳ HiddifyManager با تمرکز بر پایداری، سادگی و زیبایی منتشر شد. در این نسخه: + +- داشبورد بازطراحی شد و قابلیت مشاهده پروسه‌ها و میزان مصرف منابع سیستم در کاشی‌های مجزا اضافه شد و همینطور امکان مشاهده کاربران آنلاین و میزان مصرف افزوده شد. +- تمامی صفحات بازطراحی شدند و حالت شب به پنل اضافه شد. +- امکان جستجو در تنظیمات اضافه شد و بهبودهای گرافیکی دیگر انجام شد. + +
+ +HiddifyMananger_V3 +
+ + + + +### انتشار نسخه ۴ HiddifyManager +نسخه ۴ HiddifyManager را اردیبهشت ماه منتشر کردیم که مهم‌ترین ویژگی آن پشتیبانی از پروتکل جدید Reality بود. سایر قابلیت‌های معرفی شده در این نسخه عبارت بودند از : + +- افزودن قابلیت چند ادمین با سطح دسترسی‌های مجزا +- اتصال بات تلگرام به پنل +- افزودن دامنه اختصاصی برای لینک ساب +- کانفیگ اتومات دامنه در کلودفلر + +
+ +HiddifyMananger_V4 +
+ + + + +### انتشار نسخه ۵ HiddifyManager +با توجه به استقبال شما و درخواست‌های مکرر در خصوص افزودن پروتکل‌های دیگر، توسعه پنل را ادامه دادیم و نسخه ۵ HiddifyManager با قابلیت‌های مهم زیر در همان ماه معرفی شد: + +- اضافه شدن پروتکل ShadowTLS v3 +- تغییر تم پنل +- افزودن امکان محدودیت ساخت تعداد کاربر روی ادمین و ایجنت + +### توسعه اپ‌های HiddifyN و HiddifyNG +در سمت کلاینت، بعد از توسعه چندین نسخه از اپ HiddifyClash، باگهای متعدد هسته کلش متا، باعث شد به دنبال راه جایگزین باشیم. + +پس از بررسی و طراحی مجدد کل پروسه کلاینت به صورت دقیق بر اساس تست کارایی، مقرر شد راه‌حل‌های خوب بازار را استفاده کنیم و در نهایت در فروردین ماه ۱۴۰۲ نسخه‌های سفارشی HiddifyNG و HiddifyN متولد شدند که بسیار مورد استقبال شما عزیزان قرار گرفتند. + +به عنوان مثال HiddifyNG تنها در گوگل پلی در کمتر از ۵ ماه بالغ بر ۱۰۰ هزار بار دانلود شد و امتیاز ۴.۸ از ۵ را از شما عزیزان گرفت که برای یک اپ با عمر کمتر فوق‌العاده است. + +
+ +HiddifyNG +
+ + + + +### انتشار نسخه ۶ HiddifyManager +در سمت سرور نیز در اردیبهشت ۱۴۰۲، با افزودن فرگمنت و وارپ‌پلاس به HiddifyManager ، نسخه ۶ منتشر شد. با کمک وارپ دیگر آیپی سرور از گزند لو رفتن در اندپوینت محفوظ می‌ماند و فرگمنت نیز با تکه تکه کردن بسته‌ها، امکان عبور راحت‌تر از فیلترینگ را فراهم می‌کرد. همچنین هسته سینگ‌باکس نیز اضافه شد و HiddifyManager تنها پنلی شد که از دو هسته پشتیبانی می‌کرد و روی هر دو هسته قابلیت اکانتینگ داشت. + + + +### انتشار نسخه ۷ HiddifyManager +در خردادماه نسخه ۷ HiddifyManager با پشتیبانی از پروتکل و قابلیت‌های مهم دیگر ارائه شد. از جمله: + +- امکان داشتن چندین دامنه ریالیتی و ورکر +- بازطراحی صفحه افزودن دامنه +- اضافه کردن وارپ ورژن ۲ + +
+ +HiddifyManager_V7 +
+ + + +### ارائه نسخه ۷ اپ‌های HiddifyN و HiddifyNG +در ادامه توسعه نرم‌افزارهای کلاینت HiddifyNG و HiddifyN را ادامه دادیم و قابلیت‌های روتینگ و لودبالانس را اضافه نمودیم و نسخه ۷ این اپلیکیشن‌ها ریلیز شدند. + +
+ +HiddifyNG_LB_Routing +
+ + + +### انتشار نسخه ۸ HiddifyManager +سپس در سمت سرور، جدا از پروتکل‌های قبلی مثل Vless, Vmess, Trojan, Reality, gRPC، Web Socket، H2 ، با کمک یکی از دوستان پروتکل امن SSH در نسخه ۸ HiddifyManager به همراه قابلیت‌های مهم زیر ارائه شد: + +- ایجاد لینک کوتاه موقت به سبک کاراگاه گجت +- افزودن لینک ساب هوشمند +- ساده سازی فرایند فعال‌سازی فیلترشکن در پنل کاربری + +
+ +HiddifyManager_V8 +
+ + + + +## یک‌سالگی هیدیفای + +### شروع توسعه اپ مالتی‌پلتفرم HiddifyApp +در اولین سالگرد تولدمون در سمت کلاینت، [اپ کراس‌پلتفرم Hiddify را برای اندروید، ویندوز، لینوکس، مک در مهرماه ۱۴۰۲ استارت زدیم](https://app.hiddify.com/). + +هدفمون توسعه راحت پروتکل‌های جدید روی همه سیستم عامل‌ها توسط برنامه نویس‌ها و داشتن یکپارچگی بین همه سیستم عامل‌ها بود. + +طراحی اپلیکیشن جدید خیلی ساده بود و با کارایی بالا و بدون گرفتن منابع زیادی از سیستم کار می‌‌کرد. + + +
+ +HiddifyApp_Starting +
+ + + +### انتشار اسکنر ریالیتی هیدیفای +با توجه به محدودیت‌هایی که برای پروتکل ریالیتی به وجود آمده بود، در آبان ماه پارسال، یک اسکنر برای این حل مشکل درست کردیم که با کمک آن می‌شد روی هر شبکه به SNIهای مناسب برای ایجاد دامنه ریالیتی مناسب رسید و به این شکل بتوان این محدودیت را دور زد. + +
+ +Hiddify_Reality_Scanner +
+ + + +### انتشار HiddifyApp در گوگل‌پلی + +با توجه به اینکه HiddifyManager به حد قابل قبولی توسعه داده شده بود، تصمیم گرفتیم در ادامه تمرکز بیشتری روی توسعه سریع‌تر HiddifyApp داشته باشیم تا این محصول را با پروتکل‌ها و قابلیت‌های بیشتری آپدیت کنیم و روی همه پلتفرم‌ها از جمله iOS در دسترس قرار بدیم. به همین ترتیب نسخه ۰.۶ از آن با پشتیبانی از همه پروتکل‌های موثر از جمله پروتکل‌های هیستریا و توییک در دسترس قرار گرفت و در گوگل‌پلی هم منتشر شد. + +
+ +HiddifyApp +
+ + + + +### انتشار نسخه ۰.۱۲ از HiddifyApp + +در ادامه نسخه ۰.۱۲ از این اپ در آذرماه ۱۴۰۲ با قابلیت‌های جدید منتشر شد از جمله: + +- اضافه شدن قوانین اصلی روتینگ مبتنی بر منطقه +- بازطراحی صفحه لاگ‌ها +- اضافه شدن سایر سلکتورها به صفحه پروکسی +- افزودن قابلیت TLS Trick +- پشتیبانی از ‌BeePass +- پشتیبانی از D-Pad در Android TV +- و پشتیبانی از کشورهای چین و روسیه + + +### انتشار نسخه ۰.۱۳ از HiddifyApp + +با ثبت ایشوهای شما در گیتهاب و درخواست‌های فراوان، توسعه اپ را ادامه دادیم و در دی ماه پارسال نسخه ۰.۱۳ اپ با فیچرهای جدید منتشر شد. از جمله: + +- اضافه نمودن امکان بای‌پس کردن LAN +- افزودن قابلیت اشتراک‌گذاری VPN در شبکه +- پشتیبانی از هسته جدید +- پشتیبانی از کشور افغانستان + +
+ +HiddifyApp_V0.13 +
+ + + + + +### انتشار نسخه رسمی HiddifyApp در مایکروسافت‌استور + + +در بهمن ماه نیز اپ در مایکروسافت‌استور به صورت رسمی منتشر شد و از نسخه ۰.۱۶.۷ در این استور دسترس قرار گرفت. + +
+ +HiddifyApp_on_MicrosoftStore +
+ + + + +### انتشار HiddifyCli برای کار در محیط‌های بدون گرافیک + +در اسفندماه نسخه بدون گرافیک از اپ را با تمام قابلیت‌ها برای کار روی محیط‌های بدون دسکتاپ معرفی کردیم. با این کار امکان استفاده از فیلترشکن روی سرورها و محیط‌های بدون دسکتاپ فراهم شد. + + +### انتشار نسخه ۱۰ HiddifyManager + +با پشتیبانی از پروتکل‌های جدید هیستریا ۲ و توییک ۵، ضمن بروزرسانی پروتکل‌های قبلی، نسخه ۱۰ از HiddifyManager در اسفندماه ۱۴۰۲ منتشر شد. در این نسخه تغییرات بنیادین زیادی انجام شد از جمله: + +- تغییر دیتابیس به SQL و افزایش قابل توجه سرعت پنل +- افزودن قالیت‌های امنیتی بیشتر از جمله احراز هویت قوی‌تر پروکسی‌ها و پنل +- بازطراحی صفحه کاربری نوآورانه + +
+ +HiddifyManager_X_1 + + +HiddifyManager_X_2 +
+ + + + + + + + + +### انتشار نسخه بتای HiddifyApp برای iOS + +همزمان در سمت کلاینت، پس از تلاش‌های فراوان توانستیم نسخه بتای HiddifyApp را بر روی پلتفرم تست‌فلایت اپل در سیستم عامل iOS منتشر کنیم. با این کار توانستیم دسترسی بخشی از شما عزیزان را در این سیستم عامل به اپ برقرار کنیم و به تلاش‌های خود برای رجیستر کردن اپ در اپ‌استور ادامه دادیم. + +
+ +HiddifyApp_on_TestFlight +
+ + + + +### ارائه نسخه ۱ HiddifyApp به مناسبت نوروز ۱۴۰۳ + +نسخه ۱ اپ با تم نوروزی به مناسبت آغاز سال جدید پارسی منتشر شد و در این نسخه قابلیت‌های زیادی معرفی شدند از جمله: + +- پشتیبانی از وارپ +- افزودن سرویس VPN به نسخه ویندوز و مک +- افزودن فرگمنت هوشمند +- اضافه نمودن بخش تنظیمات سریع +- اضافه شدن مکانیزم failover برای کانفیگ‌ها +- اضافه شدن نویز وایرگارد +- افزودن نشانگر تاخیر در زیر دکمه اتصال + +
+ +HiddifyApp_v1 +
+ + + + +### انتشار میانی‌ساز هیدیفای + +در اردیبهشت امسال برای ایجاد راحت‌تر سرورهای میانی (تانل) یک ابزار یکپارچه معرفی گردید که در آن از روش‌های موثر موجود استفاده شد. از جمله: + +- IP-Tables +- GOST +- Dokodemo-Door +- HA-Proxy +- Socat +- WST + + +
+ +Hiddify_Relay_Builder +
+ + + + + + +### انتشار نسخه ۱.۴ HiddifyApp + +در خردادماه ۱۴۰۳ نسخه ۱.۴ اپ را با اضافه نمودن فیچرهای جدید ارائه دادیم که از جمله می‌توان به این قابلیت‌ها اشاره کرد: + +- افزودن قابلیت رزرو وارپ +- همگام سازی کلید وارپ‌ با کلید داخلی اپ +- بهبود فرگمنت + + +### انتشار نسخه ۱.۵ HiddifyApp + +کار توسعه اپ را ادامه دادیم و با اضافه نمودن قابلیت‌های مهم دیگر، نسخه ۱.۵ منتشر شد. در این نسخه: + +- روتینگ داخلی با rule set و آپدیت خودکار اضافه شد. +- گزینه حذف تبلیغات سایت‌ها اضافه شد. + +
+ +HiddifyApp_V1.5 +
+ + +### انتشار نسخه ۲ HiddifyApp + +در مردادماه نسخه ۲ اپ را توسعه دادیم که مهم‌ترین قابلیت‌های آن شامل موارد زیر بود: + +- پشتیبانی از دو هسته سینگ‌باکس و ایکسری به صورت همزمان +- پشتیبانی از نسل جدید عبور از فیلترینگ Split HTTP +- افزودن هر دو نسخه IPv4 و IPv6 به پروتکل وایرگارد +- افزودن ویراستار کانفیگ +- افزودن حالت‌های بیشتر به وارپ + + +### رسیدن به یک رکورد خیره‌کننده برای HiddifyApp + +پس از گذشت کمتر از یکسال از انتشار اولین نسخه از HiddifyApp، تعداد نصب‌های فعال این اپ در گوگل‌پلی از مرز نیم میلیون بار گذشت. همچنین این برنامه از روی گیتهاب بیش از ۵.۵ میلیون بار دانلود شد که رکورد خیره‌کننده‌ای برای ما بود و در واقع از تصورات ما فراتر بود که همه این‌ها را مدیون حمایت‌های شما هستیم. + +
+ +Stonning_Record_for_HiddifyApp +
+ + + +## در انتهای سال دوم +تا اینجا و در پایان سال دوم از فعالیت‌های ما به این موارد رسیدیم: + +- بیش از نیم میلیون نصب فعال HiddifyApp در گوگل‌پلی +- بیش از ۵.۷ میلیون بار دانلود HiddifyApp از گیتهاب +- بیش از ۲ میلیون بار دانلود HiddifyManager از گیتهاب +- بیش از ۲۴ هزار ستاره برای پروژه Hiddify در گیتهاب + +و خلاصه مسیری که طی کردیم به صورت زیر بوده است: + +
+ +Hiddify_History +
+ + + +## آغاز سال سوم + +در اینجا برای اطلاع شما عزیزان به صورت خلاصه به برنامه‌هایی که در پیش داریم می‌پردازیم. + +در سال سوم فعالیت، تلاش می‌کنیم این مسیری که با سختی طی کردیم را ادامه دهیم و توسعه HiddifyManager و HiddifyApp را با قدرت بیشتری به پیش ببریم. + + +### در HiddifyApp + +
+ +HiddifyApp_Logo +
+ + +- شاهد انتشار نسخه iOS در اپ‌استور خواهیم بود. +- فیچرهای جدید از جمله قابلیت افزودن اکستنشن به اپ اضافه خواهد شد. +- روی فرگمنت بهبودهایی انجام خواهیم داد. +- در صدد توسعه اپ برای استفاده در سیستم‌های ۳۲ بیتی و همینطور سیستم‌عامل‌های دیگه مث روترها هستیم. +- پروتکل‌های ترند و جدید اضافه خواهند شد. +- قابلیت روتینگ تطابقی را اضافه خواهیم کرد. +- اسکنر آیپی تمیز اضافه خواهد شد. +- و صدها قابلیت دیگر که در آینده نزدیک خواهید دید. + + +### در HiddifyManager +
+ +HiddifyManager_Logo +
+ + +- پنل مرکزی معرفی خواهد شد که با استفاده از آن می‌تونید چندین سرور را با یک پنل مدیریت کنید. +- قابلیت اکستنشن اضافه خواهد شد. +- پروتکل‌های ترند و موثر به HiddifyManager اضافه خواهند شد. +- و قابلیت‌های بیشتر که خواهید دید. + + + +## سخن آخر + +در طول این مسیر سخت، از همه کسانی که به هر نحو به ما کمک کردند تا مردم عزیز کشورمان راحت‌تر به اینترنت آزاد متصل بمانند و بتوانند از این سیاهی مطلق خارج بشن؛ از صمیم قلب تشکر می‌کنیم. + + +همچنین از همه کسانی که برای ایجاد دسترسی به اینترنت آزاد تلاش کردند ممنونیم. + + +از همه شما عزیزان که همواره همراه و حامی ما بودید و در این مسیر تنهامون نذاشتید، بی‌اندازه سپاسگزاریم. + + +به امید روزی که هیچ فردی محدود و تحت کنترل حکومت‌های تمامیت‌خواه نباشه. + + +#زن_زندگی_آزادی + +🕊️هیدیفای، راهکار آزادی اینترنت🕊️ + + diff --git a/docs/blog/posts/2nd-anniversary.md b/docs/blog/posts/2nd-anniversary.md new file mode 100644 index 0000000..ad46994 --- /dev/null +++ b/docs/blog/posts/2nd-anniversary.md @@ -0,0 +1,175 @@ +--- +draft: false +date: 2024-09-23 +# authors: +# - hiddify +categories: + - Anniversary + +tags: + - Hiddify + - Internet Freedom Solution +description: Hiddify's Second Anniversary +--- + +# Hiddify's Second Anniversary + + +![Logo](https://github.com/user-attachments/assets/15e0dba5-bbc0-48e3-b467-916ad1bd93a5) + + +## The Story of Hiddify: From Birth to Today + +_A detailed report to our dear supporters on the actions taken over the past two years_ + +Greetings to all Hiddify supporters, + + +It was around this time two years ago when we all found ourselves in a great shock, and everyone tried to help in any way they could. This was the beginning of our journey. + + +The anniversary of the start of our activities is a reminder of deep sorrow, a great grief that united us in pursuit of a right we are all entitled to. + + +**❤️ Freedom** + +Internet freedom, freedom of thought, political freedom, economic freedom, and freedom in all aspects of life. + +We fought for internet freedom because we believed, and still do, that this freedom would lead to other freedoms as well. + + +In late September 2022, after people's access to free internet became even more restricted, we decided to do what we could by providing simple access to the internet, making things easier for the people of our beloved country. And so, Hiddify was born around this time. + + + +At first, we tried to do a [review of censorship methods](https://github.com/hiddify/awesome-freedom) and compile a list of [VPS providers](https://github.com/hiddify/awesome-freedom/blob/main/vps-providers.md) so that anyone with a bit of technical knowledge could buy a server and set up a VPN. We shared this list in the Awesome-Freedom repository. + + +Then, in October of the same year, we created a very easy and [free installation guide for Microsoft Azure](https://github.com/hiddify/Hiddify-Server/wiki/Azure-%D9%86%D8%B5%D8%A8-%D8%AE%DB%8C%D9%84%DB%8C-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%B1%DB%8C%D8%B9-%D8%AF%D8%B1-%D9%85%D8%A7%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%A7%D9%81%D8%AA-%D8%A2%DA%98%D9%88%D8%B1). + + +In November, we expanded the project to other datacenters, including quick setups in Hetzner, Oracle Cloud, Vultr, and OVH. The goal was to enable everyone to set up their own server without any technical knowledge. + + +### The Release of the First Version of HiddifyManager +In December 2022, we developed the first version of HiddifyManager and focused on teaching users how to activate it on the client side. We also made sure HiddifyManager was resistant to VPN detection bots, obtained valid certificates, set up security settings, and provided suitable configurations for users. + +![Initial_version_of_HiddifyManager](https://github.com/user-attachments/assets/c6c09eb0-0576-4412-8cd4-7e1719263e70) + + +As time passed and the catastrophic internet situation continued, we pushed further to simplify complex concepts, making them accessible to everyone. Additionally, we made [numerous articles and tutorial videos available](https://hiddify.com/fa/manager) to help people with the more complicated configurations. + +![Initial_version_of_HiddifyManager_II](https://github.com/user-attachments/assets/ced5a1bd-e403-4a86-8b7b-c8acd1369d68) + + +On the other hand, existing client apps weren't simple enough for non-tech users—our parents couldn’t even figure them out. + +To solve this, in January 2023, we developed custom versions of HiddifyClash for Android and desktop to make the connection process easier for users. + +![HiddifyClash](https://github.com/user-attachments/assets/fe8c5236-e66c-4e75-b2c9-ff47da6727c6) + + + +### Release of Version 1 of HiddifyManager +As your support for the project grew, it gave us extra motivation to launch [a support group on Telegram](https://t.me/hiddify_board) in February 2023. +We also added more features to the panel, and in March 2023, after several initial releases, Version 1 of HiddifyManager was launched with the ability to create multiple users and domains, and many structural improvements. + + +### Release of Version 2 of HiddifyManager +Before Nowruz (the Persian New Year) in 2023, we released Version 2 of HiddifyManager, which introduced new features such as: +- PWA web application support +- Tutorial videos in the panel when clicking on ❓ +- The ability to choose protocol ports, edit proxy names, and add fingerprints. + + +Around that time, we found out that [Xray developers had included us on their list of approved web panels](https://github.com/xtls/xray-core#installation), which was a great feeling because they found us on their own. + +During the same period, we added an automatic subdomain link creation feature based on the user's operator with the help of our friends at [IRCF](https://ircf.space) and introduced the AutoCDN domain. + + +### Release of Version 3 of HiddifyManager +In April 2023, we redesigned the panel and released Version 3 of HiddifyManager, focusing on both stability and simplicity. In this version: +- The dashboard was redesigned, adding tiles to monitor processes and resource usage, as well as the ability to see online users and their data usage. +- All pages were redesigned, and a dark mode was added to the panel. +- A search function was added to the settings, and other graphical improvements were made. + + +### Release of Version 4 of HiddifyManager +In May 2023, we released Version 4 of HiddifyManager, which introduced support for the new Reality protocol. Other notable features in this version included: +- Multi-admin support with separate access levels +- Telegram bot integration with the panel +- Custom domain support for sub-links +- Automatic domain configuration in Cloudflare + + +### Release of Version 5 of HiddifyManager +Due to your growing support and requests for additional protocols, we continued developing the panel and introduced Version 5 of HiddifyManager later that month, which included: +- ShadowTLS v3 protocol support +- Panel theme changes +- User creation limits for admins and agents. + + +### Development of HiddifyN and HiddifyNG Apps +On the client side, after developing several versions of HiddifyClash, numerous bugs in the Clash Meta core led us to search for an alternative. + +After reviewing and redesigning the entire client process with performance testing, we eventually launched custom versions of HiddifyNG and HiddifyN in April 2023, which were warmly received by you. + + +For example, HiddifyNG was downloaded over 100,000 times on Google Play in less than five months and received a 4.8/5 rating from you, which is an outstanding achievement for such a young app. + +### Release of Version 6 of HiddifyManager +On the server side, in May 2023, we added Fragment and Warp+ to HiddifyManager, releasing Version 6. Warp ensured that the server's IP remained hidden at the endpoint, while Fragment facilitated easier packet transmission through filtering. We also integrated the SingBox core, making HiddifyManager the only panel supporting two cores with accounting on the SingBox core. + + +### Release of Version 7 of HiddifyManager +In June 2023, we released Version 7 of HiddifyManager, which introduced several important protocols and features, including: +- Support for multiple Reality domains and workers +- Redesigned domain addition page +- Warp version 2 + + +### Release of Version 7 of HiddifyN and HiddifyNG Apps +In line with continued client software development, we introduced routing and load-balancing features in HiddifyNG and HiddifyN. + + +### Release of Version 8 of HiddifyManager +Later, in addition to previous protocols like Vless, Vmess, Trojan, Reality, gRPC, WebSocket, and H2, with the help of a friend, we added the secure SSH protocol to Version 8 of HiddifyManager in July 2023. This version also introduced important new features, such as: +- Temporary short links, inspired by Inspector Gadget +- Smart sub-link creation +- Simplified VPN activation for users. + + +## Hiddify's First Anniversary + +### Start of HiddifyApp Multi-Platform Development +On the client side, we started developing the cross-platform [HiddifyApp for Android, Windows, Linux, and Mac in October 2023](https://app.hiddify.com/), in honor of our first anniversary. + + +Our goal was to make it easy for developers to implement new protocols across all platforms and ensure consistency between systems. + +The new app was designed to be very simple, highly efficient, and lightweight. + + +### Release of the Hiddify Reality Scanner +In November 2023, as restrictions on the Reality protocol intensified, we released a **Reality Scanner**. This tool helps users identify appropriate SNI domains for Reality, assisting them in bypassing the new limitations. This marked an important step in ensuring continuous, reliable access to internet freedom in the face of evolving censorship techniques. + +### Celebrating Two Years of Hiddify +Now, as we celebrate **Hiddify’s second anniversary**, we reflect on all we have accomplished together. From the humble beginnings of open-source guides and community-driven efforts to the development of a powerful suite of tools for both users and administrators, Hiddify has become a trusted name for internet freedom. + +#### What’s Next? +Looking ahead, we are committed to staying on the cutting edge of censorship circumvention. The next year will see us expanding Hiddify’s features, improving performance, and enhancing security to keep pace with new challenges. + +We plan to: +- Improve user experience across all platforms, ensuring that even less tech-savvy individuals can benefit from Hiddify’s capabilities. +- Continue building community resources and fostering collaboration with other freedom-focused organizations. +- Launch more educational tools and resources to empower users to deploy and manage their own instances of Hiddify. + +Together, we will continue the fight for internet freedom. + +## Thank You to Our Community +None of this would have been possible without the support of our incredible community. We thank you from the bottom of our hearts for your continuous feedback, encouragement, and contributions to the Hiddify project. + +Let’s keep pushing forward, fighting for a freer and more open internet. + +With gratitude, +The Hiddify Team ❤️ diff --git a/docs/blog/posts/App_published_on_the_AppStore.fa.md b/docs/blog/posts/App_published_on_the_AppStore.fa.md new file mode 100644 index 0000000..c47f1cc --- /dev/null +++ b/docs/blog/posts/App_published_on_the_AppStore.fa.md @@ -0,0 +1,51 @@ +--- +draft: false +date: 2023-09-23 +# authors: +# - hiddify +categories: + - App + +tags: + - Hiddify + - Free Internet Solution +description: AppStore + +--- + +
+ + + +App published on the AppStore +
+
+# هیدیفای در اپ‌استور تایید و منتشر شد! 🎆 + +هیدیفای تنها نرم‌افزار رایگان، بدون تبلیغ و متن‌باز با مجوز GPL v3 است که امکان دسترسی بدون فیلتر را فراهم می‌کند و روی تمامی پلتفرم‌ها از جمله iOS ، اندروید، ویندوز، لینوکس و مک قابل استفاده است. + +تلاش ما ساخت اپلیکیشنی ساده و کاربرپسند بوده، طوری که حتی مادربزرگ‌ها و پدربزرگ‌ها نیز بتوانند به راحتی از آن استفاده کنند. 💪 + +هدف ما روشن است؛ اینترنت آزاد حق همه مردم است. با حمایت شما می‌توانیم این مسیر را با قدرت بیشتری طی کنیم. 😍 + + + +[دانلود کنید!](https://app.hiddify.com) + + + + +## روش‌های حمایت از هیدیفای: + +- 🌟 امتیاز ۵ ستاره در اپ استور و گوگل پلی +- 🌟 ستاره‌ دادن در [گیت‌هاب](https://github.com/hiddify/hiddify-app) +- 💬 ریتوییت در [توییتر](https://x.com/hiddify_com) و به اشتراک‌گذاری پست‌ها و ویدیوها در [یوتیوب](https://youtube.com/@hiddify) +- 💕 لایک و کامنت گذاشتن در [اینستاگرام](https://www.instagram.com/hiddify_com) +- 💢 [مشارکت در توسعه](https://t.me/hiddifybot?start=contribute_Y2lkPS0xMDAyMTYyMTUzNzMxJm1pZD01NDQmbGFuZz1lbg) +- 💡 [تولید محتوای آموزشی](https://t.me/hiddifybot?start=contribute_Y2lkPS0xMDAyMTYyMTUzNzMxJm1pZD01NDUmbGFuZz1lbg) +- 💵 [حمایت مالی](https://hiddify.com/fa/donation-and-support/) + +پیشاپیش برای حمایتی که می‌کنید، سپاسگزاریم! ❤️ + + +🕊️هیدیفای‌، راهکار آزادی اینترنت🕊️ diff --git a/docs/blog/posts/App_published_on_the_AppStore.md b/docs/blog/posts/App_published_on_the_AppStore.md new file mode 100644 index 0000000..812b1a8 --- /dev/null +++ b/docs/blog/posts/App_published_on_the_AppStore.md @@ -0,0 +1,46 @@ +--- +draft: false +date: 2023-09-23 +# authors: +# - hiddify +categories: + - App + +tags: + - Hiddify + - Free Internet Solution +description: AppStore + +--- + +
+ +App published on the AppStore +
+
+# Hiddify is now approved and available on the AppStore! 🎆 + +🔐 Hiddify is the only free, ad-free, and open-source software (licensed under GPL v3) that provides unrestricted access and works on all platforms, including iOS, Android, Windows, Linux and Mac. + +We've designed a simple and user-friendly app, so easy to use that even grandparents can navigate it comfortably. 💪 + +Our path is clear: free internet is everyone’s right. With your support, we can make strides on this journey. 😍 + + + +[Download now!](https://app.hiddify.com) + + + +## How to support Hiddify: +- 🌟 Give us a 5-star rating on the AppStore and Google Play +- 🌟 Star us on [GitHub](https://github.com/hiddify/hiddify-app) +- 💬 [Retweet](https://x.com/hiddify_com) and share posts and videos on [YouTube](https://youtube.com/@hiddify) +- 💕 Like and comment on [instagram](https://www.instagram.com/hiddify_com) +- 💢 [Contribute to development](https://t.me/hiddifybot?start=contribute_Y2lkPS0xMDAyMTYyMTUzNzMxJm1pZD01NDQmbGFuZz1lbg) +- 💡 [Create educational content](https://t.me/hiddifybot?start=contribute_Y2lkPS0xMDAyMTYyMTUzNzMxJm1pZD01NDUmbGFuZz1lbg) +- 💵 [Make a donation](https://hiddify.com/donation-and-support/) + +Thank you in advance for your support! ❤️ + +🕊️Hiddify, Internet Freedom Solution🕊️ diff --git a/docs/blog/posts/hello.md b/docs/blog/posts/hello.md new file mode 100644 index 0000000..784df05 --- /dev/null +++ b/docs/blog/posts/hello.md @@ -0,0 +1,21 @@ +--- +draft: false +date: 2023-09-23 +# authors: +# - hiddify +categories: + - Hello + +tags: + - Hiddify + - Free Internet Solution +description: Nullam urna elit, malesuada eget finibus ut, ac tortor. + +--- + +# Hello world! +We are going to start the new website of hiddify framework. :fontawesome-solid-hands-clapping: + + +We started from 23 September 2022, after the shutting down of Internet in Iran. +The importance of internet freedom in today's world cannot be overstated. It is essential for access to information, freedom of expression, and democratic participation. As technology continues to advance, it is imperative that we remain vigilant in protecting and promoting internet freedom for everyone. In this spirit, we will continue to explore this topic further in future blog posts. Stay tuned for more updates and discussions on this vital issue. diff --git a/docs/cloud-init.yml b/docs/cloud-init.yml new file mode 100644 index 0000000..5d2a97e --- /dev/null +++ b/docs/cloud-init.yml @@ -0,0 +1,27 @@ +
+ +``` +#cloud-config +package_upgrade: true +packages: + - apt-transport-https + - ca-certificates + - curl + - wget + - gnupg-agent + - software-properties-common + - git + - jq + +runcmd: + - cd /opt + - bash -c "export CREATE_EASYSETUP_LINK='true';curl i.hiddify.com/release|bash -s -- --no-gui" + +final_message: "The system is finally up, after $UPTIME seconds" +output: { all: "| tee -a /root/cloud-init-output.log" } + +# you can see the generated link from the website by using +# https://yourip.sslip.io/hiddify in one hour, after that, +# it will be disappear. +``` +
diff --git a/docs/donation-and-support.fa.md b/docs/donation-and-support.fa.md new file mode 100644 index 0000000..40b36d7 --- /dev/null +++ b/docs/donation-and-support.fa.md @@ -0,0 +1,21 @@ +--- +description: پشتیبانی و حمایت مالی +title: پشتیبانی و حمایت مالی +comments: false +weight: -8 + +--- + + +# پشتیبانی و حمایت مالی + +!!! info "آدرس کیف‌پول‌های هیدیفای" + ما برای سرویس‌هایمان به کمک مالی نیاز داریم. تمامی فعالیت‌های ما به صورت داوطلبانه انجام می‌شود و حمایت‌های مالی صرف توسعه پروژه می‌شود. شما می توانید حمایت مالی خود را از طریق یکی از آدرس‌های زیر انجام دهید. +
+
+ + [![TON](https://img.shields.io/badge/Donate-Ton-informational?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAA3CAYAAACo29JGAAAAAXNSR0IArs4c6QAAAmdJREFUaEPtV9FRGzEU3K0gUEGgAqCChAoCFYA7SCogqSBJBYEKgAqACqADcAekgpdZRvLIN76zxno6Xxjpxx7fs/T27ertO+IdL75jbGjg/ld2G3ONuQlWoMlygqRkpdSYyyrTBIMacxMkJSulxlxWmSYY1JibIClZKTXmcspkZocAvuTEZsTcknzKiBsMcWHOzL4C+FmaTOf/M5KXJXsWgzOzPQDPJUkM/Hef5Mume3uA+w7gIiSwS/J1VTJm9hnAXXh2TPK+Jy4tVhF7HuBOAFxnJL0JuFOSN9tkbgeApPNBnyT3C5kTo58A/AWw16eEHMDFzOkQMzsH8Ccc+I3kr+7hObI0s1QFP0hK8hsvF3ABoFr3AQDdOTWCpbuXCU4K+AhgDuCwhDXl5AkuvVO/ScoeFmsdODNLG1PRXYuHuoEL7OnyRyNfauND4IKdPALQ/X0gqUIVL29waRu/J3kcM1wDTmZ9FmKPPKYTV1kmIFJ5LfysD1zn9yuSak4uy5W5IE1JS81FjWFhDQPgYiMqbv3diriD67OGVeByLKSEwirgAsBoxm/WoNaejl+BXc2kYnpOUvfVddUEt2QNANRJF7MlAD2PM2nvrFmCthq4wF7aBWfJFJN+17ubJhP3VRucpKaGoblT8pQEtdLvRa81QxWpCi6wl1pDN5fi+XHb4FJrSHNxmR+3Cm6FNcR8il5Ecy5odVnGJMwsWoN+cpsft85cYC+1Brf5cRLgAkAZObwG43XSHE2W6xKp8byBq1HVMfZszI1R5RpnNOZqVHWMPRtzY1S5xhmNuRpVHWPPxtwYVa5xxj+I4vU4mMJWMQAAAABJRU5ErkJggg==)](https://tonwhales.com/explorer/address/EQCWnykA-YhavOXgH3sf-uxtXLjy83_9n5bJPGRPE8r2247_)  [![USDT (TRC20)](https://img.shields.io/badge/Donate-USDT%20(TRC20)-orange?style=flat-square&logo=Tether)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=usdt:TXZtFUxyBPMSykAWogu7C4zmbjySKqMcDE&chld=H)  [![LiteCoin](https://img.shields.io/badge/Donate-LiteCoin-blue?style=flat-square&logo=Litecoin)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=litecoin:MCHoh7xwaDBBnQgANPpBtXiekagV6KpdrM&chld=H)  [![BNB (smart chain)](https://img.shields.io/badge/Donate-BNB%20(smart%20chain)-lightgreen?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAAXNSR0IArs4c6QAAAphJREFUSEuVVVtS20AQ7JFjQiGqbJ0g3CDOCQI/UfjTDSJOgHwCKyewOQHmBs4Xln9i3wBuACeQqLJTwQ9NalavtSwhor/V7M7OdPf0Ehq+8He3a6zX1wxyGBhZ9uqu6UwWp7c2hjPTJcYAwFm+jzBnoG99Wz00XVKZPJyZPQKGYJxrCR4BfM6rYozjj+2+dRFFdZccJH+ZmiMmXGsHFhyTb10u56oTwAfjUxqPmFQX46oL8uRSrbQqGGO99YjYZcDPDh7EwR4TvHJcv4TC+9NzMvg2wZUmHG/71uXfp2zTXlzw3u2u3hunKDC5YJd+xfHWOzjc4rFAQaiJGzzS+Fh07ZXiKk/OhCtpMZHeZsCAwOJl0tNhSaUpsAhsN5LoJTDHDPwAsJdc2O5wTBdCWhSYaq1h98Ax9XNCGUMAXb3bjr10wuDUJ/BAupO1qlxV+rrxY6ZJmjyHqaQA4aHQexFUlYZT05Nf1veVQKQ+Cu+Pz3SMdQ6ahiSN5zDIWs8nmEcEHsZHRzcyEGFw4hDRSNPyW3csON65UpwkJePDEGDrkNAU81yCCYbSqo5/2i+emdmz7D+T0n6xigq1FITO0+FQA0XrTVgq/bFrr3oKguDEMUBOx165GaFNyRWhTPgiE1vBQU4gkVJOsk7V0pS8LM2yevaSEXDXXLk2ROItiDGvkWYhPQNR5i11Q1RUVuEddbBUek/ysyBUGVPqHcXUYRQftX8qaSbGprxD9xYlvVbrVvf8svcUljs1PSL4mfQyO8grTC05W0eBOQfwNRlFPPOOXIFRV9beY5FZgTwWmteIt3iZtxgs0ls6afIeM3x95GuTFzgeKw+RydMwlzdT9J0QOjNdtNuT/3rmyrMezcwn3Qoy6b3Hd/4BcS/7J0DVxCsAAAAASUVORK5CYII=)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=bnb:0xF5CFc65ee336B377C2a37EA3BCD0CaD0d0F0CbA0&chld=H)  [![Ethereum](https://img.shields.io/badge/Donate-Ethereum-blueviolet?style=flat-square&logo=Ethereum)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=ethereum:0xF5CFc65ee336B377C2a37EA3BCD0CaD0d0F0CbA0&chld=H)  [![BitCoin](https://img.shields.io/badge/Donate-BitCoin-orange?style=flat-square&logo=bitcoin)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=bitcoin:bc1qkfp7n3wxu2zc9mdy20cf27d5pujj65myww8f60&chld=H)  [![Doge](https://img.shields.io/badge/Donate-DOGE%20(Dogecoin)-yellow?style=flat-square&logo=Dogecoin)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=doge:DPerFS2vCu5XnE3He32BaPVTkUDcKLsEaj&chld=H) + +
+ + diff --git a/docs/donation-and-support.md b/docs/donation-and-support.md new file mode 100644 index 0000000..cf1d5d0 --- /dev/null +++ b/docs/donation-and-support.md @@ -0,0 +1,20 @@ +--- +description: Donation and support +title: Donation and support +comments: false +weight: -8 + +--- + +# Donation and support + +!!! info "Wallet Addresses of Hiddify" + We need financial support for our services. All of our activities are done voluntarily and financial support will be spent on the development of the project. You can make your financial support through one of the following addresses. +
+
+ + [![TON](https://img.shields.io/badge/Donate-Ton-informational?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAA3CAYAAACo29JGAAAAAXNSR0IArs4c6QAAAmdJREFUaEPtV9FRGzEU3K0gUEGgAqCChAoCFYA7SCogqSBJBYEKgAqACqADcAekgpdZRvLIN76zxno6Xxjpxx7fs/T27ertO+IdL75jbGjg/ld2G3ONuQlWoMlygqRkpdSYyyrTBIMacxMkJSulxlxWmSYY1JibIClZKTXmcspkZocAvuTEZsTcknzKiBsMcWHOzL4C+FmaTOf/M5KXJXsWgzOzPQDPJUkM/Hef5Mume3uA+w7gIiSwS/J1VTJm9hnAXXh2TPK+Jy4tVhF7HuBOAFxnJL0JuFOSN9tkbgeApPNBnyT3C5kTo58A/AWw16eEHMDFzOkQMzsH8Ccc+I3kr+7hObI0s1QFP0hK8hsvF3ABoFr3AQDdOTWCpbuXCU4K+AhgDuCwhDXl5AkuvVO/ScoeFmsdODNLG1PRXYuHuoEL7OnyRyNfauND4IKdPALQ/X0gqUIVL29waRu/J3kcM1wDTmZ9FmKPPKYTV1kmIFJ5LfysD1zn9yuSak4uy5W5IE1JS81FjWFhDQPgYiMqbv3diriD67OGVeByLKSEwirgAsBoxm/WoNaejl+BXc2kYnpOUvfVddUEt2QNANRJF7MlAD2PM2nvrFmCthq4wF7aBWfJFJN+17ubJhP3VRucpKaGoblT8pQEtdLvRa81QxWpCi6wl1pDN5fi+XHb4FJrSHNxmR+3Cm6FNcR8il5Ecy5odVnGJMwsWoN+cpsft85cYC+1Brf5cRLgAkAZObwG43XSHE2W6xKp8byBq1HVMfZszI1R5RpnNOZqVHWMPRtzY1S5xhmNuRpVHWPPxtwYVa5xxj+I4vU4mMJWMQAAAABJRU5ErkJggg==)](https://tonwhales.com/explorer/address/EQCWnykA-YhavOXgH3sf-uxtXLjy83_9n5bJPGRPE8r2247_)  [![USDT (TRC20)](https://img.shields.io/badge/Donate-USDT%20(TRC20)-orange?style=flat-square&logo=Tether)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=usdt:TXZtFUxyBPMSykAWogu7C4zmbjySKqMcDE&chld=H)  [![LiteCoin](https://img.shields.io/badge/Donate-LiteCoin-blue?style=flat-square&logo=Litecoin)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=litecoin:MCHoh7xwaDBBnQgANPpBtXiekagV6KpdrM&chld=H)  [![BNB (smart chain)](https://img.shields.io/badge/Donate-BNB%20(smart%20chain)-lightgreen?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAAXNSR0IArs4c6QAAAphJREFUSEuVVVtS20AQ7JFjQiGqbJ0g3CDOCQI/UfjTDSJOgHwCKyewOQHmBs4Xln9i3wBuACeQqLJTwQ9NalavtSwhor/V7M7OdPf0Ehq+8He3a6zX1wxyGBhZ9uqu6UwWp7c2hjPTJcYAwFm+jzBnoG99Wz00XVKZPJyZPQKGYJxrCR4BfM6rYozjj+2+dRFFdZccJH+ZmiMmXGsHFhyTb10u56oTwAfjUxqPmFQX46oL8uRSrbQqGGO99YjYZcDPDh7EwR4TvHJcv4TC+9NzMvg2wZUmHG/71uXfp2zTXlzw3u2u3hunKDC5YJd+xfHWOzjc4rFAQaiJGzzS+Fh07ZXiKk/OhCtpMZHeZsCAwOJl0tNhSaUpsAhsN5LoJTDHDPwAsJdc2O5wTBdCWhSYaq1h98Ax9XNCGUMAXb3bjr10wuDUJ/BAupO1qlxV+rrxY6ZJmjyHqaQA4aHQexFUlYZT05Nf1veVQKQ+Cu+Pz3SMdQ6ahiSN5zDIWs8nmEcEHsZHRzcyEGFw4hDRSNPyW3csON65UpwkJePDEGDrkNAU81yCCYbSqo5/2i+emdmz7D+T0n6xigq1FITO0+FQA0XrTVgq/bFrr3oKguDEMUBOx165GaFNyRWhTPgiE1vBQU4gkVJOsk7V0pS8LM2yevaSEXDXXLk2ROItiDGvkWYhPQNR5i11Q1RUVuEddbBUek/ysyBUGVPqHcXUYRQftX8qaSbGprxD9xYlvVbrVvf8svcUljs1PSL4mfQyO8grTC05W0eBOQfwNRlFPPOOXIFRV9beY5FZgTwWmteIt3iZtxgs0ls6afIeM3x95GuTFzgeKw+RydMwlzdT9J0QOjNdtNuT/3rmyrMezcwn3Qoy6b3Hd/4BcS/7J0DVxCsAAAAASUVORK5CYII=)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=bnb:0xF5CFc65ee336B377C2a37EA3BCD0CaD0d0F0CbA0&chld=H)  [![Ethereum](https://img.shields.io/badge/Donate-Ethereum-blueviolet?style=flat-square&logo=Ethereum)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=ethereum:0xF5CFc65ee336B377C2a37EA3BCD0CaD0d0F0CbA0&chld=H)  [![BitCoin](https://img.shields.io/badge/Donate-BitCoin-orange?style=flat-square&logo=bitcoin)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=bitcoin:bc1qkfp7n3wxu2zc9mdy20cf27d5pujj65myww8f60&chld=H)  [![Doge](https://img.shields.io/badge/Donate-DOGE%20(Dogecoin)-yellow?style=flat-square&logo=Dogecoin)](https://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=doge:DPerFS2vCu5XnE3He32BaPVTkUDcKLsEaj&chld=H) + +
+ + diff --git a/docs/index.fa.md b/docs/index.fa.md new file mode 100644 index 0000000..58df216 --- /dev/null +++ b/docs/index.fa.md @@ -0,0 +1,369 @@ +--- +title: خانه +hide: + - toc + - feedback +# - navigation +comments: false +--- + + + +
+ +

Hiddify Logo + راهکار آزادی اینترنت +

+ +

تمام آنچه برای اینترنت آزاد نیاز دارید +

+ + +
+ + +
+

Hiddify app Logo

+ + +
+ hiddify next +
+ +
+

Hiddify Application

+

راحت‌تر از همیشه به اینترنت آزاد متصل شوید.

+ +
    +
  • استفاده آسان
  • +
  • بدون تبلیغات، امن و متن‌باز
  • +
  • ارائه ویژگی‌های پیشرفته مانند پشتیبانی از IPv6، انواع مختلف لینک اشتراک و بیشتر
  • +
  • پشتیبانی از طیف وسیعی از پروتکل‌های پروکسی از جمله Hysteria2، TUIC، SSH، Reality، VMess، VLESS، Trojan و ... WebSocket، Quic، gRPC، http-split، httpupgrade، ECH، Sing-box، V2ray، Xray و بسیاری دیگر
  • +
+ + اطلاعات بیشتر درباره هیدیفای و مشاهده کد برنامه + + + +
+ + + +
+ + +
+

 Hiddify Manager

+ + +
+ Hiddify Manager +
+ +
+

 Hiddify Manager

+

سرور فیلترشکن شخصی و اختصاصی خود را ایجاد کنید.

+ + +
    +
  • نصب آسان
  • +
  • یکی از بهترین سرورهای VPN برای ایران، چین، روسیه، برزیل و سراسر جهان
  • +
  • پشتیبانی از چند هسته، چند دامنه و مدیریت یکپارچه کاربران
  • +
  • پشتیبانی از طیف وسیعی از پروتکل‌های پروکسی از جمله Hysteria2، TUIC، SSH، Reality، VMess، VLESS، Trojan و ... WebSocket، Quic، gRPC، http-split، httpupgrade، ECH، Sing-box، V2ray، Xray و بسیاری دیگر
  • +
+ + اطلاعات بیشتر درباره هیدیفای‌منیجر و مشاهده کد برنامه + + +
+
+ + +
+ +

چرا هیدیفای را انتخاب کنیم؟

+ +
+
+ پلتفرم متقابل +

کراس پلتفرم

+

در iOS، اندروید،
ویندوز، لینوکس و مک موجود است.

+
+ +
+ پلتفرم متقابل +

ایمن و بدون آگهی

+

منبع باز، غیر تجاری
و از نظر امنیتی ممیزی شده است.

+
+ +
+ پلتفرم متقابل +

ویژگی‌های قدرتمند

+

کلاینت پروکسی خودکار
با قابلیت‌های فراوان،
و با پشتیبانی از بیش از ۳۰ پروتکل مختلف است.

+
+
+
+ + + +
+## سنجش میزان اثرگذاری +یکی از امن‌ترین و مورد اعتمادترین راه‌کارهای استفاده از VPN + +
+ + +
+ +## سوالات پر تکرار + +??? question "چگونه می‌توانم مطمئن شوم که هیدیفای امن است؟" + + + برای اطمینان از امنیت هیدیفای، می‌توانید مراحل زیر را دنبال کنید 🔒: + + 1. **بررسی کد منبع** 🛠️ + از آنجایی که هیدیفای متن‌باز است، شما می‌توانید کد را مستقیماً در [GitHub](https://github.com/hiddify) بررسی کنید تا هر گونه مسئله امنیتی یا نگرانی شناسایی شود 🔍. بررسی کد توسط خودتان یا مشورت با یک توسعه‌دهنده مطمئن می‌تواند یک اقدام مؤثر باشد ✅. + + 2. **بررسی بازخورد و مشارکت‌های کامیونیتی** 🌐 + صفحه [گیتهاب هیدیفای](https://github.com/hiddify) و مخازن آن اغلب دارای مشارکت‌ها، گزارش مشکلات و بحث‌هایی از سوی دیگر توسعه‌دهندگان و کاربران هستند 👥. با خواندن این بحث‌ها می‌توانید به درکی از امنیت نرم‌افزار و هر گونه آسیب‌پذیری احتمالی که توسط کامیونیتی شناسایی شده است، دست یابید 🛡️. + + 3. **استفاده از نسخه آخر** 🔄 + مطمئن شوید که از آخرین نسخه هیدیفای استفاده می‌کنید، زیرا ممکن است شامل وصله‌های امنیتی و بهبودهایی باشد 🔒. می‌توانید یادداشت‌های انتشار را در GitHub بررسی کنید تا از به‌روزرسانی‌های مرتبط با امنیت مطلع شوید 📈. + + 4. **رعایت اصول استاندارد امنیتی** 🔐 + استفاده از هیدیفای در یک محیط امن شامل اعمال اصول امنیتی خوب است، مانند: + - محدود کردن دسترسی 🚫 + - نظارت منظم بر فعالیت‌ها 📊 + - به‌روزرسانی سیستم‌عامل و نرم‌افزار هیدیفای 🆙 + + 5. **شفافیت در تنظیمات** 🌟 + هیدیفای‌منیجر به کاربران این امکان را می‌دهد که سرورهای خود را پیکربندی کنند و کنترل کامل بر تنظیمات پروکسی و داده‌ها داشته باشند 🔄. این شفافیت تضمین می‌کند که کاربران می‌توانند پیکربندی‌های امن خود را حفظ کرده و در صورت نیاز آن‌ها را تغییر دهند 🔄. به طور مشابه، هیدیفای به کاربران و توسعه‌دهندگان این امکان را می‌دهد که تنظیمات اپلیکیشن را متناسب با نیازهای خاص خود تنظیم و سفارشی‌سازی کنند ⚙️، از تنظیمات پروکسی گرفته تا مدیریت اتصالات 📶. با توجه به اینکه این اپلیکیشن متن‌باز است، هر گونه تغییرات یا بهبودها قابل مشاهده است و به کاربران اجازه می‌دهد تا کنترل کامل بر تجربه خود داشته باشند و امنیت و حریم خصوصی در هر مرحله حفظ شود 🔐. + + با پیروی از این مراحل، می‌توانید اطمینان بیشتری در مورد امنیت هیدیفای به عنوان یک ابزار حفظ حریم خصوصی و ضد سانسور داشته باشید 🛡️✨. + +??? question "هیدیفای از چه دستگاه‌هایی پشتیبانی می‌کند؟" + + هیدیفای برای کار با مجموعه‌ای از دستگاه‌ها و سیستم‌عامل‌ها طراحی شده است و نیازهای سمت سرور و سمت کلاینت را پوشش می‌دهد 🌐: + + 1. **سازگاری سمت سرور (هیدیفای‌منیجر)** 🖥️ + هیدیفای شامل یک برنامه سمت سرور به نام **هیدیفای‌منیجر** است که روی سرور Ubuntu نصب می‌شود. هیدیفای‌منیجر با استفاده از Cloud-init به سرعت راه‌اندازی می‌شود 🚀 و این ویژگی امکان استقرار آسان را در ارائه‌دهندگان محبوب ابری و دیتاسنترها فراهم می‌کند 🌩️. این برنامه سمت سرور، پیکربندی‌ها و اتصالات کلاینت‌ها را مدیریت می‌کند و برای افرادی که به دنبال دسترسی اینترنت امن و پایدار هستند، یک ابزار قدرتمند فراهم می‌کند 🔐. + + 2. **سازگاری سمت کاربر (اپلیکیشن هیدیفای)** 📱💻 + اپلیکیشن سمت کاربر هیدیفای که به اختصار **هیدیفای** نامیده می‌شود، چندمنظوره است و از تمامی سیستم‌عامل‌های اصلی پشتیبانی می‌کند، از جمله: + - **iOS** 📲 + - **اندروید** 🤖 + - **ویندوز** 💻 + - **لینوکس** 🐧 + - **مک** 🍏 + + تیم توسعه هیدیفای به طور فعال در حال گسترش سازگاری آن با دستگاه‌های دیگر مانند **روترها** و **دستگاه‌های ۳۲ بیتی** است تا این اپلیکیشن را برای تعداد بیشتری از کاربران قابل دسترس نماید 🔄. + + با این ساختار، هیدیفای یک راهکار جامع برای دور زدن سانسور اینترنت و فیلترینگ ارائه می‌دهد و به کاربران اجازه می‌دهد سرورها را به صورت مستقل راه‌اندازی کرده و به دستگاه‌های متعدد متصل شوند 🔗، در حالی که دسترسی به پلتفرم‌های مختلف را نیز گسترش می‌دهد 🌍. + + + + +??? success "آیا هیدیفای رایگان، بدون تبلیغ و متن‌باز است؟" + بله، هیدیفای ویژگی‌های زیر را دارد 🌐: + + 1. **رایگان** 💸 + اپلیکیشن هیدیفای به صورت رایگان ارائه می‌شود و هیچ هزینه اشتراکی ندارد، به ویژه برای کاربران در سراسر جهان که با فیلترینگ اینترنت مواجه هستند 🌎. این برنامه به کاربران امکان می‌دهد که به سرعت با وارد کردن پروکسی‌های دریافت‌شده از سرورهای VPN شخصی (تولید شده توسط هیدیفای‌منیجر یا هر پنل VPN دیگر) یا خدمات رایگان مانند Cloudflare WARP بدون نیاز به پرداخت، متصل شوند 🔗. + همچنین هیدیفای‌منیجر نیز یک ابزار ساخت سرور VPN رایگان است که برای استفاده‌های غیرتجاری توسعه داده شده است ⚙️. + + 2. **بدون تبلیغات** 🚫📢 + اپ هیدیفای و هیدیفای‌منیجر هیچ تبلیغاتی ندارند و تجربه‌ای تمیز و بدون حواس‌پرتی را برای کاربران فراهم می‌کنند 🧘‍♂️. + + 3. **متن‌باز** 🔓 + محصولات هیدیفای به صورت کامل متن‌باز است و کد آن در [گیتهاب](https://github.com/hiddify) در دسترس است. این شفافیت به توسعه‌دهندگان اجازه می‌دهد که کد را بررسی، مشارکت و سفارشی‌سازی کنند و امنیت و انعطاف‌پذیری را تضمین می‌کند 🔍. + + این ویژگی‌ها هیدیفای را به مجموعه ابزار قابل اعتماد و قابل دسترس برای کاربرانی تبدیل می‌کند که به دنبال حفظ حریم خصوصی و آزادی اینترنت بدون هیچ هزینه‌ای و بدون تبلیغات هستند 🌈🔐. + + +??? info "چگونه می‌توانم با تیم پشتیبانی هیدیفای تماس بگیرم؟" + + برای تماس با تیم پشتیبانی هیدیفای می‌توانید از کانال‌های زیر استفاده کنید 📞🌐: + + 1. **ایشوهای گیتهاب** 🐞💻 + برای پشتیبانی فنی یا گزارش اشکالات، می‌توانید یک مشکل در مخازن GitHub زیر باز کنید: + - **ریپو اپلیکیشن هیدیفای**: [github.com/hiddify/hiddify-app](https://github.com/hiddify/hiddify-app) + - **ریپو هیدیفای‌منیجر**: [github.com/hiddify/hiddify-manager](https://github.com/hiddify/hiddify-manager) + باز کردن یک ایشو در اینجا به تیم توسعه و کامیونیتی اجازه می‌دهد که به شما کمک کنند 🤝. + + 2. **وبسایت هیدیفای** 🌐 + به [hiddify.com](https://hiddify.com) مراجعه کنید تا اطلاعات تماس اضافی، منابع و مستندات را دریافت کنید 📚. وبسایت همچنین سوالات متداول و به‌روزرسانی‌هایی را برای کمک به سوالات رایج ارائه می‌دهد 🔄. + + 3. **انجمن‌ها/کانال‌های اجتماعی** 📲 + همچنین می‌توانید در کانال‌های اجتماعی هیدیفای به پشتیبانی دسترسی داشته باشید یا سوالات خود را بپرسید: + - **کانال تلگرام هیدیفای**: [https://t.me/hiddify](https://t.me/hiddify) + - **گروه پشتیبانی هیدیفای**: [https://t.me/hiddify_board](https://t.me/hiddify_board) + - **کانال یوتیوب هیدیفای**: [youtube.com/@hiddify](https://youtube.com/@hiddify) + - **صفحه اینستاگرام هیدیفای**: [instagram.com/hiddify_com](https://instagram.com/hiddify_com) + - **حساب X (توئیتر سابق) هیدیفای**: [x.com/hiddify_com](https://x.com/hiddify_com) + + این کانال‌ها راه‌های متعددی برای ارتباط با تیم پشتیبانی و کاربران هیدیفای ارائه می‌دهند و شما را از آخرین به‌روزرسانی‌ها مطلع و کمک‌های لازم را فراهم می‌کنند 📢👥. + + +??? info "چگونه می‌توانم از پروژه هیدیفای حمایت کنم؟" + + 1. **حمایت مالی** 💸 + شما می‌توانید با حمایت مالی از پروژه هیدیفای به توسعه و ادامه فعالیت آن کمک کنید. برای اطلاعات بیشتر و مشارکت در این بخش، به [صفحه حمایت مالی هیدیفای](https://hiddify.com/fa/donation-and-support/) مراجعه کنید. + + 2. **دادن ستاره به پروژه هیدیفای** ⭐ + با دادن ستاره به پروژه هیدیفای، به‌ویژه به ریپازیتوری‌های [اپ هیدیفای](https://github.com/hiddify/hiddify-app) و [هیدیفای‌منیجر](https://github.com/hiddify/hiddify-manager)، می‌توانید به ارتقاء اعتبار و دیده‌شدن این پروژه در گیت‌هاب کمک کنید. + + 3. **مشارکت در توسعه** 💻 + اگر مهارت‌های فنی دارید، می‌توانید به توسعه هیدیفای کمک کنید. با مشارکت در بهبود کد، افزودن ویژگی‌های جدید، یا رفع مشکلات، می‌توانید نقشی فعال در پیشرفت این پروژه ایفا کنید. برای مشارکت، کافیست به [گیت‌هاب هیدیفای](https://github.com/hiddify) مراجعه کنید. + + 4. **امتیازدهی پنج ستاره و نوشتن ریویو در فروشگاه‌های اپلیکیشن** 🌟📱 + با دادن امتیاز پنج ستاره و نوشتن ریویو برای اپ هیدیفای در فروشگاه‌های مختلف، می‌توانید به افزایش اعتبار و محبوبیت این اپلیکیشن کمک کنید و افراد بیشتری را با آن آشنا سازید. برای امتیازدهی، می‌توانید از لینک‌های زیر استفاده کنید: + - [اپ‌استور](https://apps.apple.com/us/app/hiddify-proxy-vpn/id6596777532?platform=iphone) + - [گوگل‌پلی](https://play.google.com/store/apps/details?id=app.hiddify.com) + - [مایکروسافت‌استور](https://apps.microsoft.com/detail/Hiddify/9pdfnl3qv2s5?mode=mini) + + 5. **به اشتراک‌گذاری و آگاهی‌رسانی** 📢 + با اشتراک‌گذاری محصولات هیدیفای، به‌ویژه هیدیفای و هیدیفای‌منیجر، در شبکه‌های اجتماعی و معرفی آن به افرادی که به ابزارهای ضد سانسور نیاز دارند، می‌توانید به گسترش این پروژه و افزایش کاربران آن کمک کنید. + + 6. **پیوستن به کانال‌ها و گروه‌های اجتماعی** 📲 + با عضویت در [کانال تلگرام هیدیفای](https://t.me/hiddify) و [گروه پشتیبانی](https://t.me/hiddify_board)، می‌توانید با دیگر کاربران در ارتباط باشید و از آخرین اخبار و بروزرسانی‌های پروژه مطلع شوید. همچنین آخرین ویدیوهای آموزشی را از [کانال یوتیوب هیدیفای](https://youtube.com/@hiddify) دنبال کنید. ما را در [اینستاگرام](https://instagram.com/hiddify_com) و [ایکس](https://x.com/hiddify_com) دنبال کنید تا از آخرین اطلاعات این پروژه مطلع شوید. + + 7. **کمک به تولید محتوا، به‌ویژه محتوای ویدیویی** 🎥 + شما می‌توانید با تولید محتوای آموزشی و تبلیغاتی درباره استفاده از هیدیفای، به گسترش آگاهی و جذب کاربران جدید کمک کنید. محتوای ویدیویی، از جمله آموزش نحوه استفاده و نصب هیدیفای و بیان مزایای آن، می‌تواند برای کاربران بسیار مفید باشد. این محتواها می‌توانند در شبکه‌های اجتماعی و پلتفرم‌های اشتراک ویدیو مانند یوتیوب و اینستاگرام منتشر شوند تا به اطلاع‌رسانی بهتر و جذب مخاطب کمک کنند. + + 8. **ارائه بازخورد و گزارش مشکلات** 📝 + با استفاده از اپلیکیشن هیدیفای و ثبت بازخوردهای خود در [ریپوهای هیدیفای](https://github.com/hiddify)، به بهبود عملکرد و شناسایی مشکلات کمک کنید. + +
+ + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..8ea7f95 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,354 @@ +--- +title: Home +hide: + - toc + - feedback + # - navigation + +comments: false +--- + + + + +
+ +

Hiddify Logo + Internet Freedom Solution

+ +

All you need for an unrestricted internet

+ + +
+ + + +
+

Hiddify app Logo

+ + +
+ hiddify next +
+ +
+

Hiddify app Logo

+

Connect to the unrestricted internet easier than ever.

+ +
    +
  • Easy to Use
  • +
  • Ad-Free, Secure and Open-Source
  • +
  • Offers advanced features such as support for IPv6, multiple subscription link types and more +
  • Supports a wide range of proxy protocols including Hysteria2, TUIC, SSH, Reality, VMess, VLESS, Trojan and WebSocket, Quic, gRPC, http-split, httpupgrade, ECH, Sing-box, V2ray, Xray and many more
  • +
+ Read more about the Hiddify and see the source codes + + + + +
+ + + +
+ + +
+

 Hiddify Manager

+ + +
+ hiddify next +
+ +
+

 Hiddify Manager

+

Setup your own personal and dedicated VPN server.

+ + +
    +
  • Effortless Installation
  • +
  • One of the best VPN Servers for Iran, China, Russia, Brazil and the whole world
  • +
  • Multi-Core, Multi-Domain and Unified User Management
  • +
  • Supports a wide range of proxy protocols including Hysteria2, TUIC, SSH, Reality, VMess, VLESS, Trojan and WebSocket, Quic, gRPC, http-split, httpupgrade, ECH, Sing-box, V2ray, Xray and many more
  • +
+ Read more about the HiddifyManager and see the source code + + +
+
+ +
+ +## Why to choose Hiddify? +
+
+ cross platform +

Cross-platform

+

Available on iOS, Android,
Window, Linux and macOS.

+
+ +
+ cross platform +

Secure and Ad-free

+

Open-source, non-commercial,
and security audited.

+
+ +
+ cross platform +

Powerful Features

+

Auto-proxy client
providing a wide range of features,
Supporting more than 30 protocols.

+
+
+
+ + +
+## Measuring Impact +One of the most secure and trusted solutions for using VPN + + +
+ + +
+ +## Frequently Asked Questions + +??? question "How can I make sure that Hiddify is safe?" + To make sure Hiddify is secure, you can take the following steps: + + 1. **Review the Source Code** 🛠️ + Since Hiddify is open-source, you can examine the code directly on [GitHub](https://github.com/hiddify) for any security issues or concerns🔍. Reviewing the code yourself or consulting with a developer you trust is a good practice✅. + + 2. **Check Community Feedback and Contributions** 🌐 + The Hiddify GitHub page and repositories often have contributions, issue reports, and discussions from other developers and users👥. By reading these discussions, you can gain insights into the software’s security and any potential vulnerabilities that may have been addressed or raised by the community🛡️. + + 3. **Use the Latest Version** 🔄 + Ensure you’re using the latest version of Hiddify, as it may include security patches and improvements🔒. You can check the release notes on GitHub to see updates related to security📈. + + 4. **Follow Standard Security Practices** 🔐 + Using Hiddify in a secure environment involves applying good security practices, such as: + - Restricting access 🚫 + - Regularly monitoring activity 📊 + - Keeping both your operating system and Hiddify software up-to-date 🆙 + + 5. **Transparency of Configuration** 🌟 + Hiddify Manager enables users to configure their own servers, providing complete control over proxy settings and data🔄. This transparency ensures that users can maintain secure configurations and modify them as needed🔄. Similarly, the Hiddify app offers users and developers the flexibility to customize and adjust settings, including proxy configurations and connection management, to meet their specific needs📶. Being open-source, the app allows visibility of any modifications or improvements, ensuring that users retain full control over their app experience while safeguarding security and privacy at every stage🔐. + + By following these steps, you can be more confident in Hiddify’s security as a privacy and anti-censorship tool🛡️✨. + + +??? question "Which devices does Hiddify support? " + Hiddify is designed to work across a range of devices and operating systems, covering both server-side and client-side needs🌐: + + 1. **Server-Side Compatibility (Hiddify Manager)** 🖥️ + Hiddify includes a server-side application, called **Hiddify Manager**, which installs on an Ubuntu server. Hiddify Manager can be quickly set up with Cloud-init🚀, making it easy to deploy on popular cloud providers and datacenters🌩️. This server-side application manages configurations and connections for clients, offering a powerful backend for those seeking secure and stable internet access🔐. + + 2. **Client-Side Compatibility (Hiddify App)** 📱 + The Hiddify client-side application, simply called **Hiddify**, is versatile and supports all major operating systems, including: + - **iOS** 📲 + - **Android** 🤖 + - **Windows** 🪟 + - **Linux** 🐧 + - **macOS** 🍏 + + The development team is actively expanding compatibility to support additional device types, such as **routers** 📡 and **32-bit devices** 🧩, to make Hiddify accessible to an even wider audience🔄. + + With this structure, Hiddify provides a comprehensive solution for bypassing internet censorship and filtering, allowing users to set up servers independently and connect across multiple devices🔗, all while expanding accessibility on various platforms. 🌍 + + +??? success "Is Hiddify free, ads-free, and open-source? " + Yes, Hiddify is🌐: + + 1. **Free** 💸 + The Hiddify app is offered for free and has no subscription fees, especially for users worldwide who face internet filtering🌎. It allows users to quickly connect by importing proxies obtained from personal VPN servers (created by Hiddify Manager or any other VPN panel) or free services like Cloudflare WARP without any payment🔗. + Additionally, Hiddify Manager is a free VPN server-building tool designed for non-commercial use⚙️. + + 2. **Ads-Free** 🚫📢 + Both the Hiddify app and Hiddify Manager are ads-free, providing a clean and distraction-free experience for users🧘‍♂️. + + 3. **Open-Source** 🔓 + Hiddify products are fully open-source, with the code available on [GitHub](https://github.com/hiddify). This transparency allows developers to review, contribute to, and customize the code, ensuring security and flexibility🔍. + + These features make Hiddify a reliable and accessible tool for users seeking privacy and internet freedom without any cost or interruptions from ads🌈🔐. + + +??? info "How do I contact Hiddify’s support team? " + To contact Hiddify’s support team, you can use the following channels📞🌐: + + 1. **GitHub Issues** 🐞💻 + For technical support or to report bugs, you can open an issue on the following GitHub repositories: + - **Hiddify application Repository**: [github.com/hiddify/hiddify-app](https://github.com/hiddify/hiddify-app) + - **Hiddify Manager Repository**: [github.com/hiddify/hiddify-manager](https://github.com/hiddify/hiddify-manager) + Opening an issue here allows the development team and the community to assist you directly🤝. + + 2. **Hiddify Website** 🌐 + Visit [hiddify.com](https://hiddify.com) for additional contact information, resources, and documentation📚. The website also provides FAQs and updates to help with common questions🔄. + + 3. **Community Forums/Social Media** 📲 + You can also find support or ask questions in Hiddify’s community channels and social media: + - **Hiddify Telegram Channel**: [https://t.me/hiddify](https://t.me/hiddify) + - **Hiddify Support Group**: [https://t.me/hiddify_board](https://t.me/hiddify_board) + - **Hiddify YouTube Channel**: [youtube.com/@hiddify](https://youtube.com/@hiddify) + - **Hiddify Instagram Page**: [instagram.com/hiddify_com](https://instagram.com/hiddify_com) + - **Hiddify X Account (formerly Twitter)**: [x.com/hiddify_com](https://x.com/hiddify_com) + + These channels offer multiple ways to connect with the Hiddify support team and community members, keeping you informed about the latest updates and providing help when needed📢👥. + + +??? info "How can we support Hiddify?" + + 1. **Financial Support** 💸 + You can support the Hiddify project financially to help with its development and continuation. For more information and to contribute, visit the [Hiddify Financial Support page](https://hiddify.com/fa/donation-and-support/). + + 2. **Starring the Hiddify Project** ⭐ + By starring the Hiddify project, especially the repositories for [Hiddify application](https://github.com/hiddify/hiddify-app) and [Hiddify Manager](https://github.com/hiddify/hiddify-manager), you can help increase the project's visibility and credibility on GitHub. + + 3. **Contributing to Development** 💻 + If you have technical skills, you can contribute to the development of Hiddify. By helping to improve the code, adding new features, or fixing bugs, you can play an active role in the progress of this project. To contribute, simply visit the [Hiddify GitHub](https://github.com/hiddify). + + 4. **Giving a Five-Star Rating and Writing Reviews in Application Stores** 🌟📱 + By giving a five-star rating and writing reviews for the Hiddify app in various app stores, you can help increase its credibility and popularity, bringing it to the attention of more users. You can rate the app through the following links: + - [App Store](https://apps.apple.com/us/app/hiddify-proxy-vpn/id6596777532?platform=iphone) + - [Google Play](https://play.google.com/store/apps/details?id=app.hiddify.com) + - [Microsoft Store](https://apps.microsoft.com/detail/Hiddify/9pdfnl3qv2s5?mode=mini) + + 5. **Sharing and Raising Awareness** 📢 + By sharing Hiddify’s products, especially the Hiddify and Hiddify Manager, on social media and introducing them to people who need anti-censorship tools, you can help spread the project and increase its user base. + + 6. **Joining Social Channels and Groups** 📲 + By joining the [Hiddify Telegram Channel](https://t.me/hiddify) and the [Support Group](https://t.me/hiddify_board), you can connect with other users and stay updated on the latest news and updates about the project. Also, follow the latest educational videos on the [Hiddify YouTube Channel](https://youtube.com/@hiddify). Follow us on [Instagram](https://instagram.com/hiddify_com) and [X](https://x.com/hiddify_com) to stay informed about the latest project updates. + + 7. **Helping with Content Creation, Especially Video Content** 🎥 + You can help spread awareness and attract new users by creating educational and promotional content about Hiddify. Video content, such as tutorials on how to use and install Hiddify and highlighting its benefits, can be highly valuable for users. These videos can be shared on social media platforms and video-sharing sites like YouTube and Instagram to assist in better outreach and engagement. + + 8. **Providing Feedback and Reporting Issues** 📝 + By using the Hiddify app and submitting your feedback on the [Hiddify repos](https://github.com/hiddify), you can help improve the app's functionality and identify any issues. + + +
diff --git a/docs/index2.fa.html b/docs/index2.fa.html new file mode 100644 index 0000000..75be146 --- /dev/null +++ b/docs/index2.fa.html @@ -0,0 +1,662 @@ + + + + + + + + + + + هیدیفای | راهکار آزادی اینترنت + + + + + + +
+ + +
+ +
+
+
+
+

+ هیدیفای +
+ راهکار آزادی اینترنت +

+

+ تمام آنچه برای اینترنت نامحدود نیاز دارید +

+
+ + hero +
+ +
+

+ دو محصولی که با هم کار می کنند +

+ +
+
+
+ +
+ لوگوی Hiddify +
+

+ Hiddify یک برنامه VPN (شبکه خصوصی مجازی) کاربر پسند است که به شما امکان می دهد به سرورهای Hiddify (یا + غیر + Hiddify) خود متصل شوید. برنامه را روی موبایل یا دسکتاپ دانلود کنید و از اینترنت بدون سانسور لذت ببرید. +

+
+
+ right-arrow +
+
+
+
+ +
+ لوگوی Hiddify +
+

+ Hiddify Manager ایجاد VPN خود را آسان می کند که می توانید آن را روی دسکتاپ یا تلفن همراه مدیریت کنید. + آن + را + با گروه های خود، حتی صدها نفر به اشتراک بگذارید. +

+
+
+ right-arrow +
+
+
+
+
+
+ +
+
+ hiddify next +
+ +
+

راحت تر از همیشه به اینترنت متصل شوید

+ hiddify logo + +
    +
  • آسان برای استفاده
  • +
  • + از Hysteria2، TUIC، SSH، Reality، VMess، VLESS و + 20 پروتکل دیگر پشتیبانی می کند. +
  • +
+ + + +
+ + + +
+
+
+ +
+
+ hiddify manager +
+
+

VPN خود را برای گروه خود تنظیم کنید

+ +
+ hiddify logo +

Hiddify Manager

+
+ +
    +
  • نصب بدون زحمت
  • +
  • یکی از بهترین VPN ها برای ایران، چین، روسیه، برزیل و کل جهان
  • +
  • + از Hysteria2، TUIC، SSH، Reality، VMess، VLESS و + 20 پروتکل دیگر پشتیبانی می کند. +
  • +
+ +
+ + + +
+
+
+ +
+ +

چرا هیدیفای را انتخاب کنیم؟

+
+
+ پلتفرم متقابل +

کراس پلتفرم

+

در Android، iOS،
Window، Linux و macOS موجود است

+
+ +
+ پلتفرم متقابل +

ایمن و بدون آگهی

+

منبع باز، غیر تجاری
و امنیتی ممیزی شده است

+
+ +
+ پلتفرم متقابل +

ویژگی های قدرتمند

+

سرویس گیرنده پروکسی خودکار بر اساس sing-box،
پشتیبانی از پروتکل های مختلف

+
+
+
+ +
+
+

اندازه گیری تاثیر

+

یکی از قابل اعتمادترین VPN ها

+
+ +
+
+

۱,۰۰۰,۰۰۰+

+

دانلودهای Hiddify Manager

+
+ +
+

۱,۲۰۰,۰۰۰+

+

دانلود برنامه Hiddify

+
+ +
+

۴.۸ / ۵

+

رتبه‌بندی برنامه Hiddify در Google Play

+
+ +
+

۶۵۰۰+

+

ستاره‌های GitHub

+
+
+
+ +
+

سوالات متداول

+
    +
  • +
    + چگونه می توانم مطمئن شوم که Hiddify ایمن است؟ + + + + + + +
    + +
  • +
  • +
    + چرا باید برای سرویس VPN هزینه کنم؟ + + + + + + +
    + +
  • +
  • +
    + آیا می توانم هنگام سفر به خارج از کشور از Hiddify استفاده + کنم؟ + + + + + + +
    + +
  • +
  • +
    + Hiddify از کدام دستگاه ها پشتیبانی می کند؟ + + + + + + +
    + +
  • +
  • +
    + چگونه با پشتیبانی Hiddify تماس بگیرم؟ + + + + + + +
    + +
  • +
+
+
+
+ + + + +
+
+
+
+
Original text
+
+
+
+
+
Rate this translation
+
Your feedback will be used to help improve Google Translate
+
+
+
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/docs/index2.html b/docs/index2.html new file mode 100644 index 0000000..bee094e --- /dev/null +++ b/docs/index2.html @@ -0,0 +1,597 @@ + + + + + + + + + + + + + Hiddify | Internet Freedom Solution + + + + + +
+ + +
+
+
+
+
+

+ Hiddify, +
+ Internet Freedom Solution +

+

+ All you need for an unrestricted internet +

+
+ + hero +
+
+

+ Two Products That Work Together +

+ +
+
+
+ +
+ Hiddify Logo +
+

+ Hiddify is a user-friendly VPN (virtual private network) app that lets you connect to + your Hiddify (or non-Hiddify) servers. Download the app on mobile or desktop and enjoy + an uncensored internet. +

+
+
+ right-arrow +
+
+
+
+ +
+ Hiddify Logo +
+

+ Hiddify Manager makes it easy to create your own VPN which you can manage on either + desktop or mobile. Share it with your groups, even hundreds of people. +

+
+
+ right-arrow +
+
+
+
+
+
+ +
+
+ hiddify next +
+ +
+

Connect to the internet easier than ever with

+ hiddify logo + +
    +
  • Easy to use
  • +
  • + Supports Hysteria2, TUIC, SSH, Reality, VMess, VLESS, and + 20 more protocols. +
  • +
+ + + +
+ + + +
+
+
+ +
+ hiddify manager +
+

Set up your own VPN for your group with

+ +
+ hiddify logo +

Hiddify Manager

+
+ +
    +
  • Effortless installation
  • +
  • One of the best VPNs for Iran, China, Russia, Brazil and the whole world
  • +
  • + Supports Hysteria2, TUIC, SSH, Reality, VMess, VLESS, and + 20 more protocols. +
  • +
+ +
+ + + +
+
+
+ +
+ +

Why to choose Hiddify?

+
+
+ cross platform +

Cross-platform

+

Available on Android, iOS,
Window, Linux and macOS

+
+ +
+ cross platform +

Secure and Ad-free

+

Open-source, non-commercial,
and security audited

+
+ +
+ cross platform +

Powerful Features

+

Auto-proxy client based on sing-box,
supporting various protocols

+
+
+
+ +
+
+

Measuring Impact

+

One of the most trusted VPNs

+
+ +
+
+

1,000,000+

+

Hiddify Manager downloads

+
+ +
+

1,200,000+

+

Hiddify app downloads

+
+ +
+

4.8 / 5

+

Rating for Hiddify app on Google Play

+
+ +
+

6500+

+

GitHub stars

+
+
+
+ +
+

Frequently Asked Questions

+
    +
  • +
    + How can I make sure that Hiddify is safe? + + + + + + +
    + +
  • +
  • +
    + Why should I pay for a VPN service? + + + + + + +
    + +
  • +
  • +
    + Can I use Hiddify while traveling abroad? + + + + + + +
    + +
  • +
  • +
    + Which devices does Hiddify support? + + + + + + +
    + +
  • +
  • +
    + How do I contact Hiddify’s customer support? + + + + + + +
    + +
  • +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/docs/instagram/fonts/Jura.ttf b/docs/instagram/fonts/Jura.ttf new file mode 100644 index 0000000..6a0aaba Binary files /dev/null and b/docs/instagram/fonts/Jura.ttf differ diff --git a/docs/instagram/img/App_published_on_AppStore.png b/docs/instagram/img/App_published_on_AppStore.png new file mode 100644 index 0000000..290e0a7 Binary files /dev/null and b/docs/instagram/img/App_published_on_AppStore.png differ diff --git a/docs/instagram/img/HiddifyCli.png b/docs/instagram/img/HiddifyCli.png new file mode 100644 index 0000000..7719046 Binary files /dev/null and b/docs/instagram/img/HiddifyCli.png differ diff --git a/docs/instagram/img/HiddifyLogo.jpg b/docs/instagram/img/HiddifyLogo.jpg new file mode 100644 index 0000000..f1b4720 Binary files /dev/null and b/docs/instagram/img/HiddifyLogo.jpg differ diff --git a/docs/instagram/img/Hiddify_2nd_Anniversary.jpg b/docs/instagram/img/Hiddify_2nd_Anniversary.jpg new file mode 100644 index 0000000..71d14fd Binary files /dev/null and b/docs/instagram/img/Hiddify_2nd_Anniversary.jpg differ diff --git a/docs/instagram/img/Tunnel_Strengthening.jpg b/docs/instagram/img/Tunnel_Strengthening.jpg new file mode 100644 index 0000000..7a8571e Binary files /dev/null and b/docs/instagram/img/Tunnel_Strengthening.jpg differ diff --git a/docs/instagram/img/Using_WARP_on_HiddifyApp.jpg b/docs/instagram/img/Using_WARP_on_HiddifyApp.jpg new file mode 100644 index 0000000..bf17f98 Binary files /dev/null and b/docs/instagram/img/Using_WARP_on_HiddifyApp.jpg differ diff --git a/docs/instagram/img/WarpFreeConnection.jpg b/docs/instagram/img/WarpFreeConnection.jpg new file mode 100644 index 0000000..c02f697 Binary files /dev/null and b/docs/instagram/img/WarpFreeConnection.jpg differ diff --git a/docs/instagram/index.fa.md b/docs/instagram/index.fa.md new file mode 100644 index 0000000..9621723 --- /dev/null +++ b/docs/instagram/index.fa.md @@ -0,0 +1,72 @@ +--- +title: اینستاگرام +hide: + - toc + - feedback +comments: false + # - navigation + +no_title_header: true +headless: true +--- + +
+ +
+
+ Profile Picture + +
+
+

هیدیفای، راهکار آزادی اینترنت

+ + صفحه اینستاگرام +
+
+ + +

پست‌های اینستاگرام

+ +
diff --git a/docs/instagram/index.md b/docs/instagram/index.md new file mode 100644 index 0000000..239c3ce --- /dev/null +++ b/docs/instagram/index.md @@ -0,0 +1,66 @@ +--- +title: Instagram +hide: + - toc + - feedback +comments: false + +no_title_header: true +headless: true +--- + + +
+ +
+
+ Profile Picture + +
+
+ +

Hiddify, Internet Freedom Solution

+ Instagram Page +
+
+ +

Instagram Posts

+ +
diff --git a/docs/instagram/styles.css b/docs/instagram/styles.css new file mode 100644 index 0000000..9c2d2c5 --- /dev/null +++ b/docs/instagram/styles.css @@ -0,0 +1,110 @@ +@media screen and (min-width: 76.1875em) {.md-sidebar{display:none;}} + .md-content__button { + display: none; + } +/* Step 2: Load the JURRA Font */ +@font-face { + font-family: 'Jura'; + src: url('fonts/Jura.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + + +.instagram { + max-width: 1200px; + width: 100%; + padding: 20px; + text-align: center; +} + +.instagram .profile-section { + display: flex; + align-items: center; + margin-bottom: 30px; +} + +.instagram .profile-picture img { + width: 150px; + height: 150px; + border-radius: 50%; + margin-right: 20px; +} + +.instagram .profile-info { + text-align: left; +} + +.instagram .profile-info h2 { + font-size: 24px; + margin-bottom: 10px; + font-family: 'JURRA', sans-serif; /* Apply the JURRA font to the title */ +} + +.instagram .bio { + font-size: 16px; + margin-bottom: 5px; + margin-right: 22px; +} + +.instagram .website-link { + color: #3897f0; + text-decoration: none; + font-weight: bold; +} + +.instagram .website-link:hover { + text-decoration: underline; +} + +.instagram h1 { + margin-bottom: 20px; + font-size: 24px; + color: #333; +} + +/* Grid Layout */ +.instagram .grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 15px; +} + +.instagram .post img { + width: 100%; + height: auto; + border-radius: 5px; + transition: transform 0.3s ease-in-out; +} + +.instagram .post:hover img { + transform: scale(1.05); +} + +/* Mobile-specific styling */ +@media (max-width: 480px) { + .instagram { + width: 90%; + padding: 10px; + } + + .instagram .grid { + grid-template-columns: repeat(3, 1fr); + gap: 3px; + } + + .instagram .post img { + width: 100%; + border-radius: 3px; + } + + .instagram .profile-section { + flex-direction: column; + align-items: center; + } + + .instagram .profile-info { + text-align: center; + margin-top: 10px; + } +} diff --git a/docs/manager/basic-concepts-and-troubleshooting/A-good-way-to-find-TLS-trick-values.fa.md b/docs/manager/basic-concepts-and-troubleshooting/A-good-way-to-find-TLS-trick-values.fa.md new file mode 100644 index 0000000..1e5b833 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/A-good-way-to-find-TLS-trick-values.fa.md @@ -0,0 +1,59 @@ +--- +title: یک روش مناسب برای پیدا کردن مقادیر ترفند TLS و نحوه تنظیم آن از سمت هیدیفای‌منیجر و اپ هیدیفای +--- + + +### یک روش مناسب برای پیدا کردن مقادیر ترفند TLS و نحوه تنظیم آن از سمت هیدیفای‌منیجر و اپ هیدیفای + +--- +در ماه‌های اخیر استفاده از TLS Trick یا فرگمنت به کابوسی برای سیستم‌های فیلترینگ و فایروال‌ها در کشورها تبدیل شده است. متاسفانه، طیف وسیعی از این روش‌ها محدود شده‌اند و در حال حاضر تنها روی برخی ISPها (اپراتورها) کارساز هستند. با این حال، می‌توان با استفاده از یک اسکنر، مقادیر سازگار با هر اپراتور را از طریق سرور مجازی (VPS) پیدا کرد. + +--- + +### روش پیدا کردن مقادیر فرگمنت + +برای پیدا کردن مقادیر مناسب فرگمنت، مراحل زیر را دنبال کنید: + +1. **وارد سرور مجازی یا Tremux** خود شوید و دستور زیر را اجرا کنید: + ```bash + bash <(curl -fsSL https://raw.githubusercontent.com/Ptechgithub/FragmentScanner/main/install.sh) + ``` + +2. پس از نصب اسکریپت، سه گزینه به شما نمایش داده می‌شود: + 1. `config to fragment` + 2. `fragment scanner` + 3. `exit` + +3. ابتدا گزینه **1** را انتخاب کنید که از شما درخواست می‌کند کانفیگ مورد نظر خود برای تست را ارسال کنید. + +**نکته مهم:** اسکریپت تنها از پروکسی‌هایی مانند `tls`, `grpc`, `vless/vmess/torjan` پشتیبانی می‌کند. + +4. پس از ارسال کانفیگ، اسکریپت فرمت فرگمنت کانفیگ را به شما نمایش داده و آن را داخل فایل `config.json` ذخیره می‌کند که برای اسکن در مرحله بعدی از آن استفاده کند. + +5. سپس گزینه **2** را انتخاب کرده و به چهار سوال پاسخ دهید تا اسکن آغاز شود: + + - **سوال اول:** تعداد دفعات امتحان مقادیر تصادفی فرگمنت (پیش‌فرض: ۱۰) + - **سوال دوم:** زمان تداوم تست هر مقدار بر حسب ثانیه [Time out] (پیشنهاد: ۴) + - **سوال سوم:** اگر می‌خواهید پورت کانفیگ را تغییر دهید، پورت جدید را وارد کنید و برای استفاده از پورت کانفیگ وارد شده در مرحله ۱، Enter بزنید. + - **سوال چهارم:** تعداد دفعات تست هر مقدار. + +6. پس از پاسخ به این سوالات، اسکن آغاز شده و نتایج به شما نمایش داده می‌شود. مقادیر برتر در بالای لیست قرار دارند. مقادیر ارائه شده شامل نوع پکت، مقدار Interval و Length می‌باشد. + +--- + +### تنظیم مقادیر ترفند TLS در هیدیفای‌منیجر + +اگر مقادیر برتر دارای پکت tlshello هستند، می‌توانید آنها را از سمت هیدیفای‌منیجر تنظیم کنید. در غیر این صورت، باید از طریق کلاینت این تنظیمات را انجام دهید. + +**نکات پیشنهادی:** + +- گزینه TLS Mixed Sni فعال باشد. +- گزینه TLS padding غیرفعال باشد. + +برای تنظیم این موارد، به بخش تنظیمات پنل > ترفند TLS مراجعه کنید. + +--- + +### تنظیم مقادیر در اپلیکیشن هیدیفای + +کافی است وارد برنامه شوید و در بخش تنظیمات، وارد گزینه All config option شوید. سپس به دنبال گزینه `Tls Fregment` بگردید و آن را فعال کنید و مقادیر را تنظیم نمایید. diff --git a/docs/manager/basic-concepts-and-troubleshooting/A-good-way-to-find-TLS-trick-values.md b/docs/manager/basic-concepts-and-troubleshooting/A-good-way-to-find-TLS-trick-values.md new file mode 100644 index 0000000..c68ed6d --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/A-good-way-to-find-TLS-trick-values.md @@ -0,0 +1,59 @@ +--- +title: A Suitable Method for Finding TLS Trick Values and How to Configure Them from HiddifyManager and Hiddify app +--- + +### A Suitable Method for Finding TLS Trick Values and How to Configure Them from HiddifyManager and Hiddify app + +--- + +In recent months, the use of TLS Trick or Fragment has become a nightmare for filtering systems and firewalls in various countries. Unfortunately, many methods have been restricted, and currently, they only work with some ISPs (Internet Service Providers). However, it is possible to find compatible values for each operator using a scanner through a virtual server (VPS). + +--- + +### Finding Fragment Values + +To find suitable fragment values, follow these steps: + +1. **Access your virtual server or Tremux** and run the following command: + ```bash + bash <(curl -fsSL https://raw.githubusercontent.com/Ptechgithub/FragmentScanner/main/install.sh) + ``` + +2. After installing the script, three options will be displayed: + 1. `config to fragment` + 2. `fragment scanner` + 3. `exit` + +3. Select **1** to upload your desired configuration for testing. + +**Important Note:** The script supports only proxies like `tls`, `grpc`, `vless/vmess/torjan`. + +4. After submitting the configuration, the script will display and save the fragment format in `config.json` for use in the next scanning step. + +5. Choose option **2** and answer four questions to start scanning: + + - **Question 1:** Number of random fragment values to test (default: 10). + - **Question 2:** Duration of each test in seconds [Time out] (suggested: 4). + - **Question 3:** If you want to change the config port, enter the new port or press Enter to use the previous port. + - **Question 4:** Number of test iterations per value. + +6. After responding to these questions, the scan will begin, and the results will be displayed. The top values will be listed first. The provided values include packet type, interval, and length. + +--- + +### Configuring TLS Trick Values in Hiddify Manager + +If the top values have `tlshello` packets, you can configure them directly from Hiddify Manager. Otherwise, configurations must be made via the client. + +**Recommended Tips:** + +- Enable TLS Mixed SNI. +- Disable TLS padding. + +To configure these settings, go to the TLS Trick settings section in the panel. + +--- + +### Configuring Values in Hiddify Application + +Simply open the app and navigate to All Config Options in the settings. Then, search for `Tls Fragment`, enable it, and set the values accordingly. diff --git a/docs/manager/basic-concepts-and-troubleshooting/Basic-Concepts.fa.md b/docs/manager/basic-concepts-and-troubleshooting/Basic-Concepts.fa.md new file mode 100644 index 0000000..ec65f95 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/Basic-Concepts.fa.md @@ -0,0 +1,135 @@ +--- +title: مفاهیم پایه +--- + +
+ +# مفاهیم پایه + +از آنجا که ممکن است بعضی از مفاهیم استفاده شده در مطالب این ویکی و همینطور دنیای پروکسی‌ها برای افراد زیادی ناآشنا باشند؛ در این مطلب سعی می‌شود این موارد به زبان ساده توضیح داده شوند. + +## آدرس IP + آدرس IP آدرس منحصر‌به‌فردی است که یک دستگاه را در اینترنت یا شبکه محلی شناسایی می‌کند و از این طریق می‌توان به اینترنت یا شبکه محلی دسترسی داشت. به‌بیان بهتر، آدرس‌های IP شناسه‌‌هایی هستند که اجازه ارسال اطلاعات بین دستگاه‌های موجود در شبکه را صادر می‌کنند؛ زیرا آن‌ها حاوی اطلاعات مکان جغرافیایی دستگاه هستند؛ از‌این‌رو، دستگاه‌ها را برای برقراری ارتباط دردسترس یکدیگر قرار می‌دهند. + +دو ورژن آیپی داریم. یکی آیپی ورژن ۴ و یکی آیپی ورژن ۶ + +### آیپی ورژن ۴ یا IPv4 +آیپی ورژن ۴ شامل بخش است که هر بخش با `نقطه` از هم جدا می‌شوند. مثلا `w.x.y.z` که هر کدام از این ها می‌توانند بین ۰ تا ۲۵۵ باشند. در نهایت یک آیپی ورژن ۴ به این شکل است. + +
+`54.78.11.14` +
+ +### آیپی ورژن ۶ یا IPv6 +این آدرس آیپی ورژن جدید آیپی‌هاست که بر مبنای اعداد hex یا ۱۶ پایه‌گذاری شده است. شامل ۶ بخش است که هر بخش با `:` از هم جدا می‌شود. یک آیپی ورژن ۶ به این شکل است. + +
+`2017:c569:54ed:f141:ec49:0567` +
+در این ورژن از آیپی‌ها بعضی جاها فاکتور گرفته می‌شود. مثلا به آیپی زیر توجه کنید. +
+`2017:c569:0000:0000:0000:0567` +
+در این ورژن می‌توان صفرهای پشت هم را حذف کرد و فاکتور گرفت و در نهایت به این شکل نوشت. +
+`2017:c569::0567` +
+ +
+ +
+ +## HTTP +پروتکل پایه اینترنت است و شالودهٔ ارتباط اطلاعاتی برای وب است که در آن مستندات شامل لینک‌هاو متن‌ها به سایر منابع متصل می‌شوند که کاربر به راحتی می‌تواند به عنوان مثال با یک کلیک یا با تپ بر روی صفحه نمایش در یک مرورگر وب به آن‌ها دسترسی داشته باشد. این پروتکل از یک url یا نشانی وب برای آدرس‌دهی استفاده می‌کند و این آدرس‌ها را دامنه می‌گوییم که در ادامه تعریف می‌شوند. + +پروتکل HTTP از Handshaking به منظور ارسال و دریافت اطلاعات استفاده می‌کند. در این روش برای شروع و پایان عملیات تبادل اطلاعات بین سرور و کلاینت، چندین درخواست و پاسخ رد و بدل می‌شود. تصور کنید که کلاینت (مرورگر) فردی است که قصد دارد اطلاعات مربوط به یک سایت را دریافت کند. در ابتدا باید درخواستی با این هدف به سرور آن سایت ارسال کند. سپس باید صبر کند، تا از طرف سرور پاسخی برای درخواستش دریافت کند. در صورتی که اطلاعات خواسته شده در سرور موجود باشند، پاسخی مبنی بر موافقت ارسال اطلاعات برای شخص ارسال می‌شود. +سپس بار دیگر از طرف کلاینت پیامی مبنی بر درخواست داده‌های اطلاعاتی به سرور فرستاده می‌شود. در این مرحله سرور پیام را دریافت کرده و داده‌های درخواست شده را در بسته‌های اطلاعاتی کوچک‌تری تقسیم می‌کند. در نهایت این بسته‌ها توسط پروتکل Handshaking پشت سر هم و به ترتیب برای شخص ارسال می‌شوند. ارتباط بین کلاینت و سرور در این پروتکل معمولا از طریق پورت ۸۰ انجام می‌شود. + + +## HTTPS +این پروتکل در حقیقت نسخه امنیتی پروتکل HTTP است. به دلیل اینکه اطلاعات و داده‌ها در پروتکل HTTP رمزگذاری نمی‌شوند، به راحتی قابل هک و سو استفاده است. بر این اساس اگر کسی مانند سرویس دهنده اینترنت به مسیر تبادل اطلاعات دسترسی داشته باشد به راحتی می‌تواند اطلاعاتی که در حال رد و بدل شدن هستند را مشاهده کند. اما در HTTPS اطلاعات رد و بدل شده بین وبسایت و کاربر، به صورت رمزنگاری شده منتقل می‌شوند. یعنی حتی اگر کسانی بتوانند به اطلاعات رد و بدل شده در سایت دسترسی پیدا کنند، نمی‌توانند از محتوای آن سو استفاده کنند. زیرا این اطلاعات به صورت رمزنگاری شده هستند و فقط توسط کسی قابل مشاهده خواهند بود که کلید رمزگشایی آن‌ها را داشته باشد. از یکی از دو پروتکل SSL یا TLS برای رمزگذاری ارتباطات استفاده می‌ کند که در ادامه توضیح داده خواهند شد. + +## HTTP Upgarde +Upgarde یک فیلد در HTTP است که ممکن است توسط کلاینت‌ها برای دعوت از یک سرور برای تغییر به یک (یا چندتا) از پروتکل‌های فهرست‌شده، به ترتیب ترجیحی نزولی استفاده شود. بدین صورت کلاینت از سرور درخواست می‌کند به نسخه HTTP را ارتقا دهد که با این کار امنیت ارتباط ارتقا پیدا می‌کند. سرور می تواند به هر دلیلی درخواست را نادیده بگیرد، در این صورت باید به گونه ای پاسخ دهد که گویی هدر ارتقا ارسال نشده است. اگر سرور از این قابلیت پشتیبانی نماید ارتباط HTTP به نسخه بالاتر ارتقا می‌یابد. Upgarde یک فیلد در HTTP است که ممکن است توسط کلاینت‌ها برای دعوت از یک سرور برای تغییر به یک (یا چندتا) از پروتکل‌های فهرست‌شده، به ترتیب ترجیحی نزولی استفاده شود. بدین صورت کلاینت از سرور درخواست می‌کند به نسخه HTTP را ارتقا دهد که با این کار امنیت ارتباط ارتقا پیدا می‌کند. سرور می تواند به هر دلیلی درخواست را نادیده بگیرد، در این صورت باید به گونه ای پاسخ دهد که گویی هدر ارتقا ارسال نشده است. اگر سرور از این قابلیت پشتیبانی نماید ارتباط HTTP به نسخه بالاتر ارتقا می‌یابد. + +## دامنه +به زبان خیلی ساده در تعریف دامنه چیست باید گفت همان آدرسی که در مرورگر خود برای ورود به هر سایتی وارد می‌کنید دامنه است. دامنه‌ها از طریق آیپی به میزبانی وبسایت شما متصل می‌شوند. هر سرور با یک آدرس آیپی در دنیای اینترنت شناخته می‌شود. آدرس آیپی ها از طریق سرویسی به نام DNS یا Domain Name System روی دامنه شما تعریف می‌شوند. + +## SSL +این‌ پروتکل اطلاعات را با استفاده از کلیدهای خصوصی و عمومی رمزنگاری (Encrypt) می‌کند. اطلاعات رمزگذاری شده توسط این پروتکل در سمت دیگر رمزگشایی (Decrypt) می‌ شوند. امنیت در این پروتکل در مبدا و مقصد اطلاعات حفظ می‌شود، یعنی در هر دو طرف، فرایند رمزنگاری و رمزگشایی انجام می‌ گیرد. وب سایت‌ هایی که از این پروتکل جهت رمزگذاری داده‌‌ها استفاده می‌ کنند، معمولا از طریق پروتکل HTTPS با کلاینت‌ها ارتباط برقرار می‌ کنند. برای داشتن یک ارتباط امن در بستر پروتکل HTTPS برای سایت خود، نیاز به تهیه یک گواهی معتبر ssl دارید. در این پروتکل اطلاعات تبادل شده بین سرور و کلاینت رمزگذاری می‌ شوند؛ بر این اساس این اطلاعات توسط شخص سوم قابل مشاهده نخواهند بود. البته همچنان دسترسی به این داده‌‌ها امکان پذیر است، اما با توجه به اینکه آن‌ها رمزگذاری شده اند، برای مشاهده داده‌های آن ها، نیازمند رمزگشایی هستند.رمزگشایی این داده بدون کلید مورد استفاده در نشست (session) ارتباطی امن امکان پذیر نیست. بنابراین، این پروتکل عملاً غیرقابل نفوذ است. + +## TLS +یک پروتکل امنیتی است بر پایه پروتکل SSL ایجاد شده است. TLS نسخه بهبود یافته پروتکل SSL است که اگر چه تفاوت‌‌های خیلی کمی با SSL دارد، اما تقریبا بخش عمده‌ آن یکسان مانده است. البته TLS از الگوریتم رمز نگاری قوی‌تری نسبت به پروتکل SSL استفاده می‌کند و در ایجاد کلید عمومی و احراز هویت کردن پیام ها، TLS امن‌تر و کارامد‌تر از SSL عمل می‌کند. به بیان دقیق‌تر، TLS پروتکلی است که برای رمزگذاری ارتباطات مبتنی بر وب، بین یک کلاینت و یک سرور، با استفاده از مجموعه‌ای از الگوریتم‌های رمزنگاری(uTLS, alpn, allowInsecure)، استفاده می‌شود. +مهم: «شناسایی کاربر بر اساس فیلدهای پیام در طی TLS Handshaking است.» + +با تجزیه و تحلیل ترافیک TLS، فیلترچی می‌تواند حدس بزند که کاربر به کدام وب‌سایت سر می‌زند و اطلاعات سرور(آی‌پی، لوکیشن و...)چیست. +مواردی که باید به‌دقت انجام بدهیم، تا به‌شکل صحیحی از الگوریتم‌های TLS استفاده کنیم و فیلترچی نتواند نام دامنه(SNI) را ببیند. + +uTLS: +استفاده از فینگرپرینت اختصاصی مرورگر. +«برای جلوگیری از تکیه بر یک فینگرپرینت و بروز خطاهای احتمالی، استفاده از چندین اثر انگشت، Randomized، توصیه می‌شود.» + +alpn: +پروتکل گفت‌وگوی بین کلاینت و سرور را از پیش تعیین می‌کند، در نتیجه بارگذاری اطلاعات و رمزگذاری TLS را سرعت می‌بخشد. + +allowInsecure: +مانع استفاده از گواهی‌های جعلی می‌‌شود. + +تنظیماتی که می بایست درباره کانکشن ها در نظر داشت: + +
+ +`uTLS = Randomized, Chrome. Firefox, etc` + +`alpn = H2,HTTP/1.1` + +`allowInsecure = false` + +
+نکته: تنظیمات این ٣ مورد می‌تونه با توجه به نوع کانفیگ و وضعیت اینترنت متفاوت باشه. + +## Xray + +پنل هیدیفای جهت عبور از سیستم فیلترینگ از این پلتفرم استفاده مینماید. در حقیقت هیدیفای توسط Xray توصیه شده است. +این پلتفرم که در سال ۲۰۲۰ معرفی گردید نسخه اصلاح شده و بهتر V2ray معروف است ! با توجه به بروزتر بودن و رفع نواقص V2ray تبدیل به پلتفرم غالب و رایج گردید . در پلتفرم Xray تمامی پروتکل های v2ray به اضافه پروتکل های جدیدتر مانند Vless اضافه گردیده است. + +## Vmess +یکی از اولین پروتکل‌های زیرمجموعه V2ray و Xray بود که بسته‌های اطلاعاتی را بر اساس زمان سیستم رمزگذاری و ارسال می‌کرد که البته این پروتکل به دلیل ضعف‌هایی که در الگوریتم آن وجود دارد، توسط سیستم فیلترینگ قابل شناسایی است و توصیه می‌شود تا جای ممکن استفاده نشود. + +## Vless +پروتکل Vless نسخه اصلاح شده Vmess میباشد ! در Vless تمامی معایب Vmess رفع گردیده و با توجه به تفاوت در رمزنگاری در Vless و سبک تر بودن این امکان را فراهم می نماید تا کاربران بیشتری نسبت به Vmess روی یک سرور داشته باشید + +## Trojan +این پروتکل یک راه ایمن دیگر جهت عبور از سیستم فیلترینگ میباشد Trojan که در سال 2017 معرفی گردید همیشه در کنار Vless یک پروتکل قدرتمند جهت عبور از سیستم فیلترینگ مورد استفاده قرار گرفته است. + +## Reality +REALITY به جای TLS استفاده می‌شود و می‌تواند ویژگی‌های اثرانگشت TLS سرور را از بین ببرد، همچنان محرمانه‌ای رو به جلو داشته باشد، و غیره. +می‌توانید بدون نیاز به خرید نام دامنه یا پیکربندی سرور TLS به وب‌سایت‌های دیگر اشاره کنید، که راحت‌تر است و TLS واقعی کامل مشخص کردن SNI برای واسطه را درک می‌کند. + +جهت امنیت و سرعت بیشتر پیشنهاد ما به شما استفاده از این دو پروتکل Vless و Trojanمی باشد . طبق گزارشات بدست آمده در حال حاضر توصیه میشود از این پروتکل های با حالات زیر استفاده نمایید. + + +
+ +`Reality XTLS` + +`Vless CDN WS` + +`Vless CDN GRPC` + +`Vless CDN WS H2` + +`Vless CDN GRPC H2` + +`Trojan CDN WS` + +`Trojan CDN GRPC` + +`Trojan CDN WS H2` + + +
+ + + +
diff --git a/docs/manager/basic-concepts-and-troubleshooting/Basic-Concepts.md b/docs/manager/basic-concepts-and-troubleshooting/Basic-Concepts.md new file mode 100644 index 0000000..e646a76 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/Basic-Concepts.md @@ -0,0 +1,108 @@ +--- +title: Basic concepts +--- + +
+ +# Basic concepts +Because some of the concepts used in the contents of this wiki and also the world of proxies may be unfamiliar to many people; In this article, we try to explain these things in simple language. + +## IP address + +An IP address is a unique address that identifies a device on the Internet or local network, and through which the Internet or local network can be accessed. In other words, IP addresses are identifiers that allow sending information between devices in the network; because they contain the geographical location information of the device; Hence, they make devices available to each other to communicate. + +We have two IP versions. One IP version 4 and one IP version 6 + +### IP version 4 or IPv4 +IP version 4 consists of sections, each section is separated by a `dot`. For example, w.x.y.z, each of which can be between 0 and 255. Finally, an IP version 4 is like this. `54.78.11.14` + +### IP version 6 or IPv6 +This IP address is the new version of IPs based on hex or 16 numbers. It consists of 6 sections, each section is separated by `:` An IP version 6 is like this. + +`2017:c569:54ed:f141:ec49:0567` +In this version, IPs are reducted in some places. For example, pay attention to the following IP. `2017:c569:0000:0000:0000:0567` +In this version, you can remove the consecutive zeros and take the factor and finally write it like this. `2017:c569::0567` + + +## HTTP +It is the basic protocol of the Internet and is the foundation of information communication for the web, where documents, including links and texts, are connected to other resources that the user can easily access, for example, with a click or a tap on the screen in a web browser. . This protocol uses a url or web address for addressing, and we call these addresses domains, which are defined below. + +The HTTP protocol uses handshaking to send and receive information. In this method, several requests and responses are exchanged between the server and the client to start and end the information exchange operation. Imagine that the client (browser) is a person who intends to receive information about a site. At first, he must send a request to the server of that site. Then he has to wait to receive a response from the server to his request. If the requested information is available on the server, a response will be sent to the person agreeing to send the information. Then again, a message is sent from the client requesting information data to the server. At this stage, the server receives the message and divides the requested data into smaller data packets. Finally, these packets are sent to the person sequentially by the Handshaking protocol. Communication between client and server in this protocol is usually done through port 80. + +## HTTPS + +This protocol is actually the security version of the HTTP protocol. Because information and data are not encrypted in the HTTP protocol, it can be easily hacked and misused. Based on this, if someone like the internet service provider has access to the information exchange route, he can easily see the information that is being exchanged. But in HTTPS, the information exchanged between the website and the user is encrypted. That is, even if someone can access the information exchanged on the site, they cannot use the content on the other side. Because this information is encrypted and can only be seen by someone who has the key to decrypt it. It uses one of two SSL or TLS protocols to encrypt communications, which will be explained later. + +## HTTP Upgrade +Upgarde is a field in HTTP that may be used by clients to request a server to switch to one (or more) of the listed protocols, in descending order of preference. In this way, the client requests the server to upgrade to the HTTP version, which improves the security of the connection. The server can ignore the request for any reason, in which case it MUST respond as if the upgrade header was not sent. If the server supports this feature, the HTTP connection will be upgraded to a higher version. HTTPUpgrade complete a HTTP 1.1 Upgrade request and response before using the connection directly. It is similar to WebSocket in the way it create an direction channel that can be forwarded by many reverse proxies and CDNs, without the need to deal with all the issue around WebSocket Protocol itself. + +## Domain + +In very simple language, in defining what is domain, it should be said that the same address that you enter in your browser to enter any site is the domain. Domains are connected to your website host via IP. Each server is identified by an IP address in the Internet world. IP addresses are defined on your domain through a service called DNS or Domain Name System. + + +## SSL + +This protocol encrypts information using private and public keys. The information encrypted by this protocol is decrypted on the other side. Security in this protocol is maintained at the source and destination of the information, that is, the encryption and decryption process is performed on both sides. Websites that use this protocol to encrypt data usually communicate with clients through the HTTPS protocol. To have a secure HTTPS connection for your site, you need to obtain a valid ssl certificate. In this protocol, the information exchanged between the server and the client is encrypted; Accordingly, this information will not be visible to third parties. Of course, it is still possible to access these data, but due to the fact that they are encrypted, they need to be decrypted to view their data. Decrypting this data is not possible without the key used in the secure communication session. Therefore, this protocol is practically impenetrable. +TLS + +It is a security protocol based on the SSL protocol. TLS is an improved version of the SSL protocol, although it has very few differences with SSL, but most of it remains the same. Of course, TLS uses a stronger encryption algorithm than SSL protocol, and TLS is safer and more efficient than SSL in creating public keys and authenticating messages. More precisely, TLS is a protocol used to encrypt web-based communications between a client and a server, using a set of cryptographic algorithms (uTLS, alpn, allowInsecure). Important: "User identification is based on message fields during TLS handshaking." + +By analyzing TLS traffic, the filter can guess which website the user is visiting and what the server information is (IP, location, etc.). The things we must do carefully, to use TLS algorithms correctly and the filter cannot see the domain name (SNI). + +uTLS: Using the browser's own fingerprint. "To avoid relying on one fingerprint and possible errors, it is recommended to use multiple fingerprints, Randomized." + +alpn: Predetermines the conversation protocol between the client and the server, thereby speeding up data loading and TLS encryption. + +allowInsecure: prevents the use of fake certificates. + +Settings to keep in mind about connections: + +`uTLS = Randomized, Chrome. Firefox, etc` + +`alpn = H2,HTTP/1.1` + +`allowInsecure = false` + +Note: The settings of these 3 items can be different according to the type of configuration and the state of the Internet. + + +## Xray + +Hiddify panel uses this platform to pass the filtering system. In fact, Hiddify is recommended by Xray. This platform, which was introduced in 2020, is a modified and better version of the famous V2ray! Due to being more up-to-date and fixing defects, V2ray became the dominant and common platform. In the Xray platform, all v2ray protocols have been added in addition to newer protocols such as Vless. + +## Vmess +It was one of the first protocols of the V2ray and Xray subcategory, which encodes and sends information packets based on system time, although this protocol can be detected by the filtering system due to weaknesses in its algorithm, and it is recommended not to use it wherever possible. + +## Vless +Vless protocol is a modified version of Vmess! In Vless, all the disadvantages of Vmess have been fixed and due to the difference in encryption in Vless and its lighter weight, it provides the possibility to have more users than vmess on the same server. + + +## Trojan +This protocol is another safe way to pass through the filtering system. The trojan introduced in 2017 has always been used alongside vless, a powerful protocol to pass through the filtering system. + +For more security and speed, we suggest you to use these two protocols, Vless and Trojan. According to the received reports, it is recommended to use these protocols in the following situations + +## Reality +REALITY is used instead of TLS and it can eliminate the TLS fingerprint characteristics of the server, still have forward secrecy, etc. Moreover the certificate chain attack is invalid, and the security exceeds that of conventional TLS. +You can point to other websites without having to buy a domain name or configure a TLS server, which is more convenient and realizes the full real TLS of specifying SNI to the middleman. + +Note: although Hiddify supports all protocols related to Xray, we suggest using more robust protocols such as Reality, Vless and Trojan like these ones. + +`Reality XTLS` + +`Vless CDN WS` + +`Vless CDN GRPC` + +`Vless CDN WS H2` + +`Vless CDN GRPC H2` + +`Trojan CDN WS` + +`Trojan CDN GRPC` + +`Trojan CDN WS H2` + +`Trojan CDN GRPC H2` diff --git a/docs/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication.fa.md b/docs/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication.fa.md new file mode 100644 index 0000000..f00d89e --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication.fa.md @@ -0,0 +1,120 @@ +--- +title: غیرفعال کردن دسترسی با پسورد در SSH +--- + +
+ +# آموزش گام به گام برای غیرفعال کردن رمز عبور SSH + +### گام ۱: اطمینان از تنظیم احراز هویت مبتنی بر کلید +قبل از غیرفعال کردن احراز هویت رمز عبور، اطمینان حاصل کنید که احراز هویت مبتنی بر کلید را پیکربندی و عملی کرده‌اید. اگر احراز هویت رمز عبور را بدون داشتن روش جایگزین برای ورود غیرفعال کنید، ممکن است خودتان را از سرور قفل کنید. + +1. **تولید یک جفت کلید SSH** (اگر قبلاً انجام نداده‌اید): + +
+ +```bash +ssh-keygen -t rsa -b 4096 +``` +
+ + Enter را فشار دهید تا مکان فایل پیش‌فرض را قبول کنید. در صورت تمایل، می‌توانید یک عبارت عبور برای امنیت بیشتر تنظیم کنید. + +2. **کپی کلید عمومی به سرور شما**: +- ویندوز: +
+ +``` +cat $HOME\.ssh\id_rsa.pub | ssh username@your_server_ip 'cat >> ~/.ssh/authorized_keys' +``` +
+ +- لینوکس و مک: + +
+ +```bash +ssh-copy-id username@your_server_ip +``` +
+ + `username` را با نام کاربری واقعی خود و `your_server_ip` را با آدرس IP سرور خود جایگزین کنید. + +3. **آزمایش ورود مبتنی بر کلید**: سعی کنید با استفاده از کلید SSH خود وارد شوید. + +
+ +```bash +ssh username@your_server_ip +``` +
+ + اگر بدون درخواست برای وارد کردن رمز عبور بتوانید وارد شوید، احراز هویت مبتنی بر کلید در حال کار است. + +# هشدار! اگر گام قبلی موفق نبود هرگز گام بعدی را انجام ندهید +### گام ۲: ویرایش فایل پیکربندی SSH + +1. **دسترسی به فایل پیکربندی SSH**: + +
+ +```bash +sudo nano /etc/ssh/sshd_config +``` +
+ + می‌توانید `nano` را با ویرایشگر متنی مورد علاقه خود (مانند `vi` یا `vim`) جایگزین کنید. + +2. **یافتن خط برای احراز هویت رمز عبور**: به دنبال خطی باشید که می‌گوید `PasswordAuthentication`. ممکن است با `#` شروع شده و کامنت شده باشد در این صورت علامت `#` از اول خط حذف شود. + +3. **غیرفعال کردن احراز هویت رمز عبور**: این خط را به + +
+ +```bash +PasswordAuthentication no +``` +
+ تغییر دهید. اگر این خط وجود نداشت، می‌توانید آن را در انتهای فایل اضافه کنید. + +4. **ذخیره و خروج از ویرایشگر**: اگر از `nano` استفاده می‌کنید، می‌توانید با فشار دادن `Ctrl + O` ذخیره کنید و با فشار دادن `Ctrl + X` خارج شوید. + +### گام ۳: راه‌اندازی مجدد سرویس SSH + +پس از ایجاد تغییرات در فایل `sshd_config`، باید سرویس SSH را برای اعمال تغییرات مجدداً راه‌اندازی کنید. + + +
+ +```bash +sudo systemctl restart sshd +``` + +
+ + +### گام ۴: آزمایش پیکربندی + +1. **آزمایش دسترسی SSH**: دوباره سعی کنید از طریق SSH وارد شوید. این بار، سرور نباید اجازه دهد که با رمز عبور وارد شوید. + +
+ +```bash +ssh username@your_server_ip +``` + +
+ + مطمئن شوید که هنوز می‌توانید با استفاده از احراز هویت مبتنی بر کلید وارد شوید. + +2. **اختیاری - آزمایش از یک ماشین دیگر**: اگر امکان‌پذیر است، سعی کنید از یک ماشین دیگر که کلید SSH شما در آن پیکربندی نشده است، SSH کنید. سرور نباید اجازه دهد که با رمز عبور وارد شوید. + +### گام ۵: اقدامات امنیتی اضافی + +- در نظر داشته باشید که پورت SSH را از پورت پیش‌فرض (پورت ۲۲) به یک پورت غیراستاندارد تغییر دهید تا احتمال حملات خودکار کاهش یابد. [بیشتر بخوانید ...](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) +- به طور منظم سرور و نرم‌افزار SSH خود را به‌روزرسانی کنید. +- یک دیواره آتش راه‌اندازی کنید و دسترسی به پورت‌های ضروری را محدود کنید. [بیشتر بخوانید ...](/fa/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel/) +- تلاش‌های ورود را کنترل کنید و سیستم‌های تشخیص نفوذ را تنظیم کنید. + +با دنبال کردن این مراحل، شما باید موفق شده باشید که احراز هویت رمز عبور SSH را غیرفعال کنید و امنیت سرور خود را افزایش دهید. فقط مطمئن شوید که یک روش پشتیبان (مانند احراز هویت مبتنی بر کلید) برای جلوگیری از قفل شدن بیرون از سرور دارید. +
diff --git a/docs/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication.md b/docs/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication.md new file mode 100644 index 0000000..a06a822 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication.md @@ -0,0 +1,83 @@ +--- +title: Disable SSH Password Authentication on SSH +--- + +
+ +# Disable SSH Password Authentication +Disabling SSH password authentication is a good practice for enhancing security, especially on a public-facing server. Here is a step-by-step tutorial on how to disable SSH password authentication. This guide assumes you are using a Linux-based system. + +### Step 1: Ensure You Have Key-Based Authentication Set Up +Before you disable password authentication, make sure you have key-based authentication configured and working. If you disable password authentication without having an alternative way to log in, you could lock yourself out of the server. + +1. **Generate an SSH Key Pair** (if you haven't already): + ```bash + ssh-keygen -t rsa -b 4096 + ``` + Press Enter to accept the default file location. Optionally, you can set a passphrase for additional security. + +2. **Copy the Public Key to Your Server**: + +- Windows: + ```bash + cat $HOME\.ssh\id_rsa.pub | ssh username@your_server_ip 'cat >> ~/.ssh/authorized_keys' + ``` + +- Linux & Mac: + ```bash + ssh-copy-id username@your_server_ip + ``` + + Replace `username` with your actual username and `your_server_ip` with your server's IP address. + +3. **Test Key-Based Login**: Try to log in using your SSH key. + ```bash + ssh username@your_server_ip + ``` + If you can log in without being prompted for a password, key-based authentication is working. + +# Warning! If the last step has error, do not start Step 2 +### Step 2: Edit the SSH Configuration File + +1. **Access the SSH Configuration File**: + ```bash + sudo nano /etc/ssh/sshd_config + ``` + You can replace `nano` with your preferred text editor (like `vi` or `vim`). + +2. **Find the Line for Password Authentication**: Look for a line that says `PasswordAuthentication`. It might be commented out (starting with `#`). + +3. **Disable Password Authentication**: Change this line to + ```bash + PasswordAuthentication no + ``` + If the line is not there, you can add it at the end of the file. + +4. **Save and Exit the Editor**: If you are using `nano`, you can save by pressing `Ctrl + O` and exit by pressing `Ctrl + X`. + +### Step 3: Restart the SSH Service + +After making changes to the `sshd_config` file, you need to restart the SSH service for the changes to take effect. + +```bash +sudo systemctl restart sshd +``` + +### Step 4: Test the Configuration + +1. **Test SSH Access**: Try to log in via SSH again. This time, the server should not allow password authentication. + ```bash + ssh username@your_server_ip + ``` + Ensure that you can still log in using key-based authentication. + +2. **Optional - Test from Another Machine**: If possible, try to SSH from a different machine where your SSH key is not configured. The server should not allow you to log in using a password. + +### Step 5: Additional Security Measures + +- Consider changing the SSH port from the default (port 22) to a non-standard port to reduce the chance of automated attacks. [read more ...](/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server/) +- Regularly update your server and SSH software. +- Set up a firewall and limit access to necessary ports only. [read more ...](/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel/) +- Monitor login attempts and set up intrusion detection systems. + +By following these steps, you should have successfully disabled SSH password authentication, enhancing the security of your server. Just ensure you have a backup method (like key-based authentication) set up to avoid being locked out. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-MUX-works-and-its-usage.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-MUX-works-and-its-usage.fa.md new file mode 100644 index 0000000..439f946 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-MUX-works-and-its-usage.fa.md @@ -0,0 +1,36 @@ +--- +title: کاربرد و نحوه عملکرد MUX +comments: false +--- + +
+ +# کاربرد و نحوه عملکرد MUX + +## MUX چیست؟ +Multiplexing که معمولاً به عنوان MUX شناخته می شود، به عنوان یک جزء حیاتی در پروتکل های VPN (شبکه خصوصی مجازی) عمل می‌کند و امکان انتقال همزمان جریان های داده‌های متعدد را از طریق یک کانال ارتباطی واحد فراهم می کند. در حوزه VPN ها، مالتی‌پلکس نقشی اساسی در بهینه سازی انتقال داده ایفا می‌کند. با تعریف مجموعه‌ای از جریان‌ها برای MUX در پروتکل VPN، جلساتی برای تسهیل عبور همه ترافیک از طریق این جریان‌ها ایجاد می‌شوند. این رویکرد نه تنها فرآیند انتقال را ساده می‌کند، بلکه اقدامات امنیتی را با پنهان کردن الگوهای انتقال افزایش می‌دهد، بنابراین رهگیری یا دستکاری داده ها را برای نهادهای غیرمجاز چالش برانگیزتر می کند. + +## پروتکل‌های MUX +ماکس عموما از ۳ کتابخانه برای مالتی‌پلکس کردن استفاده می‌کند که به ترتیب توضیحات مختصری درباره هر کدام ارائه می‌گردد. + +#### SMUX +Smux (Simple MUltipleXing) یک کتابخانه مالتی پلکسی برای Golang است. برای ارائه قابلیت اطمینان و سفارش، مانند TCP یا KCP، به یک اتصال اساسی متکی است و مالتی پلکسی جریان محور را فراهم می کند. هدف اصلی این کتابخانه قدرت مدیریت اتصال برای kcp-go است. [بیشتر بخوانید](https://github.com/xtaci/smux) + +#### YAMUX +یک کتابخانه دیگر برای Golang است که قابلیت اطمینان‌پذیری و سفارشی‌سازی بالایی دارد و بر مبنای پروتکل TCP است. [بیشتر بخوانید](https://github.com/hashicorp/yamux) +#### H2MUX +در این الگوریتم که برمبنای HTTP2 است، پروتکل مقاوم‌تری برای مالتی‌پکس نمودن ارائه می‌شود که بر روی Golang نسخه 1.6 به بعد کار می‌کند. [بیشتر بخوانید](https://pkg.go.dev/golang.org/x/net/http2) + +## ماکزیمم اتصالات MUX +حداکثر تعداد کانکشنی که هنگام مالتی‌پلکس در استریم‌ها برقرار می‌گردد را تعین می‌کند. +## مینیمم تعداد استریم MUX +هنگامی که مالتی‌پلکس برقرار می‌شود، یک تعداد کانال به مقصد برثرار می‌شود به این کانال‌ها استریم می‌گویند و همه کانکشن‌های TCP از درون این کانال‌ها ارسال می‌گردند. این پارامتر حداقل تعداد استریم را در MUX معین می‌کند. +## ماکزیمم تعداد استریم MUX +این پارامتر حداکثر تعداد استریم را در MUX معین می‌کند. +## MUX Padding +این پارامتر زمانی که فعال می‌شود، کانکشن‌های بدون پد ریجکت می‌شوند. +## MUX Brutal +الگوریتم کنترل ترافیک TCP است که کمک می‌کند در زمانی که نویز روی ترافیک اعمال می‌شود (فیلترینگ)، کاهش سرعت محسوس نباشد. بدین صورت وقتی ترافیک به عنوان مثال تا ۱۰مگابیت بر ثانیه افزایش می‌یابد، موقع ارتباط مجدد، سرعت از صفر شروع نمی‌شود بلکه از ۱۰ مگابیت بر ثانیه آغاز می‌شود و این کمک می‌کند کاهش سرعت بر اثر نویز محسوس نباشد. + + +
diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-MUX-works-and-its-usage.md b/docs/manager/basic-concepts-and-troubleshooting/How-MUX-works-and-its-usage.md new file mode 100644 index 0000000..2c10ac6 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-MUX-works-and-its-usage.md @@ -0,0 +1,39 @@ +--- +title: How MUX works and its usage +--- + +
+ +# How MUX works and its usage +## What is MUX? +Multiplexing, commonly known as MUX, serves as a critical component in VPN (Virtual Private Network) protocols, allowing multiple data streams to be transmitted simultaneously over a single communication channel. In the field of VPNs, multiplexing plays an essential role in optimizing data transmission. By defining a set of flows for the MUX in the VPN protocol, sessions are created to facilitate all traffic passing through these flows. This approach not only simplifies the transmission process, but also enhances security measures by obscuring transmission patterns, thus making it more challenging for unauthorized entities to intercept or manipulate data. + +## MUX protocols +MUX generally uses 3 libraries for multiplexing, which are briefly explained in order: +#### SMUX +Smux (Simple MUltipleXing) is a multiplexing library for Golang. To provide reliability and ordering, like TCP or KCP, it relies on an underlying connection and provides stream-oriented multiplexing. The main purpose of this library is connection management power for kcp-go. [read more](https://github.com/xtaci/smux) + +#### YAMUX +It is another library for Golang that has high reliability and customization and is based on the TCP protocol. [Read more](https://github.com/hashicorp/yamux) +#### H2MUX +In this algorithm, which is based on HTTP2, a more robust protocol for multiplexing is presented, which works on Golang version 1.6 and later. [read more](https://pkg.go.dev/golang.org/x/net/http2) + +## MUX max connections +It determines the maximum number of connections that are established when multiplexing streams. +## MUX min streams +When multiplexing is established, a number of channels are allocated to the destination, these channels are called streams, and all TCP connections are sent through these channels. This parameter determines the minimum number of streams in the MUX. +## MUX max streams +This parameter determines the maximum number of streams in the MUX. +## MUX Padding +When this parameter is enabled, connections without pads will be rejected. +## Brutal MUX +It is a TCP traffic control algorithm that helps reduce the speed when noise is applied to the traffic (filtering). In this way, when the traffic increases, for example, to 10 Mbps, when reconnecting, the speed does not start from zero, but from 10 Mbps, and this helps to not notice the decrease in speed due to noise. + + + + + + + + +
diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-the-TLS-Trick-works-and-its-usage.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-the-TLS-Trick-works-and-its-usage.fa.md new file mode 100644 index 0000000..af8fc78 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-the-TLS-Trick-works-and-its-usage.fa.md @@ -0,0 +1,73 @@ +--- +title: کاربرد و نحوه عملکرد TLS Trick +--- + +
+ +# کاربرد و نحوه عملکرد TLS Trick +## TLS Fragment +در حالت عادی وقتی شما می‌خواهید درخواست باز شدن سایت‌ها و اپ‌ها را به اینترنت ارسال کنید، ممکن است SNI توسط سیستم فیلترینگ تشخیص داده شود. SNI یا نام سرور در حقیقت مقصد اصلی بسته‌های ارسالی است که ما سعی می‌کنیم آن را با پروتکل‌های مختلف از دید سیستم فیلترینگ مخفی نگه داریم. اما خیلی وقت‌ها به دلایل مختلف از جمله استفاده از پروتکل‌های ضعیف SNI قابل تشخیص است. + +حالا فرگمنت بسته‌های ارسالی را تکه تکه میکنه. در این صورت SNI در چند تکه ارسال می‌گردد و این‌گونه توسط سیستم فیلترینگ غیر قابل شناسایی می‌شود. و + +در تصویر زیر می‌بینید که درخواست برای باز شدن سایت `www.bbc.com` است که فیلتر است و اگر این درخواست به صورت عادی ارسال شود احتمالا صفحه مورد نظر توسط سیستم فیلترینگ بلاک می‌گردد و صفحه جعلی برای شما باز می‌شود. + +حالا اگه این درخواست در چند تکه ارسال گردد، می‌تواند این سیستم را دور بزند و پس از عبور از سیستم فیلترینگ، در سرور این تکه‌ها به همدیگر می‌پیوندند. + +
+ +
+ + + + +#### حالت‌های مختلف فرگمنت + +###### پیش‌فرض +فرگمنت بر اساس پیش‌فرضی که در کانفیگ وجود دارد در نظر گرفته می‌شود. + +###### حالت SNI یا دامنه +بسته‌ها را دو تکه می‌کند و سپس ارسال می‌کند. + +###### حالت رندوم یا تصادفی + بسته‌ها را به تکه‌های تصادفی تبدیل می‌کند یعنی بسته‌ها به تکه‌های خیلی ریز تقسیم می‌شوند و سپس ارسال می‌شوند. + + + + +#### طریقه استفاده از فرگمنت در اپلیکیشن‌های HiddifyN و HiddifyNG + +کافیست در تنظیمات اپلیکیشن‌های HiddifyN و HiddifyNG در منوی پیشرفته تنظیم فرگمنت را تعیین نمایید. + + +## اندازه‌ی TLS Fragment +این پارامتر اندازه سایز بسته‌های تکه شده می‌باشد. توصیه می‌شود حداثل یک عدد کمتر از تعداد کاراکترهای دامنه در نظر گرفته شود که همیشه مطمئن شوید که دامنه تکه تکه می‌شود. + +## کنار گذاشتن TLS Fragment +این آپشن فاصله زمانی میان بسته‌ها را تعیین می‌کند. +## TLS Mixed SNI Case + +در این حالت کاراکترهای دامنه به صورت حروف بزرگ کوچک و بزرگ (به صورت رندوم) ارسال می‌گردند. مثلا دامنه `www.bbc.com` به صورت `wWw.bBc.cOM` ارسال می‌گردد و این کار نیز می‌تواند در دور زدن فیلترینگ موثر باشد. + +## TLS Padding +این گزینه به کاراکترهای دامنه مجموعه‌ای از کاراکترهای رندوم اضافه می‌کند و باعث می‌شود که فیلترینگ دور زده شود. + +## سایز TLS Padding +این گزینه سایز بسته‌هایی که به دامنه اضافه می گردند را تعیین می‌کند. + +## تعیین مقادیر TLS trick برای اپلیکیشن هیدیفای +در این اپلیکیشن با توجه به شرایط مختلف اعداد متفاوتی برای هر بخش می‌بایست تعیین نمود اما طبقه تست‌های صورت گرفته اعداد زیر جواب نسبتا مناسبی داده است: +
+ +`TLS Fragment Size : 100-200` + +`TLS Gragment Sleep : 10-20` + +
+ +**دقت شود:** + > بسته به اپراتور ممکن است نیاز باشد پارمترها را تغییر دهید. + > پارامتر TLS fragment و TLS Padding را به صورت همزمان استفاده ننمایید زیرا اثر همدیگر را خنثی می‌کنند. + + +در [این مقاله](/fa/manager/basic-concepts-and-troubleshooting/A-good-way-to%20find-TLS-trick-values/)، یک روش مناسب برای پیدا کردن این مقادیر و تنظیم آن در هیدیفای‌منیجر و اپ هیدیفای معرفی شده است. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-the-TLS-Trick-works-and-its-usage.md b/docs/manager/basic-concepts-and-troubleshooting/How-the-TLS-Trick-works-and-its-usage.md new file mode 100644 index 0000000..bf4c627 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-the-TLS-Trick-works-and-its-usage.md @@ -0,0 +1,67 @@ +--- +title: How the TLS Trick works and its usage +--- + +
+ +# How the TLS Trick works and its usage + +## TLS Fragment +Normally, when you want to send a request to open sites and apps to the Internet, SNI may be detected by the filtering system. SNI or server name is actually the main destination of the sent packets that we try to keep hidden from the filtering system with different protocols. But many times it can be detected for various reasons, including the use of weak SNI protocols. + +Now the fragment breaks the sent packets into pieces. In this case, SNI is sent in several pieces and thus cannot be detected by the filtering system. And + +In the picture below, you can see that the request to open `www.bbc.com` is filtered, and if this request is sent normally, the desired page will probably be blocked by the filtering system and a fake page will be opened for you. + +Now, if this request is sent in several pieces, it can bypass this system and after passing through the filtering system, these pieces will join each other on the server. + +
+ +
+ + +#### Different fragment modes +###### Default +The fragment is considered based on the default in the config. + +###### SNI or domain mode +It splits the packets into two pieces and sends them. + +###### Random mode +It transforms the packets into random chunks,that is, the packets are divided into very small pieces and then sends them. + +#### How to use fragment in HiddifyN and HiddifyNG applications + +Just set the fragment setting in the HiddifyN and HiddifyNG application settings in the advanced menu. + + +## The size of the TLS Fragment +This parameter is the size of the fragmented packets. It is recommended that the length be one less than the number of characters in the domain to always ensure that the domain is fragmented. + +## TLS Fragment Interval +This option determines the time interval between packets. + +## TLS Mixed SNI Case +In this case, domain characters are sent as uppercase, lowercase and uppercase letters (randomly). For example, the domain `www.bbc.com` is sent as `wWw.bBc.cOM` and this can also be effective in bypassing filtering. + +## TLS Padding +This option adds a set of random characters to the domain characters and causes filtering to be bypassed. + +## Size of TLS Padding +This option determines the size of packets to be added to the domain. + +## Determining TLS trick values for HidifyApp +In this application, according to the different conditions, different numbers should be determined for each section, but the following tests have given a relatively good answer: +
+ +`TLS Fragment Size: 100-200` + +`TLS Fragment Sleep: 10-20` + +
+ +**Be careful:** + > Depending on the operator, you may need to change the parameters. + > Do not use the TLS fragment and TLS Padding parameters at the same time because they cancel each other out. + +In [this article](/manager/basic-concepts-and-troubleshooting/A-good-way-to-find-TLS-trick-values/), a suitable method for finding these values and configuring them in Hiddify Manager and the Hiddify app is introduced. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-address-VPS-abuse-issue.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-address-VPS-abuse-issue.fa.md new file mode 100644 index 0000000..5b1cfd3 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-address-VPS-abuse-issue.fa.md @@ -0,0 +1,88 @@ +--- +title: رفع مشکل ایبوز شدن سرورهای مجازی +--- + +ایبوز شدن سرورهای مجازی یکی از مشکلات رایج در حوزه **VPN** و شبکه است که ممکن است باعث مسدود شدن اکانت شما در دیتاسنترها شود. این مقاله به بررسی دلایل این مشکل، راهکارهای بهینه برای مدیریت آی‌پی‌ها و استفاده از اسکریپت **Abuse Defender** برای رفع این مسائل می‌پردازد. + +--- + +### **مشکل استفاده مستقیم از آی‌پی‌ها** +یکی از دلایل اصلی ایبوز شدن، استفاده مستقیم از آی‌پی‌های تمیز کلودفلر یا آی‌پی ورژن ۶ سرور و یا آی‌پی‌های سرورهای میانی متصل به سرور در فیلد "اجبار به استفاده از آی‌پی‌ها" در **هیدیفای‌منیجر** است. + +این روش باعث ارسال یا دریافت ترافیک خروجی به صورت مستقیم و بدون رمزگذاری (encryption) روی آی‌پی‌ها می‌شود که بدون وجود لایه محافظتی HTTP/HTTPS، دیتاسنترها آن را به‌عنوان فعالیت مشکوک شناسایی می‌کنند. + +--- + +### **راه‌حل پیشنهادی برای مدیریت آی‌پی‌ها** + +۱. **استفاده از ساب‌دامین‌ها:** + آی‌پی‌های موردنظر را پشت ساب‌دامین‌های دامنه‌های خود قرار دهید و سپس این ساب‌دامین‌ها را در فیلد "اجبار به استفاده از آی‌پی‌ها" وارد کنید. + +۲. **تنظیمات TLS/SSL:** + تنظیمات صحیح TLS/SSL در کلودفلر می‌تواند به بهبود امنیت و کاهش ایبوزها کمک کند. این تنظیمات باید به درستی انجام شوند. + +--- + +### **استفاده از اسکریپت Abuse Defender** +برای کاهش ریسک‌های امنیتی و جلوگیری از ایبوزهای ناشی از آی‌پی‌های مشکوک، می‌توانید از اسکریپت Abuse Defender استفاده کنید. این اسکریپت به شما امکان می‌دهد قوانین فایروال مناسبی برای مسدودسازی آی‌پی‌های مشکوک اعمال کنید. + +--- + +#### **مرحله اول: نصب اسکریپت** +برای نصب اسکریپت، مراحل زیر را دنبال کنید: + +
+ +```bash +bash <(curl -s https://raw.githubusercontent.com/Kiya6955/Abuse-Defender/main/abuse-defender.sh) +``` + +
+ +--- + +#### **مرحله دوم: اجرای اسکریپت** + +۱. از طریق **SSH** وارد سرور شوید و از هرگونه برنامه دیگر مانند **هیدیفای‌منیجر** خارج شوید. + +۲. به پوشه اصلی سرور بروید: +
+ +```bash +cd / +``` + +
+ +۳. دستور نصب اسکریپت را اجرا کنید: +
+ +```bash +bash <(curl -s https://raw.githubusercontent.com/Kiya6955/Abuse-Defender/main/abuse-defender.sh) +``` + +
+ +۴. پس از نصب، عدد **1** را وارد کنید تا اسکریپت شروع به مسدودسازی رنج آی‌پی‌های مشکوک کند. + +--- + +#### **نکات حین استفاده** + +- **دو اخطار فایروال:** هنگام اجرای اسکریپت، فایروال سرور دو اخطار نمایش می‌دهد. با زدن **Enter** یا انتخاب گزینه **yes**، این مراحل را تأیید کنید. +- **دو سوال اضافی:** در ادامه، دو سوال دیگر مطرح می‌شود که برای هر دو باید **y** وارد کنید. + +--- + +### **ویژگی‌های منوی اسکریپت** + +اسکریپت پس از اتمام عملیات، منویی در اختیار شما قرار می‌دهد که شامل گزینه‌های زیر است: + +- **گزینه ۴:** مشاهده قوانین فایروال اعمال‌شده. +- **گزینه ۳:** مسدودسازی دستی رنج آی‌پی‌ها. +- **گزینه ۵:** حذف کلی قوانین اعمال‌شده توسط اسکریپت. + +--- + +### **نتیجه‌گیری** +با استفاده از این راهکارها، از جمله مدیریت صحیح آی‌پی‌ها و نصب اسکریپت Abuse Defender، می‌توانید امنیت سرورهای خود را افزایش داده و از ایبوزهای ناشی از دیتاسنترها جلوگیری کنید. این اقدامات ساده و موثر، عملکرد و پایداری سرورهای شما را تضمین می‌کند. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-address-VPS-abuse-issue.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-address-VPS-abuse-issue.md new file mode 100644 index 0000000..61ae1bd --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-address-VPS-abuse-issue.md @@ -0,0 +1,80 @@ +--- +title: How to address VPS abuse issue +--- + +### Resolving Abuse Issues on Virtual Servers + +### Preventing Abuse on Virtual Servers Using Advanced Methods + +Abuse on virtual servers is a common issue in the **VPN** and network field, potentially leading to account suspension by datacenters. This article explores the reasons behind this issue and provides optimized solutions, including proper IP management and the use of the **Abuse Defender** script. + +--- + +### **The Problem with Direct IP Usage** +One primary reason for abuse reports is the direct use of Cloudflare clean IPs or IPv6 server IPs or Relay server IPs connected to the main server in the "Force IP Usage" field in the **HiddifyManager**. + +This approach leads to outgoing traffic being sent or received directly and without encryption on the IPs, lacking the protective layer of HTTP/HTTPS. Datacenters often identify such unprotected activity as suspicious, resulting in abuse reports. + +--- + +### **Proposed Solutions for Managing IPs** + +1. **Using Subdomains:** + Place the relevant IPs behind the subdomains of your domain. Then, enter these subdomains in the "Force IP Usage" field. + +2. **Configuring TLS/SSL:** + Properly configured TLS/SSL settings in Cloudflare can enhance security and reduce abuse incidents. Ensure these settings are correctly applied. + +--- + +### **Using the Abuse Defender Script** +To reduce security risks and prevent abuse caused by suspicious IP ranges, you can use the **Abuse Defender** script. This script helps enforce appropriate firewall rules to block unwanted IP ranges. + +--- + +#### **Step 1: Installing the Script** +To install the script, follow these steps: + +```bash +bash <(curl -s https://raw.githubusercontent.com/Kiya6955/Abuse-Defender/main/abuse-defender.sh) +``` + +--- + +#### **Step 2: Running the Script** + +1. Log in to your server via **SSH** and exit any applications like **Hiddify Manager**. + +2. Navigate to the root directory: +```bash +cd / +``` + +3. Run the installation command: +```bash +bash <(curl -s https://raw.githubusercontent.com/Kiya6955/Abuse-Defender/main/abuse-defender.sh) +``` + +4. Once installed, enter **1** to initiate the script, which will start blocking suspicious IP ranges. + +--- + +#### **Important Notes During Usage** + +- **Firewall Warnings:** The firewall will display two warnings during the process. Press **Enter** or select **yes** to confirm them. +- **Additional Questions:** Two additional questions will follow. Answer both by entering **y** to ensure firewall rules are applied correctly. + +--- + +### **Script Menu Features** + +Once the script completes its operation, you’ll see a menu with the following options: + +- **Option 4:** View the applied firewall rules. +- **Option 3:** Manually block a specific IP range. +- **Option 5:** Remove all rules applied by the script. + +--- + +### **Conclusion** +By implementing these solutions, including proper IP management and the installation of the **Abuse Defender** script, you can significantly enhance the security of your virtual servers and prevent abuse reports from datacenters. These straightforward yet effective actions ensure the stability and performance of your servers. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server.fa.md new file mode 100644 index 0000000..31d13eb --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server.fa.md @@ -0,0 +1,99 @@ +--- +title: نحوه تغییر پورت SSH روی سرور +--- + +
+ +# نحوه تغییر پورت SSH روی سرور + +برای تغییر پورت SSH در ابونتو، باید فایل پیکربندی SSH Daemon را تغییر دهید. در اینجا مراحل انجام این کار وجود دارد: + +1. **فایل پیکربندی SSH Daemon را باز کنید:** + فایل پیکربندی SSH daemon یا `sshd_config` را در یک ویرایشگر متن باز کنید. برای ویرایش این فایل معمولاً به سطح دسترسی بالاتری نیاز دارید. می‌توانید از یک ویرایشگر متن خط فرمان مانند `nano` یا `vim` استفاده کنید. مثلا: + +
+ +``` +sudo nano /etc/ssh/sshd_config +``` +
+ +2. **بخش `port` را بیابید:** + به دنبال خطی باشید که با `port` شروع می‌شود. این خط پورتی را مشخص می‌کند که SSH Server به آن گوش می‌دهد. پیش فرض معمولاً `22` است. می‌توانید آن را به هر پورت استفاده نشده تغییر دهید، به عنوان مثال: + +
+ +``` +port 2222 +``` +
+ +3. **ذخیره و خروج:** + تغییرات را ذخیره کرده و از ویرایشگر متن خارج شوید. برای `nano`، معمولاً می‌توانید این کار را با فشار دادن `Ctrl + x`، سپس `Y` برای تأیید تغییرات و در نهایت `Enter` برای خروج انجام دهید. + +4. **سرویس SSH را راه اندازی مجدد کنید:** + پس از اصلاح فایل پیکربندی، باید سرویس SSH را مجددا راه اندازی کنید تا تغییرات اعمال شوند. از دستور زیر استفاده کنید: + +
+ +``` +sudo service ssh restart +``` +
+ + +همچنین، می‌توانید از دستور زیر در نسخه‌های جدیدتر اوبونتو استفاده کنید: + + +
+ +``` +sudo systemctl restart ssh +``` +
+ +5. **تغییرات را تأیید کنید:** +با اجرای دستور زیر می‌توانید چک کنید که SSH اکنون به پورت جدید گوش می‌دهد: + +
+ +``` +netstat -tuln | grep +``` +
+ +`` را با شماره پورتی که در فایل پیکربندی مشخص کرده‌اید، جایگزین کنید. + +6. **به روز رسانی قوانین فایروال با استفاده از `iptables` در لینوکس:** + اگر از `iptables` برای مدیریت فایروال استفاده می کنید، مطمئن شوید که قوانین را به روز کنید تا ترافیک در پورت SSH جدید مجاز باشد. + +
+ +``` +sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT +``` +
+ +`2222` را با پورت SSH جدید خود جایگزین کنید. + +پس از افزودن یک قانون، ممکن است لازم باشد تغییرات را ذخیره کنید تا در طول راه‌اندازی مجدد پایدار بماند. روش ذخیره قوانین بسته به توزیع لینوکس شما می تواند متفاوت باشد. + +برای اوبونتو، می توانید از دستورات iptables-save و iptables-restore استفاده کنید: + +
+ +``` +sudo sh -c 'iptables-save > /etc/iptables/rules.v4' +``` +
+ +این دستور قوانین فعلی iptables را در یک فایل ذخیره می کند و می توانید آنها را با: + +
+ +``` +sudo sh -c 'iptables-restore < /etc/iptables/rules.v4' +``` +
+ +به یاد داشته باشید که تغییر پورت SSH می تواند امنیت را با کاهش قابل پیش بینی آن افزایش دهد، اما همچنین ضروری است که قوانین فایروال خود را به روز کنید و پورت جدید را هنگام اتصال به خاطر بسپارید. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server.md new file mode 100644 index 0000000..6650df5 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server.md @@ -0,0 +1,65 @@ +--- +title: How to change SSH port on your server +--- + +
+ +# How to change SSH port on your server + +To change the SSH port on Ubuntu, you'll need to modify the SSH daemon configuration file. Here are the steps to do this: + +1. **Open the SSH Daemon Configuration File:** + Open the SSH daemon configuration file (`sshd_config`) in a text editor. You will typically need elevated privileges to edit this file. You can use a command-line text editor like `nano` or `vim`. For example: + ```bash + sudo nano /etc/ssh/sshd_config + ``` + +2. **Locate the 'Port' Directive:** + Look for the line that starts with `Port`. This line specifies the port on which the SSH server listens. The default is usually `22`. You can change it to any unused port, for example: + ``` + Port 2222 + ``` + +3. **Save and Exit:** + Save the changes and exit the text editor. For `nano`, you can typically do this by pressing `Ctrl + X`, then `Y` to confirm the changes, and finally `Enter` to exit. + +4. **Restart the SSH Service:** + After modifying the configuration file, you need to restart the SSH service for the changes to take effect. Use the following command: + ```bash + sudo service ssh restart + ``` + + Alternatively, you can use the following command on more recent Ubuntu versions: + ```bash + sudo systemctl restart ssh + ``` + +5. **Verify the Changes:** + You can verify that SSH is now listening on the new port by running: + ```bash + netstat -tuln | grep + ``` + Replace `` with the port number you specified in the configuration file. + +6. **Update Firewall Rules using `iptables` in Linux:** + If you are using `iptables` as firewall manager, make sure to update the rules to allow traffic on the new SSH port. + + ```bash + sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT + + ``` + Replace `2222` with your new SSH port. + + After adding a rule, you may need to save the changes to make them persistent across reboots. The method for saving rules can vary depending on your Linux distribution. + + For Ubuntu, you can use the iptables-save and iptables-restore commands: + ```bash + sudo sh -c 'iptables-save > /etc/iptables/rules.v4' + ``` + This command saves the current iptables rules to a file, and you can restore them with: + + ```bash + sudo sh -c 'iptables-restore < /etc/iptables/rules.v4' + ``` + +Remember that changing the SSH port can enhance security by making it less predictable, but it's also essential to update your firewall rules and remember the new port when connecting. \ No newline at end of file diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks.fa.md new file mode 100644 index 0000000..625fc3a --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks.fa.md @@ -0,0 +1,130 @@ +--- +title: چگونه نشتی DNS را چک کنیم و از آن جلوگیری کنیم +--- + +# چگونه نشتی DNS را چک کنیم و از آن جلوگیری کنیم +یکی از مهمترین مسائل در دنیای اینترنت،بحث امنیت و حفظ حریم خصوصی است. ما روزانه اطلاعات مهمی را از طریق +اینترنت رد و بدل میکنیم و نشت این اطلاعات به بیرون از شبکه، می‌تواند مشکلاتی را به دنبال داشته باشد. در این مقاله ما +قصد داریم درباره دو مورد از این مشکلات یعنی DNS Leakage و WebRTC Leakage بحث کنیم. + +## نشتی DNS یا DNS leakage چیست؟ + +به طور معمول، درخواست‌های شما به سمت سرورهای DNS ارائه‌دهنده سرویس اینترنت (ISP) شما ارسال می‌شود و ISP +ها معمولا درخواست‌ها را به سرورهای عمومی DNS ارسال می‌کنند. اما وقتی به VPN متصل +می‌شوید، این درخواست‌ها به سرورهایی متفاوت با سرورهایISP ارسال می‌شوند. نشت DNS زمانی اتفاق می‌افتد که یک +VPNبه درستی از شما محافظت نکند و درخواست‌هایDNS، سابقه مرور و شاید آدرسIPدستگاه شما را در اختیار دیگران +قرار دهد. + + +## نحوه تست نشتی DNS +وبسایت‌های زیادی برای تست نشتی DNS وجود دارند که می‌توانید از آن‌ها استفاده کنید. در این مقاله ما چند نمونه از آن‌ها را بررسی می‌کنیم. + +### ۱. وبسایت DNSleaktest.com‌ : +به هنگام ورود در صفحه اول [این سایت](https://dnsleaktest.com/) IP شما نمایش داده می‌شود. کمی پایین‌تر از آن، دو گزینه Standard Test و Extended Test وجود دارد. در Standard Test، فقط سرورهای DNS محلی و سرور DNS شرکت اینترنتی شما بررسی می‌شوند اما در Extended Test، علاوه بر سرور DNS شرکت اینترنتی شما و سرور های DNS محلی، به تست کردن سرورهای DNS در سراسر جهان نیز پرداخته می‌شود. در نتیجه، Extended Test به شما کمک می‌کند تا ترافیک DNS خود را در حین استفاده از VPN بهتر بررسی کنید. در تصویر زیر ما بر روی گزینه Extended Test زده تا فرآیند ارزیابی شروع شود. + +![1](https://user-images.githubusercontent.com/125398461/235299493-2a0c4aaf-cd24-4723-b7f6-8ed60845734d.jpg) + + +پس از اتمام ارزیابی چنانچه لیست سرورهای نمایش داده شده در قسمت نتایج، با سرورهای DNS ارائه دهنده سرور مطابقت داشته باشند، نشتی DNS نخواهید داشت. به بیان ساده‌تر اگر لیست سرورهایی که نشان داده می‌شوند، همگی با لوکیشن‌ سرور VPN شما مطابقت داشته باشند، به این معنی است که تمام ترافیک DNS ؤما از طریق سرور DNS شبکه VPN شما عبور کرده و هیچ نشتی DNSی رخ نداده است. در غیر اینصورت شما نشتی DNS دارید. + +در تصویر زیر همانطور که مشاهده می‌کنید لیست سرورهای نمایش داده شده با سرورهای DNS ارائه دهنده سرور و لوکیشن سرور VPN ما مطابقت دارند. پس در نتیجه ما اینجا نشتی DNS نداریم. + +![2](https://user-images.githubusercontent.com/125398461/235299505-d9fb313b-28b5-473a-b211-a1533bd0add5.jpg) + + +### ۲. وبسایت Browserleaks.com +پس از ورود به این وبسایت وارد بخش [DNS Leakage Test](https://browserleaks.com/dns) شده، وبسایت به صورت خودکار شروع به ارزیابی کرده و پس از ارزیابی نتایج آن را نمایش می‌دهد. + +در تصویر زیر نیز مثل سایت قبلی لیست سرورهای نمایش داده شده با سرورهای DNS ارائه دهنده سرور و لوکیشن سرور VPN ما مطابقت دارند. پس در نتیجه ما نشتی DNS نداریم. + + +![3](https://user-images.githubusercontent.com/125398461/235299510-6b7fb769-3c3a-49e9-b28f-ef59f52e72e6.jpg) + + +### ۳. وبسایت ipleak.net +پس از ورود، [این وبسایت](https://ipleak.net) به صورت خودکار شروع به ارزیابی کرده و پس از ارزیابی نتایج آن را نمایش می‌دهد. +در تصویر زیر نیز مثل در سایت قبلی، سرور نمایش داده شده با سرور DNS ارائه دهنده سرور و لوکیشن سرور CPN ما مطابقت دارد. پس در نتیجه نشتی نداریم. + +![4](https://user-images.githubusercontent.com/125398461/235299557-8dac8205-37e8-4a67-bc2e-c6b0ad83b40d.jpg) + + + +### ۴. وبسایت Dnsleaktest.org +پس از ورود به این وبسایت وارد بخش [DNS Leak Test](https://dnsleaktest.org/dns-leak-test) شده تا ارزیابی به صورت خودکار شروع شود. پس از ارزیابی، نتایج آن نمایش داده می‌شود. + +![5](https://user-images.githubusercontent.com/125398461/235299689-1efae131-4ca9-4e49-9b15-6f915695c32c.jpg) + + + +در تصویر زیر برخلاف سایت‌های قبلی علاوه بر سرورهای DNS ارائه دهنده سرور، سرورهایی در لیست وجود دارند که متعلق به سرور VPN ما نمی‌باشند و لوکیشن واقعی ما را نشان می‌دهند؛ پس در نتیجه نشتی DNS داریم. + +> نکته: همواره توصیه می‌شود که برای بررسی نشتی DNS خود از چندین سایت مختلف برای تست استفاده کنید تا از عدم نشتی DNS خود اطمینان حاصل نمایید. + +![6](https://user-images.githubusercontent.com/125398461/235299716-b3d0d789-84be-499c-b03a-b1cd5d2e1c58.jpg) + + +## رفع نشتی DNS +برای رفع نشتی DNS، می‌توانید از روش‌های زیر استفاده کنید: +### ۱. استفاده از DNS سرورهای امن: +بهتر است از DNS سرورهای امن و معتبری مانند Google DNS (8.8.8.8 , 8.8.4.4) و یا Cloudflare DNS (1.1.1.1 , 1.0.0.1) استفاده کنید. شما می‌توانید DNS سرورهای خود را بر روی این DNSها تنظیم کنید. + +### تنظیم DNS در سرور ابونتو + +برای رفع مشکل dns در ابونتو ابتدا باید فایل تنظیمات را ادیت کنید. در ترمینال این کد را اجرا کنید: + +``` +sudo nano /etc/resolv.conf +``` + +ویرایشگر متنی فایل تنظیمات را برای شما باز کرده. باید مقادیر مربوط به nameserver ها را روی dns های معتبر بذارید. همه اطلاعات را پاک‌ کنید این دو خط را اضافه کنید: + +``` +nameserver 8.8.8.8 +nameserver 1.1.1.1 +``` + +برای ذخیره ctrl+s و برای خروج ctrl+x بزنید. +کار تمام است! + +### ۲. تنظیمات DNS در کلاینت: +بررسی کنید که تنظیمات DNS در کلاینت شما به درستی پیکربندی شده باشد و DNS سرورهای معتبری در آن تنظیم شده باشد. + +### ۳. غیرفعال کردن IPv6 : +اگر از IPv6 استفاده نمی‌کنید، می‌توانید آن را در تنظیمات سیستم خود غیر فعال کنید. IPv6 ممکن است باعث DNS leakage شود، بنابراین غیرفعال کردن آن می‌تواند به حل مشکل کمک کند. + +### ۴. استفاده از برنامه‌های جانبی: +شما می‌توانید از برنامه‌های جانبی مانند `DNSCrypt` یا `Simple DNS Crypt` استفاده کنید که به شما اجازه می‌دهند تا DNS خود را از طریق DNS سرورهای امن و رمزگذاری شده به طور خودکار پویش کنید. + + +## پروتکل WebRTC چیست؟ +این کلمه مخفف Web Real Time Communications است و به معنای ارتباط فوری و بلادرنگ است. WebRTC یک پروژه منبع باز است که ارتباطات رسانه‌ای بلادرنگ مانند انتقال صدا، ویدئو و داده‌ها را به طور طبیعی بین مرورگرها و دستگاه‌ها امکان پذیر می‌کند و باعث می‌شود تا از داخل مرورگر وب اصلی خود بدون نیاز به پلاگین‌های پیچیده یا سخت‌افزار اضافی ارتباط برقرار شود. به طور معمول برنامه‌هایی که از WebRTC استفاده می‌کنند مبتنی بر مرورگر هستند. با این حال، برنامه‌های مستقلی مانند Facebook Messenger و Whatsapp وجود دارد که از WebRTC استفاده می‌کنند. + + + +## نشتی WebRTC چیست؟ +- این نشتی نقطه ضعفی در مرورگرهای وب نظیر Chrom, Firefox و edge است که باعث می‌شود علیرغم استفاده از VPN ، امکان افشای آدرس آیپی واقعی شما وجود داشته باشد. وقتی شما با مرورگر به یک وبسایت سر می‌زنید، بین مرورگر و سایت ارتباط برقرار می‌شود و تبادل اطلاعات رخ می‌دهد. حالا در مواردی آن وبسایت با استفاده از این رخنه می‌تواند تونل رمزگذاری شده VPN را دور بزند و به آیپی واقعی شما برسد. +- +## نحوه تست نشتی WebRTC +-وبسایت‌های زیادی برای این تست وجود دارند که برای این کار می‌توانید از آن‌ها استفاده نمایید. در ادامه ما یک نمونه از آن‌ها را بررسی می‌کنیم. + +### وبسایت Browserleaks.com + +پس از ورود به آن وارد بخش[ WebRTC Leak test](https://browserleaks.com/webrtc) شده، وبسایت به صورت خودکار شروع به ارزیابی می‌کند و پس از آن نتایج نمایش داده می‌شود. + +در تصویر زیر می‌بینیم که با وجود استفاده از VPN، آدرس آیپی واقعی تشخیص داده شده است، پس ما نشتی داریم. + +![7](https://user-images.githubusercontent.com/125398461/235300245-57e4be56-22fb-4030-989b-a5a49f77d533.jpg) + + +## رفع نشتی WebRTC + +برای رفع نشتی WebRTC ، در مرورگر خود می‌توانید از روش‌های زیر استفاده کنید: + +### ۱. مرورگر Firefox‌ : +کافیست عبارت `About:config` را در نوار آدرس URL تایپ کنید و اینتر بزنید. سپس در ادامه دکمه `Accept the Risk and Continue` را بزنید. اکنون` media.peerconnection.enabled` را در نوار جستجو تایپ کنید و روی موردی که نمایش داده می‌شود دوباره کلیک کنید تا مقدار آن از `True` به `false` شود. + +### ۲. مرورگر Chrome و Edge : +در این مرورگرها کافیست افزونه [`WebRTC Leak Prevent`](https://chrome.google.com/webstore/detail/webrtc-leak-prevent/eiadekoaikejlgdbkbdfeijglgfdalml?hl=en) استفاده کنید. پس از نصب تنظیمات `IP handling policy` را بر روی `Disbale non-proxied UPD` بگذارید. + +### ۳. مرورگر Safari : +اگر از Safari استفاده می‌کنید، می‌توانید WebRTC را در منوی `Preferences` غیر فعال کنید. هنگامی که وارد آن شدید، به تب `Advanced` در پایین بروید و تیک گزینه `Show Desktop menu in bar menu` را بزنید. پس از آن روی `Develop` کلیک کرده و `Experimental Features` را انتخاب کنید. گزینه `Remove Lagacy WebRTC API` را پیدا کنید و روی آن کلیک کنید تا WebRTC غیرفعال شود. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks.md new file mode 100644 index 0000000..8c4b14a --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks.md @@ -0,0 +1,130 @@ +--- +title: How to check and prevent DNS leaks +--- + +# How to check and prevent DNS leaks +One of the most important issues in the Internet world is security and privacy. We daily provide important information through +We exchange information on the Internet, and the leakage of this information outside the network can cause problems. In this article we +We are going to discuss two of these problems namely DNS Leakage and WebRTC Leakage. + +## What is DNS leakage? + +Normally, your requests are directed to the DNS servers of your Internet Service Provider (ISP), and the ISP +usually send requests to public DNS servers. But when connected to VPN +Yes, these requests are sent to different servers than the ISP servers. A DNS leak occurs when a +A VPN doesn't protect you properly and exposes your DNS requests, browsing history, and perhaps your device's IP address to others +put + + +## How to test DNS leak +There are many DNS leak testing websites that you can use. In this article, we examine some examples of them. + +### 1. DNSleaktest.com website: +Your IP will be displayed on the first page of [this site](https://dnsleaktest.com/) when you log in. A little below that, there are two options Standard Test and Extended Test. In the Standard Test, only the local DNS servers and the DNS server of your Internet company are checked, but in the Extended Test, in addition to the DNS server of your Internet company and local DNS servers, DNS servers around the world are also tested. As a result, Extended Test helps you better examine your DNS traffic while using a VPN. In the image below, we click on the Extended Test option to start the evaluation process. + +![1](https://user-images.githubusercontent.com/125398461/235299493-2a0c4aaf-cd24-4723-b7f6-8ed60845734d.jpg) + + +After the evaluation is complete, if the list of servers displayed in the results section matches the DNS servers of the server provider, you will not have a DNS leak. In simpler terms, if the list of servers shown all match the location of your VPN server, it means that all DNS traffic has passed through your VPN's DNS server and no DNS leaks have occurred. Otherwise you have a DNS leak. + +In the image below, as you can see, the list of servers displayed corresponds to the DNS servers of the server provider and the location of our VPN server. So as a result we don't have a DNS leak here. + +![2](https://user-images.githubusercontent.com/125398461/235299505-d9fb313b-28b5-473a-b211-a1533bd0add5.jpg) + + +### 2. Browserleaks.com website +After entering the [DNS Leakage Test](https://browserleaks.com/dns) section, the website will automatically start evaluating and display the results after the evaluation. + +In the image below, like the previous site, the list of servers displayed corresponds to the DNS servers of the server provider and the location of our VPN server. So as a result we don't have DNS leak. + + +![3](https://user-images.githubusercontent.com/125398461/235299510-6b7fb769-3c3a-49e9-b28f-ef59f52e72e6.jpg) + + +### 3. ipleak.net website +After logging in, [this website](https://ipleak.net) will automatically start the evaluation and display the results after the evaluation. +In the image below, as in the previous site, the displayed server corresponds to the DNS server of the server provider and the location of our CPN server. So, as a result, we do not have a leak. + +![4](https://user-images.githubusercontent.com/125398461/235299557-8dac8205-37e8-4a67-bc2e-c6b0ad83b40d.jpg) + + + +### 4. Dnsleaktest.org website +After entering this website, enter the [DNS Leak Test](https://dnsleaktest.org/dns-leak-test) section to start the evaluation automatically. After evaluation, its results are displayed. + +![5](https://user-images.githubusercontent.com/125398461/235299689-1efae131-4ca9-4e49-9b15-6f915695c32c.jpg) + + + +In the following image, unlike the previous sites, in addition to the DNS servers of the server provider, there are servers in the list that do not belong to our VPN server and show our real location; So as a result we have a DNS leak. + +> Note: It is always recommended to use several different test sites to check your DNS leak to make sure your DNS is not leaking. + +(6) + + +## DNS leak fix +To fix the DNS leak, you can use the following methods: +### 1. Using secure DNS servers: +It is better to use secure and reliable DNS servers such as Google DNS (8.8.8.8, 8.8.4.4) or Cloudflare DNS (1.1.1.1, 1.0.0.1). You can set your DNS servers on these DNSs. + +### Setting DNS on Ubuntu server + +To fix the dns problem in Ubuntu, you must first edit the settings file. Run this code in the terminal: + +``` +sudo nano /etc/resolv.conf +``` + +The text editor opens the settings file for you. You must put the values of the nameservers on the valid dns. Clear all information Add these two lines: + +``` +nameserver 8.8.8.8 +nameserver 1.1.1.1 +``` + +Press ctrl+s to save and ctrl+x to exit. +The work is done! + +### 2. DNS settings in the client: +Check that the DNS settings in your client are configured correctly and valid DNS servers are set in it. + +### Disable IPv6: +If you do not use IPV6, you can disable it in your system settings. IPV6 may cause DNS Leakage, so disabling it can help solve the problem. + +### 4. Using 3rd party programs: +You can use 3rd party applications such as DNSCryptop or `Simple DNS Crypt 'Simple, allowing you to automatically scan your DNS via DNS safe and encrypted servers. + + +## What is the Webrtc Protocol? +The word stands for web real time communations and means immediate and real-time communication. Webrtc is an open source project that enables real-time media communication such as sound transmission, video and data naturally between browsers and devices, making it possible to communicate from its main web browser without the need for sophisticated plugins or additional hardware. Typically, applications that use WebRTC are browser -based. However, there are independent applications like Facebook Messenger and WhatsApp that use Webrtc. + + + +## What is a Webrtc leak? +- This leakage is a weak point in web browsers such as Chrom, Firefox and Edge, which makes it possible to disclose your actual IP address despite the use of VPN. When you go to a website with a browser, the browser and the site communicate and information exchange occurs. Now, in some cases, that website can bypass the encrypted VPN tunnel and reach your real IP. + +## How webrtc leak test +-There are many sites for this test that you can use. Below we will examine an example of them. + +### Browserleaks.com + +After logging in to [Webrtc Leak Test](https://browserleaks.com/webrtc), the website will automatically evaluate and then show the results. + +In the picture below, we see that despite the use of VPN, the real IP address is recognized, so we have a leak. + +![7](https://user-images.githubusercontent.com/125398461/235300245-57e4be56-22fb-4030-989b-a5a49f77d533.jpg) + + +## Fix Webrtc leak + +You can use the following methods in your browser to fix the Webrtc leakage in your browser: + +### 1. Firefox browser: +Just type the word `about: config` in the URL address bar and hit Inter. Then click on `Accept the Risk and Continue` button. Now type `media.peerconnection.enabled` in the search bar and click on the item displayed again to make it `False`. + +### 2. Chrome and Edge browser: +In these browsers, simply use the plugin [`Webrtc Leak Prevent`](https://chrome.google.com/webstore/detail/weak-leak-prevent/eiadekoaikejlgdbkbdFeijlgfdalmlml=en). After installing put `IP Handling Policy` settings on `Disbale non-prxied upd`. + +### 3. Safari browser: +If you are using Safari, you can disable Webrtc in the Preferences menu. When you enter it, go to the `Advanced` tab at the bottom and tick `Show Desktop Menu in Bar Menu`. Then click `Develop` and select `Experimental Features`. Find the `Remove Lagacy WebRTC API` option and click it to disable Webrtc. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-TimeZone-leaks.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-TimeZone-leaks.fa.md new file mode 100644 index 0000000..9a94847 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-TimeZone-leaks.fa.md @@ -0,0 +1,44 @@ +# نشتی تایم زون +نشتی تایم زون زمانی اتفاق می افتد که زمان به دست آمده از مرورگر با زمان ناحیه جغرافیایی فیلترشکن شما متفاوت باشد. + + +## روش تست نشتی تایم زون +با استفاده از سایت [webbrowsertools.com](https://webbrowsertools.com/timezone/) میتوان نشتی تایم زون را بررسی کرد. این سایت با استفاده از شش روش مختلف نتیجه را بررسی میکند. مورد آخر (aggressive) توانایی خوبی در شناخت دقیق تایم زون مرورگر دارد. + +همانطور که در تصویر زیر مشاهده می کنید، بدون استفاده از افزونه، با اجرای یک کد ساده جاوااسکریپت توسط سایت، تایم زون ایران برای سایت قابل تشخیص است و تفاوت با تایم زون فیلترشکن موجب لو رفتن شما خواهد شد. + +![timezone](https://github.com/user-attachments/assets/88378f24-af83-4b20-856a-29aff955219b) + + +روش بعدی استفاده از کنسول خود مرورگر می باشد. با استفاده از تیکه کد زیر در کنسول میتوانید تایم زون مرورگر خود را پیدا کنید. +``` +console.log(Intl.DateTimeFormat().resolvedOptions().timeZone); +``` +![timezone2](https://github.com/user-attachments/assets/50cb908f-1007-4e3e-8a0b-6b506f744302) + + +## جلوگیری از نشتی تایم زون +برای جلوگیری از نشتی تایم زون دو روش پیشنهاد میشود. +### 1- استفاده از افزونه No Script +با استفاده از این افزونه در [مرورگر کروم](https://chromewebstore.google.com/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm) و [مرورگر فایرفاکس](https://addons.mozilla.org/addon/noscript/) دیگر اجازه اجرای کدهای جاوااسکریپت در مرورگر به سایتها داده نمی شود. با جلوگیری از اجرای کد جاوااسکریپت دیگر سایت قادر به استخراج تایم زون شما نخواهد بود. + +![timezone3](https://github.com/user-attachments/assets/9b2aeec9-8c40-4106-b9af-2da6195701e1) + + +استفاده از این افزونه معایبی نیز به همراه دارد. در بعضی سایتها امکان دارد تمامی امکانات سایت نمایش داده نشود. لذا از این افزونه با علم به این موضوع استفاده شود. + +### 2- استفاده از افزونه Spoof Timezone +با استفاده از این افزونه در [مروگر کروم](https://chromewebstore.google.com/detail/spoof-timezone/kcabmhnajflfolhelachlflngdbfhboe?hl=en) و [مرورگر فایرفاکس](https://addons.mozilla.org/en-US/firefox/addon/spoof-timezone/) می توانید نشتی تایم زون را تا حد خوبی کاهش بدهید. استفاده از این افزونه به دو حالت است. +* حالت اول: ساعت صفر گرینویچ + در صورتی که تغییراتی در تنظیمات این افزونه ندهید، این افزونه ساعت صفر گرینویچ را به عنوان ساعت سیستم برمیگرداند. +* حالت دوم: ساعت سیستم مطابق با آیپی فیلترشکن +برای تنظیم این حالت ابتدا بر روی افزونه راست کلیک کنید و از منوی باز شده بر روی Options کلیک کنید. سپس تیک گزینه Automatically update timezone based on my IP address را فعال کنید. برای اعمال شدن تغییرات بر روی افزونه راست کلیک کرده و گزینه Update Timezone from IP را انتخاب کنید تا تایم زون منطبق بر آیپی شما قرار گیرد. هر بار که سرور فیلترشکن را عوض کردید باید مرحله آخر یعنی آپدیت تایم زون بر اساس آیپی را طی کنید. + +![timezone4](https://github.com/user-attachments/assets/3cffd23f-eaa6-498d-8389-4bf25bc64915) + + +این نکته را به خاطر داشته باشید که سایت معرفی شده از شش روش مختلف برای به دست آوردن تایم زون مرورگر استفاده میکند. روش ششم روش سختگیرانه ای برای به دست آوردن تایم زون است. همانطور که در عکس زیر مشاهده میکنید، علیرغم استفاده از افزونه Spoof Timezone باز هم منطقه زمانی شما لو رفته است. +اما افزونه NoScript به طور کامل این قابلیت را غیر فعال میکند. + +![timezone5](https://github.com/user-attachments/assets/81df96a1-3418-4d10-8b18-3c6a095b3dc9) + diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-TimeZone-leaks.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-TimeZone-leaks.md new file mode 100644 index 0000000..e4335d6 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-TimeZone-leaks.md @@ -0,0 +1,40 @@ +# Time Zone Leak + +A time zone leak occurs when the time obtained from the browser differs from the time zone of your VPN. + +## How to Test for a Time Zone Leak +You can check for time zone leaks using the website [webbrowsertools.com](https://webbrowsertools.com/timezone/). This site uses six different methods to assess the time zone. The last method (aggressive) is particularly effective in accurately identifying the browser's time zone. + +As shown in the image below, without using an extension, a simple JavaScript code run by the site can detect the Iran time zone, which can expose you if it differs from your VPN's time zone. + +![timezone](https://github.com/user-attachments/assets/d9eee13e-b903-4977-ba05-e8707671f2dd) + +Another method is using the browser's console. You can find your browser's time zone with the following code snippet in the console: +``` +console.log(Intl.DateTimeFormat().resolvedOptions().timeZone); +``` +![timezone2](https://github.com/user-attachments/assets/61a3c169-32f0-47e9-b468-c37e1e1d4a4a) + +## Preventing Time Zone Leaks +To prevent time zone leaks, two methods are recommended. + +### 1. Using the NoScript Extension +With this extension in [Chrome](https://chromewebstore.google.com/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm) and [Firefox](https://addons.mozilla.org/addon/noscript/), JavaScript code execution in the browser is blocked, preventing websites from accessing your time zone. + +![timezone3](https://github.com/user-attachments/assets/2238af19-619d-42ad-a7dc-b6bb7a07e0dd) + +However, using this extension can have some drawbacks. Some sites may not display all their features properly, so use this extension with that in mind. + +### 2. Using the Spoof Timezone Extension +With this extension in [Chrome](https://chromewebstore.google.com/detail/spoof-timezone/kcabmhnajflfolhelachlflngdbfhboe?hl=en) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/spoof-timezone/), you can reduce time zone leaks effectively. There are two modes for using this extension: +- **Mode 1: Greenwich Mean Time (GMT)** + If you don't change the extension settings, it will default to GMT as the system time. +- **Mode 2: System Time Matching VPN IP** + To set this mode, right-click on the extension, select *Options* from the menu, and check the box for *Automatically update timezone based on my IP address*. To apply the changes, right-click on the extension and select *Update Timezone from IP* to match the VPN's IP. Every time you switch VPN servers, you’ll need to repeat this last step to update the time zone according to the new IP. + +![timezone4](https://github.com/user-attachments/assets/dce0eaef-40a3-4079-92f4-4067ea2bbce9) + + +Note that the mentioned website uses six methods to retrieve the browser's time zone. The sixth method is particularly strict. As shown in the image below, even when using the Spoof Timezone extension, your time zone may still be revealed. However, the NoScript extension completely disables this capability. + +![timezone5](https://github.com/user-attachments/assets/f168398e-5073-4ec3-9994-a83bf53b7cb7) diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-disable-IP-version-6-on-Hiddify.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-disable-IP-version-6-on-Hiddify.fa.md new file mode 100644 index 0000000..b03db6b --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-disable-IP-version-6-on-Hiddify.fa.md @@ -0,0 +1,64 @@ +--- +title: آموزش غیرفعال‌سازی آیپی ورژن ۶ در هیدیفای‌منیجر +--- + +
+ +# آموزش خاموش کردن آیپی ورژن ۶ در هیدیفای + +آیپی ورژن ۶ ساختار جدید آیپی‌هاست که بعد از آیپی ورژن ۴ معرفی گردید. این ساختار ۶۴ بیتی است و شامل ۶ بخش ۴ کاراکتری hex می‌باشد. Hex بر مبنای اعداد ۱۶ می‌باشد. + +ساختار آن به شکل زیر است: + +
+ +`1ec2:5b7a:9fab:cdef:cfab:5a7c` +
+ +به دلیل اینکه آیپی ورژن ۶ رنج وسیعی دارد، فیلتر کردن آن خیلی سخت‌تر از آیپی ورژن ۴ است. +اما گاهی اوقات علیرغم مزایای آیپی ورژن ۶ نیاز است این ورژن از آیپی را خاموش کنید. مثلا خطای سرچ گوگل (خطای ۴۰۳) با خاموش شدن آیپی ورژن ۶ حل می‌شود. برای این مورد دو راه کار وجود دارد. + +## خاموش کردن آیپی ورژن ۶ در پنل +کافیست در تنظیمات پنل وارد تنظیمات عمومی شوید و گزینه `فقط آی‌پی ورژن ۴ ` را فعال کنید. + +
+ + +
+ +## خاموش کردن آیپی ورژن ۶ از طریق SSH +* در صورتی که به هر دلیل نیاز بود از طریق SSH آیپی ورژن ۶ را خاموش کنید، [به سرور خود SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/)، و با `ctrl+c` از منوی هیدیفای خارج شوید. + +* با ویرایشگر متنی nano فایل تنظیمات سیستم را باز کنید. + +
+ +``` +sudo nano /etc/sysctl.conf +``` +
+ +* در انتهای فایل باز شده سه خط زیر را قرار دهید. + + +
+ +``` +net.ipv6.conf.all.disable_ipv6=1 +net.ipv6.conf.default.disable_ipv6=1 +net.ipv6.conf.lo.disable_ipv6=1 +``` +
+ +* با `ctrl+s` فایل را ذخیره نمایید و برای خروج `ctrl+x` را بزنید. + +* در آخر با کامند زیر فایل تنظیمات را ریست نمایید. + +
+ +``` +sudo sysctl -p +``` +
+ +* با این کار آیپی ورژن ۶ روی سرور شما خاموش می‌شود و سرور فقط با آیپی ورژن ۴ کار می‌کند. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-disable-IP-version-6-on-Hiddify.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-disable-IP-version-6-on-Hiddify.md new file mode 100644 index 0000000..5388cf0 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-disable-IP-version-6-on-Hiddify.md @@ -0,0 +1,46 @@ +--- +title: How to disable IP version 6 on HiddifyManager +--- + +
+ +# How to disable IP version 6 on Hiddify +IP version 6 is a new IP structure that was introduced after IP version 4. This structure is 64 bits and contains 6 sections of 4 hex characters. Hex is based on 16 numbers. + +Its structure is as follows: + +`1ec2:5b7a:9fab:cdef:cfab:5a7c` + +Because IP version 6 has a wide range, it is much harder to filter than IP version 4. But sometimes, despite the advantages of IP version 6, it is necessary to turn off this version of IP. For example, the Google search error (403 error) is solved by turning off IP version 6. There are two ways to do this. + +## How to disable IP version 6 on Hiddify +Just enter the general settings in the panel settings and activate the `IP version 4 only` option. + +
+ + +
+ +## How to disable IP version 6 via SSH +* If for any reason you need to turn off IP version 6 via SSH, [connect to your server via SSH](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/), and exit the Hiddify menu with `ctrl+c`. + +* Open the system settings file with nano text editor. + +``` +sudo nano /etc/sysctl.conf +``` +* At the end of the opened file, put the following three lines. + +``` +net.ipv6.conf.all.disable_ipv6=1 +net.ipv6.conf.default.disable_ipv6=1 +net.ipv6.conf.lo.disable_ipv6=1 +``` + +* Save the file with `ctrl+s` and press `ctrl+x` to exit. +* Finally, reset the settings file with the command below. + +``` +sudo sysctl -p +``` +* By doing this, IP version 6 will be turned off on your server and the server will only work with IP version 4. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-do-speed-test-on-server.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-do-speed-test-on-server.fa.md new file mode 100644 index 0000000..82ee0e1 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-do-speed-test-on-server.fa.md @@ -0,0 +1,119 @@ +--- +title: آموزش تست سرعت روی سرور +--- + +
+ +# آموزش تست سرعت روی سرور + +در برخی از موارد برای بررسی دقیق‌تر شرایط و عیب‌یابی بهتر از نحوه‌ی عملکرد و پهنای باند (خصوصا در سرورهای ایران) نیاز به انجام تست سرعت بر روی سرور وجود دارد. با توجه به اینکه سرورهایی که ارائه می‌شود به صورت پیش‌فرض فاقد رابط کاربری گرافیکی‌ (GUI) است، کاربران دسترسی به مرورگر برای انجام این تست را نداشته و عملا از میزان دانلود و آپلود سرور خود اطلاعی ندارند، پس در این شرایط با چه روشهایی می‌توان از پایداری پورت ارتباطی و وضعیت پهنای باند آگاهی پیدا کرد؟ +در این مطلب قصد داریم نحوه‌ی انجام تست سرعت در سیستم عامل لینوکس را آموزش دهیم. + +## روش اول: نصب و انجام تست از طریق اسکریپت speedtest +* برای شروع ابتدا [به سرور خود SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/)، سپس با استفاده از کلیدهای ترکیبی `ctrl+c` و یا انتخاب دکمه‌ی `Cancel` از منوی هیدیفای خارج شده تا به ترمینال (محیط خط دستوری) سرور خود دسترسی داشته باشید. + +> در صورتی که پس از انجام مراحل قبلی همچنان منوی هیدیفای به شما نمایش داده می‌شود، عبارت `clear` را تایپ کرده و اینتر بزنید. + +> لازم به ذکر است در صورتی که در گذشته اسکریپت قدیمی `speedtest-cli` را بر روی سرور خود نصب کرده اید، ابتدا از طریق دستور زیر اقدام به حذف آن کنید (در غیر اینصورت به مرحله‌ی بعد بروید). + +
+ +``` +sudo apt-get remove speedtest-cli +``` +
+ +- برای نصب دستورات زیر را اجرا نمایید تا برنامه `speedtest` دانلود و نصب شود. + +
+ +``` +sudo apt-get install curl +curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash +sudo apt-get install speedtest +``` + +
+ +* پس از نصب موفقیت آمیز، دستور زیر را وارد کنید. + +
+ +``` +speedtest +``` +
+ +* هنگامی که برای اولین بار برنامه را اجرا می‌کنید، شرایط و قوانین استفاده و همچنین داده‌هایی که توسط وب‌سایت `Speedtest` جمع‌آوری می‌شود در قالب دو پیام ظاهر شده که برای هر کدام می‌بایست عبارت `yes` به منزله‌ی تایید را وارد و اینتر کنید. + +
+ +![photo_2023-06-06_20-01-59](https://github.com/hiddify/hiddify-config/assets/125398461/b897f426-e9d6-4f26-b9fb-9e46f6def820) + + +![photo_2023-06-06_20-01-59](https://github.com/hiddify/hiddify-config/assets/125398461/bab3a3d4-a0c3-478e-8daf-4f3491d44c8b) + +
+ +* پس از آن مشاهده می‌کنید که تست پهنای باند شما اجرا شده و بعد از سپری شدن زمان کوتاهی خروجی آن نمایش داده می‌شود. هر زمان که نیاز به انجام مجدد این تست داشته باشید کافیست عبارت `speedtest` را در خط فرمان تایپ کرده و اینتر کنید تا تست مجدد انجام شود. + +
+ +![photo_2023-06-06_20-05-53](https://github.com/hiddify/hiddify-config/assets/125398461/054e65db-1f12-428b-b9e9-359a69e99044) + + +
+ + +* در برخی شرایط کاربران نیاز به تست از لوکیشن‌های دیگری را دارند، به این منظور برای دریافت لیست لوکیشن‌ها کامند زیر را اجرا کنید. + +
+ +``` +speedtest --servers +``` +
+ +
+ +![photo_2023-06-06_20-05-58](https://github.com/hiddify/hiddify-config/assets/125398461/c2acefcd-f0f2-43e1-8c90-486b465a7cb4) + + +
+ +* همانطور که در تصویر فوق قابل مشاهده‌ست لیستی از سرورها با لوکیشن‌های نزدیک به سرورتان به شما نمایش داده می‌شود، در ستون ID نیز یک کد ۵ رقمی برای هر ردیف وجود دارد، لوکیشن مد نظر برای تست را انتخاب و کد ۵ رقمی آنرا کپی کنید، سپس توسط کامند زیر می‌توانید از لوکیشن مد نظر خود اسپیدتست بگیرید، تنها در بخش آخر عبارت ID را با کد مد نظر جایگزین کرده و اینتر کنید. + +
+ +``` +speedtest --server-id=ID +``` +
+ +
+ +![photo_2023-06-06_20-15-55](https://github.com/hiddify/hiddify-config/assets/125398461/a319cf89-3ed7-4ea5-90dd-0170cd5926c8) + +
+ +## روش دوم: استفاده از ابزار bench.sh +* با استفاده از ابزار فوق، علاوه بر تست سرعت از لوکیشن‌های مختلف، مشخصات سخت‌افزاری سرور شامل CPU، فضای ذخیره سازی، رم، معماری پردازنده، سرعت پورت شبکه و… را به راحتی و با اجرای کامند زیر می‌توانید مشاهده کنید. + +
+ +``` +wget -qO- bench.sh | bash +``` +
+ +
+ +![photo_2023-06-06_20-16-00](https://github.com/hiddify/hiddify-config/assets/125398461/b0815e0e-6348-4c0b-9f82-1ae5e6c53646) + +
+ + + +
+ +* پس از اجرای دستور فوق کافی‌ست دقایقی (حدودا ۵ تا ۸ دقیقه) صبر کنید تا از چندین لوکیشن در قاره‌های مختلف تست سرعت گرفته و نتایج نمایش داده شود. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-do-speed-test-on-server.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-do-speed-test-on-server.md new file mode 100644 index 0000000..3d24afc --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-do-speed-test-on-server.md @@ -0,0 +1,99 @@ +--- +title: How to do speed test on server +--- + +
+ +# How to do speed test on server + +In some cases, it is necessary to conduct a speed test on the server to check the conditions more closely and to better diagnose the performance and bandwidth (especially on Iranian servers). Due to the fact that the servers provided by default do not have a graphical user interface (GUI), users do not have access to the browser to perform this test, and they do not know the amount of download and upload of their server, so in this situation, what methods can be used to Did you find out about the stability of the communication port and the bandwidth situation? In this article, we are going to teach how to perform a speed test in the Linux operating system. + +## The first method: install and test through the speedtest script + +- To start, first [SSH to your server](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/), then use the combination keys `ctrl+c` or select the `Cancel` button to exit the Hiddify menu to access the terminal (command line environment) of your server. + +> If the `Hiddify menu` is still displayed after completing the previous steps, type the word `clear` and press enter. + +> It should be noted that if you have installed the old `speedtest-cli` script on your server in the past, first remove it using the following command (otherwise, go to the next step). + +``` +sudo apt-get remove speedtest-cli +``` +- To install, run the following commands to download and install the `speedtest` script. + +``` +sudo apt-get install curl +curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash +sudo apt-get install speedtest + +``` + +- After successful installation, enter the following command. + +``` +speedtest +``` + +* When you run the program for the first time, the terms and conditions of use, as well as the data collected by the `Speedtest` website, will appear in the form of two messages, for each of which you should enter `yes` as confirmation. + +
+ +![](https://user-images.githubusercontent.com/125398461/243765156-b897f426-e9d6-4f26-b9fb-9e46f6def820.jpg) + +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/243765299-bab3a3d4-a0c3-478e-8daf-4f3491d44c8b.jpg) + + +
+ +* After that, you will see that your bandwidth test has been executed and after a short time, its output will be displayed. Whenever you need to re-do this test, just type `speedtest` in the command line and hit enter to re-test. + + +
+ +![](https://user-images.githubusercontent.com/125398461/243765887-054e65db-1f12-428b-b9e9-359a69e99044.jpg) + +
+ +* In some situations, users need to test from other locations, for this purpose, run the following command to get the list of locations. + +``` +speedtest --servers +``` + + +
+ +![](https://user-images.githubusercontent.com/125398461/243766293-c2acefcd-f0f2-43e1-8c90-486b465a7cb4.jpg) + +
+ +* As can be seen in the above image, a list of servers with locations close to your server will be displayed to you, in the ID column there is also a 5-digit code for each row, select the desired location for testing and copy its 5-digit code. Then you can use the following command to take a speed test from your desired location, only in the last part replace the ID with the desired code and enter. + +``` +speedtest --server-id=ID +``` + +
+ +![](https://user-images.githubusercontent.com/125398461/243768284-a319cf89-3ed7-4ea5-90dd-0170cd5926c8.jpg) +
+ +## The second method: using the bench.sh tool + +* Using the above tool, in addition to testing the speed from different locations, you can easily view the server hardware specifications including CPU, storage space, RAM, processor architecture, network port speed, etc. by running the following command. + +``` +wget -qO- bench.sh | bash +``` + +
+ +![](https://user-images.githubusercontent.com/125398461/243768459-b0815e0e-6348-4c0b-9f82-1ae5e6c53646.jpg) + +
+ +* After executing the above command, just wait for a few minutes (about 5 to 8 minutes) until the speed test is taken from several locations in different continents and the results are displayed. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-enable-Swap-on-Linux.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-enable-Swap-on-Linux.fa.md new file mode 100644 index 0000000..29ca1d9 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-enable-Swap-on-Linux.fa.md @@ -0,0 +1,120 @@ +--- +title: نحوه فعال‌سازی Swap برای یک VPS لینوکسی +--- + + +# نحوه ساخت Swap برای یک VPS لینوکسی بدون ایجاد اختلال در عملکرد + +در این مقاله، نحوه اضافه کردن حافظه Swap به یک سرور مجازی (VPS) که در حال حاضر زیر بار است و فاقد Swap می‌باشد، توضیح داده می‌شود. مراحل زیر را با دقت انجام دهید تا مشکلی برای سرور پیش نیاید. + +--- + +## مرحله ۱: بررسی وضعیت فعلی Swap +ابتدا وضعیت فعلی حافظه Swap را بررسی کنید: +
+ +```bash +sudo swapon --show +``` + +
+ +اگر خروجی خالی بود، یعنی سرور Swap فعال ندارد. + +--- + +## مرحله ۲: بررسی فضای دیسک +برای ایجاد Swap، نیاز به فضای آزاد روی دیسک داریم. با دستور زیر فضای آزاد را بررسی کنید: +
+ +```bash +df -h +``` + +
+ +--- + +## مرحله ۳: ایجاد فایل Swap +یک فایل جدید برای Swap ایجاد کنید. در این مثال، یک Swap با حجم ۲ گیگابایت ساخته می‌شود: +
+ +```bash +sudo fallocate -l 2G /swapfile +``` + +
+ +اگر دستور بالا در سیستم شما پشتیبانی نمی‌شود، از دستور زیر استفاده کنید: +
+ +```bash +sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 +``` + +
+ +--- + +## مرحله ۴: تنظیم مجوزهای فایل Swap +برای افزایش امنیت، دسترسی به فایل Swap را محدود کنید: +
+ +```bash +sudo chmod 600 /swapfile +``` + +
+ +--- + +## مرحله ۵: تنظیم فایل به عنوان Swap +با دستور زیر فایل ایجادشده را به عنوان Swap تنظیم کنید: +
+ +```bash +sudo mkswap /swapfile +``` + +
+ +--- + +## مرحله ۶: فعال‌سازی Swap +Swap را فعال کنید: +
+ +```bash +sudo swapon /swapfile +``` + +
+ +حالا دوباره وضعیت Swap را بررسی کنید تا از فعال‌سازی آن مطمئن شوید: +
+ +```bash +sudo swapon --show +``` + +
+ +--- + +## مرحله ۷: دائمی‌سازی Swap +برای اطمینان از فعال ماندن Swap پس از ری‌استارت سرور، فایل Swap را به فایل `fstab` اضافه کنید: +
+ +```bash +echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab +``` + +
+ +--- + +## نکات پایانی +- **اندازه مناسب Swap**: بسته به نیاز سرور و منابع موجود، اندازه Swap را انتخاب کنید. +- **پایش Swap**: پس از ایجاد Swap، با استفاده از ابزارهایی مانند `htop` یا `free` وضعیت آن را زیر نظر بگیرید. + +امیدواریم این راهنما برای شما مفید بوده باشد! 😊 diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-enable-Swap-on-Linux.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-enable-Swap-on-Linux.md new file mode 100644 index 0000000..fe7f750 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-enable-Swap-on-Linux.md @@ -0,0 +1,119 @@ +--- +title: How to enbale Swap on Linux +--- + +# How to enable Swap for a Linux VPS Without Interruption + +This guide explains how to add Swap memory to a VPS that is currently under load and lacks any Swap. Follow these steps carefully to avoid disruptions. + +--- + +## Step 1: Check Current Swap Status +First, check the current Swap status: +
+ +```bash +sudo swapon --show +``` + +
+ +If the output is empty, it means the server has no active Swap. + +--- + +## Step 2: Check Disk Space +Ensure there is enough free space on the disk for creating a Swap file. Use the following command: +
+ +```bash +df -h +``` + +
+ +--- + +## Step 3: Create a Swap File +Create a new Swap file. In this example, we’ll create a 2GB Swap file: +
+ +```bash +sudo fallocate -l 2G /swapfile +``` + +
+ +If the above command is not supported, use: +
+ +```bash +sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 +``` + +
+ +--- + +## Step 4: Set File Permissions +Secure the Swap file by restricting access: +
+ +```bash +sudo chmod 600 /swapfile +``` + +
+ +--- + +## Step 5: Configure the File as Swap +Set the newly created file as a Swap file: +
+ +```bash +sudo mkswap /swapfile +``` + +
+ +--- + +## Step 6: Enable Swap +Activate the Swap file: +
+ +```bash +sudo swapon /swapfile +``` + +
+ +Now verify the Swap status again to ensure it is active: +
+ +```bash +sudo swapon --show +``` + +
+ +--- + +## Step 7: Make Swap Permanent +To ensure Swap remains active after a reboot, add the Swap file to the `fstab` file: +
+ +```bash +echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab +``` + +
+ +--- + +## Final Notes +- **Appropriate Swap Size**: Choose the Swap size based on your server’s needs and available resources. +- **Monitor Swap Usage**: After creating the Swap, monitor its usage using tools like `htop` or `free`. + +We hope this guide helps you efficiently manage your server! 😊 diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server's-IP-or-domain-is-clean.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server's-IP-or-domain-is-clean.fa.md new file mode 100644 index 0000000..cd897ca --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server's-IP-or-domain-is-clean.fa.md @@ -0,0 +1,93 @@ +--- +title: چک کردن تمیز بودن آیپی یا دامنه سرور +--- + +
+ +# نحوه اطمینان از تمیز بودن آیپی یا دامنه سرور: + +## ۱. استفاده از سایت چک هاست +ابتدا آیپی یا دامنه سرور را در سایت [Check-Host](https://check-host.net/) چک نمایید. + +
+ +![Screenshot_20230302_145621](https://user-images.githubusercontent.com/125398461/222417159-c62e65e4-b67c-48ca-9f4b-8f1870276308.png) +
+پس از وارد کردن آیپی یا دامنه در قسمت مشخص شده؛ نوع تست را باید مشخص کنید. + +### تست Ping: +این تست زمانی مفید است که سرور خام است و هیچ چیزی روی آن نصب نشده است. در این صورت می توان از این گزینه استفاده نمود. + +
+ +![Screenshot_20230302_151252](https://user-images.githubusercontent.com/125398461/222420082-2a380c2f-803e-4426-a529-8c09b997c76a.png) +
+اگر نتیجه تست ۴/۴ بود یعنی آیپی سرور به احتمال زیاد تمیز است. در غیر اینصورت نیاز به تعویض آیپی است. + +### تست TCP: + این تست زمانی استفاده می شود که سیستم عامل نصب شده و فایروال آن فعال است و یک سرویس که با پورتهای TCP کار می کند روی آن فعال است. در این حالت می توان سرور را روی آن پورت تست نمود. به عنوان مثال پنل های VPN اکثرا از پورت TCP 443 استفاده می کنند. بنابراین می توان از این پورت نیز جهت تست استفاده نمود. + +
+ +![Screenshot_20230302_153627](https://user-images.githubusercontent.com/125398461/222426843-82605bb3-d51e-407a-8d92-90bddef896ba.png) +
+ +اگر نتیجه تست به این شکل بود احتمالا آیپی سرور بدون مشکل است. در غیر اینصورت نیاز است آیپی را عوض نمایید. +### تست UDP: + این تست زمانی استفاده می شود که سیستم عامل نصب شده و فایروال آن فعال است و یک سرویس که با پورتهای UDP کار می کند روی آن فعال است. در این حالت می توان سرور را روی آن پورت تست نمود. بعنوان مثال همه سرورها از سرویس DNS استفاده می کنند که این سرویس روی پورت UDP 53 است. می توان از این پورت نیز برای تست استفاده نمود. + +
+ +![Screenshot_20230302_154522](https://user-images.githubusercontent.com/125398461/222426567-20464d00-cb53-4d8d-87f3-6ab28a45bce3.png) +
+ +اگر نتیجه تست مثل این شکل باشد یعنی ارتباط روی پروتکل UDP برقرار نیست و احتمال دارد آیپی سرور تمیز نباشد. + + +## ۲. استفاده از سایت هاست ترکر +ابتدا سایت را از [اینجا](https://www.host-tracker.com/en/ic) باز نمایید. + +
+ +![Screenshot_20230302_155901](https://user-images.githubusercontent.com/125398461/222429170-dbe08724-771e-4910-bbd4-19e3b5bc78f8.png) +
+ +برای چک آیپی یا دامنه سرور در این سایت می توان از تست های Ping و TCP استفاده کرد که طبق توضیحات قبل کاربرد هر کدام مشخص است. + +### تست Ping: + +
+ +![Screenshot_20230302_160236](https://user-images.githubusercontent.com/125398461/222430534-01d5f14e-bf3e-421e-93f5-832ac68307ab.png) +
+ +دقت شود که در این سایت باید لوکیشن حتما روی ایران قرار گیرد. +اگر نتیجه تست در لوکیشن های مختلف همگی Good باشد به احتمال خیلی زیاد آیپی سرور شما مشکل ندارد. + +### تست TCP: + +
+ +![Screenshot_20230302_161159](https://user-images.githubusercontent.com/125398461/222432212-4a496ba1-aa71-4841-949c-449636b94d84.png) + +
+اگر نتیجه تست مثل شکل OK باشد به احتمال خیلی بالا آیپی سرور شما مشکل ندارد. + + +نتایج تست سایت هاست ترکر قابل اعتمادتر از سایت چک هاست می باشد. ولی در کل پیشنهاد می شود این تست را روی هر دو سایت انجام دهید. + +## داستان لیست زرد + +چرا با وجود اینکه تست بالا در هنگام خرید سرور بدون مشکل بود و آیپی سرور سالم بود ولی به محضی که پنل نصب شد، بعد از مدتی آیپی دیگر سالم نیست؟ + +در اینجا با مفهومی به اسم `لیست زرد` آشنا می‌شویم. + +
+ + +
+ +آیپی‌هایی که قبلا استفاده شده‌اند و توسط سیستم فیلترینگ شناسایی شده‌اند؛ در لیست قرمز قرار می‌گیرند و فیلتر می‌شوند. حالا وقتی یک مدت ترافیک نداشته باشند در لیست زرد قرار می‌گیرند. به محضی که دوباره ترافیک‌شان بالا می‌رود، مجددا مسدود یا کند می‌شوند. + +## نکته پایانی +یه نکته ریز هم در نظر بگیرید. وقتی پنل هیدیفای را نصب می‌کنید، برای امنیت بیشتر فایروال به صورت پیش‌فرض روشن است. در اینجا شما باید برای تست سالم بودن آیپی از `tcping` یا تست `http` استفاده کنید. یا اینکه فایروال را به صورت موقت خاموش کنید و تست پینگ معمولی انجام بدهید. [اطلاعات بیشتر درباره تنظیم فایروال سرور](/fa/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel/) diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server's-IP-or-domain-is-clean.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server's-IP-or-domain-is-clean.md new file mode 100644 index 0000000..1162665 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server's-IP-or-domain-is-clean.md @@ -0,0 +1,71 @@ +--- +title: How to make sure the server's IP or domain is clean +--- + +
+ +# How to make sure the server's IP or domain is clean + +## 1. Using the site Check-Host +First, check the server's IP or domain on the Check-Host site. + +![222417159-c62e65e4-b67c-48ca-9f4b-8f1870276308](https://user-images.githubusercontent.com/125398461/229691501-94fd331f-82ed-4b29-9a84-187fe3b89ee5.png) + + + +After entering the IP or domain in the specified field; You must specify the type of test. + +### Ping test +This test is useful when you have created the server for the first time and has nothing installed on it. In this case, you can use this option. + +![Screenshot_20230302_151252](https://user-images.githubusercontent.com/125398461/222420082-2a380c2f-803e-4426-a529-8c09b997c76a.png) + +If the result of the test was 4/4, it means that the server's IP is most likely clean. Otherwise, you need to change the IP. + +### TCP test +This test is used when the operating system is installed and the firewall is active. In this case, you can test the server via the port on which service is running. For example, VPN panels mostly use TCP port 443. Therefore, this port can also be used for testing. + +![Screenshot_20230302_153627](https://user-images.githubusercontent.com/125398461/222426843-82605bb3-d51e-407a-8d92-90bddef896ba.png) + +If the result of the test was like the picture above, the server's IP is probably without any problems. Otherwise, you need to change the IP. + + +### UDP test +This test is used when the operating system is installed and the firewall is active. In this case, you can test the server via the port on which service is running. For example, all servers use DNS service, which works on UDP port 53. This port can also be used for testing. + +![Screenshot_20230302_154522](https://user-images.githubusercontent.com/125398461/222426567-20464d00-cb53-4d8d-87f3-6ab28a45bce3.png) + +If the result is like the image above, it means that the connection is not established on the UDP protocol and it is likely the server's IP is not clean. + +## 2. Using the site Host-Tracker +First, open the site [from here](https://www.host-tracker.com/en/ic). + +![Screenshot_20230302_155901](https://user-images.githubusercontent.com/125398461/222429170-dbe08724-771e-4910-bbd4-19e3b5bc78f8.png) +Ping and TCP tests can be used to check the IP or domain of the server on this site, which according to the previous explanations, the use of each is clear. + +### Ping test + +![222430534-01d5f14e-bf3e-421e-93f5-832ac68307ab](https://user-images.githubusercontent.com/125398461/229689843-3d68ac6b-2eeb-4154-a445-23a5f4b24b49.png) + +Please note that you have to choose the location based on your region. If the results are all good, it is very likely that your server's IP has no problem. + +### TCP test + +![222432212-4a496ba1-aa71-4841-949c-449636b94d84](https://user-images.githubusercontent.com/125398461/229689470-005f8fdc-86d6-4ee8-8283-d2c2c5c766f3.png) + +If the result was shown as OK, there is a high probability that your server's IP has no problem. + +## The story of the yellow list +Why is it that even though the above test was without problems when buying the server and the IP of the server was healthy, but as soon as the panel was installed, after some time the IP is no longer healthy? + +Here we get acquainted with a concept called `the yellow list`. + +
+ + +
+ +IPs that have already been used and detected by the filtering system; They are placed in the red list and filtered. Now, when they do not have traffic for a while, they are placed in the yellow list. As soon as their traffic picks up again, they get blocked or slowed down again. + +## Final point +Consider a small point. When you install the Hiddify panel, the firewall is turned on by default for added security. Here you should use `tcping` or `http` test to test the IP health, Or turn off the firewall temporarily and do a normal ping test. [More information about configuring the server firewall](/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel/) diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-monitor-server-resources-on-Hiddify.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-monitor-server-resources-on-Hiddify.fa.md new file mode 100644 index 0000000..4bd1c51 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-monitor-server-resources-on-Hiddify.fa.md @@ -0,0 +1,130 @@ +--- +title: آموزش نحوه کنترل منابع سرور در هیدیفای‌منیجر +--- + +
+ +# کنترل منابع سرور در هیدیفای + +خیلی وقت‌ها نیاز است که شما وضعیت منابع سرور یعنی CPU و RAM سرور خود را چک کنید. مثلا هنگامی که هنگی وجود دارد. برای این کار به چند روش می‌توانید این منابع را مانیتور کنید. + +## استفاده از بخش داشبورد در پنل +برای اینکه از وضعیت استفاده CPU و RAM و هارددیسک خود مطلع بشید، به بخش داشبورد در پنل هیدیفای بروید. در اینجا اطلاعات مختلف و مفیدی دریاره وضعیت منابع سیستم و همچنین اطلاعات ترافیک کارت شبکه و کاربران آنلاین به صورت یکپارچه قابل مشاهده است. + +![داشبورد هیدیفای](https://user-images.githubusercontent.com/125398461/236671492-9ffc4521-ea2a-4fcb-bfd9-c071ac5a3d4d.png) + + +## کنترل منابع با استفاده از ابزار htop +یکی از ابزارهایی که برای کنترل منابع در سرورهای لینوکسی می‌توان استفاده نمود، htop می‌باشد. + + + + +* ابتدا به سرور [SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/). + +* و با زدن `Cancel` و یا فشردن همزمان کلیدهای `ctrl+c` از منوی هیدیفای خارج شوید. در صورتی که بعد از اینکار همچنان منو برای شما نمایش داده می‌شود عبارت `clear` رو تایپ و اینتر کنید. +* سپس اگر `htop` روی سرور شما نصب نیست، از طریق دستور زیر آن را نصب کنید + +
+ +``` +apt install htop +``` +
+ +> معمولا روی ابونتو ۲۰.۰۴ و ۲۲.۰۴ این برنامه به صورت پیش‌فرض نصب است. + +* سپس این دستور را اجرا کنید تا `htop` باز شود. + +
+ +``` +htop +``` +
+ +![photo_2023-06-04_20-35-25](https://github.com/hiddify/hiddify-config/assets/125398461/38c5ab1f-8fed-49c9-9455-04c7a7e83917) + + +از این برنامه می‌توانید میزان مصرف منابع سرورتان توسط هر process را مشاهده کنید. + +* برای مشاهده میزان مصرف `CPU` هر process، روی `CPU` کلیک کنید تا بر این اساس مرتب شود و ببینید کدوم process درصد بیشتری از `CPU` رو به خودش اختصاص داده است. + +* همچنین برای مشاهده میزان مصرف `RAM` توسط هر process، روی `MEM` کلیک کنید تا بر این اساس مرتب شود. + +* در صورتی که بیشترین منابع را سرویس‌های هیدیفای (مثل hidiffy-panel، hiddify-nginx, hiddify-xray و ...)استفاده می‌کنند، از htop خارج شوید. + +> برای خارج شدن از محیط htop باید کلیدهای `ctrl+c` یا `q` رو فشار بدید. + +* سپس یکبار از طریق دستور زیر وارد منوی هیدیفای شوید. + +
+ +``` +bash /opt/hiddify-config/menu.sh +``` +
+ + +* با استفاده از کلیدهای جهتی (بالا و پایین) گزینه‌ی `restart` را انتخاب کنید و صبر کنید تا سرویس‌ها ریستارت شوند و مجددا از [منوی هیدیفای](/fa/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH/) خارج شوید و `htop` را بررسی کنید. + + + + +## خالی کردن حافظه رم +حافظه رم در واقع حافظه موقت هست که فضای آن توس سرویس‌های در حال اجرا اشغال می‌شود. بخشی از حافظه هم توسط خود سیستم عامل اشغال می‌شود. + +پر شدن رم به تعداد کاربر شما روی پنل رابطه مستقیم ندارد. هر تعداد کاربر که در پنل تعریف شده باشند، یک سری سرویس‌ها در هر صورت باید در حال اجرا باشند تا سیستم عامل و سرویس های جانبی کار کنند. بنابراین تعداد کاربر روی پنل رابطه مستقیم و خطی با پر شدن رم ندارند بلکه سرویس‌های در حال اجرا رابطه مستقیم با مقدار رم استفاده شده دارند. + +سیستم عامل همواره مدیریت منابع سرور را بر عهده دارد و اگر در سرور خود رم تا ۸۰٪ هم پر شده باشد، اتفاقی کاملا طبیعی است و نباید نگران باشید. + +> در سرورهای لینوکسی به هیچ عنوان برای رفع مشکل پر شدن رم، سیستم را ریبوت نکنید. + +* یکی از راه‌های بهبود وضعیت رم پر شده سرور، خالی کردن حافظه کش رم است. با این دستور در ترمینال سرور هنگامی که با یوزر روت لاگین کرده‌اید می‌توانید کش را خالی کنید. + +
+ +``` +sync && systemctl -w vm.drop_caches=3 +``` +
+ +اگر دستور بالا با خطا مواجه شد، می‌توانید دستور زیر را استفاده کنید. + +
+ +``` +free && sync && echo 3 > /proc/sys/vm/drop_caches && free +``` + +
+ +> حتما توجه کنید که با یوزر روت لاگین کرده باشید و بعد این کامند را اجرا کنید. + +## مدیریت هارد دیسک +* علاوه بر داشبورد پنل هیدیفای که وضعیت هارد دیسک را نمایش می‌دهد، می‌توان از دستور زیر نیز در ترمینال استفاده نمود. + +
+ +``` +df -h --total +``` +
+ +که خروجی آن به شکل زیر است. + +
+ +![df command](https://github.com/hiddify/hiddify-config/assets/125398461/f3552ab5-a105-40b5-8210-65487903c6ba) +
+ +* در ایننجا فضای مربوط به `sda1` مطابق با شکل باید چک شود. اگر به هر دلیلی این فضا پر شده بود و نیاز بود مقداری از فضا را خالی نمایید، می‌توانید اطلاعات مربوط به لاگ‌ها را با دستور زیر پاک نمایید. + +
+ +``` +rm -rf /opt/hiddify-manager/log/system/* +``` +
+ +* کار تمام است. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-monitor-server-resources-on-Hiddify.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-monitor-server-resources-on-Hiddify.md new file mode 100644 index 0000000..a4e3b34 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-monitor-server-resources-on-Hiddify.md @@ -0,0 +1,102 @@ +--- +title: How to monitor server resources on HiddifyManager +--- + +
+ + +# How to monitor server resources on HiddifyManager +Many times you need to check the status of your server's CPU and RAM resources. For example, when there is a regiment. For this purpose, you can monitor these resources in several ways. + +## Using the dashboard section in the Manager + +To know the status of your CPU and RAM usage, go to the dashboard section in the Hiddify panel. Here, various and useful information about the status of system resources as well as network card traffic information and online users can be seen in an integrated manner. + +
+ +![dashboard](https://github.com/hiddify/hiddify-config/assets/125398461/0e3c9cd4-ea9b-4e0e-83a6-425f4fdc212c) +
+ +## Resource control using the htop tool +One of the tools that can be used to control resources in Linux servers is htop. + +- First, connect via [SSH to the server](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/). + +- and exit Hiddify menu by clicking `Cancel` or pressing `ctrl+c` keys at the same time. If the menu is still displayed after this, type the command `clear` and enter. + +- Then if htop is not installed on your server, install it through the following command + +``` +apt install htop +``` + +> Usually, this program is installed by default on Ubuntu 20.04 and 22.04. + +- Then run this command to open `htop`. + +``` +htop +``` + +
+ +![](https://user-images.githubusercontent.com/125398461/243195292-38c5ab1f-8fed-49c9-9455-04c7a7e83917.jpg) + +
+ +From this program, you can see the consumption of your server resources by each process. + +- To see the amount of `CPU` consumption of each process, click on the `CPU` to sort accordingly and see which process has allocated a higher percentage of `CPU` to itself. + +- Also, to see how much `RAM` is consumed by each process, click on `MEM` to sort accordingly. + +- If the most resources are used by Hiddify services (such as hiddify-panel, hiddify-nginx, hiddify-xray, etc.), exit htop. + +- To exit the htop environment, you must press `ctrl+c` or `q`. + +- Then enter Hiddify menu once through the following command. + +``` +bash /opt/hiddify-config/menu.sh + +``` +- Select the `restart` option using the arrow keys (up and down) and wait until the services are restarted and exit the [Hiddify menu](/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH/) again and check `htop`. + +## Free up RAM memory +RAM memory is actually a temporary memory whose space is occupied by running services. Part of the memory is occupied by the operating system itself. + +The amount of RAM is not directly related to the number of users on the Manager. No matter how many users are defined in the Manager, a series of services must be running in order for the operating system and peripheral services to work. Therefore, the number of users on the Manager does not have a direct and linear relationship with the amount of RAM, but the running services have a direct relationship with the amount of RAM used. + +The operating system is always in charge of managing the server's resources, and if the RAM in your server is filled up to 80%, it is a completely normal thing and you should not worry. + +> In Linux servers, do not reboot the system to solve the RAM filling problem. + +- One of the ways to improve the server's RAM status is to empty the RAM cache. You can empty the cache with this command in the terminal server when you are logged in as the root user. + +``` +sync && systemctl -w vm.drop_caches=3 +``` +> Be sure to log in as the root user and then execute this command. + +## Hard disk management +- In addition to HiddifyManager dashboard that displays the status of the hard disk, the following command can also be used in the terminal. + +``` +df -h --total +``` + +whose output is as follows. + +
+ +![](https://user-images.githubusercontent.com/125398461/248637861-f3552ab5-a105-40b5-8210-65487903c6ba.png) + +
+ +Here, the space related to `sda1` should be checked according to the figure. If for any reason this space was full and you need to free up some space, you can delete the information related to the logs with the following command. + +``` +rm-rf /opt/hiddify-manager/log/system/* +``` + +- The work is done diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-set-DNS-server.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-set-DNS-server.fa.md new file mode 100644 index 0000000..f9f7c6a --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-set-DNS-server.fa.md @@ -0,0 +1,103 @@ +--- +title: آموزش تنظیم DNS سرور در هیدیفای‌منیجر +--- + +
+ +# آموزش تنظیم DNS سرور + +همانطور که احتمالا می‌دانید، DNS سرویسی است که وظیفه آن تبدیل نام‌ها به آیپی‌هاست. یعنی زمانی که شما مثلا `google.com` را می‌خواهید باز کنید، این نامه ابتدا به سرور DNSی که در کامپیوتر شما تنظیم شده است ارسال می‌شود. سپس آن سرور آیپی مربوط به این نام را به سیستم شما برمی‌گرداند. و درنهایت درخواست بازشدن سایت با استفاده از آیپی ارسال می‌گردد. + +
+ + +
+ + + +بنابراین تنظیم سرور DNS در سرور و کلاینت و هرجایی که قصد استفاده از سرویس‌های اینترنتی را دارد، بسیار مهم است. + +## سرورهای DNS معروف در جهان +این سرورهای که به صورت جهانی سرویس می‌دهند متعلق به شرکت‌های بزرگ از جمله گوگل و کلادفلر هستند. پیشنهاد می‌شود برای دسترسی راحت به VPN خود حتما از این سرورها استفاده نمایید. + +`1.1.1.1` مربوط به کلادفلر + +`8.8.8.8` مربوط به گوگل + +## تنظیم DNS از طریق پنل +برای این کار به بخش تنظیمات پنل بروید و در قسمت تنظیمات عمومی سرور مورد نظر خود را قرار در قسمت `سرور DNS` قرار دهید. کار تمام است. + +
+ + +
+ + +پنل به صورت خودکار سرور مربوط به کلادفلر را برای شما تنظیم کرده است و البته پیشنهاداتی نیز در پایین آن قرار داده است که می‌توانید آن‌ها را در صورت نیاز اعمال کنید. + +## تنظیم DNS از طریق SSH +اگر به هر دلیل مایل به استفاده از SSH برای انجام این تنظیمات بودید، [به سرور خود SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) و سپس با `ctrl+c` از منوی هیدیفای خارج شوید. + +* در محیط ترمینال این کامند را تایپ کنید تا تنظیمات DNS سرور با ویرایشگر متنی nano باز شود. + +
+ +``` +sudo nano /etc/resolv.conf +``` +
+ +* سپس nameservers که در اینجا به سرور DNS اشاره می‌کند را ادیت نمایید و به شکل زیر تغییر دهید. + +
+ +``` +nameserver 8.8.8.8 +nameserver 1.1.1.1 +``` +
+ +* برای ذخیره `ctrl+s` و برای خروج `ctrl+x` را بزنید. +* حالا باید کاری کنید که این فایل توسط سیستم قابل تغییر نباشد. برای این کار از دستور زیر استفاده کتید. + + +
+``` +chattr +i /etc/resolv.conf +``` +
+ +* کار تمام است. + + + +## تست نشتی DNS در سرور +ساده‌ترین ابزار برای تست نشتی در سرور استفاده از `nslookup` است. +- ابتدا اگر `nslookup` نصب نیود، با این دستور آن را نصب کنید. + +
+ +``` +sudo apt install dnsutils +``` +
+ +- برای انجام تست باید یک دامنه مثلا google.com را با استفاده از این ابزار تست کنید. + +
+ +``` +nslookup google.com +``` +
+ +* اگر خروجی کامند به شکل زیر بود، یعنی کار به درستی انجام شده است و نشتی DNS روی سرور اتفاق نمی‌افتد. + +
+ +![Screenshot_20230624_064021](https://github.com/hiddify/hiddify-config/assets/125398461/3ef15d0b-54b0-43ce-8be5-a5229054d1fb) +
+ +همانطور که می‌بینید در بخش `Server` اولین سرور یعنی `8.8.8.8` که در فایل مربوط به تنظیمات قرار داده شده، نمایش داده می‌شود. +در اینجا نباید غیر از سرورهای تعیین شده چیز دیگری مشاهده کنید. در غیر اینصورت، باید یک بار دیگر مراحل بالا را به درستی انجام دهید. [اطلاعات بیشتر درباره نشتی DNS](/fa/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks/) +
diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-set-DNS-server.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-set-DNS-server.md new file mode 100644 index 0000000..099aab6 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-set-DNS-server.md @@ -0,0 +1,76 @@ +--- +title: How to set DNS server on HiddifyManager +--- + +
+ +# How to set DNS server + +As you probably know, DNS is a service whose task is to convert names to IPs. That is, when you want to open google.com, for example, this letter is first sent to the DNS server set on your computer. Then that server returns the corresponding IP address to your system. And finally, the request to open the site is sent using IP. + +
+ + +
+ +Therefore, it is very important to set up the DNS server on the server and the client and wherever you intend to use Internet services. + +## Famous global DNS servers +These servers that serve globally belong to big companies including Google and Cloudflare. It is recommended to use these servers for easy access to your VPN. + +`1.1.1.1` related to Cloudflare +`8.8.8.8` related to Google + +## Setting DNS server through the HiddifyManager +To do this, go to the panel settings and in the general settings section, put the desired server in the DNS server field. The work is done. + +
+ + +
+ + +The panel has automatically set the Cloudflare server for you, and of course, it has also put suggestions at the bottom that you can apply if needed. + +## Setting DNS server via SSH +If for any reason you wanted to use SSH to do this setup, [connect to your server via SSH](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) and then press `ctrl+c` to exit the Hiddify menu. +* In the terminal environment, type this command to open the DNS server settings with the nano text editor. + +``` +sudo nano /etc/resolv.conf +``` +* Then edit nameservers, which refers to the DNS server here, and change it as follows. + +``` +nameserver 8.8.8.8 +nameserver 1.1.1.1 +``` +* Press `ctrl+s` to save and `ctrl+x` to exit. +* Now you have to make this file cannot be changed by the system. For this, use the following command. + +``` +chattr +i /etc/resolv.conf +``` +* The work is done. + +## DNS leak test on server +The easiest tool to test leaks on the server is to use `nslookup`. + +- First, if `nslookup` is not installed, install it with this command. + +``` +sudo apt install dnsutils +``` +To test, you must test a domain such as google.com using this tool. + +``` +nslookup google.com +``` +If the output of the command was as follows, it means that the work is done correctly and DNS leak does not happen on the server. + +
+ +![](https://user-images.githubusercontent.com/125398461/248440247-3ef15d0b-54b0-43ce-8be5-a5229054d1fb.png) +
+ +As you can see, in the `Server` section, the first server, `8.8.8.8`, placed in the settings file, is displayed. Here you should not see anything other than the designated servers. Otherwise, you have to do the above steps correctly again. [Learn more about DNS leaks](/manager/basic-concepts-and-troubleshooting/How-to-check-and-prevent-DNS-leaks/) diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel.fa.md new file mode 100644 index 0000000..fdcf7e0 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel.fa.md @@ -0,0 +1,84 @@ +--- +title: آموزش تنظیم فایروال در هیدیفای‌منیجر +--- + +
+ +# آموزش تنظیم فایروال سرور + +## فایروال چیست؟ +فایروال `Firewall` یا دیواره‌ی آتش به نرم‌افزار یا سخت‌افزارهایی گفته می‌شود که از دسترسی به کامپیوترها یا سرورها جلوگیری کرده و ترافیک رد و بدل شده در شبکه را کنترل می‌کنند. فایروال در حقیقت یک ابزار امنیتی است که می‌تواند یک برنامه‌ی نرم‌افزاری یا یک دستگاه اختصاصی شبکه باشد. در اینجا ما با فایروال نرم‌افزاری روی سرورهای لینوکسی سر و کار داریم. + +
+ + + +
+ + +فایروال سرورهای لینوکسی را به چند روش می‌توان مدیریت کرد که یکی از این روش‌ها استفاده از ابزاری به اسم `IP Tables` است. + +در این ابزار یک سری Ruleها (قواعد) می‌توان تعریف نمود که با استفاده از آن‌ها به بسته‌های اطلاعاتی رو پروتکل‌های مختلف اجازه عبور داده می‌شود. + + +## تنظیمات خودکار فایروال از طریق پنل +هیدیفای به صورت پیش‌فرض فایروال سیستم را روشن و کنترل می‌کند. برای مثال اگر در تنظیمات هیدیفای پورت پروتکل‌های `TLS` یا `HTTP` را تغییر دهید، پنل به صورت خودکار رول‌های مورد نیاز برای آن‌ها را ایجاد می‌کند. حتی در صورت تغییر پورت `SSH`، پنل پورت جدید را شناسایی و به صورت خودکار تنظیمات فایروال را بر اساس نیاز شما تغییر می‌دهد. + +تنظیمات مربوط به فایروال پنل از قسمت `تنظیمات`، در بخش `تنظیمات عمومی` قابل دسترس است. +
+ +![Screenshot_20230604_174724](https://github.com/hiddify/hiddify-config/assets/125398461/dfe98328-115a-43fb-b39d-5f6d9390d48e) + +
+ +> توصیه خیلی مهم: به هیچ عنوان فایروال پنل را خاموش نکنید. خاموش کردن فایروال امنیت شما را به خطر می‌اندازد. + +## تنظیم دستی فایروال سرور + + +* در صورت نیاز به باز نمودن پورت به صورت دستی، ابتدا به سرور خود `SSH` بزنید. اگر نمی‌دانید چگونه `SSH` بزنید [این آموزش](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) را ببینید. + +* پس اتصال `SSH` وارد منوی هیدیفای می‌شوید. در اینجا با زدن `Cancel` یا `ctrl+c` از این منو خارج شوید تا وارد ترمینال شوید. در صورتی که بعد از اینکار همچنان منو برای شما نمایش داده می‌شود عبارت `clear` رو تایپ و اینتر کنید. + + +* در ترمینال از دستور زیر استفاده کنید. + +
+ +``` +iptables -A INPUT -p tcp --destination-port PORT -j ACCEPT +``` + +
+ +* کافیه پورت مورد نظر خود را جایگزین `PORT` در دستور بالا کنید. فرض کنید می‌خواهید پورت `۱۲۳۴` را باز کنید. کافیه دستور بالا را به این شکل تغییر بدهید و در ترمینال وارد کنید. + + +
+ +``` +iptables -A INPUT -p tcp --destination-port 1234 -j ACCEPT +``` + +
+ +* با وجود اینکه باز کردن پروتکل `ICMP` از نظر امنیتی مشکل دارد، یا اگر خواستید دسترسی پینگ یا بسته‌های `ICMP` را فراهم نمایید؛ کافیه دستور زیر را اجرا کنید. + +
+ +``` +iptables -A INPUT -p ICMP -j ACCEPT +``` +
+ +* برای بستن پروتکل `ICMP` نیز ازدستور زیر استفاده نمایید. + +
+ +``` +iptables -A INPUT -p icmp -j DROP +``` + +
+ +* کار تمام است. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel.md new file mode 100644 index 0000000..23f492c --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel.md @@ -0,0 +1,79 @@ +--- +title: How to setup Firewall on HiddifyManager +--- + +
+ +# How to setup Firewall on Hiddify panel + +## What is a firewall? + +Firewall refers to software or hardware that prevent access to computers or servers and control the traffic exchanged in the network. A firewall is actually a security tool that can be a software program or a dedicated network device. Here we are dealing with software firewall on Linux servers. + +
+ +![How Firewall works](https://github.com/hiddify/hiddify-config/assets/125398461/2b7c93f0-b868-43c6-8e89-60b36ddb6fb8) + +
+ + +The firewall of Linux servers can be managed in several ways, one of these methods is using a tool called IP Tables. + +In this tool, a series of rules can be defined, by using which information packets are allowed to pass through different protocols. + +## Automatic firewall settings through the panel + +By default, Hiddify turns on and controls the system firewall. For example, if you change the `TLS` or `HTTP` protocols in the `Settings`, the panel will automatically create the necessary rules for them. Even if you change the `SSH` port, the panel detects the new port and automatically changes the firewall settings according to your needs. + +The settings related to the firewall panel can be accessed from the `Settings` section, in the `General Settings` section. + +
+ +![Firewall settings](https://github.com/hiddify/hiddify-config/assets/125398461/0a3dce3a-0658-4ecd-887e-bd74c74fea1a) + +
+ +Very important advice: Do not turn off the firewall panel. Turning off the firewall compromises your security. + +## Manual configuration of server firewall + +- If you need to open the port manually, `SSH` to your server first. If you don't know how to `SSH`, [see this tutorial](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/). + +- After `SSH` connection, you enter the `Hiddify menu`. Here, exit this menu by pressing `Cancel` or `ctrl+c` to enter the terminal. If the menu is still displayed after this, type the word `clear` and enter. + +- Use the following command in the terminal. + +``` +iptables -A INPUT -p tcp --destination-port PORT -j ACCEPT +``` + +- Just replace the desired port with `PORT` in the above command. Suppose you want to open port `1234`. Just change the above command like this and enter it in the terminal. + +``` +iptables -A INPUT -p tcp --destination-port 1234 -j ACCEPT +``` + + +* Although it is not recommended to open the `ICMP` protocol in terms of security, if you want to provide access to ping or `ICMP` packets; Just run the following command. + +
+ +``` +iptables -A INPUT -p ICMP -j ACCEPT +``` +
+ +* Use the following command to drop the `ICMP ` protocol. + +
+ +``` +iptables -A INPUT -p icmp -j DROP +``` + +
+ + +- The work is done. + + diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer.fa.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer.fa.md new file mode 100644 index 0000000..b265cba --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer.fa.md @@ -0,0 +1,85 @@ +--- +title: آموزش انتقال فایل بین سرور و کامپیوتر +--- + +
+ +# آموزش انتقال فایل بین سرور و کامپیوتر +خیلی وقت‌ها نیاز است به/از سرور فایل انتقال دهید. مثلا فایل بکاپ را می‌خواهید خارج کنید یا یک فایل از سیستم خود به سرور وارد کنید. برای این کار چندین روش وجود دارد. + +## پیش‌نیازها +برای این کار، با توجه به سیستم عامل خود یکی از برنامه های زیر را باز کنید. +- ویندوز: `PowerShell` +- مک: `Terminal` +- لینوکس : `Terminal` + +> نکته: در ویندوز اگر SSH نصب نیست دستور زیر را در PowerShell اجرا کنید تا نصب گردد. + +
+``` +Add-WindowsCapability -Online -Name OpenSSH.Client +``` +
+ +
+ +
+ + +## مشاهده لیست فایل‌های بکاپ در سرور + برای اینکه بتوانید لیست فایل‌های بکاپ را در سرور ببینید ابتدا به سرور SSH بزنید و دستور زیر را اجرا کنید. + +
+``` +ls /opt/hiddify-config/hiddify-panel/backup +``` +
+ +خروجی این دستور به شکل زیر است. + +
+ +
+ + +یکی از فایل‌های بکاپ را برای انتقال انتخاب نمایید. + +## انتقال فایل از سرور به سیستم با دستور scp +در ترمینال از این دستور استفاده کنید. + +
+`scp @: "مسیر ذخیره فایل"` + +
+ +مثلا اگر یوزر سرور شما root باشد و آیپی آن `1.1.1.1` باشد، بخواهید فایل بکاپ پنل را از سرور خود خارج کنید وارد پوشه Backup‌در درایو C سیستم خود بکنید، در اینصورت باید به شکل زیر دستور را وارد کنید. + +
+``` +scp root@1.1.1.1:/opt/hiddify-config/hiddify-panel/backup/2023_05_06__06_00_03.json "C:\Backup"\ +``` + +
+ +کار تمام است. فایل مورد نظر در پوشه Backup کپی شد. + +## انتقال فایل از سیستم به سرور با دستور scp +برای این کار فرض کنید یوزر سرور شما root و آیپی آن `1.1.1.1` باشد. همچنین فرض کنید فایل `text.txt` در مسیر `C:\File` قرار دارد و می‌خواهید آن را به سرور انتقال دهید. در این صورت از دستور زیر استفاده کنید. + +
+``` +scp "C:\File\text.txt" root@1.1.1.1:/opt/hiddify-config +``` +
+ +در این صورت فایل `text.txt` روی سرور در مسیر مورد نظر کپی می‌شود و می‌توانید با دستور زیر آن را مشاهده کنید. + +
+``` +ls /opt/hiddify-config +``` +
+ + +## استفاده از وب برای انتقال فایل +راه دیگر انتقال فایل استفاده از سایت‌های ارائه سرویس SSH می‌باشد. برای این کار، ابتدا مشخصات سرور خود را برای SSH وارد کنید و پس از اتصال File Manager مربوط به سیستم باز می‌شود. می‌توانید به راحتی از طریق وب فایل‌های مورد نظر خود را انتقال دهید. diff --git a/docs/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer.md b/docs/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer.md new file mode 100644 index 0000000..684506f --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer.md @@ -0,0 +1,73 @@ +--- +title: How to transfer files between a server and a computer +--- + +
+ +# How to transfer files between a server and a computer +Many times you need to transfer files to/from server. For example, you want to remove the backup file or import a file from your system to the server. There are several methods for this. + + +## prerequisites + +To do this, open one of the following programs according to your operating system. + +- Windows: `PowerShell` +- Mac: `Terminal` +- Linux: `Terminal` +> Note: In Windows, if SSH is not installed, run the following command in PowerShell to install it. + +``` +Add-WindowsCapability -Online -Name OpenSSH.Client +``` + +
+ + +
+ +## Viewing the list of backup files on the server + +To be able to see the list of backup files on the server, first SSH to the server and run the following command. + +``` +ls /opt/Hiddify-Manager/hiddify-panel/backup +``` + +The output of this command is as follows. + +
+ + +
+ +Select one of the backup files to transfer. + +## Transfering the file from the server to the system via scp command +Use this command in the terminal. + +`scp @: "Path\in\your\PC"` + +For example, if the user of your server is `root` and its IP is `1.1.1.1`, you want to remove the backup panel file from your server and enter it into the `Backup` folder in the `C` drive of your system, in this case you must enter the following command. + +``` +scp root@1.1.1.1:/opt/Hiddify-Manager/hiddify-panel/backup/2023_05_06__06_00_03.json "C:\Backup"\ +``` + +The work is done. The desired file was copied to the Backup folder. + +## Transfering the file from the system to the server via scp command +For this, suppose your server user is `root` and its IP is `1.1.1.1`. Also suppose that the `text.txt` file is located in `C:\File` and you want to transfer it to the server. In this case, use the following command. + +``` +scp "C:\File\text.txt" root@1.1.1.1:/opt/Hiddify-Manager +``` +In this case, the `text.txt` file will be copied on the server in the desired path and you can view it with the following command. + +``` +ls /opt/Hiddify-Manager +``` +## Using the web to transfer files + +Another way to transfer files is to use SSH service sites. To do this, first enter the details of your server for SSH, and after connecting, the File Manager of the system will open. You can easily transfer your desired files through the web. + diff --git a/docs/manager/basic-concepts-and-troubleshooting/TLS-setting-for-increased-security.fa.md b/docs/manager/basic-concepts-and-troubleshooting/TLS-setting-for-increased-security.fa.md new file mode 100644 index 0000000..8f25982 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/TLS-setting-for-increased-security.fa.md @@ -0,0 +1,81 @@ +--- +title: تنظیم TLS برای افزایش امنیت +--- + +
+ +# تنظیم TLS برای افزایش امنیت +با توجه به شدت فیلترینگ و قابلیت تشخیص الگوهای بسته‌های اینترنتی روی پروتکل‌های مبتنی بر TLS نیاز است که تدابیری اندیشیده شود که از این کار لویری کند. در ادامه چند راه‌کار برای این موضوع بررسی می‌شوند. + +## تنظیم نسخه TLS در CDN +برای استفاده از کانکشن‌های مبتنی بر CDN نیاز است در تنظیمات دامنه خود نسخه TLS را روی بالاترین حالت قرار دهید. + +وارد اکانت `Cloudflare` خودتون شوید و در بخش `Domain` گزینه `SSL/TLS` را بزنید. سپس در `Edge Certificates` حداقل نسخه TLS را با استفاده از فیلد `Minimum TLS Version` روی `TLS 1.3` قرار دهید. + +
+![tls1.3 در کلافلر](https://github.com/hiddify/hiddify-config/assets/125398461/69edd121-028f-43f5-87ca-35cb5be00c0f) + +
+ +> دقت شود اگر این بخش روی گزینه `TLS 1.3` نباشد، روی بعضی اپراتورها ممکن است دچار اختلال شوید. + +> در صورتی که با تغییر نسخه TLS همچنان دچار اختلال بودید، یک ساب‌دامین جدید امتخان کنید، چون ممکن است ساب‌دامین قبلی توسط سیستم فیلترینگ شناسایی شده باشد. + + +## قعال‌سازی TLS 1.3 در کلاینت +روی ویندوز ۱۱ و سیستم عامل مک و اکثر نسخه‌های جدید لینوکس ، TLS 1.3 به صورت پیش‌فرض فعال است. در اینجا نحوه فعال‌سازی این نسخه از TLS برای ویندزو ۱۰ توضیح داده می‌شود. + +### فعال‌سازی TLS 1.3 روی ویندوز ۱۰ +* ابتدا یک فایل `notepad` باز کنید و دستورات رجیستری زیر را در آن کپی کنید. + +
+``` +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server] +"DisabledByDefault"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client] +"DisabledByDefault"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +``` +
+ +* حالا فایل را با پسوند `.reg` ذخیره نمایید تا حالت اجرایی پیدا کند. +> دقت شود که فایل پسوند `.txt` نداشته باشد. + +* حالا با دوبار کلیک روی فایل، ان را اجرا نمایید. +* کار تمام است. `TLS 1.3` روی ویندوز ۱۰ فعال شد. تنها نیاز است یک بار سیستم را ریستارت کنید. + +* برای چک کردن صحت انجام کار می‌توانید وارد رجیستری‌های ویندوز شوید. برای این کار در `Run` عبارت `regedit` را تایپ کنید و اینتر بزنید. +* حالا در مسیر مشخص شده در تصویر زیر بروید. نسخه‌های TLS فعال شده به این شکل قابل مشاهده هستند. + +
+![ تصویر رجیستری ویندوز](https://github.com/hiddify/hiddify-config/assets/125398461/53b259f3-267a-4e7f-90b2-8f5ce3a216ca) +
\ No newline at end of file diff --git a/docs/manager/basic-concepts-and-troubleshooting/TLS-setting-for-increased-security.md b/docs/manager/basic-concepts-and-troubleshooting/TLS-setting-for-increased-security.md new file mode 100644 index 0000000..a2bfc6b --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/TLS-setting-for-increased-security.md @@ -0,0 +1,86 @@ +--- +title: TLS setting for increased security +--- + +
+ +# TLS setting for increased security +Due to the intensity of filtering and the ability to detect patterns of Internet packets on TLS-based protocols, it is necessary to devise measures that prevent this. Here are some solutions for this issue. + +## Set the TLS version on CDN + +To use CDN-based connections, you need to set the TLS version to the highest setting in your domain settings. + +Log in to your `Cloudflare` account and select `SSL/TLS` in the `Domain` section. Then, in `Edge Certificates`, set the minimum TLS version to `TLS 1.3` using the `Minimum TLS Version` field. + +
+![](https://user-images.githubusercontent.com/125398461/243977858-69edd121-028f-43f5-87ca-35cb5be00c0f.png) + + +
+ +> Please note that if this section is not on the TLS 1.3 option, you may have problems with some operators. + +> If you still have problems after changing the TLS version, try a new subdomain, because the previous subdomain may have been detected by the filtering system. + +## Enable TLS 1.3 on the client + +TLS 1.3 is enabled by default on Windows 11, Mac OS, and most recent versions of Linux. Here's how to enable this version of TLS for Windows 10. + +### Enable TLS 1.3 on Windows 10 + +- First, open a `notepad` file and copy the following registry commands into it. + +``` +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server] +"DisabledByDefault"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3] + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client] +"DisabledByDefault"=dword:00000000 +"Enabled"=dword:00000001 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server] +"DisableBy Default"=dword:00000000 +"Enabled"=dword:00000001 + +``` +- Now save the file with the `.reg` extension so that it becomes executable. + +- Make sure that the file does not have a `.txt` extension. + +- Now run it by double clicking on the file. + +- The work is done. `TLS 1.3` is enabled on Windows 10. You only need to restart the system once. + +- To check the correctness of the work, you can enter the Windows registry. To do this, type `regedit` in `Run` and press enter. + +- Now go in the path indicated in the image below. TLS-enabled versions are visible like this. + +
+ +![](https://user-images.githubusercontent.com/125398461/243984337-53b259f3-267a-4e7f-90b2-8f5ce3a216ca.png) + +
diff --git a/docs/manager/basic-concepts-and-troubleshooting/Troubleshooting-connectivity-issues-with-HiddifyManager-and-proxies.fa.md b/docs/manager/basic-concepts-and-troubleshooting/Troubleshooting-connectivity-issues-with-HiddifyManager-and-proxies.fa.md new file mode 100644 index 0000000..921bd3a --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/Troubleshooting-connectivity-issues-with-HiddifyManager-and-proxies.fa.md @@ -0,0 +1,41 @@ +--- +title: عیب‌یابی مشکلات اتصال با هیدیفای‌منیجر و پراکسی‌ها +--- + +# عیب‌یابی مشکلات اتصال با هیدیفای‌منیجر و پراکسی‌ها +چرا با وجود نصب هیدیفای‌منیجر کانکشن‌های من وصل نمی‌شوند؟ + +یا داستان چیه که با رایتل وصل میشه ولی مثلا با ایرانسل وصل نمیشه؟ + +برای پاسخ به این سوالان این مقاله را تا انتها دنبال کنید. + + +همانطور که در مقدمات پیکربندی هیدیفای‌منیجر گفته شده، این موضوع چند دلیل بیشتر ندارد: + +> ۱. آیپی یا دامنه بلاک شده است. +> +> ۲. آیپی نیمه‌بلاک و در لیست زرد قرار گرفته شده است. مثلا در بعضی ISPها وصل و در بعضی وصل نیست. +> +> ۳. اگر از دامین CDN استفاده شده است، آیپی کلادفلر تمیزی انتخاب نشده است. +> + +بنابراین این پنل قرار نیست معجزه بکند. نصب آن مقدماتی نیاز دارد. حتما قبل از پیکربندی پنل، مطمئن شوید آیپی و یا دامنه شما سالم است.[نحوه تست](/fa/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) + + +اگر از دامنه CDN استفاده می‌شود نیاز است [آیپی تمیز کلادفلر](/fa/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP/) پیدا کنید و در فیلد اجباری دامنه در منوی دامنه‌ها قرار دهید. + + +اگر شما توانسته اید از یک ابزار دیگه، روی همون سرور و همون دامنه، متصل بشید، بلافاصله اون لینک تروجان یا وی لس یا وی مس را برای ما بفرستید تا توی پنل اضافه کنیم + + + + +# راه کارهایی برای حل مشکل +- [آیپی سالم پیدا کنید](/fa/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) +- [دامنه ی جدیدی استفاده کنید](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) +- [می‌توانید از CDN استفاده کنید](/fa/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us%3F/) +- [میتوانید از Relay استفاده کنید](/fa/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) +- [از دامنه ی Fake استفاده کنید](/fa/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain/) + + + diff --git a/docs/manager/basic-concepts-and-troubleshooting/Troubleshooting-connectivity-issues-with-HiddifyManager-and-proxies.md b/docs/manager/basic-concepts-and-troubleshooting/Troubleshooting-connectivity-issues-with-HiddifyManager-and-proxies.md new file mode 100644 index 0000000..53d63e0 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/Troubleshooting-connectivity-issues-with-HiddifyManager-and-proxies.md @@ -0,0 +1,37 @@ +--- +title: Troubleshooting connectivity issues with HiddifyManager and proxies +--- + +# Troubleshooting connectivity issues with HiddifyManager and proxies +Why don't my connections connect even though HiddifyManager is installed? + +Or, what is the story behind this that it connects with One ISP but does not connect with other one, for example? + +Follow this article to the end to answer these questions. + + +As mentioned in the preliminaries of HiddifyManager configuration installation, there are several reasons for this issue: + +> 1. IP or domain is blocked. +> 2. The IP is semi-blocked and placed in the yellow list. For example, it is connected in some ISPs and not in others. +> 3. If a CDN domain is used, the Cloudflare IP is not selected. +> + +Therefore, this panel is not going to work miracles. It requires preliminary installation. Before configuring the panel, make sure your IP or domain is clean. [How to test](/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) + + +If a CDN domain is used, you need to find [Cloudflare Clean IP](/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP/) and in the mandatory field Enter the domain in the domains menu. + + +If you have been able to connect from another device, on the same server and the same domain, immediately send us the link of the Trojan or Wi-Las or Wi-Mes so that we can add it to the panel. + + + + +# Ways to solve the problem +- [Find a clean IP](/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) +- [Use a new domain](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) +- [You can use CDN](/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us%3F/) +- [You can use Relay](/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) +- [Use the Fake domain](/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain/) + diff --git a/docs/manager/basic-concepts-and-troubleshooting/index.fa.md b/docs/manager/basic-concepts-and-troubleshooting/index.fa.md new file mode 100644 index 0000000..089f772 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/index.fa.md @@ -0,0 +1,8 @@ +--- +description: آموزش‌های مرتبط با مفاهیم پایه و عیب‌یابی +title: مفاهیم پایه و عیب‌یابی +comments: false +weight: -50 +--- + + diff --git a/docs/manager/basic-concepts-and-troubleshooting/index.md b/docs/manager/basic-concepts-and-troubleshooting/index.md new file mode 100644 index 0000000..760fd63 --- /dev/null +++ b/docs/manager/basic-concepts-and-troubleshooting/index.md @@ -0,0 +1,6 @@ +--- +description: Tutorials related to basic concepts and troubelshooting +title: Basic concepts and troubelshooting +comments: false +weight: -50 +--- diff --git a/docs/manager/changelog.md b/docs/manager/changelog.md new file mode 100644 index 0000000..b6a75a8 --- /dev/null +++ b/docs/manager/changelog.md @@ -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 + diff --git a/docs/manager/client-software-on-android/Tutorial-for-HiddifyClashAndroid-app.fa.md b/docs/manager/client-software-on-android/Tutorial-for-HiddifyClashAndroid-app.fa.md new file mode 100644 index 0000000..9383d3c --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-HiddifyClashAndroid-app.fa.md @@ -0,0 +1,94 @@ +--- +title: آموزش کار با نرم‌افزار HiddifyClashAndroid +--- + + +
+ +# آموزش کار با نرم‌افزار HiddifyClashAndroid + + + +این نرم‌افزار بر پایه کلش توسعه داده شده است و امکانات زیادی در آن قرار داده شده است. + +## دانلود برنامه + + برای این کار در پنل کاربری خود وارد تب اندروید شوید و بخش مربوط به `هیدیفای کلش` را باز کنید. + +
+ +
+ + +`دانلود مستقیم` را بزنید تا برنامه دانلود شود. + +## نصب برنامه +برای نصب برنامه فایل دانلود شده را اجرا کنید. ممکن است خطای ناشناخته بودن منبع فایل را بدهد که می‌توانید آن را تایید کنید تا فایل نصب گردد. + +## اضافه کردن پروفایل به برنامه + +
+ +
+ + +* در اینجا نیاز است با مفهومی به اسم پروفایل آشنا شوید. پروفایل یک فایل yml شامل تمامی کانکشن‌هاست که در این بخش قابل دسترسی است. دو نوع پروفایل وجود دارد + +* پروفایل سبز رنگ یا `Lite` برای سایت‌های فیلتر شده که در این حالت فقط سایت‌های فیلترشده از فیلترشکن عبور داده می‌شوند و سایر سایت‌ها از جمله سایت‌های ایرانی بدون فیلترشکن باز می‌شوند که حالت بهتری است. بنابراین برای باز کردن این سایت‌ها نیاز به خاموش کردن VPN ندارید. + +* حالت دوم پروفایل نارنجی یا `Normal` است که همه ترافیک را از فیلترشکن به سمت سرور می‌فرستد که اگر در سرور سایت‌های ایرانی بلاک شده باشند، باز نمی‌شوند یا اگر وارپ برای همه ترافیک فعال شده باشد،‌سایت‌های ایرانی با وارپ باز می‌شوند. + +* در نهایت یکی از دو پروفایل را انتخاب کنید و `نصب` را بزنید تا پروفایل به صورت خودکار به برنامه اضافه گردد. + + +## اضافه کردن دستی پروفایل +* در اپ HiddifyClash در اندروید روی `Profile`‌ بزنید. + +
+ +
+ + +* و در صفحه‌ای که باز می‌شود، دکمه `+` را تپ کنید. + +
+ +
+ + + +* در این صفحه در قسمت `URL` بروید. + +
+ +
+ + +* و لینک پروفایل انتخاب شده را ازز صفحه کاربری کپی کنید و در اینجا قرار دهید و ذخیره نمایید. + +
+ +
+ + +* پروفایل مورد ظنر به برنامه اضافه می‌گردد. + +## اتصال به فیلترشکن +برای اتصال نیز روی دکمه مشخص شده بزنید. + +
+ +
+ + +## آپدیت پروفایل +جهت آپدیت پروفایل و کانفیگ‌ها روی پروفایل بزنید و در صفحه باز شده روی علامت آپدیت بزنید تا پروفایل مطابق با آخرین تغییرات سرور آپدیت گردد. + +
+ +
diff --git a/docs/manager/client-software-on-android/Tutorial-for-HiddifyClashAndroid-app.md b/docs/manager/client-software-on-android/Tutorial-for-HiddifyClashAndroid-app.md new file mode 100644 index 0000000..7d571f9 --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-HiddifyClashAndroid-app.md @@ -0,0 +1,89 @@ +--- +title: Tutorial for HiddifyClashAndroid app +--- + +
+ +# Tutorial for HiddifyClashAndroid app +This software is developed based on Clash and many features are included in it. + +## Download the app + +To do this, enter the Android tab in your user panel and open the section related to `Hidify Android`. + + + +
+ +
+ + +- Click on `Direct Download` to download the application. + +## Install the app +Run the downloaded file to install the program. It may give an error that the source of the file is unknown, which you can confirm to install the file. + + + + + +## Add profile to the app + + +
+ +
+ +- Here you need to get acquainted with a concept called `profile`. The profile is a `yml` file includes all the connections that can be accessed in this section. There are two types of profiles + +- `Green` or `lite` profile for filtered sites, in which case only filtered sites are passed through the VPN and other sites, including domestic sites, are opened without the VPN, which is a better mode. So you don't need to turn off VPN to open these sites. + +- The second mode is the `orange` or `Normal` profile, which passes all traffic through the VPN to the server. If domestic sites are blocked on the server, they will not be opened, or if WARP is enabled for all traffic, domestic sites will be opened via WARP. + +- Finally, choose one of the two profiles and click on `Install` so that the profile is automatically added to the program. + +## Add profile manually +- Tap on `Profile` in the `HiddifyClash` app on Android. + +
+ +
+ + +- And on the screen that opens, tap the `+` button. + +
+ +
+ +- On this page, go to the `URL` section. + +
+ +
+ +- And copy the selected profile link from the user page and place it here and save it. + +
+ +
+ +- The desired profile is added to the app. + + +## Connect to the app +Click on the specified button to connect. + +
+ +
+ + +## Update profile +To update the profile and configs, click on the profile. Then, on the opened page, click on the update sign so that the profile is updated according to the latest server changes. + +
+ +
+ + diff --git a/docs/manager/client-software-on-android/Tutorial-for-HiddifyNG-app.fa.md b/docs/manager/client-software-on-android/Tutorial-for-HiddifyNG-app.fa.md new file mode 100644 index 0000000..6072acf --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-HiddifyNG-app.fa.md @@ -0,0 +1,190 @@ +--- +title: آموزش کار با نرم‌افزار HiddifyNG +--- + +
+ +# آموزش کار با نرم‌افزار HiddifyNG + +این اپ بهترین نرم‌افزار برای اتصال به پروتکل‌های Xray در سیستم عامل اندروید است. + +## دانلود و نصب نرم‌افزار +در پنل کاربری خود وارد تب `اندروید` شوید و بخش مربوط به `HiddifyNG` را باز کنید. + + +
+ +
+ + +روی `دانلود مستقیم` بزنید تا برنامه دانلود شود. + +همچنین می‌توانید برنامه را از [گیتهاب](https://github.com/hiddify/HiddifyNG/releases) و از [گوگل‌پلی](https://play.google.com/store/apps/details?id=ang.hiddify.com) به صورت مستقیم دانلود و نصب کنید. + +## افزودن کانفیگ +برای این کار در همان بخش مربوط به برنامه `HiddifyNG` روی `کلیک برای افزودن کانفیک` بزنید تا کانفیگ به برنامه اضافه گردد. + +
+ +
+ + +## اتصال سریع +این صفحه برای اتصال سریع به فیلترشکن طراحی شده است که شامل چندین بخش است. + +### بخش پروفایل + +
+ +
+ + + + +* در این قسمت می‌توانید پروفایل‌های ایمپورت شده خود را ببینید. میزان حجم مصرفی و حجم کلی را مشاهده کنید. همچنین تعداد روز باقیمانده از اکانت خود را مشاهده کنید. (بخش شماره ۱) + +* از طریق دکمه شماره ۲ می‌توانید وارد صفحه کاربری خود در پنل شوید + +* از طریق دکمه شماره ۳ می‌توانید با پشتیبانی خود در ارتباط باشید. + + +### اضافه کردن پروفایل جدید +برای این کار دکمه `+` را از بخش پروفایل یا از بالا سمت راست اپلیکیشن بزنید. + + +امکان استفاده از لینک کپی شده یا اسکن `QR code` آن برای شما فراهم می‌شود. + +
+ +
+ + + +### اتصال به نرم‌افزار +برای این کار روی دکمه اتصال وسط صفحه بزنید. + +
+ +
+ + + + +پس از اتصال نتیجه تست اتصال نیز نمایش داده می‌شود. + +## کانفیگ‌ها +در اینجا تک تک کانفیگ‌هایی که با استفاده از لینک سابسکریپشن اضافه شده بودند، نماش داده می‌شوند. + +
+ +
+ + + +### اضافه کردن کانفیگ به صورت دستی +برای این کار از دکمه `+` شماره ۱ استفاده کنید. + +### آپدیت کردن کانفیگ‌ها +برای این کار از دکمه آپدیت شماره ۲ استفاده کنید. + +### اجرای کانفیگ‌ها +برای این کار از دکمه شماره ۳ استفاده کنید. + +### منوی ۳ نقطه در کانفیگ‌ها +در این منو که زیر مجموعه منوی کانفیگ‌هاست، می‌توانید کارهای مختلفی انجام دهید که در ادامه اشاره می‌شوند. + + +
+ +
+ + +#### فیلتر پرونده پیکربندی‌ها +این منوی برای فیلتر کردن کانفیگ‌هابر اساس یک مورد خاص می‌باشد. +#### خروجی گرفتن پیکربندی‌های غیر سفارشی +این منو برای خروج کانفیگ اضافه شده به برنامه و انتقال آن به دستگاه دیگر کاربرد دارد. +#### حذف تمام پیکربندی‌ها +این منوی برای حذف کل فایل کانفیگ‌ها از برنامه می‌باشد. +#### حذف کانفیگ‌های تکراری +بعضی وقت‌ها نیاز دارید به دلیل تعدد کانفیگ‌ها یک مرتب سازی صورت بگیرد و کانفیگ‌هایی که تکراری ایمپورت شده‌اند، از برنامه حذف شوند. برای این کار از این گزینه استفاده کنید. +#### حذف تنظیمات نامعتبر پس از آزمایش +بعضی وقت‌ها کانفیگ‌ها را دست کاری می‌کنید تا با تغییر پارامترها نتیجه بهتری بگیرید. در صورتی که نیاز داشته باشید کانفیگ‌هایی که تنظیم نامعتبر دارند را حذف نمایید، از این گزینه استفاده کنید. +#### تاخیر واقعی همه پیکربندی‌ها +این گزینه برای تست پینگ واقعی بر اساس اتصال به کانفیگ‌ها نتیجه را نمایش می‌دهد. +#### مرتب‌سازی بر اساس نتایج آزمایش +لیست کانفیگ‌ها را بر اساس نتیجه تست مرتب می‌کند. کانفیگ‌های با پینگ کمتر و نتیجه بهتر در بالای لیست قرار می‌گیرند. + + +برای این کار در قسمت مربوط به پروفایل تپ کنید تا بخش مربوط به تنظیمات آن‌ها باز شود. + +می‌توان پروفایل‌های ایمپورت شده را ویرایش کرد یا پروفایل جدید اضافه نمود. + +## منوی پیشرفته +در این صفحه تنظیمات پیشرفته قرار دارد که در ادامه به آن‌ها اشاره خواهد شد. +
+ +
+ + + + + + +### تنظیمات حالت پروکسی برنامه‌ها +تنظیمات این بخش نحوه عبور ترافیک سایت‌ها و اپلیکیشن‌ها از فیلترشکن را تعیین می‌کند که شامل سه قسمت است. + + + +#### همه +همه سایت‌ها و اپ‌ها را از فیلترشکن عبور می‌دهند. + +#### فیلتر شده +سایت‌های فیلتر شناسایی شده را از فیلترشکن عبور می‌دهد. + +#### جز فیلتر نشده +علاوه بر سایت‌های فیلتر شناسایی شده، سایت‌هایی را هم که وضعیت فیلترشدن یا نشدنشان نا معلوم است، از فیلترشکن عبور می‌دهد. + + + +### فرگمنت +فرگمنت بسته‌های ارسالی را تکه تکه میکنه. اینطوری SNI از دید سیستم فیلترینگ مخفی میشه و فیلترینگ دور زده می‌شود. [اطلاعات بیشتر](/manager/wiki/%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%D9%88-%D9%86%D8%AD%D9%88%D9%87-%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF-%D9%81%D8%B1%DA%AF%D9%85%D9%86%D8%AA) + +تنظیمات این بخش نحوه انتقال اطلاعات را در قالب بسته‌های تکه تکه شده تعیین می‌کند. هدف از اعمال این تنظیمات ایجاد مقاومت در برابر سیستم فیلترینگ است. + +#### پیش‌فرض +فرگمنتی که در کانفیگ یا لینک پروکسی تعریف شده است را اعمال می‌کند. + +#### تصادفی +بسته‌ها به تکه‌های تصادفی تقسیم می‌کند. + +#### دامنه +بسته‌ها را به دو تکه تقسیم می‌کند. + +### حالت اتصال +تنظیمات این بخش نحوه اتصال به کانفیگ‌ها را تعیین می‌کند. + +#### هوشمند +به صورت خودکار به کانفیگی با بیشترین سرعت (کمترین پینگ) متصل می‌شود. + +#### لودبالانس +به صورت همزمان به چند کانفیگ وصل می‌شود و ترافیک بین آن‌ها پخش می‌شود. این حالت برای زمانی که آیپی مربوط به کانفیگ‌ها کثیف شده است خیلی مفید است با استفاده از این حالت و پخش بار روی چند کانفیگ سرعت قابل قبولی به دست می‌آید. + +#### دستی +کانفیگ‌ها به صورت دستی وارد و جهت اتصال انتخاب می‌شوند. با کلیک روی این دکمه، نرم‌افزار وارد صفحه دیگری می‌شود که لیست کانفیگ‌ها را نشان می‌دهد. + + +## تنظیمات منوی سه خط نرم‌افزار +در این بخش چندین تنظیم کلی وجود دارد که کاربردی‌ترین قسمت‌ها این‌ها هستند. + +
+ +
+ +### تنظیمات گروهی اشتراک +تنظیمات مربوط به همه لینک‌های سابسکریپشن این گزینه را انتخاب کنید. +### تنظیمات +تنظیمات کلی نرم‌افزار در این بخش وجود دارد. +### فایل عیب‌یابی +در صورت نیاز به فایل لاگ جهت عیب‌یابی از این گزینه استفاده کنید. +### گزارش ایراد +در صورت نیاز به گزارش کردن باگ‌ها و اشکالات از این منو استفاده کنید. diff --git a/docs/manager/client-software-on-android/Tutorial-for-HiddifyNG-app.md b/docs/manager/client-software-on-android/Tutorial-for-HiddifyNG-app.md new file mode 100644 index 0000000..8b635ed --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-HiddifyNG-app.md @@ -0,0 +1,207 @@ +--- +title: Tutorial for HiddifyNG app +--- + +
+ +# Tutorial for HiddifyNG app +This app is the best software for connecting to Xray protocols on Android operating system. +Download and install the software + +Enter the `Android` tab in your user panel and open the `HiddifyNG` section. + +
+ + +
+ + + +Click on Direct Download to download the application. + +You can also download and install the program directly from [GitHub](https://github.com/hiddify/HiddifyNG/releases) and [Google Play](https://play.google.com/store/apps/details?id=ang.hiddify.com). + +## Add config +To do this, in the same section related to the `HiddifyNG` program, click on `Click to Import` to add the configuration to the program. + +
+ + +
+ + + + +## Home +This plate is designed for quick connection to the filter breaker, which consists of several parts. + +### Profile section + +
+ + +
+ +In this section, you can see your imported profiles. + +- View the Traffic usage and the total traffic. Also see the number of days remaining in your account. (section number 1) + +- You can enter your user page in the panel through button number 2 + +- You can contact your support through button number 3. + + +### Add new profile + +For this, press the `+` button from the profile section or from the top right of the application. + +You can use the copied link or scan its QR code. + +
+ + +
+ + + + + + +### Connect to the software + +To do this, click on the connection button in the middle of the screen. + +
+ + +
+ + +## Configs +Here are the configs that were added using the subscription link. + +
+ + +
+ + +### Update configs +For this, use the update button number 2. + +### Start or stop configs +For this, use the update button number 3. + +### Three-dot menu in configs +In this menu, which is a subset of the config menu, you can do various things that are mentioned below. + + + +
+ + +
+ + + + +#### Filter configuration file +This menu is for filtering configurations based on a specific item. + +#### Export non-custom configs +This menu is used to exit the configuration added to the program and transfer it to another device. + +#### Remove all config +This menu is for deleting the entire config file from the program. + +#### Remove duplicate config +Sometimes, due to the large number of configurations, you need to sort and remove the duplicate imported configurations from the program. Use this option for this. + +#### Remove invalid config (Test first) +Sometimes you manipulate the configs to get better results by changing the parameters. If you need to delete configs that have invalid settings, use this option. + +#### Real delay all configuration +This option displays the result for actual ping test based on the connection to the configs. + +#### Sorting by test results +Sorts the list of configs based on the test result. Configurations with lower ping and better results are placed at the top of the list. + +To do this, tap on the section related to the profile to open the section related to their settings. + +You can edit the imported profiles or add a new profile. + + +## Advanced +On this page, there are advanced settings that will be mentioned later. + +
+ + +
+ +## Proxy mode settings + +The settings of this section determine how the traffic of sites and applications pass through the VPN, which consists of three parts. + +#### All +All sites and apps pass through the app. + + +#### Blocked +Passes detected filtered sites through the app. + +#### Not Opened +In addition to the identified filter sites, it also passes through the app the sites whose filtering status is unknown. + + +## Fragment + +Fragment splits the sent packets into some pieces. In this way, SNI is hidden from the GFW and filtering will be bypassed. [more information](/fa/manager/basic-concepts-and-troubleshooting/How-the-TLS-Trick-works-and-its-usage/) + +The settings in this section determine how information is transmitted in the form of fragmented packets. The purpose of applying these settings is to create resistance against the filtering system. + +#### Default +Applies the fragment defined in the config or proxy link. + +#### Random +It splits packets into random chunks. + +#### SNI +It splits packets into two pieces. + + +## Connection mode +The settings in this section determine how to connect to configs. + +#### Smart +It will automatically connect to the configuration with the highest speed (lowest ping). + +#### Load Balance +It connects to several configs at the same time and traffic is distributed between them. This mode is very useful when the IP related to the configs is not clean. By using this mode and spreading the load on several configs, an acceptable speed would be obtained. + +#### Manual +Configs are entered manually. By clicking this button, the app opens another page that shows the list of available configs in which you can choose your desired one. + + +## Three-line software menu settings +In this section, there are several general settings, the most useful parts of which are these. + +
+ + +
+ +### Subscription group setting +Settings for all subscription links Select this option. + + +### Settings +There are general software settings in this section. + + +### Logcat +Use this option if you need a log file for troubleshooting. + +### Feedback +Use this menu if you need to report bugs and errors. diff --git a/docs/manager/client-software-on-android/Tutorial-for-Nekobox-app.fa.md b/docs/manager/client-software-on-android/Tutorial-for-Nekobox-app.fa.md new file mode 100644 index 0000000..b280f54 --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-Nekobox-app.fa.md @@ -0,0 +1,91 @@ +--- +title: آموزش کار با نرم‌‌افزار Nekobox +--- + +
+ + +# آموزش کار با نرم‌‌افزار Nekobox +این اپلیکیشن یکی از برنامه‌های قابل استفاده برای اندروید می‌باشد که برای دستگاه‌های قدیمی کارایی نسبتا مناسبی دارد. + + +## دانلود اپلیکیشن +برای دانلود می‌توانید به گیتهاب مربوط به پروژه در [اینجا](https://github.com/MatsuriDayo/NekoBoxForAndroid) مراجعه نمایید. + +## تنظیمات اولیه +* از طریق `Settings` گزینه `use system dns as direct dns` را فعال کنید. +* همچنین `subscription min tls version` را روی `1.3` قرار دهید +> نکته: اگر از دیوایس های قدیمی استفاده می‌کنید `tls` را روی `1.2` قرار دهید. + + + + +
+ + +
+ + + +
+ + +
+ + +# اضافه کردن لینک سابسکریپشن +* لینک سابسکریپشن مربوط به یوزر را از پنل کپی نمایید. +* وارد قسمت `group` شوید و یک `group` جدید ایجاد کنید. + + + +
+ + +
+ + +* گزینه `group type` را روی `subscription` قرار دهید. +* روی `subscription link` بزنید و لینک سابسکریپشن خود را وارد کنید. +* گزینه‌های `force resolve` و `auto update` را فعال کنید. +* `group` ساخته شده را ذخیره کنید و صبر کنید تا اپدیت تمام شود. + + +
+ + +
+ + + +## آموزش ساخت Proxy Chain +در این روش ترافیک از یک پروکسی به پروکسی دیگر منتقل می‌شود و این امکان را می‌دهد که خیلی بیشتر از روش های قبلی مخفی یا ناشناس باقی بمانید و همچنین امنیت بیشتری داشته باشید. + +* روی گزینه اضافه کردن یا `import` کردن کانفیگ بزنید از طریق `manual settings`. + +* `Proxy chain` را انتخاب کنید. + + +
+ + +
+ + +* `Add profile` را بزنید و به عنوان مثال یک کانفیگ ریالیتی انتخاب کرده و وارد کنید. + +* برای پروکسی دوم مثلا از ورکر کلادفلر استفاده می‌کنیم و پروفایل را ذخیره می‌کنم. + +* حالا برای چک کردن اینکه آیا کار به درستی انجام شده است، به [اینجا](https://ip.gs/) بروید. اگر آیپی کلادفلر مشاهده شد، یعنی کار به درستی انجام شده است. + +
+ + +
+ +> نکته: در هنگام استفاده از این روش ممکن است پینگ تست با خطا مواجه شود که یک باگ است که باید رفع شود. اما اتصال فیلترشکن برقرار است و مشکلی ندارد. + +> می‌توان در این روش از `http` و `socks5` هم استفاده نمود. + +> همچنین می‌توان به صورت همزمان از بیش از ۲ پروکسی برای اتصال استفاده کرد. + diff --git a/docs/manager/client-software-on-android/Tutorial-for-Nekobox-app.md b/docs/manager/client-software-on-android/Tutorial-for-Nekobox-app.md new file mode 100644 index 0000000..b5bba46 --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-Nekobox-app.md @@ -0,0 +1,96 @@ +--- +title: Tutorial for Nekobox app +--- + +
+ +# Tutorial for Nekobox app +This application is one of the applications that can be used for Android, which works relatively well for old devices. + +## Download the application + +To download, you can refer to the GitHub of the project [here](https://github.com/MatsuriDayo/NekoBoxForAndroid). + +## Initial settings + +* Activate the `use system dns as direct dns option` through `Settings`. +* Also set `subscription min tls version` to `1.3`. + +> Note: if you are using old devices, set `tls` to `1.2`. + + + + +
+ + +
+ + + +
+ + +
+ + + + +## Add subscription link + +* Copy the `subscription link` of the user from the panel. +* Enter the `group` section and create a `new group`. + + +
+ + +
+ + +* Set the `group type` option to `subscription`. +* Click on `subscription link` and enter the subscription link. +* Enable `force resolve` and `auto update` options. +* Save the created `group` and wait for the update to finish. + + +
+ + +
+ + +## Tutorial on making Proxy Chain +In this method, the traffic is transferred from one proxy to another, and it allows you to remain hidden or anonymous much longer than the previous methods, and also to be more secure. + +* Configure the `add` or `import` option through `manual settings`. + +* Select `Proxy chain`. + + + +
+ + +
+ + +* Click `Add profile` and select and enter, for example, a reality config. + +* For the second proxy, for example, we use Cloudflare worker and save the profile. + +* Now go [here](https://ip.gs/) to check if it was done correctly. If Cloudflare's IP is seen, it means the job is done correctly. + + +
+ + +
+ + +> Note: When using this method, the ping test may encounter an error, which is a bug that needs to be fixed. But the filter connection is established and there is no problem. + +> You can also use `http` and `socks5` in this method. + +> You can also use more than 2 proxies to connect at the same time. + diff --git a/docs/manager/client-software-on-android/Tutorial-for-V2rayNG-app.fa.md b/docs/manager/client-software-on-android/Tutorial-for-V2rayNG-app.fa.md new file mode 100644 index 0000000..f43b9c5 --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-V2rayNG-app.fa.md @@ -0,0 +1,94 @@ +--- +title: آموزش کار با نرم افزار V2rayNG +--- + +
+ +# آموزش کار با نرم افزار V2rayNG +این برنامه یک اپ نسبتا خوب برای اتصال به کانفیگ‌های مبتنی بر Xray می‌باشد ولی توصیه می‌شود از اپ جایگزین [HiddifyNG](/fa/manager/client-software-on-android/Tutorial-for-HiddifyNG-app/) استفاده نمایید. + +## دانلود نرم‌افزار +برای این کار در پنل کاربری خود وارد بخش HiddifyNG شوید و سپس `نرم‌افزار جایگزین V2rayNG` را باز کنید و روی `دانلود مستقیم` بزنید تا برنامه دانلود شود. +
+ +
+ + +## نصب نرم‌افزار +برای نصب فایل دانلود شده را اجرا کنید. ممکن است خطای مربوط به برنامه‌های ناشناس داده شود که باید آن را تایید کنید تا برنامه نصب شود. نصب خیلی ساده است. + +## افزودن کانفیگ‌ها به برنامه + +* در پنل کاربری در بخش قبل روی دکمه کنار `لینک برای سابسکریپشن` بزنید تا صفحه QR code باز شود. سپس روی کپی بزنید. +
+ +
+ + +* حالا وارد برنامه V2rayNG شوید و از منوی سه خط، گزینه Subscription group setting را انتخاب کنید. + + +
+ +
+ + +* در صفحه باز شده، روی `+` بزنید. + + +
+ +
+ + + +* در صفحه بعد برای `remark` یک اسم دلخواده بدهید و لینک کپی شده را در فیلد `URL` قرار دهید و ذخیره کنید. + + + +
+ +
+ +* سپس روی منوی سه نقطه بزنید و گزینه `Update subscription` را انتخاب کنید تا کانفیگ‌های موجود در لینک سابسکریپشن در برنامه بارگذاری شوند. + + +
+ +
+ + +## تست کانفیگ‌ها +* برای این کار وارد منوی سه نقطه شوید و گزینه `Real delay all configuration` را انتخاب نمایید تا از همه کانفیگ‌ها تست پینگ گرفته شود. + + +
+ +
+ + +* نتیجه تست در کنار هر کانفیگ نمایش داده می‌شود. + + +
+ +
+ + +## اتصال به فیلترشکن +برای اتصال به فیلترشکن دکمه `Connect` را در پایین بزنید تا ارتباط برقرار شود. + + +
+ +
+ +## آپدیت کردن سابسکریپشن +* ابتدا اتصال خود از فیلترشکن را قطع نمایید که برای این کار روی دکمه اتصال بزنید تا ارتباط قطع شود. + +
+ +
+ + +* سپس از منوی سه نقطه روی گزینه `Update subscription` بزنید تا لینک سابسکریپشن با آخرین تنظیمات روی پنل بروزرسانی شود. diff --git a/docs/manager/client-software-on-android/Tutorial-for-V2rayNG-app.md b/docs/manager/client-software-on-android/Tutorial-for-V2rayNG-app.md new file mode 100644 index 0000000..57b04e0 --- /dev/null +++ b/docs/manager/client-software-on-android/Tutorial-for-V2rayNG-app.md @@ -0,0 +1,98 @@ +--- +title: Tutorial for V2rayNG app +--- + +
+ +# Tutorial for V2rayNG app + +This program is a relatively good app for connecting to Xray-based configurations, but it is recommended to use the [HiddifyNG](/manager/wiki/Tutorial-for-HiddifyNG-app) alternative app. app. + +## Download the app +To do this, enter the `HiddifyNG` section in your user panel and then open the `Alternative V2rayNG` and click on `Direct Download` to download the program. + +
+ +
+ + + +## Install the app +Run the downloaded file to install. You may get an error about unknown apps that you need to confirm to install the app. Installation is very simple. + +## Add configs to the app +- In the user panel in the previous section, click on the button next to the `Subscription Link` to open the `QR code` page. Then tap on `copy`. + + +
+ +
+ + + + +- Now enter the V2rayNG program and select `Subscription group setting` from the three-line menu. + + +
+ +
+ + +- On the screen that opens, tap `+`. + + +
+ +
+ + +- On the next page, give a desired name for the `remark` and put the copied link in the `URL` field and save it. + +
+ +
+ + +- Then click on the three-dot menu and select the `Update subscription` option so that the configurations in the subscription link are loaded into the program. + + +
+ +
+ + +## Config test +- To do this, enter the three-dot menu and select the `Real delay all configuration` option so that a ping test is taken from all configurations. + + +
+ +
+ + +- The test result is displayed next to each configuration. + + +
+ +
+ + +## Connect to the app +To connect to the app, press the Connect button at the bottom to establish a connection. + +
+ +
+ + +## Update subscription +- First, disconnect your connection from VPN. To do this, press the connection button to disconnect. + +
+ +
+ + +- Then, from the three -point menu to the `Update Subscription` option to update the subscription link with the latest settings on the panel. diff --git a/docs/manager/client-software-on-android/index.fa.md b/docs/manager/client-software-on-android/index.fa.md new file mode 100644 index 0000000..210c99f --- /dev/null +++ b/docs/manager/client-software-on-android/index.fa.md @@ -0,0 +1,6 @@ +--- +description: مطالب مرتبط با نرم‌افزارهای کلاینت در اندروید +title: نرم‌افزارهای کلاینت در اندروید +comments: false +weight: -40 +--- diff --git a/docs/manager/client-software-on-android/index.md b/docs/manager/client-software-on-android/index.md new file mode 100644 index 0000000..8c4b203 --- /dev/null +++ b/docs/manager/client-software-on-android/index.md @@ -0,0 +1,6 @@ +--- +description: Tutorials related to client software on android +title: Client software on android +comments: false +weight: -40 +--- diff --git a/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyClashDesktop-software.fa.md b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyClashDesktop-software.fa.md new file mode 100644 index 0000000..094fa56 --- /dev/null +++ b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyClashDesktop-software.fa.md @@ -0,0 +1,176 @@ +--- +title: آموزش کار با نرم‌افزار HiddifyClash برای دسکتاپ +--- + +
+ +# آموزش کار با نرم‌افزار HiddifyClash برای دسکتاپ + +این نرم‌افزار بر پایه کلش توسعه داده شده است و امکانات زیادی در آن قرار داده شده است. + + + +## دانلود برنامه +* برای این کار در پنل کاربری خود وارد تب `دسکتاپ` شوید و بخش مربوط به HiddifyClash را باز کنید. + +
+ +
+ + +* از قسمت شماره ۳ مشخص شده در تصویر بالا می‌توانید نرم‌افزار را بر مبنای سیستم عامل خود دانلود کنید. + +## نصب برنامه +#### ویندوز +نصب برنامه بسیار ساده است و با چند next به انتها می رسد. +#### مک +برای مک نیز باید برنامه را در بخش privacy تایید نمایید. +#### لینوکس +برای لینوکس می‌بایست تنها به فایل AppImage دانلود شده دسترسی اجرایی بدهید و آن را اجرا کنید. +## اضافه کردن پروفایل به برنامه + + +* برای این کار در پنل کاربری خود وارد تب `دسکتاپ` شوید و بخش مربوط به HiddifyClash را باز کنید. +
+ +
+ + +* در اینجا نیاز است با مفهومی به اسم پروفایل آشنا شوید. پروفایل یک فایل yml شامل تمامی کانکشن‌هاست که در این بخش قابل دسترسی است. دو نوع پروفایل وجود دارد + +* پروفایل سبز رنگ یا lite برای سایت‌های فیلتر شده که در این حالت فقط سایت‌های فیلترشده از فیلترشکن عبور داده می‌شوند و سایر سایت‌ها از جمله سایت‌های ایرانی بدون فیلترشکن باز می‌شوند که حالت بهتری است. بنابراین برای باز کردن این سایت‌ها نیاز به خاموش کردن VPN ندارید. + +* حالت دوم پروفایل نارنجی یا normal است که همه ترافیک را از فیلترشکن به سمت سرور می‌فرستد که اگر در سرور سایت‌های ایرانی بلاک شده باشند، باز نمی‌شوند یا اگر وارپ برای همه ترافیک فعال شده باشد،‌سایت‌های ایرانی با وارپ باز می‌شوند. + +* در نهایت یکی از دو پروفایل را در قسمت شماره ۴ انتخاب کنید. + +## Profile +* روی نصب پروفایل کلیک کنید، پروفایل به صورت خودکار به برنامه اضافه می‌گردد. همچنین می‌توانید لینک کپی شده را در بخش پروفایل به صورت دستی در بخش ۱ ایمپورت نمایید. + + +
+ +
+ +* در بخش شماره ۲ اطلاعات مربوط به پروفایل ایمپورت شده شامل تاریخ انقضا و حجم ترافیک کلی و حجم ترافیک مصرف شده را می‌توان مشاهده کرد. + +## Home +در این منو می‌توانید با دکمه `Enable anti-censorship` فیلترشکن را روشن یا خاموش کنید. +
+ +
+ + +## Proxy +در این منو شما می‌توانید نحوه اجرای پروکسی‌ها (کانفیگ‌ها) را مشخص کنید که شامل ۳ بخش اصلی است. +
+ +
+ + +#### Rule +این حالت پروکسی‌ها را بر اساس Ruleهای موجود در پروفایل ایمپورت شده اجرا می‌کند که خود شامل چندین بخش است. +
+ +
+ + +###### PROXY +این زیر بخش پروکسی‌های موجود در پروفایل را اجرا کرده و به اولین کانفیگی که پینگ می‌دهد متصل می‌شود. + +###### automatic +در این حالت به بهترین کانفیگ که پینگ کمتری دارد متصل می‌شود. + +###### sequential +در این حالت پروکسی‌ها به صورت نوبتی متصل می‌شوند یعنی به نوعی تقسیم بار انجام می‌شود اما تفاوت اصلی با Load-balance این است که در Load-balance به صورت همزمان به چند کانفیگ مصتل می‌شود ولی در این حالت در لحظه به یک کانفیگ وصل می‌شود. + +###### مرتب‌سازی بر اساس لوکیشن +با استفاده از دکمه شماره ۱ می‌توانید بر اساس لوکیشن کانفیگ‌ها را مرتب کنید. +###### تست کانکشن‌ها +با استفاده از دکمه شماره ۲ می‌توانید تست کانکشن‌ها را بگیرید. +#### Global +این حالت برای انتخاب کانفیگ به صورت دستی است و برای زمانی مفید است که می‌خواهید از یک کانفیگ خاص استفاده نمایید. + +
+ +
+ + +###### مرتب‌سازی بر اساس لوکیشن +با استفاده از دکمه شماره ۱ می‌توانید بر اساس لوکیشن کانفیگ‌ها را مرتب کنید. +###### تست کانکشن‌ها +با استفاده از دکمه شماره ۲ می‌توانید تست کانکشن‌ها را بگیرید. + +#### Direct +این حالت ترافیک را به صورت مستقیم به اینترنت ارسال می‌کند و ترافیک از فیلترشکن عبور نمی‌کند. + + +
+ +
+ +## Settings +در این منو تنظیمات کلی نرم‌افزار انجام می‌شود. +
+ +
+ + +* دکمه شماره ۱ یا TUN Mode برای تانل کردن کل ترافیک سیستم است. +> توجه: برای فعال‌سازی این دکمه باید حتما نرم‌افزار با دسترسی admin در ویندوز یعنی `Run as Administrator` اجرا شود. همچنین در مک و لینوکس هم با دسترسی ادمین یا روت باید اجرا گردد. + +* دکمه شماره ۲ سیستم پروکسی را فعال می‌کند و برای نرم‌افزارهایی که قابلیت پروکسی دارند کاربرد دارد. یعنی پس از فعال‌سازی این دکمه، باید در نرم‌افزارها در قسمت پروکسی روی آیپی ۱۲۷.۰.۰.۱ و پورت برنامه که دیفالت آن ۷۸۹۰ است، می‌توانید به فیلترشکن متصل شوید. + +> این حالت برای زمانی مفید است که نمی‌خواهید همه ترافیک خود را از فیلترشکن عبور دهید. + +* دکمه شماره ۳ یا Auto Launch نرم‌آفزار را بعد از بالا آمدن سیستم به صورت خودکار اجرا می‌کند. +* دکمه شماره ۴ یا Silent Start باعث می‌شود نرم‌افزار به صورت نامحسوس اجرا گرددو در نوار وظیفه آیکون آن نمایش داده می‌شود. +* می‌توان با استفاده از دکمه شماره ۵ آیپی ورژن ۶ را خاموش کرد. +* در بخش ۶ می‌توان پورت نرم‌افزار را که دیفالت آن ۷۸۹۰ است، تعیین نمود. +* در بخش ۷ می‌توان هسته نرم‌افزار را تعیین کرد که دیفالت آن Clash Meta است. +
+ +
+ + +* در بخش شماره ۸ می‌توان زبان را تعیین نمود. +* در بخش شماره ۹ می‌توان تم مربوط به نرم‌افزار را تغییر داد. +* در بخش ۱۰ نیز ورژن نرم‌افزار قابل مشاهده است. + +## Connections +در این بخش کانکشن‌هایی که در نرم‌افزار برقرار می‌شود نمایش داده می‌شود. یعنی اگر برنامه ای از فیلترشکن استفاده می‌کند در این بخش نمایش داده می‌شود که این بخش برای عیب‌یابی بسیار مفید است. + + +
+ +
+ +## Rules +این منو مربوط به Ruleهای موجود در پروفایل ایمپورت شده است که می‌توان مشاهده کرد چه مواردی در این فایل تعیین شده است. + + +
+ +
+ +## Logs +در این بخش لاگ مربوط به نرم‌افزار قابل مشاهده است که هنگام عیب یابی بسیار کاربرد دارد. + + + +
+ +
+ +## گراف ترافیک +در بخش مشخص شده زیر نیز گرافیک مربوط به ترافیک عبوری از فیلترشکن نمایش داده می‌شود. + +
+ +
+ diff --git a/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyClashDesktop-software.md b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyClashDesktop-software.md new file mode 100644 index 0000000..ab3a77b --- /dev/null +++ b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyClashDesktop-software.md @@ -0,0 +1,179 @@ +--- +title: Tutorial for HiddifyClashDesktop software +--- + +
+ +# Tutorial for HiddifyClashDesktop software +This software is developed based on Clash and many features are included in it. + +## Downloading the software +For this, enter the `Desktop` tab in your user panel and open the section related to `HiddifyClash`. + +
+ +
+ +You can download the software based on your operating system from the section number 3 indicated in the image above. + +## Installing the software + +#### Windows +Installing the program is very simple and is completed with a few next steps. + +#### Mac +For Mac, you must confirm the program in the privacy section. + +#### Linux +For Linux, you only need to give executable access to the downloaded AppImage file and run it. + + + +## Adding a profile to the app +For this, enter the `Desktop` tab in your user panel and open the section related to `HiddifyClash`. + +
+ +
+ + +- Here you need to get acquainted with a concept called profile. The profile of a yml file includes all the connections that can be accessed in this section. There are two types of profiles + +- Green or lite profile for filtered sites, in which case only filtered sites are passed through the filter breaker and other sites, including Iranian sites, are opened without the filter breaker, which is a better mode. So you don't need to turn off VPN to open these sites. + +- The second mode is the orange or normal profile, which sends all traffic from the filter breaker to the server. If Iranian sites are blocked on the server, they will not be opened, or if warp is enabled for all traffic, Iranian sites will be opened with warp. + +- Finally, choose one of the two profiles from section number 4. + + +## Profile +Click on install profile, the profile will be automatically added to the program. You can also import the copied link in the profile section manually in section 1. + +
+ +
+ +In section number 2, the information related to the imported profile, including the expiration date and the total traffic volume and the traffic volume consumed, can be seen. + +## Home +In this menu, you can turn the filter breaker on or off with the `Enable anti-censorship` button. + +
+ +
+ +## Proxy +In this menu, you can specify how to run proxies (configs), which includes 3 main sections. + +
+ +
+ +## Rule +This mode executes proxies based on the rules in the imported profile, which contains several sections. + +
+ +
+ + +###### PROXY +This subsection executes the proxies in the profile and connects to the first config that pings. + + +###### automatic +In this case, it connects to the best configuration that has a lower ping. + +###### sequential +In this case, the proxies are connected in turn, that is, the load is divided in a way, but the main difference with Load-balance is that in Load-balance, it is connected to several configurations at the same time, but in this case, it is connected to one configuration at the moment. + +###### Sort by location +By using button number 1, you can sort the configurations based on location. + +###### Connection test +You can test connections by using button number 2. + +#### Global +This mode is for manual configuration selection and is useful when you want to use a specific configuration. + +
+ +
+ +###### Sort by location +By using button number 1, you can sort the configurations based on location. + +###### Connection test +You can test connections by using button number 2. + +#### Direct +This mode sends the traffic directly to the Internet and the traffic does not pass through the filter breaker. + +
+ +
+ +## Settings +In this menu, the general settings of the software are made. + +
+ +
+ +- Button number 1 or TUN Mode is for tunneling the entire system traffic. + + +> Note: To activate this button, the software must be run with admin access in Windows, i.e. Run as Administrator. It should also be run on Mac and Linux with admin or root access. + +- Button number 2 activates the proxy system and is used for software that has proxy capabilities. That is, after activating this button, you should be able to connect to the filter breaker in the proxy section of the software on IP 127.0.0.1 and the default port of the program is 7890. + +> This mode is useful when you don't want to pass all your traffic through the VPN. + +- Button number 3 or Auto Launch runs the software automatically after the system boots up. + +- Button number 4 or Silent Start makes the software run inconspicuously and its icon is displayed in the task bar. + +- You can turn off IP version 6 using button number 5. + +- In section 6, you can determine the software port, the default of which is 7890. + +- In section 7, you can determine the core of the software, the default of which is Clash Meta. + +
+ +
+ +- In section number 8, you can determine the language. + +- In section number 9, you can change the theme related to the software. + +- The software version can be seen in section 10. + + +## Connections +In this section, the connections established in the software are displayed. That is, if a program uses a filter, it will be displayed in this section, which is very useful for troubleshooting. + +
+ +
+ +## Rules +This menu is related to the rules in the imported profile, which can be seen in this file. + +
+ +
+ +## Logs +In this section, the log related to the software can be seen, which is very useful during troubleshooting. + +
+ +
+ +## Traffic graph +In the specified section below, the graphic related to the traffic passing through the filter breaker is also displayed. + +
+ +
\ No newline at end of file diff --git a/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyN-software.fa.md b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyN-software.fa.md new file mode 100644 index 0000000..6fd7311 --- /dev/null +++ b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyN-software.fa.md @@ -0,0 +1,320 @@ +--- +title: آموزش کار با نرم‌افزار HiddifyN +--- + +
+# آموزش کار با نرم‌افزار HiddifyN + + + +این نرم‌افزار بر پایه Xray توسعه داده شده است و دارای قابلیت‌های فراوانی است که در ادامه بررسی می‌شوند. + +## دانلود نرم‌افزار +برای دانلود برنامه در پنل کاربری خود، تب مربوط به دسکتاپ را باز کنید و بخش مربوط به HiddifyN را باز کنید و سپس روی آیکون ویندوز (دکمه شماره ۳) بزنید تا برنامه دانلود شود. + +
+ +
+ +## نصب برنامه +نصب برنامه خیلی ساده است. کافیست ابتدا برنامه [Runtime 6](https://www.google.com/search?q=%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF+%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87+Microsoft+.Net+runtime+6&oq=%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF+%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87+Microsoft+.Net+runtime) را نصب کنید و سپس فایل دانلود شده را اکسترکت کرده و در پوشه مربوط به آن فایل HiddifyN را اجرا نمایید. + +## اضافه کردن پروفایل به برنامه +در پنل کاربری مجددا به بخش HiddifyN بروید و روی `کلیک برای افزودن کانفیگ` بزنید تا کانفیگ‌ها به صورت خودکار به برنامه اضافه شوند. + +
+ +
+ + +## حالت‌های پروکسی +یکی از مهم‌ترین بخش‌های این اپلیکیشن، حالت‌های پروکسی است که در ادامه درباره هر قسمت آن توضیح داده خواهد شد. + +
+ +
+ +#### Auto/Smart +به صورت خودکار به کانفیگی با بیشترین سرعت (کمترین پینگ) متصل می‌شود. + +#### Load-Balance +به صورت همزمان به چند کانفیگ وصل می‌شود و ترافیک بین آن‌ها پخش می‌شود. این حالت برای زمانی خیلی مفید است که شما چند کانفیگ با آیپی کثیف دارید، با پخش بار روی چند کانفیگ به صورت همزمان، عملا سرعت قابل قبولی به دست می‌آید. + +#### Manual +برای تنظیم کانفیگ‌ها به صورت دستی استفاده می‌شود. با کلیک روی آن، تنظیمات پیشرفته برنامه باز می‌گردد که در ادامه بیشتر توضیح داده خواهد شد. + +## تغییر زبان نرم‌افزار +برای تغییر زبان نرم‌افزار روی منوی مشخص شده در تصویر زیر بزنید و زبان را انتخاب کنید. سپس یک بار برنامه را ببندید و مجددا باز کنید. + +
+ +
+ +## تغییر تم نرم‌افزار +برای تغییر تم نرم‌افزار روی دکمه مشخص شده کلیک کنید. + +
+ +
+ + +## اطلاعات پروفایل کاربری +در بخش نمایش داده شده در زیر اطلاعات مربوط به پروفایل کاربری ایمپورت شده از جمله زمان انقضا و میزان حجم کلی و همینطور حجم مصرف شده نمایش داده می‌شود. + +
+ +
+ +در این قسمت می‌توانید پروفایل‌های جدید را به صورت دستی نیز اضافه نمایید. کافیست روی `Import` بزنید و لینک کپی شده از پنل را کاربری را اضافه نمایید. + +## اتصال به فیلترشکن +برای اتصال به فیلترشکن باید روی دکمه دایره‌ای وسط کلیک کنید. نرم‌افزار بر اساس حالت پروکسی انتخاب شده به کانفیگ‌ها متصل می‌گردد همچنین پینگ مربوط به کانفیگ در کنار این دکمه نمایش داده می‌شود. + +
+ +
+ +## تنظیمات پیشرفته برنامه +این بخش با زدن دکمه Manual در قسمت حالت پروکسی باز می‌شود. + +
+ +
+ +

۱. Settings

+تنظیمات پیشرفته برنامه در این قسمت قرار دارد. + +
+ +
+ +
Option setting
+ +در این زیربخش تنظیمات اختیاری برنامه قرار دارد که خود شامل چند بخش متفاوت است. + +* تنظیمات پایه + +که برای استفاده روزمره چندان نیاز به تغییر در این قسمت نیست. تنها آپشن پرکاربرد شاید پورت استفاده شده برای برنامه باشد که در این بخش قابل تغییر است. + +
+ +
+ +اگر نیاز به استفاده از پروکسی دارید می‌توانید پروکسی socks5 را روی این پورت تنظیم نمایید. + +* تنظیمات V2rayN + +در این بخش تنظیمات دیفالت برنامه V2rayN که پایه اصلی برنامه HIddifyN است، قرار دارد. + +
+ +
+ +> * که Start on boot برنامه را با بالا آمدن سیستم اجرا می‌کند. +> * Auto hide startup برنامه اجرا شده در ابتدای کار را به صورت خودکار مخفی می‌کند و فقط آیکون برنامه در Notification Area قابل مشاهده است. +> * Check for pre releade update آپدیت‌های غیر رسمی را به برنامه می‌دهد. +> * همچنین سایر در تنظیمات که در تصویر زیر می‌بینید که البته برای استفاده روزمره مورد استفاده قرار نمی‌گیرند. + +
+ +
+ + +* تنظیمات سیستم پروکسی + +این بخش تنظیمات مربوط به سیستم پروکسی را نشان می‌دهد. + + +
+ +
+ +* تنظیمات حالت Tun + +این قسمت شامل تنظیمات حالت Tun است که برای استفاده روزمره نیاز به تغییر ندارد. + +
+ +
+ + +* تنظیمات هسته + +در این بخش می‌توانید برای پروتکل‌های مختلف هسته‌ها را تنظیم نمایید که دیفالت آن Xray است. + +
+ +
+ +
+ +###### Routing setting +در این بخش می‌توانید مسیریابی مربوط به پروفایل ایمپورت شده به برنامه را مشاهده کنید و در صورت نیاز در آن تغییر اعمال نمایید. اما پیشنهاد می‌شود در صورت امکان به آن دست نزنید. + + +
+ +
+ + +###### DNS setting +در این بخش می‌توانید DNSهای مورد نظر خود را وارد نرم‌افزار کنید. + + +
+ +
+ + +###### Reboot as administrator +با این گزینه می‌توانید برنامه را ریستارت کرده و با دسترسی ادمین باز نمایید که این حالت برای استفاده از حالت Tun مورد نیاز است. + +
+ +#### ۲. Reload +این دکمه برای reload کردن هسته برنامه استفاده می‌شود. + +#### ۳. Channel +با زدن این دکمه به کانال تلگرام ما هدایت می‌شوید. + +#### ۴. Check Update +با استفاده از این دکمه می‌توانید آپدیت‌های برنامه را چک نمایید. + +#### ۵. Servers +در این بخش می‌توانید کانفیگ‌های دستی وارد نمایید. + +#### ۶. Subs group +این بخش مربوط به لینک‌های سابسکریپشن می‌باشد. با زدن این دکمه می‌توانید لینک‌های اضافه شده به برنامه را مشاهده کنید و آن‌ها را ویرایش نمایید. + +
+ +
+ + +#### ۷. کانفیگ‌های ایمپورت شده به برنامه +در این بخش کانفیگ‌های ایمپورت شده به برنامه مشاهده می‌شود. + +#### ۸. لاگ کانکشن‌ها +در این قسمت لاگ مربوط به اتصالات به فیلترشکن نمایش داده می‌شود که برای عیب‌یابی بسیار مفید است. + +#### ۹. Enable Tun +این دکمه برای فعال‌سازی حالت Tun یا تانل کردن کل ترافیک سیستم استفاده می‌شود. + +> نکته: برای استفاده از این حالت باید برنامه با سطح دسترسی ادمین اجرا شده باشد یا به عبارتی دیگر Run as Administrator شده باشد. + +#### ۱۰. مشخصات اتصال کنونی +در این بخش مشخصات اتصال کنونی و پینگ مربوط به آن نمایش داده می‌شود. + + + +## رفع مشکلات شایع +### حل مشکل عدم کارکرد کانفیگ های ریالیتی +درصورتی که بعد از وارد کردن لینک سابسکریپشن با مشکل کار نکردن ریالیتی و یا پینگ `1-` مواجه شدید  +به `تنظیمات پیشرفته` رفته و از مسیر زیر `TLS`  را روی `1.3` قرار دهید. + +
+`Settings > Option Setting > v2rayN settings > Enable Security Protocol TLS v1.3  ` +  +
+ +
+![V2rayN settings](https://github.com/hiddify/hiddify-config/assets/125398461/1e0df0d2-508e-4a6a-91da-79a015947fd5) +
+ +و درنهایت `Confirm` را بزنید.  + +### بهبود عملکرد با آپدیت‌های غیررسمی +برای بهبود عملکرد و همچنین آپدیت بودن هسته های مورد نیاز برنامه همچون Xray, SingBox به همان مسیر گفته شده بروید.  + +
+![Pre-release updates](https://github.com/hiddify/hiddify-config/assets/125398461/6bbc59ef-05a8-445d-80df-22222faa1f53) + +
+ +گزینه   `Check for pre-release update` را فعال کنید و سپس از طریق گزینه `Check update` هسته‌ها را آپدیت کنید. + +
+![check for update](https://github.com/hiddify/hiddify-config/assets/125398461/8ea188b9-e240-48a9-96a8-a1473a9346d3) + + +
+ +### رفع نشتی DNS + +* برای این کار باید گزینه `TunMode` را فعال کنید و لازمه این کار استفاده از هسته Sing-box است. بنابراین در صفحه اصلی برنامه با استفاده از دکمه `Check update` هسته Sing-box را دانلود کنید. + + +
+![SingBox core](https://github.com/hiddify/hiddify-config/assets/125398461/c2f94432-0168-40e9-8d8d-43baa2faf0f7) + +
+ +* سپس به مسیر زیر بروید. + +
+`Settings > Option Setting > TunMode settings` + +
+ +
+![TunMode settings](https://github.com/hiddify/hiddify-config/assets/125398461/af2b9542-e8b2-49e9-932e-b247ef8dc5af) + + +
+ +* سپس گزینه `Strict Route` را فعال کنید. +* گزینه `Stack` را روی `System` قرار دهید. +* حالا دکمه `TunMode` را از صفحه اصلی فعال کنید. +> نکته: برای فعال کردن دکمه `TunMode` باید حتما برنامه به صورت `Run as administrator` باز شود. + +> نکته: اگر `TunMode` برای شما به هر دلیلی کار نکرد گزینه `Stack` روی `gvisor` قرار بدید  + + + +### مجزا کردن ترافیک داخلی یا مستقیم کردن ترافیک سایت‌های داخلی +اگر علیرغم استفاده از پروفایل‌ `Lite` یا سبزرنگ که در پنل آماده شده است، نیاز داشتید که ترافیک سایت دیگری را بدون عبور از فیلترشکن به مقصد بفرستید، به دو روش می‌توانید این کار را انجام دهید. + +#### با استفاده از تنظیمات System proxy + +برای این کار به این مسیر بروید. + +
+`Settings > Option Setting > v2rayN settings > System proxy settings` + +
+ +در اینجا آدرس‌های مورد نظر خود را که می‌خواهید از فیلترشکن عبور نکنند وارد کنید. بین هر آدرس از `;` استفاده نمایید. + +
+![proxy settings](https://github.com/hiddify/hiddify-config/assets/125398461/4c3a9fe5-d641-41e6-8bd1-bd7bfdee19d2) + +
+ +> نکته: برای وارد کردن آدرس‌ها به جای `https://tamin.ir` از `tamin.ir` استفاده نمایید. + +#### استفاده از تنظیمات Routing +برای این کار به مسیر زیر بروید. + +
+` Settings > Routing setting` + +
+ +
+![Routing settings](https://github.com/hiddify/hiddify-config/assets/125398461/acbd0ec2-104a-4b69-a69b-7f37f35ce5a6) + +
+ +همانطور که می‌بینید با ایمپورت کردن پروفایل Lite یا سبزرنگ، رول‌های عبور سایت‌های داخلی در اینجا اضافه شده‌اند. اگر خواستید این حالت را به صورت دستی انجام دهید و سایت‌های مدنظر خود را قرار دهید، +* برای این کار گزینه enable `Enable advanced function` را خاموش کنید. +* سپس گزینه `direct domain or IP` را انتخاب کنید. +* می‌توانید دامنه مورد نظر خود را وارد کنید. برای جداسازی چندین سایت از `,` استفاده نمایید. +* می‌توانید از طریق گزینه `block domain or ip` دامنه های مورد نظرو خود را بلاک کنید. + + +
diff --git a/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyN-software.md b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyN-software.md new file mode 100644 index 0000000..dd68241 --- /dev/null +++ b/docs/manager/client-software-on-desktop/Tutorial-for-HiddifyN-software.md @@ -0,0 +1,221 @@ +--- +title: Tutorial for HiddifyN software +--- + +
+ +# Tutorial for HiddifyN software +This software is developed based on Xray and has many features that will be reviewed below. + +## Software download +To download the program in your user panel, open the desktop tab and open the section related to HiddifyN and then click on the Windows icon (button number 3) to download the program. + +
+ + +
+ + + +## Software installation +Installing the program is very simple. Just install the Runtime 6 program first and then extract the downloaded file and run the HiddifyN file in the corresponding folder. + +## Add a profile to the app +In the user panel, go to the HiddifyN section again and `Click to import` so that the configurations are automatically added to the program. + +
+ + +
+ +## Proxy modes +One of the most important parts of this application is the proxy modes, which will be explained about each part below. + +
+ + +
+ +#### Auto/Smart +It will automatically connect to the configuration with the highest speed (lowest ping). + +#### Load-Balance +It connects to several configs at the same time and traffic is distributed between them. This mode is very useful when you have several configurations with dirty IP, by spreading the load on several configurations at the same time, an acceptable speed is obtained. + +#### Manual +It is used to set the configs manually. By clicking on it, the advanced settings of the program will be returned, which will be explained further. + +## Changing the language of the software +To change the language of the software, click on the menu shown in the image below and select the language. Then close the program once and open it again. + +
+ + +
+ +## Changing the theme of the software +Click on the specified button to change the software theme. + +
+ + +
+ +## User profile information +In the section displayed below, the information related to the imported user profile is displayed, including the expiration time and the total traffic as well as the consumed package. + +
+ + +
+ +In this section, you can also add new profiles manually. Just click on `Import` and add the user to the copied link from the panel. + +## Connection to the VPN +You need to click on the middle circular button to connect to the app. The software connects to the configurations based on the selected proxy mode, and the ping related to the configuration is displayed next to this button. + +
+ + +
+ + +## Advanced settings +This section is opened by pressing the Manual button in the proxy mode section. + +
+ + +
+ +

1. Settings

+The advanced settings of the program are located in this section. + +
+ + +
+ +
Option setting
+In this subsection, there are optional settings of the program, which includes several different sections. + +* `Core: basic settings` + +that do not need to be changed for everyday use. The only widely used option is the port used for the program, which can be changed in this section. + +
+ + +
+ +If you need to use proxy, you can set socks5 proxy on this port. + +*V2rayN Settings + +This section contains the default settings of the V2rayN program, which is the main basis of the HIddifyN program. + +
+ + +
+ + +> * which Start on boot runs the program when the system boots. +> * Auto hide startup automatically hides the program running at the beginning of the work, and only the program icon is visible in the Notification Area. +> * Check for pre release update gives unofficial updates to the program. +> * Also, in the settings you see in the picture below, which of course are not used for everyday use. + +
+ + +
+ +* System proxy settings + +This section shows the settings related to the proxy system. + +
+ + +
+ +* Tun mode settings + +This section contains Tun mode settings that do not need to be changed for everyday use. + +
+ + +
+ +* Core type settings + +In this section, you can set kernels for different protocols, the default of which is Xray. + +
+ + +
+ +
+ +###### Routing setting +In this section, you can view the routing related to the profile imported to the program and make changes to it if needed. But it is suggested not to touch it if possible. + +
+ + +
+ +###### DNS setting +In this section, you can enter your desired DNS into the software. + + +
+ + +
+ +###### Reboot as administrator +With this option, you can restart the program and open it with admin access, which is required to use Tun mode. + +
+ +#### 2. Reload +This button is used to reload the program core. + +#### 3. Channel +By pressing this button, you will be redirected to our Telegram channel. + +#### 4. Check Update +You can check program updates using this button. + +#### 5. Servers +In this section, you can enter manual configurations. + +#### 6. Subs group +This section is related to subscription links. By pressing this button, you can see the links added to the program and edit them. + +
+ + +
+ +#### 7. Configs imported into the program +In this section, the configurations imported to the program can be seen. + + +#### 8. Connection log +In this section, the log related to connections to the filter breaker is displayed, which is very useful for troubleshooting. + +#### 9. Enable Tun +This button is used to enable Tun mode or tunneling the entire system traffic. + + +> Note: To use this mode, the program must be run with admin access level, or in other words, `Run as Administrator`. + +#### 10. Current connection specifications +In this section, the current connection specifications and its ping are displayed. + + + diff --git a/docs/manager/client-software-on-desktop/Tutorial-for-QV2ray-software.fa.md b/docs/manager/client-software-on-desktop/Tutorial-for-QV2ray-software.fa.md new file mode 100644 index 0000000..3d82847 --- /dev/null +++ b/docs/manager/client-software-on-desktop/Tutorial-for-QV2ray-software.fa.md @@ -0,0 +1,40 @@ +--- +title: آموزش کار با نرم‌افزار QV2ray + +--- + +
+ +# آموزش کار با نرم‌افزار QV2ray +یکی از برنامه‌هایی که می‌توان برای اتصال به پروتکل‌های Xray روی دسکتاپ از آن استفاده نمود، برنامه QV2ray است. + +## دانلود نرم‌افزار +* این برنامه را از [اینجا](https://github.com/Qv2ray/Qv2ray/releases) می‌توانید دانلود کنید. + +* برای دانلود پلاگین Trojan از [اینجا](https://github.com/Qv2ray/QvPlugin-Trojan/releases) اقدام کنید. + + + +* فایل `dll` دانلود شده پلاگین رو در مسیر نصب نرم افزار `QV2ray` در پوشه `Plugins` کپی کنید. از داخل نرم افزار در بخش `Plugins` با کلیک روی `Open Local Plugin Folder` مسیر مذکور باز می‌شود. + +* نرم افزار را بسته و مجددا اجرا کنید. در مسیر `Plugins` گزینه‌ای تحت عنوان `Trojan-GFW Plugins` اضافه می‌شود. + +
+![Screenshot-from-2020-08-28-09-18-10](https://github.com/hiddify/hiddify-config/assets/125398461/289c4b06-1436-4549-b331-ada3a668a052) + +
+ +## اضافه کردن لینک سابسکریپشن +* کافیست به بخش کاربری خود در پنل بروید. +* در قسمت `همه کانفیگ‌ها`، `لینک سابسکریپشن` را کپی کنید. +* وارد بخش `Groups` در نرم‌افزار شوید. +* در تب `Subscription Setting` لینک ساب کپی شده خود را در قسمت `Subscription Address` وارد کنید. +* با زدن دکمه‌ی `Update subscription` در انتهای صفحه، کانفیگ‌ها در برنامه بارگذاری می‌شوند. + +## تست کانکشن‌ها +* پس از بارگذاری کانفیگ‌ها در مرحله قبل، در صفحه اصلی برنامه می‌توانید از آن‌ها تست اتصال بگیرید. + +## آپدیت کردن لینک سابسکریپشن +* به قسمت `Groups` بروید +* برای آپدیت خودکار مقدار مورد نظر را در قسمت `Update Interval` وارد کنید. +* با زدن دکمه‌ی `Update subscription` در انتهای صفحه، کانفیگ‌ها مطابق با آخرین اطلاعات روی سرور به‌روزرسانی می‌شوند. diff --git a/docs/manager/client-software-on-desktop/Tutorial-for-QV2ray-software.md b/docs/manager/client-software-on-desktop/Tutorial-for-QV2ray-software.md new file mode 100644 index 0000000..c0b057a --- /dev/null +++ b/docs/manager/client-software-on-desktop/Tutorial-for-QV2ray-software.md @@ -0,0 +1,39 @@ +--- +title: Tutorial for QV2ray software +--- + +
+ +# Tutorial for QV2ray software +One of the programs that can be used to connect to Xray protocols on the desktop is the QV2ray program. + +## Download software +- You can download this program from h[here](https://github.com/Qv2ray/Qv2ray/releases). + +- Proceed [here](https://github.com/Qv2ray/QvPlugin-Trojan/releases) to download the Trojan plugin. + +- Copy the downloaded `dll` file of the plugin in the installation path of the `QV2ray` software in the `Plugins` folder. From within the software, in the `Plugins` section, by clicking on `Open Local Plugin Folder`, the mentioned path will be opened. + +- Close the software and run it again. In the `Plugins` path, an option called `Trojan-GFW Plugins` is added. + +
+![](https://user-images.githubusercontent.com/125398461/244033365-289c4b06-1436-4549-b331-ada3a668a052.png) +
+ +## Add subscription link + +- Just go to your user section in the panel. +- In the `All Configurations` section, copy the `Subscription Link`. +- Enter the `Groups` section in the software. +- In the `Subscription Setting` tab, enter your copied sub link in the `Subscription Address` field. +- By clicking the `Update subscription` button at the bottom of the page, the configurations will be loaded into the program. + +## Test connections + +- After loading the configurations in the previous step, you can take a connection test from them on the main page of the program. + +## Update the subscription link + +- Go to the `Groups` section +- For automatic update, enter the desired value in the `Update Interval` section. +- By clicking the `Update subscription` button at the bottom of the page, the configurations will be updated according to the latest information on the server. \ No newline at end of file diff --git a/docs/manager/client-software-on-desktop/index.fa.md b/docs/manager/client-software-on-desktop/index.fa.md new file mode 100644 index 0000000..73e3bea --- /dev/null +++ b/docs/manager/client-software-on-desktop/index.fa.md @@ -0,0 +1,6 @@ +--- +description: مطالب مرتبط با نرم‌افزارهای کلاینت در دسکتاپ +title: نرم‌افزارهای کلاینت در دسکتاپ +comments: false +weight: -20 +--- diff --git a/docs/manager/client-software-on-desktop/index.md b/docs/manager/client-software-on-desktop/index.md new file mode 100644 index 0000000..82d30c9 --- /dev/null +++ b/docs/manager/client-software-on-desktop/index.md @@ -0,0 +1,6 @@ +--- +description: Tutorials related to client software on desktop +title: Client software on desktop +comments: false +weight: -20 +--- diff --git a/docs/manager/client-software-on-ios/Tutorial-for-Fair-VPN-app.fa.md b/docs/manager/client-software-on-ios/Tutorial-for-Fair-VPN-app.fa.md new file mode 100644 index 0000000..eab40d7 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-Fair-VPN-app.fa.md @@ -0,0 +1,108 @@ +--- +title: آموزش کار با نرم‌افزار Fair VPN + +--- + +
+ +# آموزش کار با نرم‌افزار Fair VPN + + +## افزودن لینک سابسکریپشن به نرم‌افزار + +برای این کار به صفحه کاربری خود در پنل هیدیفای بروید. سپس در بخش مربوط به اپ `Fair VPN` لینک سابسکریپشن می‌بینید. + +
+ +
+ + + +روی دکمه `QR code` مربوط به` لینک برای Subscription b64` بزنید تا پنجره کوچک نشان داده شود. + + + + + +حالا دو امکان وجود دارد. + +## کپی کردن لینک + +* می‌توانید گزینه `کپی` را انتخاب کنید + +
+ +
+ + * سپس وارد نرم‌افزار `Fair VPN` شوید و در تب `VPN` روی گزینه `Import VPN Configs` تپ کنید. + +
+ +
+ +* لینک مربوط به سابسکریپشن را که کپی کرده بودید را در اینجا قرار دهید `OK` کنید. + +
+ +
+ + +بعد از چند ثانیه کانفیگ‌ها به نرم‌افزار اضافه می‌شوند. + + +## اسکن کردن QR Code + حالت بعدی وارد کردن لینک، استفاده از QR code می‌باشد. +* برای این کار باید از منوی پایین نرم‌افزار در تب `VPN` گزینه `Add VPN by QR Code` را بزنید + +
+ +
+ +* سپس با استفاده از دوربین گوشی QR code مربوط را در صفحه کاربری پنل اسکن کنید. با این کار شما به حالت قبل کانفیگ‌ها به نرم‌افزار اضافه می‌شوند. + + +
+ +
+ + +## تست کانفیگ‌ها + +برای تست کانفیگ‌ها از گزینه `Test VPN Latency` تپ کنید سپس گزینه `Test Web Latency` را بزنید. با این کار تست واقعی از کانکشن‌ها گرفته می‌شود و در کنار هر کانکشن نتیجه آن نمایش داده می‌شود. + +
+ +
+ + + +## مرتب‌سازی کانفیگ‌ها بر اساس نتیجه تست + +برای این کار از گزینه `Test VPN Latency` گزینه `Sort by Latency` را انتخاب کنید. با این کار کانکشن‌ها بر اساس نتیجه تست مرتب می‌شوند. + +
+ +
+ + +## آپدیت کردن لینک سابسکریپشن +این برنامه این قابلیت را ندارد بنابراین در صورت نیاز به آپدیت لینک سابسکریپشن و کانفیگ‌ها باید از گزینه `Delete All VPN` استفاده کنید و مجدد لینک سابسکریپشن را اضافه نمایید. + +> نکته: اگر از قابلیت AutoCDN استفاده می‌کنید، برای آپدیت کانکشن‌ها و دریافت آیپی تمیز جدید باید همه کانکشن‌ها را با استفاده از `Delete All VPN` حذف کنید و سپس با VPN خاموش صفحه کاربری را رفرش کنید و مجددا لینک سابسکریپشن را به نرم‌افزار اضافه نمایید. + +
+ +
+ +## قابلیت اشتراک‌گذاری اتصال VPN با دستگاه‌های موجود دیگر + +فرض کنید نیاز دارید روی گوشی VPN را روشن کنید و دستگاه دیگری که نیاز به اتصال به اینترنت آزاد دارد ولی قابلیت نصب VPN را ندارد؛ متصل کنید. برای این کار کافیه در Fair VPN از دکمه `Local Sharing` استفاده کنید و آن را روشن کنید. بعد از آن یک پیغام به شمل زیر داده می‌شود. + +
+ +
+ + +در دستگاه دوم کافیه در قسمت تنظیمات پروکسی دستگاه، روی آیپی و پورت داده شده تنظیمات را انجام بدهید تا انصال به VPN برقرار گردد. + + diff --git a/docs/manager/client-software-on-ios/Tutorial-for-Fair-VPN-app.md b/docs/manager/client-software-on-ios/Tutorial-for-Fair-VPN-app.md new file mode 100644 index 0000000..4d98cea --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-Fair-VPN-app.md @@ -0,0 +1,92 @@ +--- +title: Tutorial for Fair VPN app +--- + +
+ + +# Tutorial for Fair VPN app + +## Adding subscription links to the app +For this, go to your user page on Hiddify panel. Then you will see the `subscription link` in the section related to the `Fair VPN` app. + +
+ +
+ + + +Click on the `QR code` button corresponding to the `link for Subscription b64` so that a small window appears. + +Now there are two options. + +## Copy the link +- You can select the `Copy` option + +
+ +
+ + + +- Then enter the `Fair VPN app` and tap on the `Import VPN Configs` option in the `VPN` tab. + +
+ +
+ +- Paste the subscription link you copied here and click `OK`. + +
+ +
+ +- After a few seconds, the configurations will be added to the app. + +## Scan QR Code +The next way to enter the link is to use a QR code. +- For this, you must select `Add VPN by QR Code` from the bottom menu of the software in the `VPN` tab. + +
+ +
+ + +- Then scan the relevant QR code on the panel user page using the phone's camera. By doing this, the configurations will be added to the software as before. + +
+ +
+ +## Connection test +To test the configurations, tap on `Test VPN Latency` option, then tap on `Test Web Latency` option. With this, the real test is taken from the connections and the result is displayed next to each connection. + +
+ +
+ +## Sort configs based on ping test +To do this, select the `Sort by Latency` option from the `Test VPN Latency` option. With this, the connections are sorted based on the test result. + +
+ +
+ +## Update the subscription link + +This program does not have this feature, so if you need to update the subscription link and configurations, you should use the `Delete All VPN` option and add the subscription link again. + +> Note: If you use the AutoCDN feature, to update the connections and get a new clean IP, you must delete all connections using `Delete All VPN` and then refresh the user page with the VPN off and add the subscription link to the software again. + +
+ +
+ +## Feature of sharing VPN connection with other existing devices +Suppose you need to turn on VPN on your phone and another device that needs to connect to the free Internet but does not have the feature to install VPN; connect For this, just use the `Local Sharing` button in Fair VPN and turn it on. After that, a message will be given to the following. + +
+ +
+ +In the second device, it is enough to make settings on the given IP and port in the proxy settings section of the device to connect to the VPN. \ No newline at end of file diff --git a/docs/manager/client-software-on-ios/Tutorial-for-FoXray-app.fa.md b/docs/manager/client-software-on-ios/Tutorial-for-FoXray-app.fa.md new file mode 100644 index 0000000..0b5866e --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-FoXray-app.fa.md @@ -0,0 +1,162 @@ +--- +title: آموزش کار با نرم‌افزار FoXray + +--- + +
+ +# آموزش کار با نرم‌افزار FoXray +این برنامه از تیم برنامه WingsX منتشر شده است که به دلیل خارج شدن آن برنامه از لیست برنامه‌های AppStore این برنامه جایگزین شده است. + +## اضافه کردن لینک سابسکریپشن پنل به برنامه +* ابتدا وارد صفحه کاربری خود در پنل هیدیفای شوید. +* در تب `آی‌اواس` بخش مربوط به `FoXray` را باز نمایید و `لینک برای Subscription b64` را بزنید. +* لینک را کپی کنید. +
+ +
+ + + + +* وارد برنامه FoXray شوید و از منوی پایین `Subscriptions` را انتخاب نمایید. +* دکمه `+` را بزنید. + +
+ +
+ +* یک نام دلخواه بدهید و لینک را در `URL` کپی کنید و سپس `Subscribe` را بزنید. با انجام این کار کانفیگ‌ها به برنامه اضافه می‌شوند. + +
+ +
+ +## آپدیت سابسکریپشن +برای این کار در منوی `Subscriptions` روی علامت `↪️` تا لینک‌ها آپدیت شوند. + +
+ +
+ + +## اضافه کردن لینک‌ها با استفاده از QR code +برای این کار در منوی `FoXray` دکمه QR code را بزنید و از طریق دوربین QR code مربوط به لینک یا کانفیگ را اسکن کنید تا به برنامه اضافه گردند. + +
+ +
+ + +همچنین اگر QR code را در گالری گوشی ذخیره نموده‌اید می‌توانید در منوی `FoXray` دکمه عکس را انتخاب کنید تا از طریق آن عکس مربوط را انتخاب کرده و کانفیگ‌ها اضافه شوند. + +
+ +
+ + +## اضافه کردن کانفیگ‌های تکی +هر چند این روش اصلا پیشنهاد نمی‌گردد چون قابلیت آپدیت ندارد ولی در صورت نیاز می‌توانید از این قابلیت استفاده کنید. +* برای این کار یکی از کانفیگ‌ها را از صفحه کاربری خود در پنل کپی نمایید. +* در برنامه در منوی `FoXray` آیکون Clipboard کلیک کنید تا کانفیگ کپی شده به برنامه اضافه گردد. + +
+ +
+ + +## تست کانکشن +برای تنظیم نوع تست کانکشن‌ها به منوی `Setting` بروید و در بخش `Speed Test` نوع تست را انتخاب کنید. +* با استفاده از گزینه `PingType` می‌توانید نوع تست را از بین گزینه‌های `TCPPing`, `TLSPing`, `RealPing` مشخص کنید که واقعی‌ترین حالت آن `RealPing` است. + +
+ +
+ + +* برای انجام تست در صفحه اصلی برنامه روی آیکون تست کانکشن بزنید تا تست انجام شود. + +
+ +
+ +## محدود کردن میزان استفاده از حافظه +برای این کار در `Setting` در بخش `ToolBox` گزینه `Limit Memory Usage` را فعال کنید. + +
+ +
+ + + +## اضافه کردن DNS +* در صورت نیاز به اضافه کردن DNS به برنامه در منوی `FoXray` بخش DNS را انتخاب نمایید. +* سپس روی `+` بزنید. +* در صفحه باز شده، یک نام دلخواه بدهید و آدرس `DNS` مورد نظر خود را در فیلد `Default DNS Address` قرار دهید. + +
+ +
+ +* سایر قسمت‌ها را تغییر ندهید و ذخیره نمایید. + +## آپدیت خودکار لینک‌های سابسکریپشن +این قابلیت جزو قابلیت‌های پرمیوم برنامه است و برای استفاده از آن باید برنامه را خریداری کرده باشید. +برای استفاده از آن در منوی `Setting` بروید و گزینه `Auto Update Subscription` را انتخاب نمایید. + + +
+ +
+ + + +## روشن بودن همیشگی VPN +در صورت نیاز به روشن بودن همیشه فیلترشکن خود باید گزینه‌ `Always On` را در `Setting` و بخش `Pro ToolBox` فعال کنید که این گزینه نیز پرمیوم است. + +
+ +
+ + +## نمایش لوکیشن سرور VPN +از قسمت `Setting` و بخش `Pro ToolBox` گزینه `Show Location` را فعال کنید تا پس از اتصال VPN، لوکیشن مربوط به سرور برای شما نمایش داده شود. این قابلیت رو قابلیت‌های پرمیوم برنامه است. + +
+ +
+ +## پین کردن کانفیگ متصل شده +برای این کار نیز باید در منوی `Setting` و بخش `Pro ToolBox` گزینه `Pin Outbound` را انتخاب نمایید. در این صورت کانفیگی که متصل شده است در بالای صفحه اصلی پین می‌شود. این قابلیت رو قابلیت‌های پرمیوم برنامه است. + +
+ +
+ +## تست قبل از اتصال +در صورت نیاز به تست کانکشن‌ها قبل از اتصال در `Setting` و بخش `Pro ToolBox` گزینه `Test Outbound before Start` را فعال کنید. این قابلیت رو قابلیت‌های پرمیوم برنامه است. + +
+ +
+ +## فعال‌سازی فرگمنت +برای فعال‌سازی فرگمنت روی کانکشن‌های TLS می‌بایست در این نرم‌افزار روی کانکشن بزنید و گزینه Fragment را فعال کنید. +پارامترهای زیر برای تعیین در فیلدهای مربوطه پیشنهاد می‌شود. + +
+ + +
+ +
+`packets: tlshello` + +`length : 100-200` + +`interval : 10-20` + +
+ +بسته به اپراتور ممکن است نیاز باشد پارمترها را تغییر دهید یا نوع پکت‌ها را از tlshello به حالت `tcp segment 1-3` تغییر دهید. البته این حالت ممکن است زودتر شناسایی شود. +`packets: 1-3` \ No newline at end of file diff --git a/docs/manager/client-software-on-ios/Tutorial-for-FoXray-app.md b/docs/manager/client-software-on-ios/Tutorial-for-FoXray-app.md new file mode 100644 index 0000000..039890e --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-FoXray-app.md @@ -0,0 +1,170 @@ +--- +title: Tutorial for FoXray app +--- + +
+ + +# Tutorial for FoXray app +This app has been released by the WingsX app team, which has been replaced due to its removal from the AppStore app list. + +## Add subscription link to the app +- First, enter your user page on Hidify panel. +- In the `iOS` tab, open the section related to `FoXray` and click `Subscription Link b64`. +- `Copy` the link. + +
+ +
+ + + +- Enter the FoXray program and select Subscriptions from the bottom menu. + + +- Tap the `+` button. + +
+ +
+ +- Give a desired name and copy the link in the URL and then click Subscribe. By doing this, the configs will be added to the program. + +
+ +
+ +## Update subscription +For this purpose, click on the `↪️` sign in the Subscriptions menu to update the links. + +
+ +
+ +## Add subscription link via QR code + +To do this, press the QR code button in the FoXray menu and scan the QR code related to the link or configuration through the camera to be added to the program. + +
+ +
+ + + +Also, if you have saved the QR code in the phone gallery, you can select the photo button in the FoXray menu to select the relevant photo and add the configurations. + +
+ +
+ + + +## Add configs individually +This method is not recommended at all because it does not have the ability to update, but you can use this feature if needed. + +- To do this, copy one of the configurations from your user page in the panel. +- In the program, click the Clipboard icon in the FoXray menu to add the copied configuration to the program. + +
+ +
+ + +## Connection test +Setting the connection test type Go to the Setting menu and select the test type in the Speed ​​Test section. + +- Using the PingType option, you can specify the type of test from TCPPing, TLSPing, RealPing, the most realistic mode of which is RealPing. + +
+ +
+ + +- To perform the test, click on the connection test icon on the main page of the program to perform the test. + +
+ +
+ + +## Limit memory usage +To do this, activate the `Limit Memory Usage` option in the `ToolBox` section of the `Setting`. + +
+ +
+ +## Add DNS server +- If you need to add DNS to the program, select the `DNS` section in the `FoXray` menu. +- Then tap on `+`. +In the opened page, give a desired name and enter your desired DNS address in the `Default DNS Address` field. + + +
+ +
+ +- Do not change other parts and save. + +## Auto update subscription +This feature is among the premium features of the program and you must have purchased the program to use it. To use it, go to the `Setting` menu and select the `Auto Update Subscription` option. + +
+ +
+ + + +# Always ON + +If you need your VPN to be always on, you should activate the `Always On` option in the `Setting` and `Pro ToolBox` section, which is also a premium option. + +
+ +
+ +## Show VPN location + +Activate the `Show Location` option in the `Setting` section and the `Pro ToolBox` section so that the location of the server will be displayed for you after VPN connection. This feature is on the premium features of the program. + +
+ +
+ + +## Pin connected config +For this, you must select the `Pin Outbound` option in the `Setting` menu and the `Pro ToolBox` section. In this case, the configuration that is connected will be pinned at the top of the main page. This feature is on the premium features of the program. + + +
+ +
+ +## Test configs before connecting +If you need to test the connections before connecting, activate the `Test Outbound before Start` option in the `Setting` and `Pro ToolBox` sections. This feature belongs to the premium features of the program. + +
+ +
+ +## Fragment activation +To activate the fragment on TLS connections, you need to click on the connection on this app and activate the Fragment option. +The following parameters are suggested to be specified in the relevant fields. + +
+ + +
+ +
+ +`packets: tlshello` + +`length: 100-200` + +`Interval: 10-20` + +
+ +Depending on the operator, you may need to change the parameters or change the type of packets from tlshello to `tcp segment 1-3` mode. Of course, this condition may be detected earlier. +`packets: 1-3` diff --git a/docs/manager/client-software-on-ios/Tutorial-for-ShadowRocket-app.fa.md b/docs/manager/client-software-on-ios/Tutorial-for-ShadowRocket-app.fa.md new file mode 100644 index 0000000..12f0efa --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-ShadowRocket-app.fa.md @@ -0,0 +1,211 @@ +--- +title: آموزش کار با نرم‌افزار ShadowRocket شدوراکت + +--- + + +
+ +# آموزش کار با نرم‌افزار ShadowRocket شدوراکت + + این برنامه یکی از برنامه‌های غیر رایگان در سیستم عامل iOS می‌باشد که برای اتصال به VPNهای بر پایه Xray می‌توانید از آن استفاده کنید. + +## اضافه کردن لینک‌های سابسکریپشن پنل به برنامه + +* برای این کار وارد پنل کاربری خود در پنل شوید و در تب `آی‌اواس` وارد بخش مشخص شده برای برنامه `ShadowRocket` شوید. + +
+ +
+ +* ابتدا می‌توانید برنامه را در صورت نیاز از لینک قرار داده شده دانلود نمایید. + +
+ +
+ +در بخش پایین‌تر کانفیگ‌ها قرار دارند که دو امکان وجود دارد. + +
+ +
+ + +دو گزینه وجود دارد. می‌توانید کانفیگ‌های `Normal` که به رنگ نارنجی مشخص شده اند را انتخاب نمایید یا اینکه از کانفیگ‌های `Lite` استفاده کنید. کانفیگ‌های Lite ترافیک سایت‌های ایرانی را از فیلترشکن عبور نمی‌دهد بنابراین هنگامی که VPN شما فعال است، نیازی نیست برای رفتن به سایت‌های ایرانی آن را خاموش کنید. از آن طرف، کانفیگ `Normal` همه ترافیک را از فیلترشکن عبور می‌دهد و به پنل می‌فرستد. اگر در تنظیمات پنل گزینه لاک کردن سایت‌های ایرانی فعال باشد، بنابراین سایت‌های ایرانی باز نمی‌شوند اما اگر وارپ فعال باشد سایت‌های ایرانی با استفاده از [وارپ](/manager/wiki/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%81%D8%B9%D8%A7%D9%84%E2%80%8C%D8%B3%D8%A7%D8%B2%DB%8C-%D9%88%D8%A7%D8%B1%D9%BE-%D8%AF%D8%B1-%D9%BE%D9%86%D9%84-%D9%87%DB%8C%D8%AF%DB%8C%D9%81%D8%A7%DB%8C) باز می‌شوند. + +در نهایت مطابق با نیازتان روی یکی از لینک‌ها بزنید و برای انتقال لینک به دستگاه می‌توانید هم از گزینه کپی استفاده نمایید و هم QR code نشان داده شده را اسکن کنید. + +### کپی کردن لینک در شدوراکت + +* پس از کپی کردن لینک از صفحه کاربری پنل، وارد برنامه شدوراکت شوید و از گوشه سمت راست بالا، دکمه `+` را بزنید. + +
+ +
+ +* سپس در صفحه باز شده‌ `Type` را روی `Subscribe` قرار دهید و سپس لینک را در قسمت `URL` کپی کنید و `Save` را بزنید. با ذخیره این لینک، تمامی کانکشن‌ها در برنامه بارگذاری می‌شوند. + +
+ +
+ + +### اضافه کردن لینک با استفاده از QR code در شدوراکت + +* برای این کار در صفحه اصلی روی دکمه اسکنر مثل شکل زیر کلیک کنید. + +
+ +
+ + +* سپس QR Code موجود در صفحه کاربر را اسکن کنید. کانکشن‌ها به نرم‌افزار اضافه خواهند شد. + + + +## تست کانفیگ‌ها +برای تست کانکشن‌ها کافیه در صفحه اصلی برنامه روی `Connectivity Test` کلیک کنید. + + +
+ +
+ +اگر می‌خواهید تست کانفیگ‌ها واقعی‌تر باشد، در منوهای پایین وارد `Settings` شوید و سپس `Test Method` را روی `Connect` قرار دهید. حالا اگه تست بگیرید نتایج واقعی‌تری نشان داده خواهد شد. + +
+
+ + + +## آپدیت کردن سابسکریپشن و کانفیگ‌ها +برای این کار کافیه روی علام آپدیت بالای کانفیگ‌های مربو به هر لینک تپ کنید. لینک‌ها و کانفیگ‌ها بر اساس آخرین اطلاعات روی سرور آپدیت خواهند شد. + +
+ +
+ + +## سایر تنظیمات سابسکرایب برنامه +در منوی `Settings` در قسمت پایین گزینه `Subscribe` را انتخاب نمایید. + +### آپدیت شدن خودکار هنام باز شدن برنامه + +برای این کار در `Subscribe` گزینه `Update on Open` را انتخاب نمایید. + +
+ +
+ + + +### آپدیت خودکار +برای آپدیت خودکار لینک‌ها در بازه‌های زمانی مشخص گزینه `Auto Background Update` را روشن نمایید. + +
+ +
+ + + +### مرتب‌سازی بر اساس پینگ +اگر بخواهید بر اساس نتیجه تست پینگ کانفیگ‌ها مرتب شوند گزینه `Sort by ping` را انتخاب نمایید. + +
+ +
+ + +## جلوگیری از نشتی آیپی +برای این کار در `Settings` و در بخش `UDP` گزینه `Disable STUN` را فعال نمایید. + +
+ +
+ + +## تنظیم برای رفع مشکل صدا در بعضی برنامه‌ها +بعضی وقت‌ها ممکنه برای شما اتفاق افتاده باشه که در بعضی برنامه‌ها مثل Club House صدا پخش نمی‌شود. برای رفع این مشکل می‌توانید از `Setting` وارد `TCP` شوید و سپس `Fingerprint` خود را تغییر دهید. + +
+ +
+ + +## فعال‌سازی شورت‌کات برنامه +از `Settings` وارد بخش `Shortcuts` شوید. در اینجا شما می‌توانید برای کاربردهای مختلف یک فرمان صوتی تعیین کنید که با استفاده از آن فرمان صوتی، فانکشن مورد نظر اجرا ردد مثلا برنامه اجرا گردد و مواردی از این دست. + +## فعال‌سازی Killer Switch +برای این کار در `Settings` وارد بخش `On Demand` شوید. + +
+ +
+ + + +### Always On +با روشن کردن این گزینه، همیشه VPN شما روشن خواهد بود. + +### On Demand +با روشن شدن این گزینه وقتی اینترنت شما قطع می‌شود، شدوراکت کل اینترنت شما را قطع می‌کنه تا از لو رفتن آیپی اصلی شما جلوگیری کنه. + +### Disconnect on Sleep +اگر این گزینه را فعال نمایید، پس از اینکه گوشی به حالت Sleep رفت، VPN قطع می‌شود. + +## اشتراک‌گذاری کانکشن با سایر دستگاه‌ها +فرض کنید دستگاهی دارید که امکان نصب VPN را ندارد و نیاز است به اینترنت آزاد متصل گردد. برای این کار می‌توانید از گزینه به اشتراک‌گذاری کانکشن در شدوراکت استفاده کر. در منوی `Settings` وارد بخش `Proxy` شوید و `Proxy Share` را انتخاب نمایید. اگر گزینه `Enable Share` را فعال کنید روی آیپی و پورت مشخص شده VPN شما به اشتراک گذاشته می‌شود. + +
+ +
+ + + +برای استفاده در دستگاه دیگر که در یک شبکه مشترک با گوشی شما قرار دارند، می‌توانید وارد تنظیمات پروکسی آن شوید و آیپی و پورت را وارد کنید. بدون نصب هیچ VPNی این دستگاه به اینترنت آزاد متصل خواهد شد. + + +## ایجاد لودبالانس +با نگه داشتن انگشت روی صفحه اصلی و کشیدن به سمت پایین منوی مخفی برنامه باز می‌شود. + +
+ +
+ + + +برای ایجاد لودبالانس دکمه `+` را بزنید. +
+ +
+ +یک نام دلخواه بدهید و `Type` را روی `load-balance` قرار دهید. سپس از قسمت `Policy` کانفیگ‌هایی که پینگ بهتری دارند یا حتی همه کانفیگ‌ها را انتخاب نمایید. در قسمت `Interval` می‌توانید مدت زمان بین تست‌های کانکشن لودبالانس را مشخص نمایید. در قسمت `Timeout` نیز می‌توانید مدت زمانی که یک کانکشن قطع می‌ماند و همچنان معتبر در نظر گرفته شود را مشخص کنید. ولی می توانید اگر بار اول است که این قسمت را تنظیم می‌نمایید، تنظیمات تایمرها را فعلا به صورت دیفالت قرار دهید. در نهایت ذخیره نمایید. + +
+ +
+ +حالا روی لودبالانس ساخته شده بزنید و Test را تپ کنید. با این کار هم تست لودبالانس انجام می‌شود و هم اتصال آن برقرار می‌گردد. با روشن یا خاموش کردن شدوراکت، لودبالانس نیز روشن یا خاموش می‌گردد. + +
+ +
+ +## رفع مشکل باز نشدن بعضی از سایت‌ها +اگر بعضی از سایت‌ها یا اپلیکیشن‌ها برای شما باز نمی‌شود یا یا گیف‌های تلگرام باز نمی‌شود، تنظیمات زیر را انچام دهید تا برطرف شود. + +* به منوی `Settings` بروید. +* وارد بخش `TCP` شوید. + + + +* `TLS` را روی `Network` قرار دهید. +* `Fingerprint` را روی `Safari15_5` قرار دهید. +* `Max Read Length` را روی `16384` قرار ذهید. + + + +* سپس به `Home` بروید. + + +* `Global Routing` را روی `Proxy` قرار دهید. \ No newline at end of file diff --git a/docs/manager/client-software-on-ios/Tutorial-for-ShadowRocket-app.md b/docs/manager/client-software-on-ios/Tutorial-for-ShadowRocket-app.md new file mode 100644 index 0000000..efdea13 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-ShadowRocket-app.md @@ -0,0 +1,213 @@ +--- +title: Tutorial for ShadowRocket app +--- + +
+ + +# Tutorial for ShadowRocket app +This application is one of the non-free programs on the iOS operating system that you can use to connect to VPNs based on Xray. + +## Add subscription link to the app +To do this, enter your user panel in the panel and enter the section specified for the `ShadowRocket` app in the `iOS` tab. +- Then, you can download the program from the given link if needed. + +
+ +
+ +- In the lower section, there are configs, which have two possibilities. + + + +
+ +
+ +There are two options. You can choose the `Normal` config marked in orange or use the `Lite` config the green one. `Lite` config do not pass the traffic of domestic sites through the VPN, so when your VPN is active, you do not need to turn it off to go to domestic sites. On the other hand, the `Normal` configuration passes all the traffic through the VPN and. If the option to block domestic sites is enabled in the panel settings, these sites will not be opened, but if [WARP](/manager/wiki/How-to-activate-WARP-on-the-Hiddify-panel) is enabled, domestic sites will be opened using WARP. + +Finally, according to your need, click on one of the links and to transfer the link to the app, either you can use the copy option or scan the displayed QR code. + +## Copy the link to the app +- After copying the link from the panel's user page, enter the ShadoRocket program and press the `+` button from the upper right corner. + + +
+ +
+ +- Then, on the page that opens, set the `Type` to `Subscribe`, and then copy the link in the `URL` field and click `Save`. By saving this link, all connections will be loaded in the program. + + +
+ +
+ +## Add link via QR code +- To do this, click on the scanner button on the main page as shown below. + +
+ +
+ + +- Then scan the QR Code on the user page. Connections will be added to the app. + +## Config test +To test connections, just click on Connectivity Test on the main page of the program. + +
+ +
+ +If you want to test the configurations more realistically, go to `Settings` in the lower menus and then set `Test Method` to `Connect`. Now, if you take a test, more real results will be shown. + +
+
+ + +## Update of subscription and configs +If you want to test the configurations more realistically, go to Settings in the lower menus and then set Test Method to Connect. Now, if you take a test, more real results will be shown. + + +
+ +
+ + +## Subscribe settings +In the `Settings` menu, select the `Subscribe` option at the bottom. + + +## Automatic update when opening the app +For this, select `Update` on Open in `Subscribe`. + + +
+ +
+ + +## Automatic update +Turn on the `Auto Background Update` option to automatically update the links at specified time intervals. + +
+ +
+ + +## Sort by ping result +If you want to sort the configurations based on the result of the ping test, select the `Sort by ping` option. + + +
+ +
+ + +## Prevent IP leakage +To do this, activate the `Disable STUN` option in `Settings` and in the `UDP` section. + + +
+ +
+ + + +## Fix sound problem in some programs +Sometimes it may have happened to you that the sound does not play in some programs like Club House. To fix this problem, you can enter `TCP` from `Settings` and then change your `Fingerprint`. + +
+ +
+ + + + +## Activate the app shortcut +Enter the `Shortcuts` section from `Settings`. Here, you can set a voice command for different applications, using that voice command, the desired function will be executed, for example, the program will be executed, and so on. + +## Activate Killer Switch +For this, enter the `On Demand` section in `Settings`. + + +
+ +
+ + + +#### Always On +By turning this option on, your VPN will always be on. + +#### On Demand +By turning on this option, when your internet is interrupted, ShadoRoket will disconnect your entire internet to prevent your original IP from being revealed. + +#### Disconnect on Sleep +If you enable this option, the VPN will be disconnected after the phone goes to sleep mode. + +## Share connection with other devices +Suppose you have a device that cannot install a VPN and needs to be connected to the free Internet. For this, you can use the connection sharing option in ShadRocket. Enter the `Proxy` section in the `Settings` menu and select `Proxy Share`. If you enable the Enable Share option, your VPN will be shared on the specified IP and port. + +
+ +
+ + + + +To use on another device that is in the same network as your phone, you can enter its proxy settings and enter the IP and port. This device will connect to the free internet without installing any VPN. + +## Create load balance +Holding your finger on the home screen and sliding down opens the app's hidden menu. + +
+ +
+ + + +Press the `+` button to create a load balance. + +
+ +
+ + + + + + +Give a desired name and set the `Type` to `load-balance`. Then, from the `Policy` section, select the configurations that have better ping or even all configurations. In the `Interval` section, you can specify the time between load balance connection tests. In the `Timeout` section, you can also specify the length of time a connection remains disconnected and is still considered valid. But if it's the first time you set this part, you can set the timer settings to default for now. Finally, save. + +
+ +
+ + +Now click on the created load balancer and tap `Test`. With this, the load balance test is performed and its connection is established. By turning ShadowRocket on or off, load balance is also turned on or off. + + +
+ +
+ + +## Fixed the problem of some sites not opening + +If some sites or applications do not open for you or Telegram gifs do not open, make the following settings to fix it. + +* Go to the `Settings` menu. + +* Enter the `TCP` section. + +* Set `TLS` to `Network`. + +* Set `Fingerprint` to `Safari15_5`. + +* Set `Max Read Length` to `16384`. + +* Then go to `Home`. + +* Set `Global Routing` to `Proxy`. \ No newline at end of file diff --git a/docs/manager/client-software-on-ios/Tutorial-for-SingBox-app.fa.md b/docs/manager/client-software-on-ios/Tutorial-for-SingBox-app.fa.md new file mode 100644 index 0000000..dcaa61c --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-SingBox-app.fa.md @@ -0,0 +1,65 @@ +--- +title: آموزش کار با نرم‌افزار SingBox + +--- + +
+ +# آموزش کار با نرم‌افزار SingBox + +در این آموزش قصد داریم چگونگی افزودن کانفیگ SSH پنل هیدیفای به نرم‌افزار SingBox را آموزش دهیم. برای این کار این آموزش را تا انتها دنبال کنید. + +## دانلود برنامه +برای دانلود برنامه از لینک‌های زیر اقدام کنید. + +- [اندروید](https://install.appcenter.ms/users/nekohasekai/apps/sfa/distribution_groups/publictest) +- [iOS](https://apps.apple.com/us/app/sing-box/id6451272673) +- [ویندوز](https://github.com/yebekhe/SingBox-UI) + +## افزودن پروکسی SSH به برنامه +- ابتدا [این مقاله](/fa/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel/) را مطالعه کنید تا با نحوه فعال‌سازی این پروکسی آشنا شوید. +- سپس در برنامه به منوی `Profiles` بروید. + +
+ + +
+ +- گزینه `New Profile` را انتخاب نمایید. + +
+ + +
+ +- `Type` را روی `Remote` قرار دهید. + +
+ + + +
+ +- حالا در فیلد `Name` یک اسم دلخواه قرار دهید و لینک مربوط به کانفیگ را که از پنل خود کپی کرده‌اید در فیلد `URL` قرار دهید و `Create` را بزنید. + +
+ + +
+ +- سپس پروفایل در لیست پروفایل‌های برنامه اضافه می‌شود. + +
+ + +
+ +## اتصال به پروکسی SSH +برای اتصال به منوی `Dashboard` بروید و پروفایل مورد نظر را انتخاب نمایید و با استفاده از دکمه `Enabled` آن را فعال کنید. + +
+ + +
+ +کار تمام است. diff --git a/docs/manager/client-software-on-ios/Tutorial-for-SingBox-app.md b/docs/manager/client-software-on-ios/Tutorial-for-SingBox-app.md new file mode 100644 index 0000000..66851ce --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-SingBox-app.md @@ -0,0 +1,69 @@ +--- +title: Tutorial for SingBox app +--- + +
+ + +# Tutorial for SingBox app +In this tutorial, we are going to teach how to add Hiddify panel SSH configuration to SingBox app. To do this, follow this tutorial to the end. + +## Download the app +Follow the links below to download the program. + +- [Android](https://install.appcenter.ms/users/nekohasekai/apps/sfa/distribution_groups/publictest) +- [iOS](https://apps.apple.com/us/app/sing-box/id6451272673) +- [Windows](https://github.com/yebekhe/SingBox-UI) + +## Add SSH proxy to the app + +- First, read [this article](/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel/) to learn how to activate this proxy. +- Then go to the Profiles menu in the app. +
+ + +
+ +- Select the `New Profile` option. + +
+ + +
+ + +- Set `Type` to `Remote`. + +
+ + + +
+ +- Now put a desired name in the `Name` field and put the config link you copied from your panel in the `URL` field and click `Create`. + +
+ + +
+ + + +- Then the profile will be added to the list of program profiles. + +
+ + +
+ + +## Connect to SSH proxy + +To connect, go to the `Dashboard` menu and select the desired profile and activate it using the `Enabled` button. + +
+ + +
+ +The work is done. diff --git a/docs/manager/client-software-on-ios/Tutorial-for-Stash-app.fa.md b/docs/manager/client-software-on-ios/Tutorial-for-Stash-app.fa.md new file mode 100644 index 0000000..075e5d8 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-Stash-app.fa.md @@ -0,0 +1,143 @@ +--- +title: آموزش کار با نرم‌افزار Stash + +--- + +
+ +# آموزش کار با نرم‌افزار Stash +این برنامه بر پایه کلش برای iOS نوشته شده و برای استفاده از آن باید خریداری شود. + +## اضافه کردن پروفایل به برنامه +* برای این کار در پنل کاربری خود وارد تب `آی‌اواس` شوید و بخش مربوط به `Stash` را باز کنید. + +
+ +
+ + +* در اینجا می‌توانید روی لینک دانلود از اپ‌استور بزنید و اپ را دانلود کنید. + +* در اینجا نیاز است با مفهومی به اسم پروفایل آشنا شوید. پروفایل یک فایل yml شامل تمامی کانکشن‌هاست که در این بخش قابل دسترسی است. دو نوع پروفایل وجود دارد. +* پروفایل سبز رنگ یا lite برای سایت‌های فیلتر شده که در این حالت فقط سایت‌های فیلترشده از فیلترشکن عبور داده می‌شوند و سایر سایت‌ها از جمله سایت‌های ایرانی بدون فیلترشکن باز می‌شوند که حالت بهتری است. بنابراین برای باز کردن این سایت‌ها نیاز به خاموش کردن VPN ندارید. +* حالت دوم پروفایل نارنجی یا normal است که همه ترافیک را از فیلترشکن به سمت سرور می‌فرستد که اگر در سرور سایت‌های ایرانی بلاک شده باشند، باز نمی‌شوند یا اگر وارپ برای همه ترافیک فعال شده باشد،‌سایت‌های ایرانی با وارپ باز می‌شوند. +* در نهایت یکی از دو پروفایل را انتخاب کنید. + +
+ +
+ + +### کپی کردن پروفایل در برنامه Stash +* پروفایل مورد نظر خود را از صفحه کاربری کپی کنید. +* وارد برنامه Stash شوید، در صفحه `Settings` قسمت `Config File` را انتخاب کنید. +* گزینه `Download from URL` را انتخاب کنید. + + +
+ +
+ +* لینک کپی شده را وارد کنید و `Download` را بزنید. با انجام این کار پروفایل مورد نظر به برنامه اضافه می‌شود. + +
+ +
+ +### اضافه کردن پروفایل با QR code +* روی پروفایل مورد نظر خود را از صفحه کاربری بزنید تا QR code ظاهر شود. +* وارد برنامه Stash شوید، در صفحه `Settings` قسمت `Config File` را انتخاب کنید. +* گزینه `Download from QRcode` را انتخاب کنید. + +
+ +
+ +* QR code مورد نظر را اسکن کنید تا پروفایل به برنامه اضافه گردد. + +## منوی ‌Policy +در این منو پالیسی‌ها یا همان کانفیگ‌های موود در پروفایل‌های ایمپورت شده به برنامه بازگذاری می‌شوند و نمایش داده می‌شوند. + +
+ +
+این حالت‌های مختلف در منوی Policy وابسته به حالت‌های مختلف Outbound است که در ادامه توضیح داده خواهند شد. + +### حالت Proxy +در این حالت از یک پروکسی خاص استفاده می‌شود که می‌توان پروکسی مورد نظر خود را انتخاب نمایید. این حالت برای outbound در حالت Global کاربرد دارد. + +### حالت automatic +در این حالت نرم‌افزار به صورت خودکار به بهترین کانفیگ تست شده متصل می‌گردد که مرتبط با حالت `Rule` در `Outbound` است. + +### حالت Sequential +در این حالت نرم‌افزار به صورت ترتیبی از بین کانفیگ‌های مختلف انتخاب می‌کند. یعنی به صورت دوره‌ای یکی از کانفیگ‌ها را متصل می :ند. این حالت باعث پخش بار غیر همزمان می‌شود ولی با حالت لودبالانس که به صورت همزمان از کانفیگ‌ها استفاده می‌کند متفاوت است. این مورد مرتبط با حالت `Rule` در `Outbound` است. + +### حالت auto +مربوط به حالت انتخاب خودکار کانفیگ برای `automatic` است. + +### حالت Load-Balance +در این حالت امکان استفاده از چند کانکشن به صورت همزمان وجود دارد که باعث پخش بار روی چندین کانکشن می‌شود و برای زمان هایی که آیپی کثیف شده و کانکشن‌های تکی خوب عمل نمی‌کنند می‌تواند مفید باشد. این مورد نیز مرتبط با حالت `Rule` در `Outbound` است. + +### تست کانکشن‌ها +برای این کار روی آیکون رعد و برق کلیک کنید تا تست کانکشن انجام شود. + +
+ +
+ +## آپدیت کردن پروفایل‌های ایمپورت شده +برای این کار منوی `Settings` وارد `Config File‌` شوید و انگشت خود را روی یکی از پروفایل‌ها نگه دارید. در منوی ظاهر شده، گزینه Update Now را بزنید. + +
+ +
+ +## آپدیت خودکار پروفایل‌های ایمپورت شده +* برای این کار در Settings گزینه More Settings را انتخاب نمایید. + +
+ +
+ +* در قسمت `CONFIG FILE` فیلد `Update Interval` می‌توانید مدت زمان بین آپدیت‌های خودکار را مشخص کنید. +* با فعال‌سازی Auto Update این قابلیت فعال می‌گردد. +* همچنین هر بار که برنامه Stash را باز می‌کنید پروفایل‌ها آپدیت می‌شوند. + +## انتخاب حالت در بخش Outbound +در صفحه `Home` برنامه و در بخش `Outbound` می‌توانید سه حالت را انتخاب کنید. + +
+ +
+ +### Rule mode +که پالیسی‌ها را بر اساس رول‌های موجود در پروفایل استفاده می‌کند یعنی اگر مثلا پروفایل Lite در حال استفاده باشد، با استفاده از این حالت ترافیک سایت‌های ایرانی به صورت خودکار از فیلترشکن عبور نمی‌کند. + +### Global mode +حالتی است که رول‌ها دیگر اجرا نمی‌شود و می توانید در منوی Policy روی حالت Proxy یکی از کانفیگ‌ها را انتخاب کنید تا همه ترافیک گوشی شما از آن کانفیگ عبور کند. این حالت برای زمانی‌ مفید است که می‌خواهید یک کانفیگ خاص را استفاده کنید. + +### Direct mode +در این حالت ترافیک از فیلترشکن عبور داده نمی‌شود مثل این است که فیلترشکن را خاموش کرده باشید. + +## استفاده از قابلیت On Demand +برای استفاده در `Settings` وارد `On Demand` شوید. + +
+ +
+ +### Always On +اگر این گزینه را فعال نمایید، همیشه فیلترشکن شما فعال خواهد بود. + +### On Demand +اگر این گزینه را فعال کنید، فیلترشکن تنها زمانی که صفحه گوشی قفل نشده است فعال خواهد بود و در سایر مواقع خاموش می‌شود. + +## عیب‌یابی کانکشن‌ها +در صورت نیاز به چک کردن جزییات بیشتر از اتصالات می‌توانید در منوی `Utilities` وارد بخش `Network Diagnosis` شوید. در اینا لاگ مربو به تمامی کانکشن‌ها نمایش داده می‌شود که می‌تواند برای عیب‌یابی مفید باشد. این بخش شامل چندین زیربخش است که از جمله `Connectivity` و `Proxy` مفید هستند. + +
+ +
+ + + diff --git a/docs/manager/client-software-on-ios/Tutorial-for-Stash-app.md b/docs/manager/client-software-on-ios/Tutorial-for-Stash-app.md new file mode 100644 index 0000000..e1703f3 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-Stash-app.md @@ -0,0 +1,154 @@ +--- +title: Tutorial for Stash app +--- + +
+ +# Tutorial for Stash app +This program is written based on Clash for iOS and must be purchased to use it. + +## Copy profile to the app +- For this, enter the `iOS` tab in your user panel and open the `Stash` section. + +
+ +
+ + + +- Here you can click on the download link from the app store and download the app. + +- Here you need to get acquainted with a concept called profile. The profile is a yml file includes all the connections that are enabled in this section. There are two types of profiles. +- Green or `Lite` profile for filtered sites, in which case only filtered sites are passed through the VPN and other sites, including domestic sites, are opened without the VPN, which is a better mode. So you don't need to turn off VPN to open these sites. + +- The second mode is the orange or `Normal` profile, which sends all traffic from the VPN to the server. If domestic sites are blocked on the server, they will not be opened, or if WARP is enabled for all traffic, domestic sites will be opened via the WARP. +- Finally, choose one of the two profiles. + +
+ +
+ + + +## Copy profile to Stash app +- Copy the desired profile from the user page. +- Enter the Stash application, select the `Config File` section on the `Settings` page. +- Select the `Download from URL` option. + +
+ +
+ +- Enter the copied link and click `Download`. By doing this, the desired profile will be added to the program. + +
+ +
+ + +## Add profile via QR code +- Click on your desired profile from the user page until the QR code appears. +- Enter the Stash application, select the `Config File` section on the `Settings` page. +- Select `Download from QRcode` option. + +
+ +
+ +- Scan the desired QR code to add the profile to the program. + + +## Policy menu +In this menu, the policies or the configs in the profiles imported to the program are restored and displayed. + +
+ +
+ + +#### Proxy mode +In this case, a special proxy is used, and you can choose the proxy you want. This mode is used for `outbound` in `Global mode`, which is explained below. + +#### Automatic mode +In this case, the app automatically connects to the best tested configuration, which is related to the `Rule mode` in `Outbound`. + +#### Sequential mode +In this case, the software chooses from different configurations in order. That is, it periodically connects one of the configs. This mode causes asynchronous load distribution, but it is different from the load balance mode, which uses configs simultaneously. This is related to `Rule mode` in `Outbound`. + +#### Auto mode +It is related to automatic config selection mode. + +#### Load-Balance mode +In this case, it is possible to use several connections at the same time, which spreads the load on several connections and can be useful for times when the IP is dirty and individual connections do not work well. This is also related to `Rule mode` in `Outbound`. + +#### Connection test +To do this, click on the lightning icon to test the connection. + +
+ +
+ +## Update imported profiles +For this, enter `Config File` from the `Settings` menu and hold your finger on one of the profiles. In the menu that appears, click `Update Now`. + +
+ +
+ +## Automatic update for imported profiles +- For this, select `More Settings` option in `Settings`. + +
+ +
+ + +- In the `CONFIG FILE` section of the `Update Interval` field, you can specify the time between automatic updates. +- By activating `Auto Update`, this feature is activated. +- Also, profiles are updated every time you open the Stash app. + +## Select the mode in the Outbound section +On the `Home` page of the app and in the `Outbound` section, you can choose three modes. + +
+ +
+ + + +#### Rule mode + +which uses the policies based on the roles in the profile, that is, if, for example, the Lite profile is in use, using this mode, traffic from domestic sites will not automatically pass through the VPN. + +#### Global mode +It is a mode where the roles are no longer executed and you can select one of the configs in the `Policy` menu on the `Proxy mode` so that all the traffic of your phone connects via that config. This mode is useful when you want to use a specific config. + +#### Direct mode +In this case, the traffic is not passed through the VPN, it is as if you have turned off the VPN. + + +## On Demand feature +To use, enter `On Demand` in `Settings`. + +
+ +
+ + +#### Always On + +If you enable this option, your filter will always be active. + + +#### On Demand + +If you enable this option, the filter breaker will be active only when the phone screen is not locked and will be turned off at other times. + + +## Troubleshooting connections + +If you need to check more details of the connections, you can enter the `Network Diagnosis` section in the `Utilities` menu. Here, the log is displayed for all connections, which can be useful for troubleshooting. This section contains several subsections that are useful, including `Connectivity` and `Proxy`. + +
+ +
diff --git a/docs/manager/client-software-on-ios/Tutorial-for-Streisand.fa.md b/docs/manager/client-software-on-ios/Tutorial-for-Streisand.fa.md new file mode 100644 index 0000000..9732340 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-Streisand.fa.md @@ -0,0 +1,170 @@ +--- +title: آموزش کار با نرم‌افزار Streisand + +--- + +
+ + +# آموزش کار با نرم‌افزار Streisand +این نرم افزار یکی از اپ‌های رایگان برای iOS است که iOSهای نسخه 14 به بعد قابل نصب است. + +## دانلود اپلیکیشن +برای نصب اپلیکیشن می توان از [اینجا](https://apps.apple.com/us/app/streisand/id6450534064) آن را دانلود و نصب نمود. + +## افزودن لینک سابسکریپشن +برای این کار ۲ راه وجود دارد. + +### کپی کردن لینک سابسکریپشن + +* برای این کار به پنل کاربری خود بروید و در قسمت `تمام کانفیگ‌ها`، بخش مربوط به `auto` را باز نمایید. + +
+ + +
+ + +* حالا می‌توانید QR code را `کپی` کنید. + + +
+ + +
+ +* وارد نرم‌افزار شوید و دکمه `+` را بزنید. + + +
+ + +
+ +* سپس سابسکریپشن به نرم‌افزار اضافه می‌گردد و کانفیگ‌ها لود می‌شوند. + +### اسکن کردن لینک سابسکریپشن + +* می‌توان به جای کپی لینک سابسکریپشن، QR code را اسکن نمود. + + +
+ + +
+ + +* در نرم‌افزار دکمه `+` را بزنید و گزینه `Scan QRCode` را بزنید و QR code را اسکن نمایید. + + +
+ + +
+ +* سپس سابسکریپشن به نرم‌افزار اضافه می‌گردد و کانفیگ‌ها لود می‌شوند. + +## تنظیمات Subscription +برای این کار روی سابسکریپشن اضافه شده به نرم‌افزار تپ کنید و نگه دارید. گزینه‌های زیر ظاهر می‌شوند. + +
+ + +
+ + + +### Latency +میزان تاخیر مربوط به کانفیگ‌ها را محاسبه می‌کند. + +### TCP Ping +از کانفیگ‌ها تست پینگ TCP می‌گیرد. + +### ICMP Ping +از کانفیگ‌ها تست پیننگ معمولی می‌گیرد. + + +> نکته: تفاوت تست پینگ معمولی و پینگ TCP در نوع پروتکل استفاده شده می‌باشد. + +### Update +برای آپدیت کردن سابسکریپشن از این گزینه استفاده نمایید. + +### Edit +جهت ویرایش لینک سابسکریپشن از این گزینه استفاده نمایید. + +### Delete +برای حذف سابسکریپشن از این گزینه استفاده نمایید. + + + +## DNS Settings +در صفحه اصلی نرم‌افزار تنظیمات مربوط به DNS قرار دارد که با ورود به آن می‌توانید آن را تنظیم نمایید و سرور و نوع پروتکل استفاده شده را تغییر دهید. + +
+ + +
+ + +### DoH +پروتکلی است که DNS را بر بستر HTTPS ارائه می‌دهد. یعنی درخواست‌های DNS در قالب وب ارسال می‌گردد. + +### DoT +در این پروتکل درخواست‌های DNS بر اساس پروتکل TCP ارسال می‌گردد. + +### DoU +در این پروتکل درخواست‌های DNS بر اساس پروتکل UDP ارسال می‌گردد. + + +## Settings +در این صفحه تنظیمات کلی نرم‌افزار قرار دارد که در ادامه توضیح داده خواهند شد. + +
+ + +
+ +### Import Configuration +برای افزودن فایل کانفیگ‌ها از دستگاه به صورت دستی از این گزینه استفاده نمایید. + +### Export Configuration +برای انتقال کانفیگ ایمپورت شده از دستگاه به دستگاهی دیگر از این گزینه می‌توان استفاده نمود. + +### Subscription +با فعال کردن گزینه `Update On Open` ، هنگام باز شدن نرم‌افزار به صورت خودکار سابسکریپشن آپدیت می‌گردد. + +
+ + +
+ + +### Reset +در این بخش می‌توانید تنظیمات مربوط به اپلیکیشن را ریست نمایید. + +
+ + +
+ +## فعال‌سازی فرگمنت +برای فعال‌سازی فرگمنت روی کانکشن‌های TLS می‌بایست در این نرم‌افزار روی کانکشن بزنید و گزینه Fragment را فعال کنید. +پارامترهای زیر برای تعیین در فیلدهای مربوطه پیشنهاد می‌شود. + +
+ + +
+ + +
+`packets: tlshello` + +`length : 100-200` + +`interval : 10-20` + +
+ +بسته به اپراتور ممکن است نیاز باشد پارمترها را تغییر دهید یا نوع پکت‌ها را از tlshello به حالت `tcp segment 1-3` تغییر دهید. البته این حالت ممکن است زودتر شناسایی شود. +`packets: 1-3` \ No newline at end of file diff --git a/docs/manager/client-software-on-ios/Tutorial-for-Streisand.md b/docs/manager/client-software-on-ios/Tutorial-for-Streisand.md new file mode 100644 index 0000000..8546580 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-Streisand.md @@ -0,0 +1,162 @@ +--- +title: Tutorial for Streisand +--- + +
+ + +# Tutorial for Streisand +This application is one of the free apps for iOS that can be installed on iOS versions 14 and later. + + +## Download the application + +To install the application, you can download and install it [here](https://apps.apple.com/us/app/streisand/id6450534064). + +## Add subscription link + +There are 2 ways to do this. + +### Copy the subscription link + +* For this, go to your user panel and open the section related to `auto` in the section of `All Configs`. + + +
+ + +
+ + + +* Now you can `Copy` the QR code. + + +
+ + +
+ + +* Enter the software and press the `+` button. + +
+ + +
+ +* Then the subscription is added to the software and the configurations are loaded. + +### Scan the subscription link +* You can scan the QR code instead of copying the subscription link. + +
+ + +
+ + +* Click the `+` button in the software and click the `Scan QRCode` option and scan the QR code. + +
+ + +
+ +* Then the subscription is added to the software and the configurations are loaded. + +## Subscription settings + +To do this, tap and hold on the subscription added to the software. The following options will appear. + +
+ + +
+ + +### Latency +Calculates the amount of delay related to the configurations. +### TCP Ping +It takes TCP ping test from configs. +### ICMP Ping +It takes a normal pinning test from the configs. + +> Note: The difference between normal ping test and TCP ping is in the type of protocol used. + +### Update +Use this option to update your subscription. + +### Edit +Use this option to edit the subscription link. +### Delete +Use this option to delete the subscription. +## DNS Settings +On the main page of the software, there are settings related to DNS, by entering it, you can adjust it and change the server and the type of protocol used. + +
+ + +
+ + +### DoH + +It is a protocol that provides DNS over HTTPS. It means that DNS requests are sent in web format. +### DoT + +In this protocol, DNS requests are sent based on the TCP protocol. +### DoU + +In this protocol, DNS requests are sent based on the UDP protocol. + +## Settings +On this page, there are general settings of the software, which will be explained later. + +
+ + +
+ +### Import Configuration +Use this option to add the configuration file from the device manually. + +### Export Configuration +This option can be used to transfer the imported configuration from the device to another device. + +### Subscription +By activating the `Update On Open` option, the subscription will be updated automatically when the software is opened. + +
+ + +
+ +### Reset +In this section, you can reset the settings related to the application. + +
+ + +
+ +## Fragment activation +To activate the fragment on TLS connections, you need to click on the connection on this app and activate the Fragment option. +The following parameters are suggested to be specified in the relevant fields. + +
+ + +
+ +
+`packets: tlshello` + +`length: 100-200` + +`Interval: 10-20` + +
+ +Depending on the operator, you may need to change the parameters or change the type of packets from tlshello to ``tcp segment 1-3'' mode. Of course, this condition may be detected earlier. +`packets: 1-3` \ No newline at end of file diff --git a/docs/manager/client-software-on-ios/Tutorial-for-V2Box-app.fa.md b/docs/manager/client-software-on-ios/Tutorial-for-V2Box-app.fa.md new file mode 100644 index 0000000..57c7191 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-V2Box-app.fa.md @@ -0,0 +1,117 @@ +--- +title: آموزش کار با نرم‌افزار V2Box + +--- + +
+ +# آموزش کار با نرم‌افزار V2Box + +این نرم‌افزار زیر مجموعه نرم‌افزار V2ray می‌باشد که برای `آی‌او‌اس` منتشر شده است. + + +## اضافه کردن لینک‌های پنل به برنامه + +برای این کار وارد پنل کاربری خود شوید و در قسمت `تمام کانفیگ‌ها` از `لینک برای Subscription b64` استفاده نمایید. + +### کپی کردن لینک +* روی دکمه کنار لینک کلیک کنید و در پنجره باز شده`Copy` را بزنید. + + + +
+ +
+ +* نرم‌افزار V2Box را باز کنید و در منوی پایین `Configs` را انتخاب کنید. +* دکمه `+` را بزنید. + +
+ +
+ +* گزینه `Add Subscription` را انتخاب نمایید. +* یک نام دلخواه بدهید و لینک کپی شده در مرحله قبل را در `URL` کپی کنید. + + +
+ +
+ +* سپس `Add Subscribe` را بزنید تا کانفیگ‌ها به برنامه اضافه شوند. + +
+ + +
+ +* بعد از آن برنامه به صورت خودکار تست کانکشن‌ها را می‌گیرد. + + + +### اسکن QR code +* برای این کار در پنل کاربری دکمه کنار لینک را بزنید +* در برنامه V2Box روی `+` تپ کنید. +* گزینه `Scan QR` را انتخاب کنید. +* سپس با دوربین گوشی QR code موجود در صفحه کاربر را ساکن کنید. + +
+ + +
+ +* کانفیگ‌ها به صورت خودکار اضافه می‌شوند و تست کانکشن از آن‌ها انجام می‌شود. + + +## تست کانکشن‌ها +برای این کار در لیست `Configs` روی `Ping All` بزنید تا همه کانفیگ‌ها تست شوند. + +
+ + +
+ + + +## آپدیت کردن سابسکریپشن +برای این کار در منوی Configs `+` را بزنید سپس `Update All Subscriptions` را انتخاب کنید. با انجام این کار همه سابسکریپشن‌ها آپدیت می‌شوند. + + + +
+ + +
+ +## آپدیت خودکار لینک‌ها +برای این کار روی منوی سه خط در بالای صفحه Configs بزنید و گزینه `Auto Update` را فعال کنید. + + +
+ + +
+ +## اضافه کردن کانفیگ‌ها به صورت تکی +هر چند این روش اصا پیشنهاد نمی‌شود ون امکان آپدیت آن وجود ندارد اما در صورت لزوم می‌توانید در `Configs` دکمه `+` را بزنید سپس `Import V2ray URL from Clipboard` را بزنید تا کانفیگ مورد نظر به برنامه اضافه گردد. + +
+ + +
+ + +## اتصال فیلترشکن +برای روشن کردن فیلترشکن به منوی Home بروید و دکمه پایین را به سمت راست بکشید. + +
+ + +
+ +در این صفحه اطلاعات کلی از کانکشن مانند مقدار آپلود و دانلود و همنین میزان حافظه استفاده شده نمایش داده می‌شود. + +
+ + +
diff --git a/docs/manager/client-software-on-ios/Tutorial-for-V2Box-app.md b/docs/manager/client-software-on-ios/Tutorial-for-V2Box-app.md new file mode 100644 index 0000000..63a93c3 --- /dev/null +++ b/docs/manager/client-software-on-ios/Tutorial-for-V2Box-app.md @@ -0,0 +1,111 @@ +--- +title: Tutorial for V2Box app +--- + +
+ + +# Tutorial for V2Box app +This software is a subset of V2ray software that was released for iOS. + +## Add subscription links to the app +For this, enter your user panel and use the link for `Subscription b64` in the section of `All configs`. + + + +## Copy the link +- Click on the button next to the link and click `Copy` in the opened window. + +
+ +
+ + + + +- Open the V2Box software and select `Configs` from the bottom menu. +- Tap the `+` button. + +
+ +
+ +- Select the `Add Subscription` option. +- Give a desired name and copy the link copied in the previous step into the `URL`. + +
+ +
+ +- Then click `Add Subscribe` to add the configurations to the program. + +
+ + +
+ +- After that, the program will automatically test the connections. + +## Scan QR code +- To do this, click the button next to the link in the user panel +- Tap `+` in the V2Box app. +- Select the `Scan QR` option. +- Then scan the QR code on the user's page with the phone's camera. + +
+ + +
+ + +- Configs are automatically added and the connection test is performed from them. + +## Connection test +To do this, click on `Ping All` in the `Configs` list so that all configs are tested. + +
+ + +
+ +## Update subscription +To do this, press Configs `+` in the menu, then select `Update All Subscriptions`. By doing this, all subscriptions will be updated. + +
+ + +
+ +## Automatic update of links +To do this, click on the three-line menu at the top of the `Configs` screen and activate the `Auto Update` option. + +
+ + +
+ +## Add configs individually +Although this method is not recommended and it is not possible to update it, but if necessary, you can click the `+` button in `Configs`, then click `Import V2ray URL` from Clipboard to add the desired configuration to the program. + + +
+ + +
+ +## Connect to VPN +To turn on the VPN, go to the Home menu and slide the bottom button to the right. + +
+ + +
+ +On this page, general information about the connection, such as the amount of upload and download and the amount of memory used, is displayed. + +
+ + +
+ + diff --git a/docs/manager/client-software-on-ios/index.fa.md b/docs/manager/client-software-on-ios/index.fa.md new file mode 100644 index 0000000..949248b --- /dev/null +++ b/docs/manager/client-software-on-ios/index.fa.md @@ -0,0 +1,7 @@ +--- +description: مطالب مرتبط با نرم‌افزارهای کلاینت در iOS +title: نرم‌افزارهای کلاینت در iOS +comments: false +weight: -30 +--- + diff --git a/docs/manager/client-software-on-ios/index.md b/docs/manager/client-software-on-ios/index.md new file mode 100644 index 0000000..84ef39a --- /dev/null +++ b/docs/manager/client-software-on-ios/index.md @@ -0,0 +1,7 @@ +--- +description: Tutorials related to client software on iOS +title: Client software on iOS +comments: false +weight: -30 +--- + diff --git a/docs/manager/configuration-and-advanced-settings/How-to-Reset-Hiddify-panel-to-default.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-Reset-Hiddify-panel-to-default.fa.md new file mode 100644 index 0000000..70565ba --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-Reset-Hiddify-panel-to-default.fa.md @@ -0,0 +1,41 @@ +--- +title: ریست کردن تنظیمات هیدیفای‌منیجر به حالت اولیه +weight: -80 +--- + +
+ +# ریست کردن تنظیمات هیدیفای‌منیجر به حالت اولیه + +در این مطلب قصد داریم به آموزش خام کردن هیدیفای‌منیجر (ریست کامل پنل و دیتابیس) مشابه نصب اولیه بپردازیم. در صورتی که قصد دارید پنل هیدیفای را به تنظیمات اولیه برگردانید این آموزش مختص شما تهیه شده است. این مراحل را تا انتها دنبال کنید. + +* برای شروع ابتدا [به سرور خود SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/). +* سپس با استفاده از کلیدهای ترکیبی `Ctrl+c` و یا انتخاب دکمه‌ی `Cancel`، منوی هیدیفای را بسته تا به ترمینال (محیط خط دستوری) سرور خود دسترسی داشته باشید. +> در صورتی که پس از انجام این مراحل همچنان منوی هیدیفای به شما نمایش داده می‌شود، عبارت `clear` را تایپ کرده و اینتر بزنید. + +> در اینجا لازم به ذکر است که اگر به بکاپ پنل خود نیاز دارید قبل از ادامه‌ی مراحل نسبت به تهیه بکاپ از تنظیمات - پشتیبان‌گیری اقدام نمایید. + +* سپس این دستور را در ترمینال سرور خود وارد کنید تا دیتابیس فعلی بصورت کامل حذف شود: + +
+ +``` +rm -rf /opt/hiddify-manager/hiddifypanel/hiddifypanel.db +``` + +
+ +* سپس با استفاده از دستور زیر مجددا منو را باز کنید: + +
+ +``` +bash /opt/hiddify-manager/menu.sh +``` + +
+ +* و از منوی هیدیفای گزینه‌ی `Reinstall` را انتخاب کنید و منتظر بمانید تا نصب مجدد پنل انجام شود. +* پس از پایان با استفاده از لینک‌های ادمین نمایش داده شده می‌توانید به پنل جدید دسترسی داشته باشید و نسبت به پیکربندی آن اقدام نمایید. + +در این روش پس از پایان نصب مجدد، پنل بصورت کامل خام و مشابه نصب اولیه خواهد شد. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-Reset-Hiddify-panel-to-default.md b/docs/manager/configuration-and-advanced-settings/How-to-Reset-Hiddify-panel-to-default.md new file mode 100644 index 0000000..fba0fb8 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-Reset-Hiddify-panel-to-default.md @@ -0,0 +1,34 @@ +--- +title: How to Reset HiddifyManager to default +weight: -80 +--- + +
+ +# How to Reset HiddifyManager to default +In this article, we are going to teach how to raw the HiddifyManager (complete reset of the panel and database) similar to the initial installation. If you intend to return the Hiddify panel to its initial settings, this tutorial is prepared for you. Follow these steps to the end. + +* To begin, first [SSH into your server](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/). +* Then, by using the combination keys `Ctrl+c` or selecting the `Cancel` button, close the Hidیify menu to access the terminal (command line environment) of your server. + +* If after performing these steps, the Hiddify menu is still displayed to you, type the word `clear` and press enter. + +> It should be mentioned here that if you need to backup your panel, make a backup of the settings-backup before proceeding. +* Then enter this command in the terminal of your server to completely delete the current database: + +``` +rm -rf /opt/hiddify-config/hiddifypanel/hiddifypanel.db +``` +* Then open the menu again using the following command: + +``` +bash /opt/hiddify-config/menu.sh +``` + +* And select `Reinstall` option from the Hiddify menu and wait for the panel to be reinstalled. +* After finishing, you can access the new panel and configure it using the displayed admin links. + +In this method, after the re-installation is finished, the panel will be completely retested and similar to the initial installation. + + + diff --git a/docs/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel.fa.md new file mode 100644 index 0000000..cc904a6 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel.fa.md @@ -0,0 +1,102 @@ +--- +title: آموزش فعال‌سازی وارپ در هیدیفای‌منیجر +weight: -110 +--- + +
+# آموزش فعال‌سازی وارپ در پنل هیدیفای + +خیلی از وبسایت‌ها از جمله گوگل دسترسی کاربران از طریق VPN را محدود می‌کنند. به این دلیل که به طور همزمان چندین کانکشن مختلف از یک آیپی به سمت سرور گوگل می‌رود، این رفتار شبیه رفتاهای مخرب سایبری است و به همین دلیل ارتباط دچار مشکل می‌شود و گوگل به عنوان مثال خطای ۴۰۳ می‌دهد. سایر وبسایت‌ها هم اجازه برقراری ارتباط و استفاده از سرویس را نمی‌دهند. در اینجا یکی از روش‌های حل مشکل استفاده از سرویس WARP کلادفلر است. + +## وارپ چیست؟ +وارپ یک سرویس از کلادفلر است که ارتباط امن و رمزگذاری شده از طریق شبکه خود را فراهم می‌کند. پس از اینکه چک‌های امنیتی را روی کلاینت مورد نظر انجام داد و مطمئن شد که رفتار مخربی وجود ندارد، ارتباط را به سمت اینترنت برقرار می‌کند. به آن سیستم یک آیپی اختصاص می‌دهد و ارتباط از آن طریق صورت می‌گیرد. در واقع وارپ ابزاری هست که آی پی سرور شما را از سایت‌هایی که کاربرانتان بازدید می‌کنند مخفی میکند. چون آیپی سرور مخفی می‌شود، بنابراین دسترسی برقرار می‌شود. + +وارپ چندین سطح سرویس دارد که سرویس رایگان آن محدودیت حجم ترافیک دارد و بعد از عبور از محدودیت، دسترسی محدود می‌گردد. بهتر هست از سرویس ویژه آن تحت عنوان وارپ پلاس استفاده شود که حجم بالایی را پشتیبانی می‌کند. روی هیدیفای قابلیت استفاده از این نسخه از وارپ وجود دارد که در ادامه نحوه فعال‌سازی آن توضیح داده خواهد شد. + +## تنظیم وارپ در هیدیفای +به بخش تنظیمات پنل بروید، در این قسمت تنظیمات WARP را مشاهده می‌کنید. آن را باز نمایید. +
+ +
+![WARP_Settings](https://github.com/hiddify/hiddify-config/assets/125398461/ffe6ac83-f130-46dd-8364-36ad68774849) + + + +
+ +
+وقتی آن را از حالت غیرفعال خارج می کنید باید به آن یک کد وارپ پلاس بدهید که باید این سرویس را از کلادفلر تهیه نمایید. البته برای دریافت این کد ربات‌های مختلفی در تلگرام وجود دارند که این کد را به شما می‌دهند ولی هیچ کدام مورد تایید ما نیستند. + +### حالت همه +همه ترافیک‌ها را از وارپ عبور می‌دهد حتی سایت‌هایی که مشکل ندارند نیز از وارپ عبور می‌کنند. + +### حالت فقط سایت‌های داخلی و مسدود شده +فقط سایت های ایرانی و `Google, Spotify, Netflix, Openai, ipinfo.io` از وارپ استفاده میکنند. + +* نکته: اگر به هر دلیلی در کد قرار داده شده خطایی وجود داشته باشد، وارپ غیرفعال می‌شود. بنابراین دقت کنید که کد را به درستی اسفاده کنید. کدی که بات در اختیار شما قرار می‌دهد را به درستی انتخاب و کپی نمایید و در فیلد مورد نظر قرار دهید. + +## چطور چک کنید که وارپ فعال است یا خیر +برای این کار از منوی `اقدامات`، `وضعیت` پنل را چک کنید. + +
+ +![status log](https://github.com/hiddify/hiddify-config/assets/125398461/a860eed6-681b-4af6-89f8-4a300ea3f23b) + + + +
+ + + + + + +در این صفحه وضعیت سیستم نمایش داده می‌شود. همچنین وضعیت سرویس وارپ به همراه آیپی اختصاص یافته جهت استفاده ترافیک وارپ نمایش داده می‌شود. + +> * دقت شود که وارپ به صورت یک سرویس همواره فعال است. یعنی در اینجا حتی اگر در تنظیمات آن را غیرفعال کرده باشید، باز نمایش داده می‌شود. + +> * زمانی که وارپ را از تنظیمات غیرفعال می‌کنید، با وجود فعال بودن سرویس، ترافیک از آن عبور نمی‌کند. + +> * در حالتی که کد وارپ پلاس محدود یا نامحدود را وارد کرده باشید، در این صفحه نوع سرویس به صورت `Limited` یا `Unlimited` نمایش داده می‌شود. + + +همچنین می‌توانید از سایت [ipinfo](https://ipinfo.io/) استفاده کنید. اگر با وجود روشن بودن فیلترشکن، آیپی نمایش داده شده در این صفحه مربوط به کلادفلر باشد؛ در این صورت وارپ به درستی فعال شده است. + +
+![ip_info](https://github.com/hiddify/hiddify-config/assets/125398461/5410e3e5-c380-40d5-aa37-ec944a3f2fb8) + + +
+ + +همچنین مر‌توانید از سایت [ip.gs](https://ip.gs/) استفاده نمایید و یه همین ترتیب اگر آیپی کلادفلر نمایش داده شد، یعنی وارپ فعال شده است. + +
+![ip_gs](https://github.com/hiddify/hiddify-config/assets/125398461/a807066a-fde6-4659-809f-24e8e3a4a28c) + + +
+ +# چطور سرویس وارپ را نصب کنید؟ +* برای این کار به سرور خود `SSH` بزنید؛ با فشردن `ctrl+c` یا زدن `Cancel` از منوی هیدیفای خارج شوید. + +* حالا این دستور را اجرا کنید. + +
+``` +cd /opt/hiddify-manager/other/warp/wireguard && bash install.sh +``` +
+ +# چطور آیپی وارپ را تغییر دهید؟ +* برای این کار به سرور خود `SSH` بزنید؛ با فشردن `ctrl+c` یا زدن `Cancel` از منوی هیدیفای خارج شوید. + +* حالا این دستور را اجرا کنید. + +
+``` +cd /opt/hiddify-manager/other/warp/wireguard && bash change_ip.sh +``` +
+ +- بعد از آن آیپی اختصاص بافته توسط وارپ تغییر می‌کند. می‌توانید به روش توصبح داده شده در بالا آیپی را مشاهده کنید. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel.md b/docs/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel.md new file mode 100644 index 0000000..7558b36 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel.md @@ -0,0 +1,97 @@ +--- +title: How to activate WARP on HiddifyManager +weight: -110 +--- + +
+ +# How to activate WARP on the Hiddify panel +Many websites, including Google, restrict the access of users through VPN. Because several different connections go from the same IP to Google's server at the same time, this behavior is similar to cyber malicious behavior, and because of this, the connection is disrupted, and Google gives a 403 error, for example. Other websites do not allow communication and use of the service. Here is one way to solve the problem using Cloudflare's WARP service. + +## What is WARP? +Warp is a Cloudflare service that provides secure and encrypted communication over its network. After performing security checks on the target client and making sure there is no malicious behavior, it opens the connection to the Internet. It assigns an IP to that system and communicates through it. In fact, Warp is a tool that hides your server IP from the sites that your users visit. Because the IP of the server is hidden, so access is established. + +Warp has several levels of service, the free service of which has a traffic volume limit, and after crossing the limit, access is limited. It is better to use its special service called WARP Plus, which supports high volume. On Hiddify, it is possible to use this version of Warp, which will be explained later on how to activate it. + + +## Setting up WARP on Hiddify +Go to the panel settings section, in this section you can see the WARP settings. Open it. + +
+![Warp_settings](https://github.com/hiddify/hiddify-config/assets/125398461/ca7fb053-6a1d-4c3d-aa31-90ec98f85534) + +
+ +When you deactivate it, you need to give it a Warp Plus code, which you need to get this service from Cloudflare. Of course, to get this code, there are different bots in Telegram that give you this code, but none of them are approved by us. + +### Mode "All" +It passes all traffic through the warp, even the sites that don't have problems pass through the warp. + +### Mode "Only blocked and local websites" +Only domestic sites and `Google, Spotify, Netflix, Openai, ipinfo.io` use Warp. + +- Note: If for any reason there is an error in the inserted code, the warp will be disabled. So make sure to use the code correctly. Select and copy the code provided by the bot correctly and place it in the desired field. + +## How to check if warp is active or not? + +To do this, check the `Status` of the panel from the `Actions` menu. + +
+ + +![status log](https://github.com/hiddify/hiddify-config/assets/125398461/81bf46b8-c265-4dd9-ae38-2995ee6c70f2) + + +
+ +The system status is displayed on this page. Also, the status of the warp connection, the IP allocated for the use of the warp traffic is displayed. + +> * Note that Warp is always active as a service. That is, here even if you have disabled it in the settings, it will be displayed again. + +> * When you disable warp from the settings, traffic will not pass through the service even though it is enabled. + +> * If you have entered the limited or unlimited Warp Plus code, the type of service will be displayed as `Limited` or `Unlimited` on this page. + + +You can also use the [ipinfo](https://ipinfo.io/) site. If the IP displayed on this page belongs to Cloudflare despite the filter breaker being turned on; In this case, the warp is activated correctly. + +
+![ip_info](https://github.com/hiddify/hiddify-config/assets/125398461/5410e3e5-c380-40d5-aa37-ec944a3f2fb8) + + +
+ + +You can also use the [ip.gs](https://ip.gs/) website, and if Cloudflare's IP is displayed, it means that Warp is activated. + +
+![ip_gs](https://github.com/hiddify/hiddify-config/assets/125398461/a807066a-fde6-4659-809f-24e8e3a4a28c) + + +
+ +## How to reinstall WARP service? + +- To do this, SSH to your server; Press `Ctrl+c` or click `Cancel` to exit Hiddify menu. + +- Now run this command. + +``` + +cd /opt/hiddify-manager/other/warp/wireguard && bash install.sh + +``` + +## How to change IP WARP? + +- To do this, SSH to your server; Press `Ctrl+c` or click `Cancel` to exit Hidify menu. + +- Now run this command. + +``` + +cd /opt/hiddify-manager/other/warp/wireguard && bash change_ip.sh + +``` + +- After that, the assigned IP is changed by Warp. You can see the IP using the method given above. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify.fa.md new file mode 100644 index 0000000..b0eabce --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify.fa.md @@ -0,0 +1,63 @@ +--- +title: آموزش پشتیبان‌گیری و بازیابی پنل در هیدیفای‌منیجر +weight: -100 +--- + +
+ +# آموزش پشتیبان‌گیری و بازیابی پنل در هیدیفای‌منیجر + +خیلی وقت‌ها نیاز پیدا می‌کنید که از پنل بکاپ بگیرید و روی سرور دیگر آن را برگردانید. مثلا سرور شما فیلتر شده یا اینکه یک مشکلی پیش آمده که نمی‌توانید روی آن سرور ادامه دهید. در این صورت مراحل زیر را تا انتها ادامه دهید تا با انجام این کار آشنا شوید. + +## پشتیبان‌گیری از پنل فعلی از طریق وب + در پنل ادمین وارد تنظیمات و سپس پشتیبان‌گیری شوید و روی `دریافت فایل پشتیبان` بزنید. + +در اینجا شما می‌توانید محل ذخیره‌سازی فایل بکاپ خود را مشخص کنید تا فایل json‌ مربوط به تنظیمات ذخیره گردد. + +![بکاپ](https://github.com/hiddify/hiddify-config/assets/125398461/dd3377da-bf8b-4899-b20a-9a373dbf0ac8) + + + +## ارسال فایل پشتیبان به تلگرام +هر ۶ ساعت پنل به صورت خودکار برای شما بکاپ می‌گیرد و اگر [بات تلگرام](/fa/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel/) را فعال کرده باشید، روی بات ارسال می‌گردد. + +## پشتیبان‌گیری هنگام عملیات‌های مهم +هنگام انجام آپدیت یا نصب مجدد پنل، بکاپ گرفته می‌شود و شما می‌توانید به آن دسترسی داشته باشید و از آن استفاده کنید. + +> نکته: اگر به هر دلیلی بات تلگرام در دسترس شما نبود و از طریق وب هم امکان بکاپ‌گیری نداشتید، می‌ةوانید از مسیر زیر به بکاپ‌های قبلی سیستم برسید. + +
+ +`/opt/hiddify-manager/hiddify-panel/backup` +
+ + + +و سپس فایل را خارج کنید. [اطلاعات بیشتر در اینجا](/fa/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer/) + +در نهایت شما فایل بکاپ را در یک جایی روی سیستم خود ذخیره کنید. + +## بازیابی فایل پشتیبان +حالا روی سرور جدید پنل را نصب کنید و در صفحه Quick-setup هیچ کاری انجام ندهید و خارج شوید. + +![Screenshot_20230528_065916](https://github.com/hiddify/hiddify-config/assets/125398461/db030df5-c9a3-43cf-8dfb-0f6dc5e5ea2a) + + + +وارد منوی پشتیبان‌گیری در تنظیمات شوید. + +![ریستور](https://github.com/hiddify/hiddify-config/assets/125398461/3cffa0fb-e0b3-44fd-b6e4-0204f83ecba9) + +در اینجا فایل مربوط به بکاپ که در مرحله قبل ذخیره کرده بودید را انتخاب کنید. +بر اساس نیازتان گزینه‌های بازیابی را فعال کنید. مثلا اگر می‌خواهید کل پنل را بازیابی کنید هر ۳ گزینه را انتخاب کنید و منتظر بمانید تا عملیات به انتها برسد. + +## انجام تنظیمات ساب‌دامین +تنظیمات ساب‌دامین خود را به آیپی جدید سرور تغییر دهید. یعنی هر جایی که دامنه‌های خود را تعریف کرده‌اید بروید و آیپی‌های جدید را وارد کنید. +مثلا در کلادفلر وارد تنظیمات DNS شوید و روی رکوردهای ثبت شده قبلی بروید و فقط آیپی را عوض کنید. + +
+ +
+ + +کار تمام است.پنل با لینک ادمین روی سرور جدید بالا می‌آید. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify.md b/docs/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify.md new file mode 100644 index 0000000..282206f --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify.md @@ -0,0 +1,57 @@ +--- +title: How to backup and restore HiddifyManager +weight: -100 +--- + +
+ +# How to backup and restore panel on HiddifyManager + +Many times you need to backup the panel and restore it on another server. For example, your server is filtered or there is a problem that you cannot continue on that server. In this case, continue the following steps until the end to learn how to do this. +Backup current panel via web + +In the admin panel, enter settings and then backup and click on receive backup file. + +![backup](https://github.com/hiddify/hiddify-config/assets/125398461/5547180d-e2e6-44b5-a3ec-a651a58a02d3) + + +Here you can specify the storage location of your backup file so that the json file related to the settings is saved. + + +## Sending the backup file to Telegram + +Every 6 hours, the panel automatically backs up for you, and if you have activated the [Telegram bot](/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel), it will be sent to the bot. + +## Backup during important operations + +When updating or reinstalling the panel, it is backed up and you can access and use it. + +> Note: If for any reason the Telegram bot was not available to you and you were not able to backup via the web, you can access the previous backups of the system from the following path. + +`/opt/hiddify-manager/hiddify-panel/backup` + +and then transfer the file to your PC. [More info here](/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer) + +## Restoring backup file +Now install the panel on the new server and do nothing on the `Quick-setup` page. + +![Screenshot_20230528_084919](https://github.com/hiddify/hiddify-config/assets/125398461/c419c97a-7dad-4f90-9b07-c33453887050) + + +Enter the Backup menu in Settings. + +![restore](https://github.com/hiddify/hiddify-config/assets/125398461/bb83fc32-bbae-4b89-9bbe-b6498488125c) + +Here, select the backup file that you saved in the previous step. Enable recovery options as per your need. For example, if you want to restore the entire panel, select all 3 options and wait for the operation to finish. + + +## Changing subdomain settings +Change your subdomain settings to the new server's IP. That is, go wherever you have defined your domains and enter the new IPs. For example, enter the DNS settings in Cloudflare and go to the previously registered records and just change the IP. + +
+ +
+ + + +The work is done. The panel with the admin link will come up on the new server. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly.fa.md new file mode 100644 index 0000000..96a375a --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly.fa.md @@ -0,0 +1,490 @@ +--- +title: آموزش کامل پیکربندی هیدیفای‌منیجر (آشنایی با بخش‌های مختلف و تنظیمات آن) +weight: -150 +--- + +
+ + # راهنمای جامع پیکربندی هیدیفای‌منیجر + +
+ + + + +
+ابتدا می تونید ویدیوی مربوط به آموزش جامع و کامل پیکربندی پنل را با کلیک روی تصویر زیر مشاهده نمایید. + + + + + + + + + +برای جزییات بیشتر مطالب این مقاله را تا انتها مطالعه کنید. +
+ + +
+ + +# نحوه پیکربندی پنل هیدیفای + + +قبل از شروع به پیکربندی، لازم به توضیح است که این پنل قرار نیست معجزه انجام دهد بلکه قرار است کارهای مربوط به استفاده از پروکسی‌ها را راحت‌تر انجام دهد و برای این کار پیش‌نیازهایی لازم است که می‌بایست فراهم باشند. بنابراین اگر این مقاله را تا انتها مطالعه نمودید؛ و پیکربندی را به صورت صحیح انجام دادید ولی کانکشن‌های شما وصل نشدند، [این تاپیک](https://github.com/hiddify/Hiddify-Manager/discussions/301) را مطالعه فرمایید. + + +

پیش‌نیازها

+ +فرض بر این است: + +### آیپی سرور سالم است + شما سروری را انتخاب نموده اید که آیپی آن تمیز است. جهت اطمینان از این موضوع، نحوه [تست آیپی سرور](/fa/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) را مطالعه فرمایید. اگر بعد از تست مشخص شد که آیپی تمیز نیست؛ باید آیپی سرور خود را عوض نمایید. + +### پنل به صورت صحیح نصب شده است + شما پنل را با استفاده از روش های گفته شده در صفحه [راهنمای نصب](/fa/manager/installation-and-setup/guide/) با موفقیت نصب نموده‌اید و لینک‌های ادمین را دریافت نموده‌اید. این لینکها شامل آدرس و رمز ادمین می‌باشد. جهت اطلاعات بیشتر در خصوص فرمت صحیح لینک ادمین [این مطلب](/fa/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link/) را مطالعه فرمایید. + + +### دامنه‌ ثبت شده و سالم است +قبل از پیکربندی پنل نیاز است حتما یک دامنه ثبت شده داشته باشید. اگر در خصوص انواع دامنه و نحوه‌ثبت آن‌ها ابهام دارید، [اینجا](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) را کلیک نمایید. + +![227714581-5034c5ac-9204-498c-8195-2ff2d0f66d3384](https://user-images.githubusercontent.com/125398461/236671590-4f161182-0082-401f-bcab-bc55c18f4180.png) + +همچنین باید مطمئن شوید دامنه ثبت شده سالم است. [نحوه تست](/fa/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) + +
+ +## شروع پیکربندی پنل +* اگر از لینک نصب سریع در دیتاسنترهای معروف استفاده نموده‌اید؛ در پایان یک لینک یکبار مصرف برای شما تولید می‌شود که از آن طریق به صفحه ادمین می‌رسید. + +![](https://user-images.githubusercontent.com/125398461/236671622-0e6ece98-d717-4084-b047-92e99f21b4d1.png) + +* اگر از طریق ssh پنل را نصب نموده‌اید، در این حالت لینک‌های ادمین در پایان نصب در ترمینال نمایش داده می‌شوند. یکی از این لینک‌ها را در مرورگر باز نمایید تا به صفحه ادمین برسید. + +> در هر دو حالت وقتی برای اولین بار وارد صفحه ادمین می‌شوید، صفحه نصب سریع باز می‌شود. + +### نصب سریع +در اینجا پارامتری که بسیار حیاتی است؛ وارد کردن دامنه ثبت شده خود در فیلد مشخص شده است. فراموش نکنید که این دامنه باید دایرکت باشد یعنی پروکسی آن خاموش باشد. سایر تنظیمات را بعدا نیز می‌توانید انجام دهید. بنابراین دامنه خود را وارد کرده و دکمه ثبت را کلیک کنید. +![Screenshot_20230303_110405](https://user-images.githubusercontent.com/125398461/222660316-6a770a0d-d6f0-453b-b1bd-59e340d26b27.png) + +سپس اعمال تغییرات را بزنید تا تغییرات در پنل ذخیره گردند. در صورت بروز مشکل به [اینجا](/fa/manager/) بروید. اگر تغییرات با موفقیت اعمال شد؛ پنل تقریبا آماده استفاده است اما پیشنهاد می‌شود مطالبی که در ادامه می‌آید را تا انتها مطالعه نمایید تا بتوانید حداکثر کارایی را از این پنل داشته باشید. + +## داشبورد +در این منو اطلاعات مربوط به منابع سیستم به صورت گرافیکی نمایش داده می‌شود. + +![](https://user-images.githubusercontent.com/125398461/236671492-9ffc4521-ea2a-4fcb-bfd9-c071ac5a3d4d.png) + + +

کاربران

+ +در این بخش از پنل شما می‌توانید برای کاربران خود اکانت تعریف نمایید. روی دکمه ایجاد کلیک نمایید. +![Screenshot_20230301_104714](https://user-images.githubusercontent.com/125398461/222073827-5c19f60c-7c84-420b-8d5c-0c73321f0269.png) + +پس از ثبت کاربران، لینک‌های مربوط به کانفیگ‌ها برای هر کاربر به صورت مجزا می‌باشد و با کلیک روی آن‌ها می توان به صفحه اختصاصی هر کاربر و کانفیگ‌های مرتبط با آن رسید. +![Screenshot_20230301_142310](https://user-images.githubusercontent.com/125398461/222353769-50029122-d91d-478d-836c-e551d837e841.png) + + +پس از کلیک صفحه هر کاربر به این شکل قابل مشاهده است. +![Screenshot_20230302_090424](https://user-images.githubusercontent.com/125398461/222347692-aec59e0d-0d68-4d2d-9dc4-1d04c4833c04.png) +در قسمت پایین این صفحه می توان کانفیگ‌های مربوط به کاربر را مشاهده کرد. +![Screenshot_20230302_100119](https://user-images.githubusercontent.com/125398461/222881899-831e1edf-ff81-427c-b5ba-03e7b333c46a.png) + +برای ارائه لینک‌ها به کاربران چند روش پیشنهاد می‌گردد: + +> ۱. لینک صفحه مربوط به کاربر در اختیار ایشان قرار گیرد: این لینک از صفحه کاربران در پنل مدیریت قابل دسترس است. + +> ۲. لینک مربوط به اشتراک کاربر در اختیار ایشان قرار گیرد: که در این حالت امکان آپدیت کانشکن‌ها در صورت تغییر وجود خواهد داشت + +> ۳. لینک مربوط به کانکشن در اختیار کاربر قرار گیرد: در این حالت امکان آپدیت کانکشن‌ها وجود ندارد + +در صورت نیاز به اطلاعات بیشتر در خصوص نحوه اتصال کلاینت به سرور به [کانال یوتوب ما](https://www.youtube.com/watch?v=5CyktpUePf0&list=PL2DSfh6Z6tTK0fhT_koc8BlxV95GfzCje) سر بزنید. در این خصوص ویدئوهای زیادی قرار دادیم. + +همنین در صفحه همه آموزش‌ها و ویدئوها در ویکی می‌توانید مطالب دسته‌بندی شده درباره نحوه استفاده از اپ‌های کلاینت را بر اساس نوع سیستم عامل از [اینجا](/fa/manager/) مشاهده نمایید. + +
+ +

ادمین‌ها

+در این بخش شما می‌توانید برای پنل ادمین تعریف کنید. + +![](https://user-images.githubusercontent.com/125398461/236642587-ab5ef0d0-54f6-4402-8fdc-089cbe13db0f.png) + +کافیست دکمه ایجاد را بزنید و ادمین مورد نظر را ایجاد کنید. + +چند نمونه ادمین وجود دارد: +- سوپر ادمین: ادمین کل سیستم هست و به همه تنظیمات دسترسی کامل دارد. +- ادمین: به یکسری تنظیمات دسترسی دارد. می‌تواند کاربران را مدیریت کند. +- ایجنت: صرفا می‌تواند کاربران را مدیریت کند. + + +> - برای هر کدام از ادمین‌ها می‌توانید محدودیت تعداد کاربر و تعداد کاربر فعال تعیین کنید. +> - برای هر کدام می‌توانید امکان افزودن ادمین فرعی ایجاد کنید. +> - همچنین رمز ادمین‌ها را می‌توانید تغییر دهید. + +توجه شود: +> رمز مربوط به ادمین در لینک صفحه ادمین نیز وجود دارد که با تغییر آن آدرس پنل کاملا تغییر می‌کند. جهت مشاهده اطلاعات بیشتر در خصوص فرمت صحیح لینک ادمین [اینجا](/fa/manager/basic-concepts-and-troubleshooting/The-correct-format-of-admin-link/) کلیک نمایید. + + +
+ + +

تنظیمات

+ +

دامنه‌ها

+ +برای افزودن دامنه‌های خود به منوی دامنه‌ها بروید. در اینجا ۵ حالت وجود دارد. + +

دامنه مستقیم یا بدون واسطه یا دایرکت

+ + روی دکمه ایجاد کلیک کنید. در صفحه باز شده مطابق با شکل عمل نمایید. + + +![Screenshot_20230306_074435](https://user-images.githubusercontent.com/125398461/223018372-0b93d26b-1b09-4545-934b-d6c4677dff2d.png) + + + +دقت شود: +> اگر می خواهید دامنه مورد نظر در کانفیگ ها نمایش داده نشود؛ یک نام دلخواه در فیلد **نام نمایشی** قرار دهید. + +> در این حالت نیاز نیست فیلد **اجبار به استفاده از هاست** تکمیل گردد. این فیلد صرفا برای دامنه‌های CDN استفاده می گردد. + +> در فیلد **نمایش کانفیگ‌های دامنه** از این تنظیمات می توانید مشخص کنید کاربرانی که با این دامنه، پنل کاربری را مشاهده می‌کنند، کانفیگ‌های مربوط به کدام دامنه‌ها را مشاهده کنند. + +پیشنهاد می گردد: +> برای یک دامنه با **IP فیلتر نشده** و متفاوت با بقیه،همه دامنه های دیگر (به جز دامنه فعلی) را انتخاب کنید. در نتیجه از آنجایی که از این IP برای فیلترشکن استفاده نمی‌شود و یک وبسایت ساده است، این دامنه و آی پی هرگز مسدود نمی‌شود و کاربران شما به راحتی می توانند پروفایل های جدید را به روز کنند. + +
+ + +

دامنه فقط برای لینک ساب یا Sub-only

+این یک نکته مهم است. شما می توانید دامنه‌ای را برای استفاده به عنوان دامنه لینک‌های اشتراک انتخاب کنید. به این ترتیب می توانید اتصالات را از لینک های اشتراک جدا کنید و ارتباط شما هرگز مسدود نخواهد شد. سپس لینک‌های شما می توانند همیشه به روز شوند. + +![](https://user-images.githubusercontent.com/125398461/236686616-dc4eca99-be6a-4f8e-92cf-20fb4eb341e3.png) + +پس از اتصال دامنه `Sub-only` به دامنه های `Connection`، می توانید از طریق این دامنه فقط به صفحه کاربری بروید. مشاهده می‌کنید که کانفیگ‌ها به این دامنه متصل شده‌اند. + +نکته: توصیه می‌شود از دامنه های مستقیم به عنوان دامنه‌های اشتراک استفاده کنید زیرا اگر **IP سرور شما **تمیز باشد، سریع هستند. علاوه بر این، دامنه های مستقیم اگر به عنوان لینک‌های اشتراک استفاده شوند، بلاک نمی شوند. علاوه بر این می توانید از سایت های PHP به عنوان لینک اشتراک استفاده کنید. [اطلاعات بیشتر](https://github.com/hiddify/Hiddify-Manager/discussions/689) + + +
+ + +

دامنه سی‌دی‌اِن CDN

+ +روی دکمه ایجاد کلیک کنید و در صفحه باز شده مطابق با شکل عمل نمایید. + +![Screenshot_20230306_064740](https://user-images.githubusercontent.com/125398461/223018478-74d315de-d09c-436d-a5f3-4a8f06a207c8.png) + +توجه نمایید: +> اگر می خواهید دامنه مورد نظر در کانفیگ ها نمایش داده نشود؛ یک نام دلخواه در فیلد **نام نمایشی** قرار دهید. +> اگر می خواهید دامنه مورد نظر در کانفیگ ها نمایش داده نشود؛ یک نام دلخواه در فیلد نام نمایشی قرار دهید. +> در فیلد **اجبار به استفاده از هاست** پیشنهاد می شود از یک رکورد دامنه معمولی (بدون پروکسی) استفاده گردد. بدین صورت تنظیمات پنل و کانفیگها ثابت می ماند. در زمان تعویض آیپی تمیز جدید کافیست رکورد DNS مورد نظر را با آیپی جدید (مثلا در کلادفلر) آپدیت نمایید. + +> در صورت نیاز به اطلاعات بیشتر در خصوص نحوه یافتن آیپی های تمیز کلادفلر [این مقاله](/fa/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP/) را مطالعه فرمایید. + +> در فیلد **نمایش کانفیگ های دامنه** می توانید مشخص کنید کاربرانی که با این دامنه، پنل کاربری را مشاهده می‌کنند، کانفیگ‌های مربوط به کدام دامنه‌ها را مشاهده کنند. +> در صورتی که از چند دامین استفاده می نمایید و همچنین تعداد کاربر زیادی به پنل متصل می گردند و نیاز دارید که به هر کاربر یک دامنه خاص اختصاص دهید؛ پیشنهاد می گردد [این تاپیک](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager/) را مطالعه فرمایید. + +
+ +

دامنه انتخاب‌کننده آیپی CDN به صورت خودکار یا Auto_CDN_IP

+ +به دلیل جزییات زیاد و طولانی بودن توضیحات این حالت؛ برای مطالعه چگونگی انجام تنظیمات آن می توانید [این مقاله](/fa/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify/) را مطالعه کنید. + +
+ +

دامنه سرور میانی یا Relay

+ + +ه دلیل جزییات زیاد و طولانی بودن توضیحات این حالت؛ برای مطالعه چگونگی انجام تنظیمات آن می توانید [این مقاله](/fa/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) را مطالعه کنید. + + + +
+ +

دامنه گمراه‌کننده یا Fake

+ + +برای مطالعه جزییات و نحوه تنظیم این دامنه [این مقاله](/fa/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain/) را مطالعه فرمایید. + + + + + + + + + +
+ +

دامنه ریالیتی

+ +برای مطالعه جزییات و نحوه تنظیم این دامنه [این مقاله](/fa/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify/) را مطالعه فرمایید. + +
+ +

دامنه ورکر کلودفلر

+ +جهت استفاده از این دامنه [این مقاله](/fa/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers/) را مطالعه نمایید. + + +
+ + + +
+ +

پروکسی‌ها

+در این بخش از پنل شما می‌توانید تنظیمات عمومی و دقیق برای پروکسی‌ها را مشخص نمایید و هر کدام از آنها را فعال یا غیر فعال کنید. +تنظیمات عمومی شامل موارد زیر است: + +![Screenshot_20230302_103816](https://user-images.githubusercontent.com/125398461/222356652-40a60486-bde4-4753-b1e8-b3a2d391e5f4.png) +در تنظیمات دقیق می توانید تک تک پروکسی‌ها (کانکشن‌ها) را فعال یا غیرفعال نمایید. کانکشن‌ها به صورت دسته بندی شده قرار گرفته شده‌اند. + +![Screenshot_20230302_103840](https://user-images.githubusercontent.com/125398461/222358344-81dd440f-2904-4a06-a814-b9256adf72c6.png) + +توجه نمایید: +> کانکشن‌های http فاقد رمزگذاری هستند ولی TLS دارای رمزگذاری است. + +
+ +

سایر

+ +#### تنظیمات ادمین +در اینجا تنظیمات مربوط به ادمین قرار دارند. + +![Screenshot_20230302_105336](https://user-images.githubusercontent.com/125398461/222460951-76e380f6-388b-4fde-85de-402c5d54edb3.png) + + +* می‌توان زبان صفحه مربوط به ادمین را تعیین نمود. + + +#### شخصی‌سازی صفحه کاربران +در این قسمت می‌توانید صفحه مربوط به کاربران را تنظیم نمایید. + +![Screenshot_20230302_105500](https://user-images.githubusercontent.com/125398461/222460837-fde17c2b-4da4-4392-a5fd-177fd8c3fc69.png) + +* می‌توانید پیغام مربوط به بخش پشتیبانی کاربران را وارد کنید. + +* در صورت نیاز به ارائه لینک جهت پشتیبانی می‌توانید آن را در فیلد مرتبط قرار دهید. + +* همچنین می‌توانید عنوان برند خود را وارد فیلد مرتبط نمایید. این عنوان در بالا سمت راست صفحه کاربران قابل مشاهده است. + +* در نهایت می‌توانید زبان صفحه کاربران را مشخص کنید. + + + +#### تنظیمات عمومی + +در این بخش یکسری تنظیمات کلی مربوط به پنل قرار دارد. + +![Screenshot_20230302_105854](https://user-images.githubusercontent.com/125398461/222460287-cab24125-db9a-482c-ab61-ba4ebcd6fa98.png) + +* می توانید نحوه آپدیت سرور را تعیین نمایید. + +* می‌توانید تنظیم نمایید که آیپی ورژن۶ غیرفعال گردد. + +* می‌توانید تست سرعت را برای کاربران فعال یا غیرفعال نمایید که با فعالسازی آن امکان تست کانفیگها و کیفیت سرویس برای آنان فراهم می‌شود. + +* آدرس سایت جعلی را مشخص یا تغییر نمایید. این سایت برای فریب سیستم فیلترینگ استفاده می شود و در صورتی که این سیستم پنل شما را باز نماید، به سایت جعلی تعریف شده ریدایرکت میگردد. بدین صورت با استفاده از این آپشن امکان شناسایی پنل شما کمتر می‌گردد. + +* می‌توانید فایروال را فعال یا غیرفعال نمایید. با فعالسازی فایروال پورت‌های اصلی سرویس مانند ۸۰،۴۴۳،۲۲ فعال باقی میمانند و سایر پورتها غیرفعال می‌گردند. + + + + +#### تنظیمات پروکسی +‌در این بخش می‌توانید تنظیمات اختصاصی پروکسی را انجام دهید. + +![Screenshot_20230302_110030](https://user-images.githubusercontent.com/125398461/222628485-d4df14cd-1704-4c80-8ff6-45e591cd15d9.png) + + +* سایت‌های ایرانی را بلاک نمایید. با فعالسازی آن تمامی ترافیک‌هایی که به مقصد سایت‌های درون ایران و یا سایت‌هایی که روی دامنه ir هستند؛ از طریق سرور بلاک می‌گردند. این آپشن جهت عدم شناسایی سرور توسط سیستم فیلترینگ بسیار موثر است. پیشنهاد می‌کردد حتما فعال شود. + +> همچنین پیشنهاد می‌شود از کانفیگ lite.yml برای اتصال به پروکسی‌ها استفاده گردد. اگر این کانفیگ روی اپ کلاینت فعال گردد، ترافیک مربوط به سایت‌های ایرانی در دستگاه کاربر بدون عبور از پروکسی و‌ به صورت مستقیم ارسال می‌گردند و صرفا پروکسی برای سایت‌های فیلتر شده استفاده می‌گردد. این یک حالت بهینه است زیرا ترافیک بیهوده سمت سرور ارسال نمی‌گردد. +* می توان مود V2Ray را فعال یاغیرفعال نمود. +* می توان vmess را فعال یا غیرفعال کرد. +* رمز مشترک را می توان تغییر داد. این رمز برای کانکشن هایی استفاده می شود که میزان حجم ترافیک را محاسبه نمی کنند. +* می‌توانید شبیه‌سازی فینگرپرینت مرورگر را از بین گزینه‌های کروم، اندروید، سافاری و فایرفاکس انتخاب نمایید. + +#### دامین فرانتینگ + +این آپشن برای شبیه سازی وب سایت دیگری به جای وب سایت شما در SNI استفاده می‌شود. بنابراین، سیستم فیلترینگ نمی تواند پکت‌هایی که مقصد اصلی آنها دامنه شماست ولی به صورت جعلی تظاهر به ارسال به مقصد دیگری دارد را تشخیص دهد و در نتیجه می‌تواند دور زده شود. این آپشن ممکن است روی همه شبکه‌ها جواب ندهد. +[اطلاعات بیشتر](/fa/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting/) + +![Screenshot_20230302_110212](https://user-images.githubusercontent.com/125398461/222460243-dd2a1a62-7e53-477e-8ce5-946fa73af8bb.png) + +* برای این کار می‌توانید وبسایت جعلی مورد نظر را تعیین نمایید. +* می توانید این آپشن را برای پروتکل http (فاقد رمزگذاری) فعال نمایید. +* می توانید این آپشن را برای پروتکل tls (دارای رمزگذاری) فعال نمایید. +* دقت شود که این قابلیت روی کلافلر غیرفعا شده است و برای استفاده از آن باید از CDNهای دیگر استفاده کنید. + + +#### پروکسی تلگرام +پروکسی تلگرام برای استفاده درون اپ تلگرام طراحی شده تا فیلترینگ تلگرام را دور بزند. + +![Screenshot_20230302_110726](https://user-images.githubusercontent.com/125398461/222460206-c2c60e84-9c1c-408a-a310-0c85a4380a1c.png) + +* امکان فعالسازی یا غیرفعالسازی آن وجود دارد. + +* می‌توان یک تگ تبلیغاتی تعریف نمود که در قسمت چت‌های تلگرام کاربر نمایش داده شود. + +* می‌توان یک دامنه جعلی برای کپسوله کردن بسته‌ها و دور زدن فیلترینگ استفاده کرد که برای وارد کردن آن باید از فیلد مرتبط استفاده نمود. + +* مدل پروکسی تلگرام نیز قابل انتخاب است. +* می‌توانید کتابخانه‌های مختلف تلگرام را انتخاب نمایید. توجه کنید که فقط پایتون در تمام سیستم‌ها درست کار می‌کند و بقیه ممکن است اشکالاتی داشته باشند. بعد از تغییر حتما تست کنید. + + + +#### تنظیمات HTTP +در این قسمت پروتکل http فعال یا غیرفعال می‌شود. با توجه عدم استفاده از رمزنگاری فعالسازی آن توصیه نمی‌شود. + +![Screenshot_20230302_110802](https://user-images.githubusercontent.com/125398461/222460091-756f9f9d-a9c5-4bf8-97a0-e652aa4adacd.png) + +* در صورت فعالسازی می‌توان پورت این سرویس را مشخص کرد. پورت ۸۰ به صورت دیفالت وجود دارد و غیر قابل حذف است ولی می‌توان پورت‌های دیگری را به آن اضافه نمود. + +* جهت افزودن پورت‌های دیگر می‌توان از کاما استفاده کرد. همچنین می‌بایست صرفا از پورت‌های http کلادفلر استفاده نمود. مثلا 80,8080. [اطلاعات بیشتر درباره پورت‌های کلادفلر](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) + + +#### تنظیمات TLS +در این بخش می توانید TLS را تنظیم نمایید. + +![Screenshot_20230302_110901](https://user-images.githubusercontent.com/125398461/222460056-e5825450-bbc8-4931-9b55-eb757b9df86f.png) + +* امکان فعال یا غیرفعال نمودن پروتکل TLS در این بخش وجود دارد. +* علاوه بر این می‌توان پورت‌های مورد استفاده را در این خصوص تعیین نمود که پورت ۴۴۳ غیر قابل تغییر است اما می‌توان سایر پورت‌های https کلادفلر را اضافه نمود که مجددا با کاما قابل جداسازی هستند. مثلا 443,2053. [اطلاعات بیشتر درباره پورت‌های کلادفلر](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) + + + + +#### تنظیمات Shadowsocks + +شادوساکس FakeTLS یک روش مبهم سازی ساده هست که دیتا را در بسته TLS کپسوله میکند تا فیلترچی فریب بخورد. + +![Screenshot_20230302_110948](https://user-images.githubusercontent.com/125398461/222460033-440325c8-cb2c-47d6-95ac-7e4267ceecff.png) + +* در اینجا یکی از الگوریتم‌های این پروتکل با عنوان obfs ساده قابل فعالسازی است که توصیه نمی‌گردد. + +* همچنین می‌توان یک دامنه جعلی جهت مبهم‌سازی پکت‌ها توسط شادوساکس تعیین نمود. + + +#### تنظیمات ShadowTLS +یک پروکسی برای در اختیار قرار دادن TLS Handshake به فایروال. مانند تروجان کار می کند اما نیازی به Signing Certificate ندارد. فایروال، TLS Handshake واقعی را با گواهی معتبری که انتخاب می کنید، می‌بیند. + +![](https://user-images.githubusercontent.com/125398461/236685904-be6514ef-bd21-4c3c-a0f0-8338dc3b51b6.png) + + +#### تنظیمات پیشرفته + +این قسمت کانفیگ هایی وجود دارد که تعداد کمی از کاربران به آنها نیاز دارند و برای کاربران حرفه ای طراحی شده اند. +![Screenshot_20230302_111023](https://user-images.githubusercontent.com/125398461/222645594-ab5c7e4d-68ab-4989-bddd-505eb63a934b.png) + + +* امکان انتخاب نوع آپدیت پنل از بین نسخه پایدار و آخرین نسخه وجود دارد. + +* امکان اتصال به پنل مرکزی (مالتی سرور) وجود دارد. پس از اتصال به پنل مرمزی، می‌توان کاربران را به صورت یکپارچه روی پنل مرکزی تعریف نمود و میزان استفاده همه سرورها به صورت تجمعی اضافه ‌شود. + +* مسیر مخفی پروکسی در این بخش قابل تغیبر است. این مسیر برای مخفی‌سازی کانکشن‌ها از فیلترینگ مورد استفاده قرار میگیرد + +* تنظیمات توکن ربات تلگرام نیز در این بخش قرار دارد که از طریق آن می‌توان به یک بات تلگرامی متصل شد و توسط آن اطلاعات مربوط به اکانت کاربران را گزارش گیری نمود. + +#### تنظیمات خیلی پیشرفته +در این قسمت شما می توانید مسیر پروکسی ها را تنظیم کنید. + +![Screenshot_20230329_135532](https://user-images.githubusercontent.com/125398461/228505792-a2928bf4-4084-40b3-b0b7-6cbe5efb5149.png) + +این کار مخصوصا وقتی دارید از پروکسی هایی که امنیت پایین تری دارند (http و vmess) خیلی مهمه. + +این کار توسط پنل به صورت خودکار انجام شده ولی اگر خواستید می تونید تغییر بدید. + +#### وارپ +برای دیدن تنیمات وارپ به [این لینک](/fa/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel/) مراجعه کنید. + +#### ریالیتی +برای مطالعه جزییات و نحوه تنظیم این پروتکل [این مقاله](/fa/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify/) را مطالعه فرمایید. + +
+ +### پشتیبان‌گیری +در این منو می‌توانید از پنل بکاپ بگیرید و یا بکاپ قبلی خود را باز گردانید. + +![Screenshot_20230303_064612](https://user-images.githubusercontent.com/125398461/222622634-9a3db6c7-9030-4581-900e-a1bfca3700a0.png) + + +* فرمت خروجی فایل بکاپ json می‌باشد. +* هنگام بازگرداندن بکاپ بر روی پنل، امکان انتخاب نوع بازگردانی از بین گزینه‌های بازیابی تنظیمات، بازیابی کاربران و بازیابی دامنه‌ها وجود دارد. + + + +### بات تلگرام +برای آموزش تنظیم و استفاده از بات تلگرام در پنل هیدیفای به [این لینک](/fa/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel/) مراجعه کنید. + + +
+ +

اقدامات

+ +در این منو یک ترمینال شبیه‌سازی شده نمایش داده می‌شود که از طریق آن مجموعه‌ای از اقدامات مرتبط با نگهداری، عیب‌یابی و نصب پنل قابل انجام است. + +![Screenshot_20230302_180949](https://user-images.githubusercontent.com/125398461/222459957-20e6f58f-a908-4342-9367-784412f63353.png) + +### وضعیت +این منو اسکریپ نمایش وضعیت سیستم را اجرا می کند و لاگ های مربوط به آن را نمایش می‌دهد. + +![Screenshot_20230303_070615](https://user-images.githubusercontent.com/125398461/222626544-c2c38b26-f609-4f24-af98-fc2635ec1895.png) + +### نمایش لاگ +در این قسمت لاگ‌های سرویس به صورت دسته‌بندی شده قابل مشاهده خواهند بود. + +![Screenshot_20230303_070550](https://user-images.githubusercontent.com/125398461/222626455-2a48c261-756a-46a8-97e2-b7cfaa368f06.png) + +### اعمال تغییرات +تنظیماتی که در منوهای دیگر ثبت شده‌اند، از طریق این بخش اعمال می‌گردند. + +![Screenshot_20230303_070137](https://user-images.githubusercontent.com/125398461/222626361-ba720022-ef35-4a55-95ed-463d71f94bea.png) + +نکات مهم مرتبط با اعمال تغییرات: +> هنگام اعمال تغییرات نیاز است حداقل ۵ دقیقه و حداکثر ۱۰ دقیقه صبر کنید تا تغییرات اعمال گردند. در حین انجام عملیات از رفرش کردن مرورگر خودداری نمایید. + +> حتما لینک اضطراری را قبل از ترک این صفحه کپی نمایید. در صورتی که به هر دلیل مشکلی در اعمال تغییرات بوجود آید، تنها راه دسترسی به پنل از طریق لینک اضطراری است. + +> هنگامی که تغییرات اعمال می‌گردد پیغام سبز رنگی ظاهر می‌شود که نشانگر موفقیت آمیز بودن عملیات است. اگر به هر دلیلی این پیغام ظاهر نشد؛ و پنل نیز دیگر باز نمی‌شود؛ از لینک اضطراری جهت دسترسی به سرور استفاده نمایید. + + +> اگر لینک اضطراری را از دست داده‌اید می‌بایست از طریق ssh مشکل را حل نمایید. [اطلاعات بیشتر](/fa/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH/) + + +![](https://user-images.githubusercontent.com/125398461/236686114-53916173-059f-494a-94cf-a130ef5cf83a.png) + +در پایان پیغام موفقیت آمیز بودن به این شکل ظاهر می‌شود. + +### به‌روز رسانی سیستم +نصب آپدیت پنل از این طریق میسر است. + +![](https://user-images.githubusercontent.com/125398461/222625820-f6c4cef2-176e-4394-9926-960fa243e3e0.png) + +که قاعدتاً باید بین ۵ تا ۱۰ دقیقه انجام شود. برای احتیاط حتما لینک اضطراری را کپی نمایید که در صورت بروز مشکل از آن استفاده نمایید. + +### نصب مجدد سیستم +اسکریپت راه‌اندازی پنل مجددا اجرا می‌گردد و لاگ مربوط به آن نمایش داده می‌شود. با انجام این مورد دیتابیس مربوط به کاربران و لینک‌ها هیچ تغییری نمی‌کنند و بنابراین جای نگرانی وجود ندارد ولی برای احتیاط لینک اضطراری را حتما کپی نمایید. + +![Screenshot_20230303_065302](https://user-images.githubusercontent.com/125398461/222624354-065350d1-6f69-476e-bf7a-26cc7c2d327c.png) + + +گاه ممکن است پیغام سبز رنگ موفقیت آمیز بودن عملیات نشان داده نشود اما از طریق ترمینال شبیه سازی شده می توان به اتمام رسیدن عملیات را ملاحظه کرد. + +### ریستارت سیستم +اگر نیاز به ریست نمودن سرور بود از این قسمت می‌توان اقدام کرد. + +![Screenshot_20230303_064738](https://user-images.githubusercontent.com/125398461/222622936-a07a3ba1-e152-4e57-a08f-40309f2123a9.png) +پس از انجام این عملیات به دلیل اینکه سسیستم یکبار ریستارت می گردند؛ ممکن است قالب صفحه بهم بخورد بنابراین اصلا عجله نکنید و حداقل ۵ دقیقه صبر نمایید تا سرویس مجدد برقرار گردد. + +
+ +## راهنما +از طریق [این لینک](/fa/manager/) به مطالب دسته‌بندی شده و همه آموزش‌ها و ویدئوها دسترسی خواهید داشت. + + + + diff --git a/docs/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly.md b/docs/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly.md new file mode 100644 index 0000000..d0db461 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly.md @@ -0,0 +1,471 @@ +--- +title: How to configure HiddifyManager properly (Getting familiar with its different parts) +weight: -150 +--- + +
+ +# How to configure HiddifyManager properly +Before starting the configuration, it is necessary to explain that this panel is not supposed to perform miracles, but it is supposed to make things related to the use of proxies easier, and for this there are some prerequisites that should be available. So if you read this article to the end; And you did the configuration correctly, but your connections were not connected, read [this article](/manager/basic-concepts-and-troubleshooting/Troubleshooting-connectivity-issues-with-HiddifyManager-and-proxies/). + +## prerequisites +### The server's IP is clean +You have chosen a server whose IP is clean. To be sure of this issue, read how to [test the IP of server](/manager/wiki/How-to-make-sure-the-server's-IP-or-domain-is-clean). If it is determined after the test that the IP is not clean; You need to change your IP server. + +### The panel is installed correctly +You have successfully installed the panel using the methods mentioned in the [installation guide](/manager/installation-and-setup/guide/) and you have received admin links. These links include the admin address and password. For more information about the correct format of the admin link, read [this article](/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link/). + + +### The domain is registered and accessible +Before configuring the Manager, you must have a registered domain. If you are wondering about domain types and their registration ways, click [here](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/). You should also make sure that the registered domain is accessible. [how to test](/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) + +## Getting started +* If you have used the quick installation links for famous data centers such as Vultr, OVH etc; At the end after about 10 minutes, a one-time link will be generated for you, by which you will reach the admin page. + +![Screenshot_20230325_144941en](https://user-images.githubusercontent.com/125398461/227714581-5034c5ac-9204-498c-8195-2ff2d0f66d84.png) + + +* If you have installed the panel through ssh, in this case the admin links will be displayed in the terminal at the end of installation. Open one of those links in the browser to reach the admin page. + +In both cases, when you enter the admin page for the first time, the quick installation page will open. + +## Quick Setup + +Here is a parameter that is very critical; Enter your registered domain in the specified field. You can make other settings later. So enter your domain and click the register button. + +![](https://user-images.githubusercontent.com/125398461/236670372-500351a3-d829-4665-af29-651451f45c2d.png) + +Then click apply changes for saving configurations. If the changes are applied successfully; The panel is almost ready to use, but it is recommended to read the following contents till the end so that you can take the maximum advantages of this panel. + + + + +## Dashboard +In this menu, information related to system resources is displayed graphically. + +![](https://user-images.githubusercontent.com/125398461/236671412-9887bac1-1ce6-45d7-ad9d-8d74ad1a32b2.png) + +## Users +In this part, you can define accounts for users. Click on the Create button. You can specify Usage Limit, Package days, Mode etc. + + + +You can hit the `Create` button then go to the creating of new user + + + + +After creating accounts, you can browse dedicated page to each user via links next to them in which you can find all applications and configs. On to top of the page you can find and download client applications based on your OS. + + + + +At the bottom of this page, you can see the configurations related to the user. + +![](https://user-images.githubusercontent.com/125398461/236682704-86f4b740-172f-442e-a31f-73752c7aea43.png) + +Several methods are suggested for providing links to users: + +> 1. The link of the related page should be provided to the user: this link can be accessed from the user page in the management panel. +> 2. The link related to the user's subscription should be provided to them: in this case, it will be possible to update the scanners in case of changes. +> 3. The connection link should be provided to the user: in this case, it is not possible to update the connections + +If you need more information about how to connect the client to the server, please visit our [YouTube Channel](https://www.youtube.com/watch?v=Ml7XeYp70mM&list=PL2DSfh6Z6tTIalRDm3hY7G7ku9-yrCfBL) in order to find a playlist in this regard. + + +## Admins +In this section, you can define for the admin panel. + + + +Just click the create button and create the desired admin. + +There are several admin types: + +* Super admin: he is the admin of the whole system and has full access to all settings. +* Admin: has access to a number of settings. Can manage users. +* Agent: can only manage users. + +> * For each of the admins, you can set a limit on the number of users and the number of active users. +> * You can add a sub-admin for each. +> * You can also change the admin password. + +Note: + +> The admin password is also available in the admin page link, which changes the address of the panel completely. To see more information about the correct format of the admin link, click [here](/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link/) + +Also, on the page of all tutorials on the wiki, you can see the tutorials on how to use client apps based on the OS type [here](/manager/). + + +

Settings

+ +

Domains

+ +Go to the Domains menu to add your domains. There are 5 modes here. +

Direct domain

+Click the Create button. In the opened page, act according to the figure. + +![](https://user-images.githubusercontent.com/125398461/236682821-4b721589-8adc-43e8-b90e-8c096aa27c6e.png) + + +Be careful: + +> If you want the desired domain not to be displayed in the configurations; Enter a custom name in the Display Name field. + +> In this case, there is no need to complete the forced use of host field. This field is only used for CDN domains. + +> In the domain configuration display field from these settings, you can specify the configurations of which domains the users who view the user panel with this domain can view. + +
+ +

Only for subscription link

+This is a bonus tip. You can choose a domain to use as subscription only domain. This way you can separate connections from subscription links and your link will never be blocked. Then your links can be updated all the time. + +![](https://user-images.githubusercontent.com/125398461/236683456-2e99c6f2-ab23-4c54-a5cf-89e565472e8f.png) + +After connecting `Sub-only domain` to the `Connection domains`, you can go to the user page via this sub-only domain. You see the configs are connected to this domain. + +Tip: We recommend using direct domains as Sub-only domains because they are fast if your server's IP is clean. Moreover direct domains wont be locked if they are used as Sub-only links. Additionally you can use PHP sites as subscription links. [More info](/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links/) + +
+ +

CDN domain

+Click on the create button and follow the instructions on the page that opens. + +![](https://user-images.githubusercontent.com/125398461/236682963-aa6bf603-7449-43f2-9639-436332043e2a.png) + + + +Pay attention: + + >If you want the desired domain not to be displayed in the configurations; Enter a custom name in the Display Name field. If you want the desired domain not to be displayed in the configurations; Enter a custom name in the Display Name field. In the forced to use host field , it is suggested to use a normal domain record (without proxy). In this way, panel settings and configurations remain constant. When changing a new clean IP, it is enough to update the desired DNS record with the new IP (for example, in Cloudflare). + +>If you need more information about how to find clean Cloudflare IPs, read [this article](/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP/). + +>In the domain configuration display field , you can specify which domains users who view the user panel with this domain should see. + +> If you use several domains and also a large number of users connect to the panel and you need to assign a specific domain to each user; It is recommended to read [this article](/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager/) + +
+ +

Automatic CDN IP Selector or AUTO_CDN_IP domain

+ +Due to the long and detailed description of this mode; You can read [this article](/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify/) to learn how to set it up. + +
+ +

Relay domain

+ +For view more information about this domain, please view [this article](/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/). + +
+ +

Fake site

+ +For view more information about this domain, please view [this article](/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain/). + +
+ +

Reality domain

+ +For view more information about this domain, please view [this article](/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify/). + +
+ +

Cloudflare worker domain

+ +Read this [article](/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers/) in this regard + +
+ + + +
+ + +

Proxies

+In this part of the panel, you can specify general and detailed settings for proxies and enable or disable each of them. General settings include the following: + + + + + + +In detailed settings, you can enable or disable individual proxies (connections). Connections are grouped. + + +Pay attention: + +> HTTP connections are unencrypted, but TLS is. + +
+ +

Other

+ + +#### Admin settings +Here are the admin settings. + + + + + + +* You can set the language of the admin page. + + +#### Customizing user page +In this section, you can set the page related to users. + + + + + + +* You can enter the message related to the user support department. + +* If you need to provide a link for support, you can put it in the related field. + +* You can also enter your brand name in the related field. This title can be seen at the top right of the user page. + +* Finally, you can specify the language of the user page. + +#### General settings +In this section, there are some general settings related to the panel. + + + + + + +* You can determine how to update the server. + +* You can set IP version 6 to be disabled. + +* You can enable or disable the speed test for users, which enables them to test configurations and service quality. + +* Specify or change the address of the fake site. This site is used to deceive the filtering system and if this system opens your panel, it will be redirected to the defined fake site. In this way, by using this option, it becomes less possible to identify your panel. + +* You can enable or disable the firewall. By activating the firewall, the main service ports such as 80,443,22 remain active and other ports are disabled. + + +#### Proxy settings +In this section, you can make specific proxy settings. + + + + + + +* Block domestic sites. By activating it, all traffic destined for sites inside Iran or sites that are on the ir domain; They are blocked through the server. This option is very effective for not identifying the server by the filtering system. He suggested that it should be activated. + + + +> It is also suggested to use lite.yml configuration to connect to proxies. If this configuration is activated on the app client, traffic related to Iranian sites will be sent directly to the user's device without going through a proxy, and only the proxy will be used for filtered sites. This is an optimal mode because the traffic is not sent to the server in vain. + + +* V2Ray mode can be activated or deactivated. +* Vmess can be enabled or disabled. +* The shared password can be changed. This password is used for connections that do not calculate traffic volume. +* You can choose browser fingerprint emulation from Chrome, Android, Safari and Firefox options. + +#### domain Fronting +This option is used to simulate another website instead of your website in SNI. Therefore, the filtering system cannot detect packets whose main destination is your domain, but fakely pretends to be sent to another destination, and as a result, it can be bypassed. This option may not work on all networks. [more information](/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting/) + + + + + + +* For this purpose, you can specify the desired fake website. +* You can enable this option for HTTP protocol (no encryption). +* You can enable this option for TLS protocol (with encryption). +* Please note that this feature is disabled on Cloudflare, and you must use other CDNs to use it. + +#### Telegram proxy +Telegram proxy is designed to be used inside the Telegram app to bypass Telegram filtering. + + + + + + +* It is possible to activate or deactivate it. + +* You can define an advertising tag to be displayed in the user's Telegram chats. + +* A fake domain can be used to encapsulate packets and bypass filtering, which must be entered in the relevant field. + +* Telegram proxy model can also be selected. + +* You can choose different Telegram libraries. Note that only Python works correctly on all systems and others may have bugs. Be sure to test after the change. + + +#### HTTP settings +In this section, the HTTP protocol is enabled or disabled. Due to the lack of encryption, its activation is not recommended. + + + + + + +* If activated, the port of this service can be specified. Port 80 exists by default and cannot be removed, but other ports can be added to it. + +* Commas can be used to add other ports. Also, you should only use cloudflare's http ports. For example, 80,8080. [More information about cloudflare ports](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) + +#### TLS settings +In this section you can set TLS. + + + + + +It is possible to enable or disable the TLS protocol in this section. + In addition, you can specify the ports used in this regard, port 443 cannot be changed, but you can add other Cloudflare HTTPS ports, which can be separated by commas. For example, 443,2053. [More information about cloudflare ports](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) + +#### Shadowsocks settings +ShadowSax FakeTLS is a simple obfuscation method that encapsulates data in a TLS packet to fool the filter. + + + + +* Here, one of the algorithms of this protocol called simple obfs can be activated, which is not recommended. + +* You can also set a fake domain to obfuscate packets by ShadowSocks + +#### ShadowTLS Settings + +A Proxy to expose real tls handshake to the firewall. It works like Trojan but It does not require signing certificate. the firewall will see real tls handshake with valid certificate that you choose. + + + + +#### Advanced settings +In this section, there are configurations that are needed by a few users and are designed for professional users. + + + + + +* It is possible to choose the type of panel update from the stable version and the latest version. + +* It is possible to connect to the central panel (multi server). After connecting to the encrypted panel, users can be defined in an integrated manner on the central panel and the amount of usage of all servers can be added cumulatively. + +* The hidden proxy path can be changed in this section. This route is used to hide connections from filtering + +* Telegram bot token settings are also located in this section, through which you can connect to a Telegram bot and report user account information. + +### Very advanced settings +In this section, you can set the proxy path. + +Very advanced settings + + + + +This is especially important when you use proxies with lower security (http and vmess). + +This is done automatically by the panel, but you can change it if you want + +#### WARP +If you need to get some information related to enabling WARP on Hiddify, read [this link](/manager/configuration-and-advanced-settings/How-to-activate-WARP-on-the-Hiddify-panel/). + +#### Reality +For view more information about this protocol, please view [this article](/manager/wiki/How-to-use-Reality-on-Hiddify). + +
+ + +

Backup

+In this menu, you can take a backup from the panel or restore your previous backup. + + + + + +* The output format of the backup file is Json. +* When restoring the backup on the panel, it is possible to choose the type of restoration from the options of restoring settings, restoring users and restoring domains. + +
+ +
+ +

Actions

+ +In this menu, a simulated terminal is displayed, through which a series of actions related to maintenance, troubleshooting and installation of the panel can be performed. + + + + +### Status +This menu executes the system status display script and displays the related logs. + + + +### View Logs +In this section, the service logs will be visible in categories. + + + + + + +### Apply Configs +Settings registered in other menus are applied through this section. + + + + +Important points related to applying changes: + + When applying changes, you need to wait at least 5 minutes and maximum 10 minutes for the changes to be applied. Do not refresh the browser while performing the operation. + + Be sure to copy the emergency link before leaving this page. If for any reason there is a problem in applying the changes, the only way to access the panel is through the emergency link. + + When the changes are applied, a green message will appear indicating that the operation was successful. If for any reason this message does not appear; And the panel won't open anymore; Use the emergency link to access the server. + + If you have lost the emergency link, you should solve the problem through ssh. [more information](/manager/wiki/How-to-connect-and-troubleshoot-via-SSH) + + + +At the end, the panel shows you a message like this. It means every thin applied successfully. + +### Update System +It is possible to install the update panel in this way. + + + + +which usually should be done between 5 and 10 minutes. As a precaution, be sure to copy the emergency link to use in case of a problem. + +### Reinstall System +The panel startup script will be executed again and the corresponding log will be displayed. By doing this, the database of users and links will not change, so there is no need to worry, but be sure to copy the emergency link as a precaution. + + + + + + +Sometimes the green message that the operation is successful may not be shown, but through the simulated terminal, you can see the completion of the operation. + +### Restart System +If you need to reset the server, you can do it from this section. + + + + + +After performing this operation, because the system will be restarted once; The page format may be messed up, so don't rush at all and wait at least 5 minutes for the service to be restored + +
+ + + +## Help +Through [this link](/manager/), you will have access to categorized content and all tutorials and videos. + + + + + + diff --git a/docs/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH.fa.md new file mode 100644 index 0000000..3a6a752 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH.fa.md @@ -0,0 +1,210 @@ +--- +title: آموزش اتصال به سرور و عیب‌یابی از طریق SSH (‌کار با منوی هیدیفای‌منیجر) +weight: -145 +--- + +
+ +

پیش نیاز: نصب ssh در ویندوز

(کلیک کنید)
+ +* اگر کلاینت شما ویندوز است؛ می توانید از پاورشل استفاده نمایید. ابتدا اگر تا کنون ماژول OpenSSH را نصب ننموده اید؛ پاورشل را با **دسترسی ادمین** باز کنید یعنی روی PowerShell راست کلیک کنید و Run as Administrator را بزنید. + +![image](https://user-images.githubusercontent.com/114227601/222904592-cd26b3bf-a014-4253-9488-ee9717f006fe.png) + +سپس این دستور را اجرا کنید: + + +
+``` +Add-WindowsCapability -Online -Name OpenSSH.Client +``` +
+پس از آن چنین چیزی را باید مشاهده کنید: + +![image](https://user-images.githubusercontent.com/114227601/222904870-e709f69e-1a8d-4a6d-ad6a-3d7bdcd917c3.png) + +تبریک نصب ssh به پایان رسید +
+ + +# نحوه اتصال و رفع عیب از طریق SSH + + +در صورتی که به هر دلیلی دسترسی به پنل از طریق وب فراهم نبود و یا دسترسی شما قطع گردید و لینک اضطراری را هم در اختیار ندارید؛ در این حالت تنها راه کنترل و اعمال تغییرات و همچنین برگرداندن دسترسی وب از طریق ترمینال است. + + +در این حالت نیاز است ابتدا به سرور ssh بزنید. +برای این کار: +با توجه به سیستم عامل خود یکی از برنامه های زیر را باز کنید +- اندروید: `Termius` +- ویندوز: `PowerShell,PuTTY` +- مک: `Terminal` +- لینوکس : `Terminal` + +سپس از طریق اجرای دستور زیر به سرور متصل شوید: + +
+ +``` +ssh user@ +``` +
+ +معمولا یوزر شما در سروری که خریداری کردید `root` هست فرض کنید IP سرور شما 1.1.1.1 هست پس دستور به شکل زیر میشه +
+ +``` +ssh root@1.1.1.1 +``` +
+ +پس از اتصال به سرور منوی پنل به این شکل نشان داده می شود. + +![Hiddify-Manager](https://github.com/hiddify/hiddify.com/assets/125398461/5b3b47fb-4437-4388-b22d-0d2df6359620) + +برای آشنایی بیشتر هر کدام از قسمت ها به صورت مجزا توضیح داده خواهند شد. + + +## Cancel +با انتخاب کنسل می‌توان از منو خارج شد و به ترمینال عادی سرور رسید. + +نکته: برای بازگشت به منو باید در ترمینال این کامند را اجرا کنید. + +
+ +``` +bash /opt/hiddify-config/menu.sh +``` +
+## Status +این منو برای اطلاع از وضعیت سیستم استفاده می شود که اگر همه چیز نرمال باشد باید نتیجه به این شکل نمایش داده شود. + + +![Status](https://github.com/hiddify/hiddify.com/assets/125398461/bb5072e7-635b-486e-9dce-024b8479adb8) + +برای بازگشت به منوی اصلی باید کلید q را بزنید. + +## Admin +این قسمت لینک های ادمین را نمایش می دهد. در صورتی که به هر دلیل نیاز به این لینک ها داشتید از این گزینه استفاده نمایید. + +![Admin](https://github.com/hiddify/hiddify.com/assets/125398461/d15fb764-45b4-40ec-84f2-7dc0ea134f13) + +برای بازگشت به منوی اصلی یک کلید را فشار دهید. + + + +بیشترین کاربرد: +> > > در صورتی که پنل را نصب نمودید ولی فراموش کردید لینک های ادمین را کپی کنید. + +## Log +برای مشاهده لاگ های سیستم استفاده می شود. پس از انتخاب آن باید نوع لاگ مورد نظر را نیز انتخاب نمود. + +![Log](https://github.com/hiddify/hiddify.com/assets/125398461/4fa52e34-1f2a-4378-ae1a-881dc81e1269) + +مثلا اگر بخواهیم لاگ های مربوط به نصب را مشاهده کنیم می توان گزینه 0-install.log را انتخاب نمود. + +![0-install.log](https://github.com/hiddify/hiddify.com/assets/125398461/6a980bbf-9d7a-4ef6-aa92-7a4bfeeb34e3) + +در اینجا لاگ های نصب به شکل فوق نمایش داده می شود که در انتهای آن وضعیت سیستم و لینک های ادمین نمایش داده می شوند. + + +بیشترین کاربرد: +> > > در صورتی که یکی از سرویس ها به درستی کار نمی کند و نیاز دارید لاگ آن را چک کنید. + + + + +# Restart +این گزینه همه سرویس‌های پنل را بدون تغییر در تنظیمات ریست می‌کند. + +![Restart](https://github.com/hiddify/hiddify.com/assets/125398461/d0caf625-9f09-4543-bc22-ae3843bf289a) + +با فشردن هر کدام از دکمه های روی کیبورد می توانید به منوی اصلی برگردید. + +بیشترین کاربرد: +> > > در صورتی که یکی از سرویس ها غیر فعال شده است و نیاز دارید یکبار همه سرویس ها را ریست کنید. + + + +## Apply Configs +این بخش برای اعمال تنظیمات ذخیره شده استفاده می شود. پس از انتخاب آن پنل شروع به بازنشانی مقادیر می کند. + +![Apply Configs](https://github.com/hiddify/hiddify.com/assets/125398461/76446e31-8efd-4d0e-84b9-a1358887a027) + +برای بازگشت به منوی اصلی یک کلید را فشار دهید. + + +بیشترین کاربرد: +> > > در صورتی که تغییراتی را در پنل ثبت نمودید ولی به هر دلیل دسترسی وب را از دست دادید + + +## Update +این گزینه برای آپدیت کردن سیستم استفاده می شود. در صورت انتخاب آن پنل به آخرین نسخه موجود روی گیتهاب پروژه به روزرسانی می گردد. در اینجا سه گزینه وجود دارد که به شکل زیر است. + +![Update](https://github.com/hiddify/hiddify.com/assets/125398461/9b24004d-cb44-4137-a573-76eb59d8930a) + +### Default +با انتخاب این گزینه برنامه مطابق با تنظیم پنل وب بروز می شود. + +### Release +با انتخاب این گزینه برنامه به آخرین نسخه پایدار بروز می شود. +(پیشنهاد می شود) + +### Beta +با انتخاب این گزینه برنامه به آخرین نسخه بتا بروز می شود. + +### Develop +با انتخاب این گزینه برنامه به آخرین نسخه توسعه بروز می شود. + +**در هر سه حالت در ترمینال مثل این شکل خواهید داشت.** + +![Develop](https://user-images.githubusercontent.com/125398461/222898474-0d72f442-f19a-40a9-9f35-fcad96807fc4.png) + +با فشردن هر کدام از دکمه های روی کیبورد می توانید به منوی اصلی برگردید. + + +بیشترین کاربرد: +> > > در صورتی که هنگام آپدیت از طریق پنل دسترسی را از دست دادید. + + + + + +بیشترین کاربرد: +> > > در صورتی که هنگام نصب یکی از اسکریپت ها به درستی اجرا نشده و پنل باز نمی شود. + +### Advanced +این زیر منو شامل چندین گزینه است. + +![advanced](https://github.com/hiddify/hiddify.com/assets/125398461/61336508-2dbf-43d8-893c-8d9adbdf3a51) + +### add_remote + +این گزینه برای زمانی است که میخواهید از طریق +[ربات هیدیفای](https://t.me/hiddifybot) +دسترسی +SSH +به تیم هیدیفای بدهید. + +### remove_remote +این گزینه برای زمانی است که میخواهید +دسترسی +SSH +را از +[ربات هیدیفای](https://t.me/hiddifybot) +بردارید. + + + +### Enable +این گزینه برای زمانی است که شما نمایش این پنجره را قبلا غیرفعال کرده اید و می خواهید مجددا نمایش خودکار آن را در استارتاپ سرور فعال کنید. + +### Disable +با انتخاب این گزینه نمایش این پنجره در استارتاپ غیرفعال می گردد. یعنی اگر سرور ریستارت شود دیگر به صورت خودکار این پنجره نمایش داده نمی شود. + +### Uninstall +در صورت نیاز به حذف پنل نصب شده از سرور از این گزینه استفاده نمایید. ضمنا در نظر داشته باشید این گزینه همه موارد نصب نشده را حذف نمی کند. در صورتی که نیاز دارید سرور به تنظیمات دیفالت قبل از نصب بازگردد؛ بهتر هست که آن را ریبیلد کنید. + +### Purge +برای حذف کامل برنامه و دیتابیس از سرور این گزینه را انتخاب نمایید. +> اگر این روش به هر دلیل برای شما کارآمد نبود، می‌توانید از طریق دیتاسنتر خود اقدام به `Rebuild` کردن سرور نمایید. با این کار تمام اطلاعات سرور پاک می‌شود. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH.md b/docs/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH.md new file mode 100644 index 0000000..7fbbed2 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-connect-and-troubleshoot-via-SSH.md @@ -0,0 +1,150 @@ +--- +title: How to connect and troubleshoot via SSH (Working with Hiddify Menu) +weight: -145 +--- + +
+ + +

Prerequisite: Installing ssh on Windows

+- If your client is Windows; You can use Powershell. First, if you haven't installed the OpenSSH module yet; Open PowerShell with admin access, that is, right-click PowerShell and click Run as Administrator. + +![image](https://user-images.githubusercontent.com/114227601/222904592-cd26b3bf-a014-4253-9488-ee9717f006fe.png) + +Then run this command: + +``` +Add-WindowsCapability -Online -Name OpenSSH.Client +``` +After that you should see something like this: + +![image](https://user-images.githubusercontent.com/114227601/222904870-e709f69e-1a8d-4a6d-ad6a-3d7bdcd917c3.png) + +Congratulations, ssh installation is complete. + +
+ +# How to connect and troubleshoot via SSH +If for any reason access to the panel is not available through the web or your access is cut off and you do not have the emergency link; In this case, the only way to control and apply changes, as well as restore web access, is through the terminal. + +In this case, you need to ssh to the server first. +for this job: +According to your operating system, open one of the following programs +- Android: `Termius` +- Windows: `PowerShell` +- Mac: `Terminal` +- Linux: `Terminal` + +Then connect to the server by running the following command: `ssh user@` + +Usually, when you purchase a VPS you get the user ``root'' on the server. suppose your server's IP is 1.1.1.1, so the command is as follows: +``` +ssh root@1.1.1.1 +``` +After connecting to the server, the panel menu will be shown like this. + +![Hiddify-Manager](https://github.com/hiddify/hiddify.com/assets/125398461/5b3b47fb-4437-4388-b22d-0d2df6359620) + +For more information, each part will be explained separately. + +## Cancel +By selecting cancel, you can exit the menu and reach the normal terminal of the server. + +Note: To return to the menu, you must run this command in the terminal. +``` +bash /opt/hiddify-config/menu.sh +``` +## Status +This menu is used to know the status of the system, if everything is normal, the result should be displayed like this. + +![Status](https://github.com/hiddify/hiddify.com/assets/125398461/bb5072e7-635b-486e-9dce-024b8479adb8) + +To return to the main menu, you must press the `q` key. + +## Admin +This section displays admin links. If you need these links for any reason, use this option. + +![Admin](https://github.com/hiddify/hiddify.com/assets/125398461/d15fb764-45b4-40ec-84f2-7dc0ea134f13) + +Press a key to return to the main menu. + +Most used: +> > > If you installed the panel but forgot to copy the admin links. + +## Log +Used to view system logs. After selecting it, you must also select the desired log type. + +![Log](https://github.com/hiddify/hiddify.com/assets/125398461/4fa52e34-1f2a-4378-ae1a-881dc81e1269) + +For example, if we want to see the logs related to the installation, we can choose the `install-log` option. + +![0-install.log](https://github.com/hiddify/hiddify.com/assets/125398461/6a980bbf-9d7a-4ef6-aa92-7a4bfeeb34e3) + +Here, the installation logs are displayed as above, at the end of which the system status and admin links are displayed. + +Most used: +> > > If one of the services is not working properly and you need to check its log. + +# Restart +This option resets all panel services without changing the settings. + +![Restart](https://github.com/hiddify/hiddify.com/assets/125398461/d0caf625-9f09-4543-bc22-ae3843bf289a) + +You can return to the main menu by pressing any of the buttons on the keyboard. + +Most used: +> > > If one of the services is disabled and you need to reset all services at once. + +## Apply Configs +This section is used to apply saved settings. After selecting it, the panel will start resetting the values. + +![Apply Configs](https://github.com/hiddify/hiddify.com/assets/125398461/76446e31-8efd-4d0e-84b9-a1358887a027) + +Press any key to return to the main menu. + +Most used: +> > > If you registered changes in the panel, but for any reason you lost web access + +## Update +This option is used to update the system. If you select that panel, it will be updated to the latest version available on the project's GitHub. There are three options here as follows. + +![Update](https://github.com/hiddify/hiddify.com/assets/125398461/9b24004d-cb44-4137-a573-76eb59d8930a) + +### Default +By selecting this option, the program will be updated according to the setting of the web panel. +### Release +By selecting this option, the program will be updated to the latest stable version. +### Develop +By selecting this option, the program will be updated to the latest development version. + +In all three cases, you will see something like this in the terminal. + +![Develop](https://user-images.githubusercontent.com/125398461/222898474-0d72f442-f19a-40a9-9f35-fcad96807fc4.png) + +Most used: +> > > If you lost access during the update through the panel. + + +### Advanced +This submenu contains several options. + +![advanced](https://github.com/hiddify/hiddify.com/assets/125398461/61336508-2dbf-43d8-893c-8d9adbdf3a51) + +### add_remote +This option is for when you want to send access to [Hiddifybot](https://t.me/hiddifybot) + +### remove_remote +By using this option you can remove SSH access sent to the [bot](https://t.me/hiddifybot) + +### Enable +This option is for when you have previously disabled the display of this window and want to re-enable its automatic display at server startup. + +### Disable +By selecting this option, the display of this window will be disabled at startup. That is, if the server is restarted, this window will no longer be displayed automatically. + +### Uninstall +If you need to remove the installed panel from the server, use this option. Also, keep in mind that this option does not remove all uninstalled items. If you need the server to return to the default settings before installation; It is better to rebuild it. + +### Purge +Select this option to completely remove the program and database from the server. +> If this method did not work for you for any reason, you can `Rebuild` the server through your data center. This will delete all server data. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-set-up-Telegram-proxy-on-Hiddify.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-set-up-Telegram-proxy-on-Hiddify.fa.md new file mode 100644 index 0000000..6357228 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-set-up-Telegram-proxy-on-Hiddify.fa.md @@ -0,0 +1,42 @@ +--- +title: آموزش راه‌اندازی پروکسی تلگرام در هیدیفای‌منیجر +weight: -120 +--- + +
+# آموزش راه‌اندازی پروکسی تلگرام در هیدیفای‌منیجر +یکی از قابلیت‌های خوب پنل هیدیفای، ارائه پروکسی تلگرام است که با استفاده از چند کتابخانه این کار صورت می‌گیرد که در ادامه تنظیمات آن توضیح داده خواهد شد. + +## فعال‌سازی پروکسی تلگرام +* برای این کار به بخش `تنظیمات` پنل بروید و در قسمت `پروکسی تلگرام` آن را فعال کنید. + +
+![Proxy Telegram](https://github.com/hiddify/hiddify-config/assets/125398461/0fc17e1d-a5d2-4117-969e-60223439fad0) + +
+ +* در صورت نمایش پیغام مربوط به `اعمال تغییرات` ، حتما دکمه را فشار دهید تا تغییرات در سرور اعمال گردند. + +* حال اگر لینک صفحه کاربر را با استفاده از لینک فقط برای سابسکریپشن یا لینک‌های دایرکت باز نمایید، مشاهده خواهید کرد که کانفیگ‌های پروکسی تلگرام نیز نمایش داده خواهند شد. + +![proxy config](https://github.com/hiddify/hiddify-config/assets/125398461/5793b126-d29a-44b8-b720-af65bbacd79d) + +* با استفاده از تغییر کتابخانه‌های پروکسی تلگرام می توانید وضعیت پروکسی را تغییر دهید. مثلا ممکن است روی یک شبکه یک کتابخانه بهتر جواب دهد و روی شبکه دیگر کتابخانه دیگه‌ای بهتر باشه. + +* در قسمت دامنه فیک نیز، دامنه‌ای قرار دهید که به صورت فیک در هدر بسته‌های پروکسی قرار می‌گیرد و باعث دور زدن محدودیت‌های اینترنتی می‌شود. + +> دقت شود که از دامنه‌های سایت‌های معمولی که فیلتر نیستند استفاده نمایید و سایت‌هایی که درگاه پرداخت دارند را استفاده نکنید. + +## فعال‌سازی تبلیغات +برای این کار ربات [MTProxybot](https://t.me/MTProxybot) را جستجو نمایید. + +
+![proxybot](https://github.com/hiddify/hiddify-config/assets/125398461/3fed75f8-0580-469a-a306-e01d385ee6ec) + +
+ +* حالا پروکسی‌ای که ساخته شده را وارد بات کنید. ممکن است مقداری زمان بگیرد تا به صورت کامل فعال شود. + +* سپس در تنظیمات پنل در فیلد `تگ تبلیغانتی تلگرام` آدرس مورد نظر خود برای تبلیغ را وارد نمایید. مثلا می‌توانید آدرس اکانت پشتیبانی خود را بدهید. + +* کار تمام است. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-set-up-Telegram-proxy-on-Hiddify.md b/docs/manager/configuration-and-advanced-settings/How-to-set-up-Telegram-proxy-on-Hiddify.md new file mode 100644 index 0000000..788d862 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-set-up-Telegram-proxy-on-Hiddify.md @@ -0,0 +1,42 @@ +--- +title: How to set up Telegram proxy on HiddifyManager +weight: -120 +--- + +
+ +# How to set up Telegram proxy on HiddifyManager +One of the good features of the Hiddify panel is providing a Telegram proxy, which is done using several libraries, which will be explained in the following settings. + +## Telegram proxy activation + +- To do this, go to the settings section of the panel and activate it in the Telegram proxy section. + +
+![Screenshot_20230625_170729](https://github.com/hiddify/hiddify-config/assets/125398461/1887f940-e448-4fad-ad87-c27c42d2ad4f) + +
+ +- If the message about applying changes is displayed, be sure to press the button so that the changes are applied to the server. + +- Now, if you open the link of the user page using the link for subscription only or direct links, you will see that the proxy configurations of Telegram will also be displayed. + +![Screenshot_20230625_170930](https://github.com/hiddify/hiddify-config/assets/125398461/1437b7ee-af18-4e15-a1a8-c88188339f15) + +- You can change the proxy status by changing Telegram proxy libraries. For example, it is possible that one library works better on one network and another library works better on another network. +- Also, in the fake domain section, put a domain that is placed as a fake in the header of the proxy packets and bypasses the internet restrictions. +> Be careful not to use domains of normal sites that are not filtered and sites that have a payment gateway. + +## Advertising activation + +- For this, search for [MTProxybot](https://t.me/MTProxybot). + +
+![](https://user-images.githubusercontent.com/125398461/248558462-3fed75f8-0580-469a-a306-e01d385ee6ec.png) +
+ +- Now enter the created proxy into the bot. It may take some time to fully activate. + +- Then, in the panel settings, enter the address you want to advertise in the Telegram advertising tag field. For example, you can give your support account address. + +- The work is done. \ No newline at end of file diff --git a/docs/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel.fa.md new file mode 100644 index 0000000..329f07e --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel.fa.md @@ -0,0 +1,185 @@ +--- +title: تنظیم بات تلگرام در هیدیفای‌منیجر +weight: -130 +--- + +
+# نحوه تنظیم و استفاده از بات تلگرام در هیدیفای‌منیجر + +در هیدیفای شما می توانید پنل خود را به یک بات تلگرامی متصل نمایید و از طریق آن یک سری کارهای مربوط به بخش کاربران را انجام دهید. + +برای این کار نیاز دارید که ابتدا یک بات در تلگرام بسازید. + +## ساخت بات تلگرام + +تلگرام را باز نمایید و در آن `botfather` را سرچ نمایید. بات ایجاد کننده بات های تلگرامی را باز نمایید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235900298-c2251db5-2b14-4a45-b4c3-1b1c857a64b4.png) +
+ +
+روی استارت کیک کنید تا فرآیند ایجاد بات آغاز شود. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235900621-1d8143fa-a56d-4c01-9f7c-3b96b1772191.png) +
+ +
+سپس از منوی ظاهر شده؛ گزینه `newbot/` را انتخاب نمایید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235900712-3f6cb0c2-4107-473c-affa-5af47ff1f2d0.png) +
+ +
+در مرحله بعد ابتدا یک نام دلخواه برای بات خود انتخاب نمایید و سپس یک نام کاربری منحصر به فرد برای آن انتخاب کنید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235904011-8d51583c-3c39-4a88-99c5-ee71d0016631.png) +
+ +
+دقت کنید: +* نام کاربری بات باید حتما به کلمه `Bot` ختم شود. +* استفاده از `_` برای نام کاربری بات مجاز است. + +در مرحله بعد بات شما آماده می شود. شما باید توکن مربوط به آن را کپی نمایید تا در محله بعد در هیدیفای‌منیجر خود وارد کنید. + +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235904260-f6f582d3-f4e6-4829-951b-0f4f7540f4a0.png) +
+ +
+## تنظیم بات در هیدیفای‌منیجر + +برای این کار به بخش تنظیمات بروید و سپس در تنظیمات پیشرفته؛ توکن کپی شده در مرحله قبل را وارد فیلد مشخص شده نمایید. + +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235912807-611d6f99-2cab-4dff-9aea-34cbe0ed9f84.png) + +
+ +
+سپس ثبت را بزنید و اعمال تغییرات نمایید. + +بات تلگرام حاضر است. می توانید آن را در منو مشاهده نمایید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235911513-138510f0-6f83-4537-9e51-1839f19ad9b0.png) +
+ +
+## نحوه استفاده از بات تلگرام + +برای استفاده از این بات کافیست روی منوی بات تلگرام در هیدیفای‌منیجر کلیک کنید؛ در اینجا به سمت تلگرام هدایت می شوید و وارد بات خود می شوید. بات را استارت کنید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235907744-d16631e7-aa15-477e-9f05-34c5a90c80bf.png) +
+ +
+در این بات فعلا می توانید کاربران مورد نظر خود را ایجاد نمایید و مشخصات حجم و تاریخ انقضای آن ها را چک کنید. + +با انتخاب **Create Package** می توانید بسته مورد نظر برای کاربر مشخص نمایید. + +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235907850-1e613a61-6506-45a5-bc8c-eda7a718048c.png) +
+ +
+مثلا در اینجا بسته ۴ گیگابایت انتخاب می شود. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235908017-f4c5b463-c40e-4524-a08d-90e7f7e395c2.png) +
+ +
+در مرحله بعد مدت اعتبار اکانت را مشخص می کنید. مثلا یک هفته. +
+ +
+![Screenshot_20230314_150627](https://user-images.githubusercontent.com/125398461/225084209-6924f927-94d8-4f9a-8fe0-a459aafac120.png) +
+ +
+سپس تعداد یوزر با مشخصات داده شده را مشخص می کنید. مثلا در اینجا ۱ کاربر انتخاب می شود. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235908369-39e536f7-150d-4498-828b-b8861089d7b1.png) +
+ +
+سپس دامنه مورد نظر برای ایجاد لینک یوزر را انتخاب نمایید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235908789-b519ee45-3976-454b-9268-1829ca968021.png) +
+ +
+کار تمام است. یوزر با مشخصات داده شده ساخته شد و در ربات مشخصات آن برای شما نمایش داده می شود. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235908927-0835b813-14e1-4c8f-9aa8-3c8398eaa6c1.png) +
+ +
+اگر پنل را چک کنید نیز می بینید در بخش کاربران یوزر مورد نظر مطابق با مشخصات داده در بات ایجاد شده است. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235909045-f7581a57-5cb7-4df3-ad3d-9293bbdc8ba2.png) +
+ +
+در صورت ذخیره اکانت تلگرام کاربران در پنل، می توانید از طریق تلگرام برای آنها پیام ارسال کنید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235909375-a9abc059-c4e1-4fe6-ba65-630e3704ba20.png) +
+ +
+همچنین می توانید در بات روی دکمه update کلیک کنید تا آخرین وضعیت کاربر شامل تاریخ انقضا و میزان حجم باقیمانده به شما گزارش شود. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235909484-c3b6064d-afb5-4654-8c01-84acb55becd4.png) +
+ +
+این بات در مراحل ابتدایی است و لیست کامندهای اجرایی توس آن در آینده توسعه داده خواهد شد. + +
diff --git a/docs/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel.md b/docs/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel.md new file mode 100644 index 0000000..87c8d8b --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-set-up-and-use-Telegram-bot-on-Hiddify-panel.md @@ -0,0 +1,137 @@ +--- +title: How to set up and use Telegram bot on HiddifyManager +weight: -130 +--- + +
+ +# How to set up and use Telegram bot on HiddifyManager +In Hidify, you can connect your panel to a Telegram bot and do a series of tasks related to the user section through it. + +For this, you need to first create a bot in Telegram. + +## Making a Telegram bot +Open Telegram and search for `botfather`. Open the bot that creates Telegram bots. + +
+![](https://user-images.githubusercontent.com/125398461/235900298-c2251db5-2b14-4a45-b4c3-1b1c857a64b4.png) +
+ +Click Start to start the bot creation process. + +
+![](https://user-images.githubusercontent.com/125398461/235900621-1d8143fa-a56d-4c01-9f7c-3b96b1772191.png) +
+ + +Then from the menu that appears; Select `/newbot` option. + +
+![](https://user-images.githubusercontent.com/125398461/235900712-3f6cb0c2-4107-473c-affa-5af47ff1f2d0.png) +
+ +In the next step, first choose a desired name for your bot and then choose a unique username for it. + +
+![](https://user-images.githubusercontent.com/125398461/235904011-8d51583c-3c39-4a88-99c5-ee71d0016631.png) +
+ +pay attention: +* Bot username must end with the word `Bot`. +* Using `_` for bot username is allowed. + +In the next step, your bot is ready. You must copy the corresponding token to enter it in the next area in your Hiddify panel. + +
+![](https://user-images.githubusercontent.com/125398461/235904260-f6f582d3-f4e6-4829-951b-0f4f7540f4a0.png) +
+ +## Bot setting in Hiddify panel +To do this, go to the settings section and then in advanced settings; Enter the token copied in the previous step into the specified field. + +
+![](https://user-images.githubusercontent.com/125398461/235904497-84682dd3-8774-4d06-9391-d662d884b64e.png) + +
+ +Then hit register and apply changes. + +Telegram bot is available. You can see it in menu. + +
+ +![](https://user-images.githubusercontent.com/125398461/235912447-776ce7fd-65ed-4c4a-b6c8-b7b828ab8aea.png) + + +
+ + +## How to use Telegram bot +To use this bot, just click on the Telegram bot menu in the Hiddify panel; Here you will be redirected to Telegram and enter your bot. Start the bot. + +
+![](https://user-images.githubusercontent.com/125398461/235907744-d16631e7-aa15-477e-9f05-34c5a90c80bf.png) +
+ + +Note: for safety reasons, the bot will start this way. + +In this bot, you can create your desired users and check their volume and expiration date. + +By selecting `Create Package`, you can specify the desired package for the user. + +
+![](https://user-images.githubusercontent.com/125398461/235907850-1e613a61-6506-45a5-bc8c-eda7a718048c.png) +
+ +For example, the 4 GB package is selected here. + +
+![](https://user-images.githubusercontent.com/125398461/235908017-f4c5b463-c40e-4524-a08d-90e7f7e395c2.png) +
+ +In the next step, you specify the validity period of the account. For example, a week. + +
+![](https://user-images.githubusercontent.com/125398461/235908369-39e536f7-150d-4498-828b-b8861089d7b1.png) +
+ +Then you specify the number of users with the given profile. For example, 1 user is selected here. + +
+![](https://user-images.githubusercontent.com/125398461/235908551-11ca06da-25db-4db2-9ca5-20240b04fd15.png) +
+ +Now, select the domain for the user's link + +
+![](https://user-images.githubusercontent.com/125398461/235908789-b519ee45-3976-454b-9268-1829ca968021.png) +
+ +The work is done. The user was created with the given specifications and its specifications are displayed for you in the robot. + +
+![](https://user-images.githubusercontent.com/125398461/235908927-0835b813-14e1-4c8f-9aa8-3c8398eaa6c1.png) +
+ +If you check the panel, you can see that the desired user has been created according to the data specifications in the bot. + +
+![](https://user-images.githubusercontent.com/125398461/235909045-f7581a57-5cb7-4df3-ad3d-9293bbdc8ba2.png) +
+ +You can send message to users via Telegram if you save their Telegram account in the panel. + +
+![](https://user-images.githubusercontent.com/125398461/235909375-a9abc059-c4e1-4fe6-ba65-630e3704ba20.png) +
+ +You can also click on the update button in the bot to report the user's latest status, including the expiration date and the amount of remaining volume. + +
+![](https://user-images.githubusercontent.com/125398461/235909484-c3b6064d-afb5-4654-8c01-84acb55becd4.png) +
+ + +This bot is in its early stages and its list of executable commands will be developed in the future. + diff --git a/docs/manager/configuration-and-advanced-settings/How-to-update-Hiddify-panel.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-update-Hiddify-panel.fa.md new file mode 100644 index 0000000..54e2f1a --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-update-Hiddify-panel.fa.md @@ -0,0 +1,51 @@ +--- +title: آموزش به‌روزرسانی هیدیفای‌منیجر +weight: -90 +--- + +
+# آموزش به‌روزرسانی پنل هیدیفای +برای آپدیت پنل ۲ راه وجود داره. + +## آپدیت از طریق پنل ادمین +در پنل به منوی اقدامات برید و روی `به‌روزرسانی` کلیک کنید. + +
+ + +
+ +این کار ممکن است بین ۵ تا ۱۰ دقیقه زمان بگیرد و پس از آن عملیات به انتها می‌رسد و پنل با آخرین آپدیت به‌روزرسانی می‌شود. + +### تغییر حالت آپدیت +در صورت نیاز به تغییر حالت آپدیت می‌توانید از بین نسخه‌های `پایدار` ، `در حال توسعه` و `نسخه آزمایشی` یکی را انتخاب نمایید و سپس اقدام به `به‌روزرسانی` نمایید. + +
+ + + +
+ + + +به عنوان مثال در تصویر فوق `حالت به روزرسانی` را روی حالت `نسخه آزمایشی` قرار داده و ثبت را بزنید. + +سپس از منوی `اقدامات` گزینه `به‌روزرسانی` را انتخاب نمایید. بعد از حدود ۵ دقیقه به‌روزرسانی به نسخه مورد نظر شما انجام می‌شود. + +### تنظیمات آپدیت خودکار در پنل +پنل به صورت روزانه خود را با آخرین نسخه موجود در گیتهاب پروژه بروزرسانی می‌کند. تنظیمات آن در بخش تنظیمات عمومی است. + +
+ +
+ +برای این کار در تنظیمات عمومی گزینه آپدیت خودکار فعال باشد، پنل به صورت روزانه آپدیت می‌شود. + +## آپدیت از طریق SSH + [به سرور SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) و در منوی هیدیفای آپدیت را انتخاب کنید. ۳ حالت وجود داره. + +![Update](https://github.com/hiddify/hiddify.com/assets/125398461/9b24004d-cb44-4137-a573-76eb59d8930a) + +* گزینه دیفالت بر اساس `default` پنل آپدیت می‌کند. +* گزینه `release` آپدیت بر اساس نسخه پایدار است. +* گزینه `develop` آپدیت نسخه در حال توسعه است. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-update-Hiddify-panel.md b/docs/manager/configuration-and-advanced-settings/How-to-update-Hiddify-panel.md new file mode 100644 index 0000000..355301f --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-update-Hiddify-panel.md @@ -0,0 +1,66 @@ +--- +title: How to update HiddifyManager +weight: -90 +--- + +
+ + + +# How to update HiddifyManager +There are 2 ways to update the panel. + +## Update through admin panel +In the panel, go to the Actions menu and click `Update`. + +
+ +![update approach ](https://github.com/hiddify/hiddify-config/assets/125398461/9f482e1c-30ae-4fd3-8d3c-44d72b08155f) + +
+ +This may take between 5 and 10 minutes, after which the operation will finish and the panel will be updated with the latest update. + + + +## Change the update mode + +If you need to change the update mode, you can choose one of the `Release`, `Beta` and `Develop` versions and then `update`. + + +
+ +![update mode](https://github.com/hiddify/Hiddify-Server/assets/125398461/dd430784-7e78-4dd3-b549-67f653c02f45) + +
+ +For example, in the above picture, set the update mode to the `Beta` mode and click `Submit`. + +Then select the `Update` option from the `Actions` menu. After about 5 minutes, the panel will be updated to the version you want. + +## Automatic update settings in the panel + +The panel updates itself daily with the latest version of released version on project's GitHub. Its settings are in the general settings section. + + +
+ +![auto update](https://github.com/hiddify/hiddify-config/assets/125398461/9ba845b1-2538-44db-90e2-57c7b31e5c8c) + +
+ +For this, the automatic update option should be enabled in the general settings, the panel will be updated daily. + +## Update via SSH + +Connect via [SSH to the server](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) and select Update in the Hiddify menu. There are 3 modes. + +
+ +![Update](https://github.com/hiddify/hiddify.com/assets/125398461/9b24004d-cb44-4137-a573-76eb59d8930a) + +
+ +* The `default` option updates the panel based on default. +* The update `release` option is based on the stable version. +* The `develop` option is to update the version under development. diff --git a/docs/manager/configuration-and-advanced-settings/How-to-use-Hiddify-Reality-Scanner.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-use-Hiddify-Reality-Scanner.fa.md new file mode 100644 index 0000000..e226485 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-use-Hiddify-Reality-Scanner.fa.md @@ -0,0 +1,162 @@ +--- +title: آموزش استفاده از اسکنر ریالتی هیدیفای +--- + +# اسکنر ریالیتی هیدیفای +این یک اسکنر TLS است که به شما کمک می‌کند شبکه‌های مختلف را اسکن کنید و بر اساس لیستی از SNI‌ها بهترین SNI را برای ریالیتی روی شبکه خود پیدا کنید. برای اطلاعات بیشتر در خصوص توسعه می‌توانید [دستورالعمل‌های مشارکت](https://github.com/hiddify/Hiddify-Reality-Scanner/blob/main/CONTRIBUTING.md) در پروژه ما را مطالعه نمایید. + +## ⚙️ نصب +نصب این اسکنر دارای دو بخش است. بخش نخست یک اپلیکیشن سمت سرور است که باید روی سرور شما نصب شود و بخش دوم نیز یک اسکریپت سمت کلاینت است که باید روی کامپیوتر شما نصب گردد. + + +#### 🛠️ نصب سمت سرور +* ابتدا نیاز است شما هسته Xray کاستوم شده ما را روی سرور خود با استفاده از دستور زیر نصب کنید: + + +
+ +``` +# حذف ایکس‌ری قدیمی +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ remove + +# تنها اگر هیدیفای‌منیجر دارید +systemctl stop hiddify-xray + +# نصب ایکس‌ری کاستوم شده هیدیفای + +bash -c "$(curl -L https://github.com/hiddify/Xray-core-custom/raw/main/install-release.sh)" @ install + +# تنها اگر هیدیفای‌منیجر دارید +systemctl start hiddify-xray + +``` +
+ + + +* حالا باید یک فایل کانفیگ با SNI خالی را روی پنل خود ایجاد کنید یا از کانفیگ زیر استفاده نمایید: + +
+ +``` +curl -o server_config.json https://raw.githubusercontent.com/hiddify/Hiddify_Reality_Scanner/main/server_config.json + +echo "---------------IPV6---------" +echo "vless://hiddify@$(curl -6 ip.sb):11443/?fp=chrome&security=reality&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=6ba85179e30d4fc2&sni=www.google.com&type=tcp&flow=xtls-rprx-vision&encryption=none#Hiddify" + +echo "---------------IPV4---------" +echo "vless://hiddify@$(curl -4 ip.sb):11443/?fp=chrome&security=reality&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=6ba85179e30d4fc2&sni=www.google.com&type=tcp&flow=xtls-rprx-vision&encryption=none#Hiddify" + +``` +
+ + +* سپس می‌بایست کانفیگ را با Xray مثل کامند زیر اجرا نمایید. این کار یک سرور Xray موقت برای تست ایجاد می‌کند: + + +
+ +``` +xray run -c server_config.json +``` +
+ + +* می‌توانید کانفیگ ریالیتی را به شکل زیر استفاده نمایید: + +
+ +``` +vless://hiddify@SERVER_IP:11443/?fp=chrome&security=reality&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=6ba85179e30d4fc2&sni=www.yahoo.com&type=tcp&flow=xtls-rprx-vision&encryption=none#Hiddify +``` +
+ + + +#### 🛠️ نصب سمت کلاینت +برای سمت کلاینت کافیه از Pypi استفاده نمایید و کامند زیر را ارا نمایید: + + +
+ +```bash +pip install -U hiddify_reality_scanner +``` +
+ +
+ + + +## 🚀 استفاده پایه +جهت اجرای این اسکنر ابتدا [پایتون](https://www.python.org/downloads/) را روی سیستم خود نصب کنید، سپس یکی از دستورات زیر را روی کلاینت خود اجرا نمایید: + + +
+ +```bash +python -m hiddify_reality_scanner "vless_link" +#or +hiddify_reality_scanner "vless_link" +``` +
+ +> دقت شود که به جای `vless_link` می‌بایست کانفیگ ریالیتی خود را جایگزین نمایید. + + + +## 🚀 استفاده پیشرفته +* اگر بخواهید پارامترهای بیشتری را هنگام اسکن در نظر بگیرید، می‌بایست از دستور زیر روی کلاینت خود استفاده نمایید: + + +
+ +```bash +hiddify_reality_scanner --jobs 10 --limit 100 --sni yahoo.com,google.com "vless_link" +``` + +
+ + + + +- در اینجا: + - پارامتر ` jobs 10--` تعداد اسکن همزمان را تعیین می‌کند. اگر از این پارامتر استفاده نکنید، مقدار دیفالت اسکن همزمان ۱۰ می‌باشد. + - پارامتر `sni--` نیز SNIهای مورد نظر را برای اسکن مشخص می‌کند. + - پارامتر `limit 100--` تعداد دامنه‌هایی که کار می‌کند را در لیست نتایج خروجی به ۱۰۰ دامنه محدود می‌کند.اگر از این پارامتر استفاده نکنید، مقدار دیفالت لیست خروجی ۱۰ می‌باشد. + +* اگر بخواهید لیستی از SNIها را به اسکنر بدهید، می‌بایست از دستور زیر استفاده نمایید: + + +
+ +```bash +hiddify_reality_scanner --jobs 10 --limit 100 --sni path_to_the_list "vless_link" +``` + +
+ + + +- در اینجا: + - پارامتر ` jobs 10--` تعداد اسکن همزمان را تعیین می‌کند. اگر از این پارامتر استفاده نکنید، مقدار دیفالت اسکن همزمان ۱۰ می‌باشد. + - پارامتر `sni path_to_the_list--` مسیر مربوط به لیست SNI مورد نظر را مشخص می‌کند. + - پارامتر `limit 100--` تعداد دامنه‌هایی که کار می‌کند را در لیست نتایج خروجی به ۱۰۰ دامنه محدود می‌کند.اگر از این پارامتر استفاده نکنید، مقدار دیفالت لیست خروجی ۱۰ می‌باشد. + +> نکته: در حین اسکن، اگر می خواهید آن را قطع کنید، می‌توانید به سادگی از `cTRL+c` استفاده کنید. + +## 📊 نتایج +خروجی اسکنر در فایل‌های `results.txt` و `results.json` روی کلاینت شما ذخیره می‌گردد. شما می‌توانید از این SNIها برای ایجاد دامنه‌های ریالیتی در سرور خود استفاده نمایید. [نحوه ثبت دامنه ریالیتی در هیدیفای‌منیجر](/fa/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify/) + +> نکته: اگر اسکنر سمت سرور را روی Hiddify Manager خود نصب کرده‌اید، پس از اتمام اسکن باید دستور زیر را اجرا کنید تا هسته اصلی Xray سرور شما فعال گردد. + + + +
+ +``` +systemctl start hiddify-xray +``` + +
+ diff --git a/docs/manager/configuration-and-advanced-settings/How-to-use-Hiddify-Reality-Scanner.md b/docs/manager/configuration-and-advanced-settings/How-to-use-Hiddify-Reality-Scanner.md new file mode 100644 index 0000000..adc607f --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-use-Hiddify-Reality-Scanner.md @@ -0,0 +1,89 @@ +--- +title: How to use Hiddify Reality Scanner +--- + +# How to use Hiddify Reality Scanner +This is a TLS scanner that helps you scan across different networks and find the best Reality SNI for you based on a list of SNIs. For more information about development, you can read through our [Contribution Guidelines](https://github.com/hiddify/Hiddify-Reality-Scanner/blob/main/CONTRIBUTING.md) . + +## ⚙️ Installation +The installation of this scanner has 2 parts. The first part is a server-side application and the 2nd part is client-side. + + +#### 🛠️ Server-side Installation + +* First you need to install our custom Xray core on the server using the following command: +``` +# remove old xray +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ remove + +#only if you have hiddify manager and hiddify panel +systemctl stop hiddify-xray + +# install hiddify custom xray +bash -c "$(curl -L https://github.com/hiddify/Xray-core-custom/raw/main/install-release.sh)" @ install + +#only if you have hiddify manager and hiddify panel +systemctl start hiddify-xray +``` + +* Now you should create a config with empty nameserver in your panel or add the following config: +``` +curl -o server_config.json https://raw.githubusercontent.com/hiddify/Hiddify_Reality_Scanner/main/server_config.json + +echo "---------------IPV6---------" +echo "vless://hiddify@$(curl -6 ip.sb):11443/?fp=chrome&security=reality&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=6ba85179e30d4fc2&sni=www.google.com&type=tcp&flow=xtls-rprx-vision&encryption=none#Hiddify" + +echo "---------------IPV4---------" +echo "vless://hiddify@$(curl -4 ip.sb):11443/?fp=chrome&security=reality&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=6ba85179e30d4fc2&sni=www.google.com&type=tcp&flow=xtls-rprx-vision&encryption=none#Hiddify" + +``` +* Then you need to run the config via Xray like the command below. This will create a temporary Xray server for you : +``` +xray run -c server_config.json +``` +* You can use your Reality config like the the following link: + +``` +vless://hiddify@SERVER_IP:11443/?fp=chrome&security=reality&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=6ba85179e30d4fc2&sni=www.yahoo.com&type=tcp&flow=xtls-rprx-vision&encryption=none#Hiddify +``` + +#### 🛠️ Client-side Installation +For client-side, you just need to use Pypi and run the following command: +```bash +pip install -U hiddify_reality_scanner +``` + +
+ +## 🚀 Basic Usage +In order to run the scanner you need to [insall python](https://www.python.org/downloads/) first, then use one of the following commands on your client: +```bash +python -m hiddify_reality_scanner "vless_link" +#or +hiddify_reality_scanner "vless_link" +``` +> Be careful that instead of `vless_link' you have to replace it with your Reality config. + +## 🚀 Advanced Usage +* If you want to consider more items when scanning, use the following command on your client: +```bash +hiddify_reality_scanner --jobs 10 --limit 100 --sni yahoo.com,google.com "vless_link" +``` +* Here: + * `--jobs 10` defines the number of concurrent scans. The(default 10 if you dont use this parameter in the command. + * `--sni` defines the desired SNIs for scanning. + * `--limit 100` defines the 100 limit for the working SNIs in the result list. The default 10 if you dont use this parameter in the command + +* If you want to add a list of SNIs, use the following command +```bash +hiddify_reality_scanner --jobs 10 --limit 100 --sni path_to_the_list vless_link +``` +* Here: + * `--jobs 10` defines the number of concurrent scans. The(default 10 if you dont use this parameter in the command. + * `--sni path_to_the_list` desines the path for the list of SNIs. + * `--limit 100` defines the 100 limit for the working SNIs in the result list. The(default 10 if you dont use this parameter in the command. + +> Note: during the scan, if you want to intrupt it, you can simply use `ctrl+c` . + +## 📊 Results +The results will be stored in `results.txt` and `results.json` on your client. You can use these SNIs as a Reality domain in your server. [How to add Reality domain on Hiddify Manager](/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify/) diff --git a/docs/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify.fa.md new file mode 100644 index 0000000..372eb17 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify.fa.md @@ -0,0 +1,154 @@ +--- +title: تنظیمات ریالیتی در هیدیفای‌منیجر +weight: -140 +--- + +
+قبل از شروع می‌توانید ویدئوی Reality در هیدیفای را با کلیک روی تصویر زیر مشاهده کنید. + + + + + +برای مشاهده جزییات؛ این مقاله را تا انتها مطالعه نمایید. + +
+ +
+ +# آموزش استفاده از Reality در هیدیفای‌منیجر + +Reality یکی از پروتکل‌های جدید ارائه شده توسطXray می‌باشد که پیش‌نیازهای پروتکل‌های قبلی را ندارد. این پروتکل بر مبنای Vless پایه‌گذاری شده است، بنابراین برای Vmess یا Trojan قابل استفاده نیست. در هیدیفای همچنان تاکید بر ساده‌سازی بوده است بنابراین بخش اعظم کار در پس‌زمینه انجام می‌شود. + + +* نکته بسیار مهم: +این پروتکل چون بر مبنای TCP می‌باشد از CDN پشتیبانی نمی‌کند بنابراین صرفا در حالت‌های دایرکت یا ریلی می‌توان از آن استفاده نمود و به همین دلیل نیاز به سرور با آیپی تمیز دارد. +در صورت نیاز به اطلاع از چگونگی تست سرور به [این راهنما](https://hiddify.com/fa/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/) مراجعه کنید. + +تنظیمات این پروتکل شامل دو قسمت است که تقریبا شما به بخش اول آن کاری ندارید. + +## تنظیمات در Settings + +اگر به صفحه تنظیمات پنل بروید و وارد تنظیمات Reality شوید، تنظیمات کلی مربوط به این پروتکل را مشاهده می‌کنید. +
+ +
+ +![](https://github.com/hiddify/hiddify-config/assets/125398461/cfbc8ef9-7ec8-44fe-b7df-4a8958365f10) + +
+ +
+این تنظیمات شامل موارد زیر است. + +### شناسه‌های کوتاه +این شناسه نیز برای رمزنگاری استفاده می‌شود و لطفا آن را تغییر ندهید. + + +### ‌‌‌‌کلید خصوصی + +این کلید برای رمزنگاری ارتباط استفاده می‌شود و لطفا آن را تغییر ندهید. + +### کلید عمومی +این کلید نیز برای رمزنگاری ارتباط سرور و کلاینت استفاده می‌شود و لطفا آن را تغییر ندهید. + + +## تنظیمات در بخش دامنه +به منوی `تنظیمات` و سپس `دامنه‌ها` بروید و روی `ایجاد` کلیک کنید. + + + + + +### حالت +در اینجا حالت را روی `ریالیتی` بگذارید تا بتوانید تنظیمات اختصاصی مربوط به این پروتکل را انجام دهید. + +> نکته مهم: قبل از ادامه، می‌توانید روی لینک `بررسی و پیشنهاد دامنه` بزنید تا صفحه بررسی دامنه‌ها باز شود. در اینجا پنل بر اساس لوکیشن سرور شما و همینطور سایت‌هایی که TLS1.3 دارند، چندین سایت به شما پیشنهاد می‌دهد. سایت‌هایی که پینگ بهتری دارند را می‌توانید انتخاب کنید. + +
+ +![](https://user-images.githubusercontent.com/125398461/233787191-cd855014-0ab2-4872-bce2-05d1ae705082.png) + +
+ +### ‌‌‌دامنه بازگشتی ریالیتی یا + +این دامنه که به نام‌های دیگز مثل Fallback یا Destination نیز معروف است، برای زمانی استفاده می‌شود که سیستم فیلترینگ در حال بازدید از وبسایت شماست که اگر کلید معتبر را نداشته باشد، به این آدرس هدایت شود. می‌توانید یکی از آدرس‌های صفحه بررسی را که پینگ تایم پایین‌تری داشتند در این فیلد قرار دهید که با آدرس مربوط به فیلد نام‌های سرور یا SNI یکی باشد. + +همچنین می‌توان آدرس سایتی که فرضا داخل کشور مبدا هاست شده و از tls1.3 و H2 پشتیبانی می‌کند، قرار داد. با انجام این کار این سایت عملا حکم سرور میانی (ریلی) را بازی می‌کند. + + +### نام نمایشی +در صورت تمایل یک نام دلخواه برای نمایش در کانفیگ‌ها وارد کنید. +> توجه: بهتر است از کاراکترهای استاندارد مثل حروف و اعداد استفاده کنید. + +### نام‌های سرور ریالیتی +نام سرور برای شبیه‌سازی مقصد ترافیک شما استفاده می‌شد. می‌توانید از لیست صفحه بررسی یک یا چندین سایت را انتخاب نمایید. +برای استفاده از چندین سایت از `,` استفاده نمایید. در نهایت فرض کنید سایت‌های `www.yahoo.com` و `www.microsoft.com` در دیتاسنتر شما باشند و پینگ مناسبی هم دارند؛ این آدرس‌ها را در این فیلد قرار دهید و بین آن‌ها کاما بگذارید. + +برای آموزش استفاده از چندین نام سرور یا SNI [این مقاله](/fa/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality/) را مطالعه نمایید. + +### gRPC +در صورت نیاز به استفاده از gRPC در این پروتکل این دکمه را روشن کنید. + +### اجبار به استفاده‌ از آی‌پی‌های زیر برای کانفیگ +در صورتی که بخواهید یک ایپی خاص به جای آیپی اصلی سرور در کانفیگ قرار بگیرد، آن آیپی را وارد این فیلد کنید. یکی از کاربردهای این فیلد برای سرورهای ریلی است. در صورتی‌که بخواهید ریالیتی را روی سرورهای میانی (ریلی) استفاده نمایید، باید آیپی آن سرورها را در اینجا وارد کنید. + +> نکته: اگر بیشتر از چند آیپی دارید می‌توانید هر آیپی را در یک ردیف قرار دهید و بین آن‌ها اینتر بزنید. + +در نهایت ثبت را بزنید تا تنظیمات ذخیره گردد و یادتون نره که حتما `اعمال تنظیمات` رابزنید. + + +ممکن است پیغام‌های زرد رنگی داده شود که نتیجه چک کردن فیلدهای تکمیل شده شما توسط سرور است. + +* در Reality برای شناسایی نشدن بهتره دامنه انتخابی تو دیتاسنتر شما باشه و همچنین توجه داشته باشید فیلد نام سرور و دامنه برگشتی باید در یک سرور باشند. +* یعنی نمی‌توانید دامنه برگشتی را `www.yahoo.com` بذارید ولی نام سرور `www.google.com` باشه. ولی اگه مثلا نام سرور را `blog.yahoo.com` بذارید اوکی هست. + +![Screenshot_20230530_175837](https://github.com/hiddify/hiddify-config/assets/125398461/574b56c3-10b6-4454-b37c-4fccc4f848d9) + + + +با در نظر گرفتن موارد گفته شده، بهتر هست تنظیمات را طوری انجام دهید که این پیغام‌ها ظاهر نشوند اما اگر پیغام خطا (قرمز رنگ) دریافت نکردید و صرفا پیغام‌های اخطار (وارنینگ زرد رنگ) همچنان دریافت کردید؛ می‌توانید آن‌ها را نادیده بگیرید و ادامه دهید. + +
+ +![](https://user-images.githubusercontent.com/125398461/233788561-7f621ac3-b311-4a1e-a9da-faf3030a2f8b.png) + +
+ + + + + + + + +
+ + +
+ + + +
+ +## فعال‌سازی یا غیر‌فعال‌سازی پروکسی Reality + + +برای این کار به منوی پروکسی‌ها بروید و در قسمت دایرکت پروکسی‌های Reality را مشاهده و کنترل نمایید. + +> اگر با وجود روشن بودن گزینه‌های Reality در این قسمت همچنان کانکشن‌های آن را در لینک سابسکریپشن دریافت نمی‌کنید، تنظیمات دامینی که برای لینک سابسکریپشن استفاده می‌شه را چک کنید. احتمالا نیاز هست که تیک دامنه دایرکت را بزنید. + +* نکته مهم: به دلیل اینکه این پروتکل از الگوریتم متفاوتی استفاده می‌کند ممکن است تنظیمات آن برای شبکه‌های مختلف متفاوت باشد بنابراین اگر دیدید برای شما کار نکرد ابتدا حتما مطمئن شوید آیپی سرور شما سالم است و بعد از آن آدرس‌های برگشتی و نام سرور را تغییر دهید تا به نتیجه مطلوب برسید. + +## چرا با وجود فعال‌سازی پروتکل ریالیتی در منوی پروکسی‌ها این کانفیگ‌ها را نمی‌بینم؟ + +اگر با وجود فعال کردن پروتکل Reality در قسمت پروکسی‌ها همچنان این کانکشن‌ها را در لیست کانفیگ‌ها نمی‌بینید نیاز است به تنظیمات دامنه سابسکریپشن بروید و دامنه دایرکت خود را به آن دامنه اضافه نمایید. + +![Reality-sub](https://github.com/hiddify/hiddify-config/assets/125398461/575fc01d-fa61-4497-836b-a0adb2951590) + + + +فرض کنید دامنه سابسکریپشن شما `t1.hiddify.com` باشد و دامنه ریالتی شما نیز `google.com` باشد. شما نیاز است در تنظیمات دامنه `t1.hiddify.com` بروید و در فیلد `نمایش کانفیگ‌های دامنه`؛ تیک دامنه `google.com` را بزنید. حالا اگه لینک سابسکریپشن خود که روی دامنه `t1.hiddify.com` است را باز کنید؛ مشاهده خواهید کرد که کانفیگ‌های Reality وجود دارند. + +
diff --git a/docs/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify.md b/docs/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify.md new file mode 100644 index 0000000..87beb2d --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify.md @@ -0,0 +1,120 @@ +--- +title: How to use Reality on HiddifyManager +weight: -140 +--- + +
+ + +# How to use Reality on HiddifyManager +Reality is one of the new protocols provided by Xray, which does not have the prerequisites of the previous protocols. This protocol is based on Vless and therefore cannot be used for Vmess or Trojan. On Hiddify, the emphasis is still on simplification, so most of the work is done behind the scenes. + +* Very important point: because this protocol is based on TCP, it does not support CDN, so it can only be used in direct or rail modes, and for this reason, it needs a server with a clean IP. If you need information on how to test the server, refer to [this link](https://hiddify.com/manager/basic-concepts-and-troubleshooting/How-to-make-sure-the-server%27s-IP-or-domain-is-clean/). + + +## Reality setup in settings +If you go to the panel settings page and enter the Reality settings, you will see the general settings related to this protocol. +
+ +
+ +![](https://github.com/hiddify/hiddify-config/assets/125398461/854639a1-01a3-48d8-be28-1d85b715d6dc) + +
+ + +These settings include the following. + +## Short IDs +This ID is also used for encryption and please do not change it. + +## Private key +This key is used to encrypt the connection and please do not change it. + +## Public key +This key is also used to encrypt the connection between the server and the client, and please do not change it. +Settings in the domain section + +Go to the `Settings` menu, then `Domains`, and click `Create`. + +## Mode + +Here, set the mode to reality so that you can make specific settings related to this protocol. + +> Important note: Before continuing, you can click on the domain review and suggestion link to open the domains review page. Here, the panel offers you several sites based on your server location and sites that have TLS1.3. You can choose the sites that have better ping. + + +
+ +![](https://user-images.githubusercontent.com/125398461/233787191-cd855014-0ab2-4872-bce2-05d1ae705082.png) + +
+ + +## Fallback Domain +This domain, which is also known as Diggs such as Fallback or Destination, is used when the filtering system is visiting your website to be directed to this address if it does not have a valid key. You can put one of the addresses of the review page that had a lower ping time in this field, which is the same as the address in the Server Names or SNI field. + +You can also put the address of the site that is supposed to be hosted in the country of origin and supports tls1.3 and H2. By doing this, this site actually plays the role of an intermediate server. +## Alias +If you want, enter a custom name to display in the configs. + +> Note: It is better to use standard characters such as letters and numbers. + +## Reality Server Names +The server name used to simulate the destination of your traffic. You can choose one or more sites from the list on the review page. To use multiple sites, use `,` . Finally, suppose that the sites `www.yahoo.com` and `www.microsoft.com` are in your data center and have a good test result; Put these addresses in this field and leave a comma between them. + +To learn how to use multiple server names or SNI, read [this article](/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality/). + +## gRPC +Turn on this button if you need to use gRPC in this protocol. + +## Force Config to Use Following IPs +If you want a specific IP instead of the server's main IP in the configuration, enter that IP in this field. One of the uses of this field is for rail servers. If you want to use Reality on Relay servers , you must enter the IP of those servers here. + +> Tip: If you have more than a few IPs, you can put each IP in a row and connect between them. + +Finally, press save to save the settings and don't forget to `Apply Changes`. + +Yellow messages may be given as a result of the server checking your completed fields. + +- In Reality, in order not to be recognized, it is better that the selected domain is in your data center, and also note that the server name field and the returned domain must be on the same server. + +- That is, you cannot set the return domain to `www.yahoo.com` , but the server name is `www.google.com`. But if you put the name of the server as `blog.yahoo.com`, it is ok. + +
+ + +
+ +Considering the above, it is better to make the settings so that these messages do not appear, but if you did not receive an error message (red) and only received warning messages (yellow warning); You can ignore them and move on. + +
+ +![](https://user-images.githubusercontent.com/125398461/235890855-5b159244-1e83-4eaf-97d5-fef455168911.png) +
+ + + +## Enabling or disabling Reality Proxy +For this, go to the proxies menu and view and control Reality proxies in the direct section. + + +> If you still do not receive its connections in the subscription link despite the Reality options being turned on in this section, check the domain settings used for the subscription link. You probably need to tick the direct domain. + +- Important note: because this protocol uses a different algorithm, its settings may be different for different networks, so if you see that it does not work for you, first make sure that your IP server is healthy, and then change the return addresses and the server name. to achieve the desired result. + +## Why don't I see these configs in the proxy menu despite enabling the reality protocol? +If you still don't see these connections in the configuration list despite activating the Reality protocol in the proxies section, you need to go to the subscription domain settings and add your direct domain to that domain. +
+ +
+ +![](https://github.com/hiddify/hiddify-config/assets/125398461/9269f0ee-78af-4db6-a75d-64ea01f527fc) + + +
+ + +Suppose your subscription domain is `t1.hiddify.com` and your realty domain is `google.com`. You need to go to the `t1.hiddify.com` domain settings and in `Show Configs of Domains` field; Check the `google.com` domain. Now if you open your subscription link on the `t1.hiddify.com` domain; You will see that there are Reality configs. + +
diff --git a/docs/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality.fa.md b/docs/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality.fa.md new file mode 100644 index 0000000..fccffa6 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality.fa.md @@ -0,0 +1,33 @@ +--- +title: نحوه استفاده از چندین زیردامنه یک وبسایت در ریالیتی +weight: -60 +--- + +
+ +# نحوه استفاده از چندین زیردامنه یک وبسایت در ریالیتی + +یکی از راه‌هایی که کمک می‌کند ترافیک ریالیتی کمتر شناسایی شود، تقسیم کردن ترافیک روی دامنه‌های مختلف است. یعنی اگر بتوان فرضا تمام زیردامنه‌های یک وبسایت را مشخص کرد و ترافیک را روی آن‌ها پخش نمود، این کار کمک می‌کند که سیستم فیلترینگ دیرتر سرور شما را شناسایی کند. + +- ابتدا در این [وبسایت](https://subdomainfinder.c99.nl/) وارد شوید و یکی از وبسایت‌های مورد نظر خود را سرچ کنید. مثلا این لیست تمام [زیردامنه‌های مربوط به سایت اسپیدتست](https://subdomainfinder.c99.nl/scans/2023-11-20/speedtest.net) می‌باشد. + +
+ +![speedtest_subdomains](https://github.com/hiddify/Hiddify-Manager/assets/125398461/968b94b3-1899-43b2-a45a-19e71379ad17) + +
+ +- همچنین می‌توان از این [وبسایت](https://crt.sh/) استفاده نمود. به عنوان مثال [زیردامنه‌های وبسیایت فایرفاکس](https://crt.sh/?q=mozilla.org) در این وبسایت چنین مشخص شده‌اند. + +
+ +![Firefox_subdomains](https://github.com/hiddify/Hiddify-Manager/assets/125398461/234710c2-dec4-436e-a478-c3bb2b0d2de7) + + +
+ + +- حالا لیستی از زیردامنه‌های یک وبسایت دارید. کافیه آن‌ها را با کاما `,` از همدیگه جدا کنید و در فیلد نام دامنه یا Servername یا SNI مربوط به دامنه ریالیتی خود قرار دهید. + +- هر بار که لینک ساب شما آپدیت می‌شود، یکی از این زیردامنه‌ها به عنوان آدرس انتخاب می‌شود و به این شکل ترافیک روی این زیردامنه‌ها تقسیم می‌شود. مثلا اگر از اپ کلاینت شما هر ۱ ساعت یکبار به صورت خودکار سابسکریپشن را آپدیت می‌کند، بنابراین هر یکساعت ترافیک روی یکی از این زیردامنه‌ها ارسال می‌گردد و بدین گونه احتمال شناسایی سرور توسط سیستم فیلترینگ کاهش می‌باید. [اطلاعات بیشتر در خصوص ثبت دامنه ریالیتی در هیدیفای‌منیجر](/fa/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify/) + diff --git a/docs/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality.md b/docs/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality.md new file mode 100644 index 0000000..10f4d56 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/How-to-use-subdomains-of-a-website-in-Reality.md @@ -0,0 +1,32 @@ +--- +title: How to use subdomains of a website in Reality +weight: -60 +--- + +
+ + +# How to use subdomains of a website in Reality + +One way to help make real traffic less detectable is to split the traffic over different domains. That is, if it is possible to specify all the subdomains of a website and distribute traffic on them, this will help the filtering system to identify your server later. + +- First, enter [this website](https://subdomainfinder.c99.nl/) and search for one of the websites you want. For example, this is a list of [all the subdomains related to the Speedtest site](https://subdomainfinder.c99.nl/scans/2023-11-20/speedtest.net) . + +
+ +![speedtest_subdomains](https://github.com/hiddify/Hiddify-Manager/assets/125398461/968b94b3-1899-43b2-a45a-19e71379ad17) + +
+ +- You can also use [this website](https://crt.sh/) . For example, [the subdomains of the Firefox website](https://crt.sh/?q=mozilla.org) are specified in this website. + +
+ +![Firefox_subdomains](https://github.com/hiddify/Hiddify-Manager/assets/125398461/234710c2-dec4-436e-a478-c3bb2b0d2de7) + + +
+ +- Now you have a list of subdomains of a website. Just separate them with a comma and put them in the field of domain name or Servername or SNI corresponding to your real domain. + +- Every time your sub-link is updated, one of these subdomains is selected as the address and in this way the traffic is divided on these subdomains. For example, if your app client automatically updates the subscription every 1 hour, then traffic is sent to one of these subdomains every hour, thus reducing the probability of the server being detected by the filtering system. [More information about Reality domain registration on Hiddify Manager](/manager/configuration-and-advanced-settings/How-to-use-Reality-on-Hiddify/) diff --git a/docs/manager/configuration-and-advanced-settings/IPv6-usage-guide.fa.md b/docs/manager/configuration-and-advanced-settings/IPv6-usage-guide.fa.md new file mode 100644 index 0000000..fc0f832 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/IPv6-usage-guide.fa.md @@ -0,0 +1,99 @@ +--- +title: راهنمای استفاده از IPv6 +--- + +### راهنمای استفاده از IPv6 + +--- + +#### **مفهوم IPv6** +IPv6 مخفف Internet Protocol Version 6 است که به‌عنوان جایگزین IPv4 طراحی شده است. این پروتکل به دلیل استفاده از آدرس‌های ۱۲۸ بیتی امنیت بسیار بالاتری نسبت به IPv4 دارد. در سیستم‌های فیلترینگ کنونی، تشخیص و محدود کردن IPv6 هزینه‌بر و دشوار است و به‌گونه‌ای عمل می‌کند که عملاً محدود نمی‌شود. + +--- + +#### **نکات قبل از استفاده از IPv6** +۱. **فعال‌سازی IPv6 در سرور:** + + - برای استفاده از IPv6، این قابلیت باید از سمت دیتاسنتر فعال شود. لطفاً این مورد را از طریق ارائه‌دهنده سرور پیگیری کنید. + +۲. **پشتیبانی اپراتورها:** + + - IPv6 تنها روی برخی اپراتورها (ایرانسل و رایتل) پشتیبانی می‌شود. ممکن است اما این قابلیت روی برخی اپراتورها مانند همراه اول و مخابرات به‌صورت منطقه‌ای یا کلی فعال باشد. + +۳. **فرمت صحیح IPv6:** + + - اگر IPv6 در سرور فعال باشد، پس از نصب هیدیفای‌منیجر، فرمت صحیح آدرس IPv6 در صفحه نخست پنل نمایش داده می‌شود و باید آن را یادداشت کنید. + +--- + +#### **مراحل استفاده از IPv6 در پنل** + +##### **روش اول: دایرکت (پیشنهادی)** + +۱. در قسمت دامنه‌های پنل، گزینه "ایجاد" را بزنید و حالت را روی "دایرکت" (بدون واسطه) قرار دهید. +۲. در کلودفلر، یک رکورد با تایپ **AAAA** ایجاد کنید و آدرس IPv6 سرور را روی آن تنظیم کنید (پروکسی خاموش). +۳. آدرس ساب‌دامینی که ایجاد کرده‌اید را در قسمت دامنه وارد کرده و ذخیره کنید. + +**پروکسی‌های پیشنهادی:** + +
+- HTTP TCP Direct Vmess +- XTLS WS Direct Vless +
+ +##### **روش دوم: ریالیتی** +۱. یک دامنه با حالت "ریالیتی" در صفحه دامنه‌های پنل ایجاد کنید. +۲. در قسمت "دامنه بازگشتی"، آدرس دلخواه خود را وارد کنید (پیشنهادی: www.speedtest.net). +۳. در بخش "نام سرورهای ریالیتی"، ساب‌دامین یا دامنه بازگشتی را وارد کنید (پیشنهادی: www.speedtest.net). +۴. در فیلد "اجبار به استفاده از..."، آدرس IPv6 سرور را وارد کنید. + + +**پروکسی‌های پیشنهادی:** + +
+- Reality XTLS Direct Vless +
+ +##### **روش سوم: دایرکت قدیمی XTLS** + +۱. وارد حساب کلودفلر خود شوید. +۲. در بخش مدیریت دامنه، گزینه DNS را باز کنید و یک رکورد با تایپ **AAAA** ایجاد کنید. +۳. یک نام دلخواه برای رکورد انتخاب کرده و ذخیره کنید. +۴. در پنل هیدیفای‌منیجر، یک دامنه با حالت "دایرکت قدیمی XTLS" ایجاد کنید. +۵. ساب‌دامینی که در کلودفلر ساخته‌اید را وارد کرده و ذخیره کنید. + +**پروکسی‌های پیشنهادی:** + +
+- TLS_H2 WS Direct Vless +- TLS WS Direct Vless +- XTLS WS Direct Vless +
+--- + +#### **تنظیمات دستگاه کلاینت برای IPv6** + +##### **در اندروید:** + +۱. در تنظیمات موبایل، گزینه "APN" را جستجو کنید. +۲. APN پیش‌فرض را باز کرده و گزینه "Internet Protocol" را روی "IPv4/IPv6" قرار دهید. + +##### **در ویندوز:** + +۱. وارد Control Panel شوید. +۲. گزینه "Network and Internet Settings" را پیدا کرده و وارد "Network and Sharing Center" شوید. +۳. از منوی کناری، "Change Adapter Settings" را انتخاب کنید. +۴. روی شبکه متصل کلیک راست کرده و "Properties" را بزنید. +۵. گزینه "Internet Protocol Version 6" را تیک زده و ذخیره کنید. + +##### **در iOS:** + +۱. وارد [این سایت](https://mobileconfig.azurewebsites.net) شوید. +۲. در دو فیلد نخست عبارت "google.com" را وارد کرده و گزینه "IPv4/IPv6" را تیک بزنید. +۳. پروفایل ایجاد شده را دانلود کرده و از بخش تنظیمات موبایل آن را نصب کنید. +۴. در تنظیمات، "APN" را جستجو کرده و از پایین صفحه گزینه "Reset Network Settings" را بزنید. + +--- + +با انجام این مراحل، قابلیت استفاده از IPv6 به‌طور کامل برای شما فراهم خواهد شد. + diff --git a/docs/manager/configuration-and-advanced-settings/IPv6-usage-guide.md b/docs/manager/configuration-and-advanced-settings/IPv6-usage-guide.md new file mode 100644 index 0000000..c817cbb --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/IPv6-usage-guide.md @@ -0,0 +1,84 @@ +--- +title: IPv6 Usage Guide +--- + +### IPv6 Usage Guide + +--- + +#### **What is IPv6?** +IPv6 stands for "Internet Protocol Version 6" and is designed as a replacement for IPv4. Due to its 128-bit addressing, it offers significantly higher security compared to IPv4. In current filtering systems, detecting and limiting IPv6 is costly and challenging, making it virtually unrestricted. + +--- + +#### **Prerequisites for Using IPv6** +1. **Activating IPv6 on the Server:** + - IPv6 must be enabled by the datacenter. Please contact your server provider to ensure this. + +2. **Operator Support:** + - IPv6 is only supported by certain operators. It might be available on others, either regionally or entirely. + +3. **Valid IPv6 Format:** + - If IPv6 is enabled on the server, its correct format will be displayed on the homepage of Hiddify Manager after installation. Be sure to note it down for use. + +--- + +#### **Steps to Use IPv6 in the Panel** + +##### **Method 1: Direct (Recommended)** +1. In the panel's domain section, click "Create" and set the mode to "Direct" (no intermediary). +2. In Cloudflare, create a record with type **AAAA** and set the server's main IPv6 address to it (proxy off). +3. Enter the subdomain address you created into the domain field and click save. + +**Recommended Proxies:** +- HTTP TCP Direct Vmess +- XTLS WS Direct Vless + +##### **Method 2: Reality** +1. Create a domain with "Reality" mode in the panel's domain section. +2. In the "Fallback Domain" field, enter your desired address (recommended: www.speedtest.net). +3. In the "Reality Server Name" field, enter the fallback domain or subdomain (recommended: www.speedtest.net). +4. In the "Force to Use..." field, enter the server's IPv6 address. + + +**Recommended Proxies:** +- Reality XTLS Direct Vless + +##### **Method 3: Legacy Direct XTLS** +1. Log in to your Cloudflare account. +2. Go to the domain management section and open the DNS menu. +3. Create a DNS record with type **AAAA** and choose a custom name. +4. Save the record. +5. In Hiddify Manager, create a domain with "Legacy Direct XTLS" mode. +6. Enter the subdomain created in Cloudflare into the domain field and save. + +**Recommended Proxies:** +- TLS_H2 WS Direct Vless +- TLS WS Direct Vless +- XTLS WS Direct Vless + +--- + +#### **Client Device Configuration for IPv6** + +##### **On Android:** +1. Search for "APN" in the mobile settings. +2. Open the default APN and set "Internet Protocol" to "IPv4/IPv6." + +##### **On Windows:** +1. Open the Control Panel. +2. Find "Network and Internet Settings" and navigate to "Network and Sharing Center." +3. Click "Change Adapter Settings" from the side menu. +4. Right-click on the connected network, select "Properties." +5. Tick the "Internet Protocol Version 6" checkbox and save. + +##### **On iOS:** +1. Visit [this website](https://mobileconfig.azurewebsites.net) +2. Enter "google.com" in the first two fields and check "IPv4/IPv6." +3. Download the generated profile and install it from the "Profile Downloaded" section in mobile settings. +4. Search for "APN" in settings and reset network settings from the bottom of the page. + +--- + +By following these steps, you can fully enable IPv6 functionality. + diff --git a/docs/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel.fa.md b/docs/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel.fa.md new file mode 100644 index 0000000..81d6d2e --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel.fa.md @@ -0,0 +1,47 @@ +--- +title: آموزش تنظیم پروکسی SSH در ‌هیدیفای‌منیجر +weight: -70 +--- + +
+ +# تنظیم پروکسی SSH در هیدیفای‌منیجر + +همانطور که می‌دانید در نسخه ۸ پنل هیدیفای یک پروکسی برای سرویس SSH درست شده که هیچ‌گونه دسترسی به سرور ندارد و فقط می‌تواند به عنوان پروکسی استفاده شود. این پروکسی کاملا امن شده و هیچ فینگرپرینتی برای شناسایی ندارد. (به جز خود پروتکل SSH که استفاده عمومی دارد) + +در ادامه با این آموزش همراه باشید تا با نحوه انجام تنظیمات آن در پنل هیدیفای آشنا شوید. + +## انجام تنظیمات پروکسی SSH +ابتدا در `تنظیمات` پنل به بخش `پروکسی SSH` بروید. + +
+ +![SSH Proxy](https://github.com/hiddify/hiddify-config/assets/125398461/9ef5adf8-ea02-447f-87b4-1975a1a6db1e) + +
+ +در اینجا می‌توانید پورت مورد نظر خود برای این سرویس را انتخاب نمایید. همچنین قابلیت فعال‌سازی یا غیرفعال سازی کلی این پروتکل را دارید. + + +## فعال‌سازی یا غیرفعال‌سازی پروکسی + برای این کار از منوی `تنظیمات`، به بخش `پروکسی‌ها` بروید. + +
+ +![SSH proxy_proxy](https://github.com/hiddify/hiddify-config/assets/125398461/0c72ddcb-2a4e-4539-af39-2a89f97d89e3) + +
+ +در اینجا می‌توانید پروکسی SSH را فعال یا غیرفعال نمایید. + + +## استفاده از کانفیگ برای اتصال +حالا اگر به صفحه کاربری خود در پنل بروید، می‌بینید که کانفیگ SSH به کانفیگ‌های قبلی اضافه شده است. این کانفیگ به صورت مجزا قابلیت اضافه شدن به نرم‌افزارهای کلاینت را دارد. + +
+ +![user link](https://github.com/hiddify/hiddify-config/assets/125398461/1ee96839-715d-4660-afd2-d66f4b3a2f5d) + +
+ +برای استفاده از این پروکسی در کلاینت، در حال حاضر می‌بایست از [هیدیفای‌اپ](/fa/app/How-to-use-Hiddify-app/) و [اپ SingBox](/fa/manager/client-software-on-ios/Tutorial-for-SingBox-app/) استفاده نمایید. diff --git a/docs/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel.md b/docs/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel.md new file mode 100644 index 0000000..327d25c --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/SSH-proxy-setting-on-Hiddify-panel.md @@ -0,0 +1,49 @@ +--- +title: How to setup SSH proxy on HiddifyManager +weight: -70 +--- + +
+ + +# SSH proxy setting on HiddifyManager + +As you know, in version 8 of the HiddifyManager, a proxy for the SSH service has been created, which does not have any access to the server and can only be used as a proxy. This proxy is completely secure and has no fingerprints for identification. (except the SSH protocol itself, which is in general use) + +Continue with this tutorial to learn how to make its settings on Hiddify panel. + +## Configure SSH proxy settings +First, go to the `SSH proxy` section in the panel `Settings`. + +
+ +![SSH proxy](https://github.com/hiddify/hiddify-config/assets/125398461/427891b5-dc5a-42c8-beaf-a4e004f06a99) + +
+ +Here you can choose your desired port for this proxy. You can also enable or disable this protocol. + +## Enable or disable proxy + +To do this, go to the `Proxies` section from the `Settings` menu. + +
+ +![SSH proxy proxy](https://github.com/hiddify/hiddify-config/assets/125398461/bdb7548a-2348-4038-a36e-6e8c37c3e8be) + +
+ +Here you can enable or disable the SSH proxy. + +## Use config to connect + +Now, if you go to your user page in the panel, you will see that the SSH configuration has been added to the previous configurations. This configuration can be added to client app separately. + +
+ +![user link](https://github.com/hiddify/hiddify-config/assets/125398461/61ec5d9d-40e1-4ac8-825a-2b20f60fdfb8) + +
+ +To use this proxy in the client, you must currently use the SingBox app, which is explained in [this tutorial](/manager/client-software-on-ios/Tutorial-for-SingBox-app/). + diff --git a/docs/manager/configuration-and-advanced-settings/how-to-import-xui-to-hiddifymanager.fa.md b/docs/manager/configuration-and-advanced-settings/how-to-import-xui-to-hiddifymanager.fa.md new file mode 100644 index 0000000..1005d51 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/how-to-import-xui-to-hiddifymanager.fa.md @@ -0,0 +1,29 @@ +--- +title: آموزش ایمپورت کردن پنل X-UI به هیدیفای‌منیجر +--- + +# آموزش ایمپورت کردن پنل X-UI به هیدیفای‌منیجر + +در هیدیفای‌منیجر نسخه ۱۰ این قابلیت اضافه شده است که بتوان پنل X-UI را ایمپورت نمود. برای این کار کافیست مراحل زیر را تا انتها دنبال کنید. +- ابتدا فایل دیتابیس مربوط به آن پنل را به سرور خود منتقل نمایید. ما قبلا در [این مقاله](/fa/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer/) آموزش داده‌ایم که چطور می‌توان به/از سرور انتقال فایل انجام داد. +- سپس از دستور زیر برای ایمپورت نمودن فایل دیتابیس پنل X-UI استفاده نمایید. +
+ +```bash +cd /opt/hiddify-manager/hiddify-panel/&&hiddifypanel xui-importer -x /path/to/db/file.db +``` +
+ + به جای`` می‌بایست مسیر مربوط به فایل دیتابیس را قرار دهید. + + فرض کنید فایل دیتابیس در پوشه `root/` باشد در این صورت دستور بالا را به شکل زیر استفاده نمایید. +
+ +```bash +cd /opt/hiddify-manager/hiddify-panel/&&hiddifypanel xui-importer -x +``` +
+ +- کار تمام است. پنل X-UI با موفقیت به هیدیفای‌منیجر منتقل شد. +> [!NOTE] + > نکته: با توجه به ساختار متفاوت پنل X-UI ، کاربران و حجم ترافیک مصرف شده توسط آن‌ها که مهم‌ترین دیتای مربوط به آن پنل است، انتقال داده می‌شود. diff --git a/docs/manager/configuration-and-advanced-settings/how-to-import-xui-to-hiddifymanager.md b/docs/manager/configuration-and-advanced-settings/how-to-import-xui-to-hiddifymanager.md new file mode 100644 index 0000000..7f37fbf --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/how-to-import-xui-to-hiddifymanager.md @@ -0,0 +1,31 @@ +--- +title: How to import X-UI to HiddifyManager +--- + +
+ +# How to import X-UI to HiddifyManager + +In HiddifyManager version 10, this feature has been added so that the X-UI panel can be imported. For this, just follow the steps below until the end. + +- First, transfer the database file related to that panel to your server. We have already taught in [this article](/fa/manager/basic-concepts-and-troubleshooting/How-to-transfer-files-between-a-server-and-a-computer/) how to/from the server did the file transfer. +- Then use the following command to import the X-UI panel database file. + +```bash +cd /opt/hiddify-manager/hiddify-panel/&&hiddifypanel xui-importer -x /path/to/db/file.db +``` + + + Instead of ``, you should put the path of the database file. + + Suppose the database file is in the `root/` folder, in this case, use the above command as follows. + +```bash +cd /opt/hiddify-manager/hiddify-panel/&&hiddifypanel xui-importer -x +``` + +- The work is finished. The X-UI panel has been successfully moved to Hiddify Manager. +> [!NOTE] +> Due to the different structure of the X-UI panel, users and the amount of traffic consumed by them, which is the most important data related to that panel, are transferred. + +
diff --git a/docs/manager/configuration-and-advanced-settings/index.fa.md b/docs/manager/configuration-and-advanced-settings/index.fa.md new file mode 100644 index 0000000..29bdeba --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/index.fa.md @@ -0,0 +1,8 @@ +--- +description: مطالب مرتبط با پیکربندی و تنظیمات پیشرفته +title: پیکربندی و تنظیمات پیشرفته +comments: false +weight: -70 +--- + +# پیکربندی و تنظیمات پیشرفته \ No newline at end of file diff --git a/docs/manager/configuration-and-advanced-settings/index.md b/docs/manager/configuration-and-advanced-settings/index.md new file mode 100644 index 0000000..9d580f3 --- /dev/null +++ b/docs/manager/configuration-and-advanced-settings/index.md @@ -0,0 +1,8 @@ +--- +description: Tutorials related to configuration and advanced settings +title: Configuration and advanced settings +comments: false +weight: -70 +--- + +# Configuration and advanced settings \ No newline at end of file diff --git a/docs/manager/contribution/How-to-contribute-to-this-project.fa.md b/docs/manager/contribution/How-to-contribute-to-this-project.fa.md new file mode 100644 index 0000000..8bcde8d --- /dev/null +++ b/docs/manager/contribution/How-to-contribute-to-this-project.fa.md @@ -0,0 +1,214 @@ +--- +title: چگونه می‌توان در این پروژه همکاری نمود +--- + +# چگونه می‌توان در این پروژه همکاری نمود +برای این کار کافیه شما git را روی سیستم خود نصب نمایید. + +## نصب git روی سیستم +بر اساس سیستم عامل خود یکی از موارد زیر را باز نمایید. +

ویندوز

+ +- ابتدا به [اینجا](https://git-scm.com/download/win) بروید و نسخه مخصوص ویندوز را دانلود کنید. +- سپس فایل دانلود شده را از حالت فشرده خارج نمایید و برای نصب آن را ارا نمایید. +
+ +location-git-windows-download + +
+ +- سپس wizard نصب را تا انتها با next و yes دنبال کنید. پیشنهاد می‌شود تنظیمات دیفالت را تغییر ندهید. + +
+ +read-and-accept-git-license-agreement + +
+به صورت دیفالت محل نصب git در این مسیر است. +
+ +``` +C:/Program Files/Git +``` +
+یعنی در مراحل بعد، پروژه‌ها در این مسیر قرار می‌گیرند. کار تمام است. +- برای چک کردن ورژن `git` نصب شده، `command prompt` را باز نمایید و دستور زیر را اجرا کنید. + +
+ +``` +git version +``` + +
+ +- به صورت دیفالت `git` در پوشه `Home` کاربر نصب می‌گردد. +
+ +

مک

+ +- ابتدا از [اینجا](https://sourceforge.net/projects/git-osx-installer/files/git-2.23.0-intel-universal-mavericks.dmg/download?use_mirror=autoselect) فایل نصب را دانلود کنید. +- سپس آن را جارا نمایید. نصب خیلی ساده‌ای دارد. +- بعد از نصب برای چک کردن ورژن `git` نصب شده، `terminal` را باز نمایید و دستور زیر را اجرا کنید. + +
+ +``` +git version +``` + +
+ + +
+ +

لینوکس

+ +در اکثر توزیع‌های سیستم عامل لینوکس git به صورت دیفالت نصب است و نیاز نیست کار خاصی بکنید. اما اگر به هر دلیلی نیاز بود آن را نصب نمایید باید سرچ بزنید و کامند مناسب مربوط به آن توزیع را پیدا کنید. در ادامه کامند نصب مربوط به ند توزیع معروف قرار می‌گیرد. +
+ +**Debian/Ubuntu** + +``` +sudo apt-get install git-all +``` + +**Fedora** + +``` +dnf install git-all +``` + +**Arch** +```` +pacman -Syu git-all +```` +
+ +در همه توزیع‌ها git در مسیر Home کاربر نصب می‌گردد. +- برای چک کردن نسخه git نصب شده در ترمیال این دستور را اجرا کنید. + +
+ +``` +git version +``` +
+ +
+ + + + +## استفاده از git جهت توسعه پروژه هیدیفای‌منیجر + +- ابتدا باید پروژه را fork کنید. برای این کار اگر قصد fork کردن پنل را دارید کامند زیر را اجرا کنید. + +
+ +``` +git clone https://github.com/hiddify/HiddifyPanel.git +``` + +
+ +اگر قصد fork کردن Hiddify-Manager را دارید، دستور زیر را اجرا کنید. + +
+ +``` +git clone https://github.com/hiddify/Hiddify-Manager.git +``` + +
+ +برای سایر repository ها نیز به همین شکل کافیه که وارد repository شوید و روی `Code` بزنید و در تب `Local` آدرس قرار گرفته شده در‌ `HTTPS` را کپی کنید و در دستور بالا قرار دهید. + +
+ + + +
+ +- اندکی صبر کنید تا فایل‌های پروژه کپی شود. + +
+ + + +
+ +- حالا باید یک شاخه یا branch از پروژه درست کنید تا روی آن کار کنید. برای این کار ابتدا برای شاخه یک اسم انتخاب کنید. مثلا فرض کنیم اسم شاخه را `Hiddify-develop` انتخاب می‌کنیم. حالا دستورات زیر را اجرا کنید. + +
+ +``` +git branch Hiddify-develop +git checkout Hiddify-develop +``` + +
+ +
+ +- حالا تغییرات مورد نظر خود را روی فایل‌ها با استفاده از هر ابزاری اعمال کنید. توصیه می‌شود از `VSCode` استفاده نمایید. +- یادتون نره مسیر تمامی فایل‌ها در پوشه‌های گفته شده در مرحله نصب است. +- +- حالا وقتی تغییرات مورد نظر خود را اعمال نمودید باید تغییرات را در `git` نیز ثبت کنید. بنابراین در ترمینال کامند‌های زیر را به ترتیب اجرا نمایید. +- ابتدا با کامند زیر انجام تغییرات را به `git` اعلام کنید. + + +
+ +``` +git add +``` + +
+ +- سپس تغییرات را کامیت نمایید. نیاز است که در اینجا یک توضیح برای تغییرات اعلام نمایید. + +
+ +``` +git commit -m "a short description of the change" +``` + +
+ +مثلا اگر تغییرات مدنظر شما مربوط به بخش توسعه بات باشد می‌توان چنین توضیحی نوشت. + + +
+ +``` +git commit -m "add some features to the telegram bot" +``` + +
+ +هیچ مشکلی ندارد که توضیحات این بخش زیاد باشد و اتفاقا توصیه می‌شود تا جای ممکن توضیحات کامل و جامع باشد. +در این مرحله تغییرات با موفقیت وارد سیستم git شد. حالا باید تغییرات را به سمت GitHub بفرستید. برای این کار دستور زیر را اجرا کنید. + +
+ +``` +git push +``` +
+ +در اینجا مشخصات اکانت شما در گیتهاب پرسیده می‌شود. نیاز است `Username` و `Password` خود در گیتهاب را وارد نمایید. + + +- حالا وارد اکانت خود در گیتهاب شوید و پروژه فورک شده را باز نمایید. +مسیری به شکل زیر دارد: + +
+ +`https://github.com/your_username/Hiddify-Manager` + +
+ +- حالا یک banner مشاهده می‌کنید که به شما اعلام می‌کند که branch شما از پروژه اصلی یک مرحله جلوتر است. برای اینکه تغییرات با پروژه اصلی merge یا ادغام شود `Contribute` را کلیک کنید و `Open a pull request` را بزنید. +- کار تمام است تغییرات به پروژه ارسال شد. حالا پس از تایید مدیر پروژه تغییرات شما به پروژه اضافه می‌گردد. + diff --git a/docs/manager/contribution/How-to-contribute-to-this-project.md b/docs/manager/contribution/How-to-contribute-to-this-project.md new file mode 100644 index 0000000..36453d3 --- /dev/null +++ b/docs/manager/contribution/How-to-contribute-to-this-project.md @@ -0,0 +1,187 @@ +--- +title: How to contribute to this project +--- + +# How to contribute to this project +For this, you just need to install git on your system. + +## Installing git on the system +Open one of the following based on your operating system. +

Windows

+ +- First, go to [here](https://git-scm.com/download/win) and download the version for Windows. +- Then unzip the downloaded file and install it. +
+ +![location-git-windows-download](https://github.com/hiddify/Hiddify-Manager/assets/125398461/cd883726-f340-441c-bbca-df98f0389de2) + +
+ +- Then follow the installation wizard until the end with next and yes. It is recommended not to change the default settings. + +
+ +![read-and-accept-git-license-agreement](https://github.com/hiddify/Hiddify-Manager/assets/125398461/c8220a90-4f88-451f-ac60-ca6280feef20) + +
+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. +
+ +

Mac

+ +- First, download the installation file from [here](https://sourceforge.net/projects/git-osx-installer/files/git-2.23.0-intel-universal-mavericks.dmg/download?use_mirror=autoselect) . +- Then run it. It has a very simple installation. +- After installation, to check the installed `git` version, open `terminal` and run the following command. + + +``` +git version +``` + + + +
+ +

Linux

+ +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 +``` + +
+ + + + +## Using git to develop HiddifyManager project + +- First you have to fork the project. For this, if you intend to fork the panel, execute the following command. + + +``` +git clone https://github.com/hiddify/HiddifyPanel.git +``` + + +If you want to fork Hiddify-Manager, run the following command. + + +``` +git clone https://github.com/hiddify/Hiddify-Manager.git +``` + + +For other repositories in the same way, it is enough to enter the repository and click on `Code` and in the `Local` tab, copy the address placed in `HTTPS` and put it in the above command. + +
+ +![Screenshot_20230807_180159](https://github.com/hiddify/Hiddify-Manager/assets/125398461/483dde4e-e4fd-470a-be94-552d5c72c2a8) + +
+ +- Wait for a while until the project files are copied. + +
+ +![Screenshot_20230807_172554](https://github.com/hiddify/Hiddify-Manager/assets/125398461/b4730f3a-3f86-4792-8ccc-6a5789056c1d) + +
+ +- 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 name of the branch `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 said folders is in the installation stage. +- +- Now, when you have applied the 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 bot development department, you can write such an explanation. + + + +``` +git commit -m "add some features to the telegram bot" +``` + + +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` in GitHub. + + +- Now log in to your GitHub account and open the forked project. +It has a path as follows: + + +`https://github.com//Hiddify-Manager` + + +- Now you 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 on `Contribute` then `Open a pull request`. +- The work is 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. diff --git a/docs/manager/contribution/How-to-use-API-in-HiddifyManager-project.fa.md b/docs/manager/contribution/How-to-use-API-in-HiddifyManager-project.fa.md new file mode 100644 index 0000000..c970961 --- /dev/null +++ b/docs/manager/contribution/How-to-use-API-in-HiddifyManager-project.fa.md @@ -0,0 +1,98 @@ +--- +title: نحوه استفاده از API در پروژه HiddifyManager +--- + +### مستند جامع استفاده از API در پروژه هیدیفای‌منیجر + +--- + +#### **مقدمه** + +API در پروژه هیدیفای‌منیجر طراحی شده است تا امکان کنترل از راه دور پنل و دسترسی آسان‌تر به آن از طریق برنامه‌نویسی و ارتباط با اپلیکیشن‌ها و ربات‌ها فراهم شود. این مستند شما را با نحوه استفاده از APIهای نسخه دو و همچنین نکات امنیتی و تعاریف موردنیاز برای پیاده‌سازی آنها آشنا می‌کند. + +--- + +#### **نحوه دسترسی به مستندات API** + +برای مشاهده و استفاده از مستندات مربوط به API، کافی است از طریق منوی **هیدیفای‌منیجر** به مسیر زیر بروید: +`پنل ادمین -> تنظیمات -> API` +در این بخش می‌توانید بخش‌های مختلف API را بررسی کرده و کد درخواست هر عملیات را متناسب با زبان برنامه‌نویسی خود دریافت کنید. + +--- + +#### **تعاریف موردنیاز برای استفاده از API** + +۱. **Hiddify-API-Key** + این مقدار، همان UUID ادمین یا کاربر است که باید از طریق بخش ادمین‌ها یا تنظیمات مربوطه دریافت و در هدر درخواست استفاده شود. + +۲. **Admin Proxy Path** + مسیر پروکسی مدیران، جهت ارتباط امن با پنل ادمین. این مقدار از مسیر زیر در پنل قابل دریافت است: + `تنظیمات -> تنظیمات خیلی پیشرفته -> مسیر پروکسی مدیران` + +--- + +#### **ساختار API نسخه دوم** + +API نسخه دوم به سه بخش اصلی تقسیم می‌شود: + +##### **۱. بخش پنل** +این بخش عملیات مربوط به خود پنل را ارائه می‌دهد، از جمله: +- دریافت نسخه پنل +- پینگ برای اطمینان از اجرای پنل + +**شروع URL پایه:** +```plaintext +/domain.com/admin_proxy_path/api/v2/panel +``` + +##### **۲. بخش ادمین** +این بخش عملیات مربوط به مدیریت ادمین‌ها و سرور را ارائه می‌دهد: +- دریافت اطلاعات ادمین فعلی +- مدیریت ادمین‌ها (ایجاد/ویرایش/حذف) +- دسترسی به آمار سرور +- مشاهده لاگ‌های Hiddify + +**شروع URL پایه:** +```plaintext +/domain.com/admin_proxy_path/api/v2/admin +``` + +##### **۳. بخش کاربر** +این بخش امکانات مربوط به کاربران را فراهم می‌کند: +- دریافت اطلاعات کاربر فعلی +- دریافت کلاینت‌های پیشنهادی +- مشاهده لینک‌های سابسکریپشن و پروکسی‌های MTProto +- دریافت لینک موقت برای پنل کاربر + +**شروع URL پایه:** +```plaintext +/domain.com/user_proxy_path/api/v2/user/ +``` + +**توجه:** برای امنیت بیشتر، توصیه می‌شود `Hiddify-API-Key` را به جای قرار دادن در URL، در هدر درخواست وارد کنید. + +--- + +#### **نکات امنیتی و توسعه** + +- توصیه می‌شود همواره از نسخه دو API استفاده کنید، زیرا نسخه یک ممکن است در آینده منسوخ شود. +- امکان تغییر در **endpoint**ها یا ورودی‌ها و خروجی‌ها در هر نسخه API وجود دارد؛ بنابراین، توسعه‌دهندگان باید همواره مستندات به‌روز پنل را مطالعه کنند. + +--- + +#### **نمونه کد برای احراز هویت** + +```bash +curl -X GET "https://domain.com/admin_proxy_path/api/v2/panel/version" \ +-H "Hiddify-API-Key: YOUR_ADMIN_UUID" +``` + +--- + +### نتیجه‌گیری + +API نسخه دوم هیدیفای‌منیجر، مجموعه‌ای کامل از امکانات برای مدیریت پنل، ادمین‌ها و کاربران فراهم می‌کند. با استفاده از این APIها، می‌توانید کنترل دقیق‌تر و یکپارچه‌ای بر پروژه خود داشته باشید. برای اطلاعات بیشتر، به مستندات داخل پنل ادمین مراجعه کنید. + + + +اگر سؤال یا پیشنهادی برای بهبود این مستند دارید، لطفاً اطلاع دهید. 😊 diff --git a/docs/manager/contribution/How-to-use-API-in-HiddifyManager-project.md b/docs/manager/contribution/How-to-use-API-in-HiddifyManager-project.md new file mode 100644 index 0000000..11f6e7d --- /dev/null +++ b/docs/manager/contribution/How-to-use-API-in-HiddifyManager-project.md @@ -0,0 +1,97 @@ +--- +title: How to use API in HiddifyManager project +--- + +# How to use API in HiddifyManager project +### Comprehensive Documentation for API in Hiddify Manager + +--- + +#### **Introduction** + +The API in Hiddify Manager is designed to enable remote control of the panel and provide easier access through programming and integration with applications and bots. This document will introduce you to how to use version 2 APIs, along with security considerations and definitions required for their implementation. + +--- + +#### **Accessing API Documentation** + +To view and utilize the API documentation, navigate to: +`Admin Panel -> Settings -> API` +Here, you can explore different sections of the API and obtain request codes tailored to your programming language. + +--- + +#### **Definitions Needed for API Usage** + +1. **Hiddify-API-Key** + This value represents the admin or user UUID, which must be obtained through the admin or settings section and used in the header of requests. + +2. **Admin Proxy Path** + Admin proxy path is used for secure communication with the admin panel. This value can be obtained from: + `Settings -> Advanced Settings -> Admin Proxy Path` + +--- + +#### **Structure of Version 2 API** + +Version 2 API is divided into three main sections: + +##### **1. Panel Section** +This section handles operations related to the panel, such as: +- Retrieving panel version +- Pinging to ensure panel is running + +**Base URL:** +```plaintext +/domain.com/admin_proxy_path/api/v2/panel +``` + +##### **2. Admin Section** +This section manages admin and server operations: +- Retrieving current admin information +- Managing admins (create/edit/delete) +- Accessing server statistics +- Viewing Hiddify logs + +**Base URL:** +```plaintext +/domain.com/admin_proxy_path/api/v2/admin +``` + +##### **3. User Section** +This section provides functionalities for users: +- Retrieving current user information +- Fetching suggested clients +- Viewing MTProto proxy links and subscription links +- Generating a temporary link for user panel + +**Base URL:** +```plaintext +/domain.com/user_proxy_path/api/v2/user/ +``` + +**Note:** For enhanced security, it is recommended to include the `Hiddify-API-Key` in the header of requests rather than directly in the URL. + +--- + +#### **Security and Development Notes** + +- Always use version 2 of the API, as version 1 may be deprecated in the future. +- Changes in **endpoints**, inputs, and outputs may occur in each API version, so developers should continuously review the most up-to-date panel documentation. + +--- + +#### **Authentication Example** + +```bash +curl -X GET "https://domain.com/admin_proxy_path/api/v2/panel/version" \ +-H "Hiddify-API-Key: YOUR_ADMIN_UUID" +``` + +--- + +### Conclusion + +Version 2 of Hiddify Manager API provides a comprehensive set of tools for managing panels, admins, and users. By using these APIs, you can maintain a more integrated and controlled approach to your project. For more information, refer to the documentation within the admin panel. + +If you have any questions or suggestions for improving this documentation, please let us know! 😊 diff --git a/docs/manager/contribution/index.fa.md b/docs/manager/contribution/index.fa.md new file mode 100644 index 0000000..f77b6aa --- /dev/null +++ b/docs/manager/contribution/index.fa.md @@ -0,0 +1,5 @@ +--- +title: مشارکت در توسعه +comments: false +weight: -5 +--- diff --git a/docs/manager/contribution/index.md b/docs/manager/contribution/index.md new file mode 100644 index 0000000..14ca707 --- /dev/null +++ b/docs/manager/contribution/index.md @@ -0,0 +1,5 @@ +--- +title: contribution +comments: false +weight: -5 +--- diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them.fa.md new file mode 100644 index 0000000..d1d655b --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them.fa.md @@ -0,0 +1,161 @@ +--- +title: انواع دامنه و آموزش ثبت آن‌ها +--- + +
+# انواع دامنه + + +## دامنه دایرکت + به این معنی است که می خواهید مستقیماً از سرور خود (برای استفاده معمول)، استفاده کنید. در حقیقت این نام دامنه ( ساب دامنه ) مستقیما به آیپی آدرس سرور اشاره می کند. یعنی اگر آن را پینگ کنید آیپی سرور در جواب می آید. + +## دامنه CDN + به این معنی است که شما از سرور خود در پشت یک ارائه دهنده CDN استفاده می کنید. به عبارت دیگر شما دامنه (ساب دامنه) خود را در یک ارائه دهنده CDN ثبت می کنید و سپس آن را پروکسی می کنید. در اینجا ما نحوه ثبت در کلادفلر را بحث می‌کنیم. اگر می‌خواهید آموزش استفاده از CDN GCore بر روی دامنه ثبت شده در Cloudflare را مشاهده کنید [این لینک](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain/) را ببینید. همچنین برای مشاهده تنظیمات دامنه CDN آمازون [این مطلب](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN/) را مشاهده کنید. + +## دامنه Relay +این دامنه در حالتی به کار می رود که بخواهید از سرورهای میانی برای ارسال ترافیک کاربر استفاده نمایید. مثلا یک سرور در ایران دارید و برای آن یک دامین (ساب دامین) ثبت نموده اید. می توانید این دامنه را در این قسمت ثبت کنید تا تنظیمات مربوط در کانفیگ ها اعمال گردد. + [اطلاعات بیشتر](/fa/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) + +## دامنه Fake + این دامنه برای استفاده از [حقه Header](https://github.com/iranxray/hope/blob/main/cloudflare-cdn.md#%D8%B1%D9%88%D8%B4-%D8%A7%D9%88%D9%84-%D8%AD%D9%82%D9%87-%D9%BE%D8%B1%D9%88%DA%A9%D8%B3%DB%8C) استفاده می شود. از یک دامنه جعلی (به عنوان مثال، soft98.ir) برای دور زدن پراکسی لیست سفید SNI استفاده می شود. در این حالت می توانید با تعریف این دامنه کانفیگهای مربوط به این حقه را مشاهده نمایید. در صورت استفاده از این حقه احتمال فیلتر شدن سرور وجود دارد. [اطلاعات بیشتر](/fa/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain/) + + +# نحوه ثبت دامنه +حال که با انواع دامنه آشنا شدیم نحوه ثبت این دامنه‌ها بررسی می‌شوند + +

ثبت دامنه دایرکت

+دامنه دایرکت را می توانید به چند روش ثبت نمایید. + +### ثبت دامنه دایرکت به صورت رایگان + استفاده از سایت هایی که ساب دامین رایگان ارایه می +دهند: سایت پیشنهادی [afarid](https://freedns.afraid.org) + +در این سایت یکسری دامنه پابلیک از قبل ثبت شده است. شما می توانید ساب دامین مورد نظر خود را روی این دامنه ها ثبت نمایید. + +برای این کار ابتدا می بایست از [اینجا](https://freedns.afraid.org/signup/?plan=starter) یک پروفایل بسازید. یک ایمیل واقعی نیاز است. + +![signup](https://user-images.githubusercontent.com/125398461/221342760-12dc14ed-9a19-45f3-a3f1-bf7d3f969792.png) + +پس از آن از [اینجا](http://freedns.afraid.org/domain/registry/) لیست دامنه های ثبت شده در این سایت دیده می شود. می توانید یکی از دامنه هایی که تعداد هاست کمتری دارد را انتخاب کنید. توجه شود که دامنه باید از نوع پابلیک انتخاب شود. توصیه می شود دامنه +های .com , .org, .net استفاده گردند. + +![DNS record registration](https://user-images.githubusercontent.com/125398461/221343189-1fe98d0d-7f05-4639-9b51-fb6926f76f2b.png) + +### ثبت دامنه دایرکت خریداری شده + +پس از خرید دامنه می توانید از سایت های ارایه دهنده خدمات DNS استفاده نمایید. بعنوان مثال کلادفلر + +#### ثبت دامنه دایرکت خریداری شده در کلادفلر +ابتدا با استفاده از [این لینک](https://dash.cloudflare.com/signup) ثبت نام می کنید. + +![Screenshot_20230225_102424](https://user-images.githubusercontent.com/125398461/221563866-d520a39d-15c8-4f88-a756-90e5e08c074a.png) + +پس از ایجاد پروفایل به آن وارد شوید. در اینجا دامنه خود را باید اضافه نمایید. برای این کار روی دکمه Add a site بزنیدو دامنه خود را اضافه نمایید. + +![Screenshot_20230227_160604](https://user-images.githubusercontent.com/125398461/221566504-5ecf714b-940d-4fd5-bc54-be8c37b7c292.png) + + +در مرحله بعد پلن مورد نظر خود را انتخاب نمایید. برای این کار پلن رایگان کافیست. بنابراین مطابق با عکس انتخاب می نمایید. + +![Screenshot_20230227_161426](https://user-images.githubusercontent.com/125398461/221567803-26850724-1bc8-480a-8c6f-29b32a6fcfa6.png) + +در مرحله بعد مطابق با شکل next می کنیم. + +![Screenshot_20230227_162027](https://user-images.githubusercontent.com/125398461/222444475-5596de54-3e7f-4fae-a0f0-94c046a21969.png) + + +در مرحله آخر سرورهای DNS داده شده را در تنظیمات دامنه خود قرار دهید. + +![Screenshot_20230227_162410](https://user-images.githubusercontent.com/125398461/221569269-1f4027c7-5815-4dea-876e-326dc0645fe1.png) + + +مقداری ثبت نمایید تا تنظیمات دامنه ثبت گردد. بعد از آن دامنه در سرور کلادفلر اکتیو می گردد. + +![Screenshot_20230227_163943](https://user-images.githubusercontent.com/125398461/221572305-50e819ea-0fa4-4548-8851-aab91b797f57.png) + +حال باید به قسمت ثبت رکوردهای DNS بروید. + +![Screenshot_20230227_164245](https://user-images.githubusercontent.com/125398461/222436778-f80de97b-7d66-4621-8be3-b856fc4e2c75.png) + +در این حالت برای ثبت رکوردهای مرتبط با آیپی ورژن ۴ مطابق شکل عمل نمایید. + +![Screenshot_20230227_164507](https://user-images.githubusercontent.com/125398461/222444012-2fa4a2c2-ff89-493e-b92c-01a26d7788b7.png) + + +پس از کلیک روی Add record مشخصات ساب دامین مورد نظر را با درج آیپی سرور ثبت نمایید. دقت شود که برای دامین دایرکت باید پروکسی خاموش گردد. + +![Screenshot_20230302_165426](https://user-images.githubusercontent.com/125398461/222443477-e8b56c36-7631-44b3-8b8d-c03e43d6ce84.png) + +در صورتی که نیاز باشد می توانید TTL را از حالت اتوماتیک تغییر دهید. هر چه این مقدار کمتر باشد؛ رکوردهای DNS کش شده در سیستم کاربر زودتر رفرش می گردند. + +برای ثبت رکوردهای مرتبط با آیپی ورژن ۶ سرور مطابق با شکل عمل نمایید. + +![Screenshot_20230302_171704](https://user-images.githubusercontent.com/125398461/222447422-45f9da15-5ce9-4a27-97c8-bb1395ea5cd8.png) + + +تمامی موارد ذکر شده در خصوص آیپی ورژن ۴ در این مورد نیز صدق می کند. تنها تفاوت نوع رکورد است که AAAA می باشد. + +### تست ثبت دامنه دایرکت + +ساده ترین تست برای اطمینان از ثبت دامنه استفاده از دستور ping است. بدین ترتیب در یک ترمینال اگر دامین مورد نظر ping گردد باید آیپی ثبت شده فوق در جواب ظاهر گردد. معمولا حدود پروسه ثبت رکورد DNS اندکی زمان بر است. از ابزارهای پیشرفته تر مثل nslookup و dig نیز می توان جهت این تست استفاده نمود. در صورت نیاز به کسب اطلاعات بیشتر می توانید [این مقاله](https://wikicensorship.github.io/fa/docs/measure-internet-censorship/DNS/) را مطالعه نمایید. + +
+ +

ثبت دامنه CDN

+این دامنه در پشت سرورهای یک ارایه دهنده CDN ثبت یا به اصطلاح پروکسی می شود. +برای این کار می بایست از خدمات یکی از این سایت ها استفاده شود. + +### ثبت دامنه CDN در کلادفلر +بعنوان مثال می توان از سرویس کلادفلر استفاده کرد. +بنابراین پس از اینکه طبق مراحل گفته شده بالا؛ دامنه شما در سایت اکتیو شد؛ می بایست به قسمت DNS بروید و رکورد مورد نظر خود را ثبت نمایید. +این رکورد برای آیپی ورژن ۴ از نوع A و برای آیپی ورژن ۶ از نوع AAAA می باشد. +تنها تفاوت با مرحله قبل این است که حتما بایستی پروکسی را روشن نمایید. + +![Screenshot_20230227_164553](https://user-images.githubusercontent.com/125398461/222454021-ab8b0162-c608-478c-937c-05e384212c25.png) + +### تست ثبت دامنه CDN +زمانی که این دامنه را با استفاده از ابزارهای مختلف از جمله ping, nslookup, dig تست می کنید؛ در جواب یکی از آیپی هایی که کلادفلر به صورت رندوم در آن لحظه به دامنه شما اختصاص داده است بر می گردد و دیگر خبری از آیپی شما نیست. این کار یه سطح از امنیت را برای سرور شما برقرار می کند. + +توجه شود که این آیپی در بازه های زمانی مختلف تغییر می کند و ثابت نیست. + +گاها اتفاق می افتد که آیپی اختصاص داده شده توسط کلادفلر در ایران مسدود یا دچار اختلال شده است که در این خصوص باید از راه کارهای دور زدن این نوع فیلترینگ استفاده نمود. + +### تنظیمات سرتیفیکت دامنه CDN + +TLS الگوریتمی است که تمام ترافیک اینترنت را رمزگذاری می کند و به کاربر کمک می کند تا به صورت آنلاین ایمن بماند. + +به بیان دقیق تر؛ TLS ارتباط بین کلاینت و سرور را در بستر وب رمزگذاری می کند که از مجموعه ای از الگوریتم های رمزنگاری مثل alpn, uTLS, allowInsecure استفاده می کند. + + سرتیفیکت هایی که به دامین ها تخصیص داده می شوند نیز بر مبنای پروتکل TLS هستند. + +برای این کار در سایت کلادفلر به قسمت SSL/TLS بروید و حالت سرتیفیکت را بر روی Full قرار دهید. + +![Screenshot_20230425_070544](https://user-images.githubusercontent.com/125398461/234169021-7201c012-82fb-4511-a7a8-8337e02a5b12.png) + + +همچنین جهت افزایش امنیت ارتباط گزینه SSL/TLS Recommender را فعال کنید. این گزینه ارتباط را چک می کند و در صورت امکان ارتقاء نسخه TLS به شما پیشنهادات امنیتی می دهد. + + +سپس به منوی Network بروید. اینجا باید چک کنید گزینه های QUIC و gRPC و WebSockets فعال باشند. + + +![Screenshot_20230306_095532](https://user-images.githubusercontent.com/125398461/223042141-c2456322-7cac-44be-be9c-044a307eeb52.png) + +![](https://user-images.githubusercontent.com/125398461/223041843-7b441805-4aab-4547-b318-7dbbda4cc893.png) + + + +### چک کردن وضعیت امنیتی ترافیک دامنه CDN + +برای این کار در بخش SSL/TLS سایت کلادفلر بروید. نموداری برای ترافیک عبوری نمایش داده می شود که هر چه ترافیک بیشتری بر مبنای TLS های ورژن بالاتر عبور کرده باشد؛ امنیت ارتباط بالاتر بوده است. ترافیک های http بدون استفاده از رمزنگاری TLS عبور می کنند. + +![Screenshot_20230306_095444](https://user-images.githubusercontent.com/125398461/223042939-897b7ec0-9700-4bec-8e28-6d8f961657b6.png) + +
+ +## ثبت دامنه میانی یا Relay +در حقیقت یک دامنه دایرکت است که برای سرورهای میانی در نظر گرفته می‌شوند و بنابراین نحوه ثبت این گونه دامنه‌ها همانند دامنه دایرکت است. [بیشتر بخوانید](/fa/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) + +## ثبت دامنه Fake +همانطور که از اسمش مشخص است ما میخواهیم از یک دامنه جعلی که مربوط به خودمان نبست استفاده کنیم بنابراین نیاز نیست آن را از قبل ثبت نماییم. بلکه فقط می‌توانیم آن را در پنل استفاده کنیم. +برای مشاهده مقاله مربوط به آموزش ثبت و استفاده از دامنه فیک [اینجا](/fa/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain/) کلیک کنید. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them.md b/docs/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them.md new file mode 100644 index 0000000..15564e0 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them.md @@ -0,0 +1,142 @@ +--- +title: Domain types and how to register them +--- + +
+ +# Domain types + +## Direct domain +It means you want to use your server directly (for normal use). In fact, this domain name (subdomain) directly points to the IP address of the server. That is, if you ping it, the IP of the server will be answered. + +## CDN domain +It means you are using your server behind a CDN provider. In other words, you register your domain (subdomain) with a CDN provider and then proxy it. Here we discuss how to register on cloudflare. If you want to see a tutorial on how to use GCore CDN on a Cloudflare registered domain, see [this link](/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain/). Also, see [this article](/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN/) to view the settings of Amazon CDN domain. + +## Relay domain +This domain is used when you want to use intermediate servers to send user traffic. For example, you have a server in Iran and you have registered a domain (subdomain) for it. You can register this domain in this section so that the relevant settings are applied in the configurations. [More information](/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) + +## Fake domain +This domain is used to use the Header trick. A fake domain is used to bypass the SNI whitelist proxy. In this case, you can see the configurations related to this trick by defining this domain. If you use this trick, there is a possibility that the server will be filtered. [More information](/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain) + +# How to register a domain +Now that we are familiar with the types of domains, how to register these domains will be checked + +

Direct domain registration

+You can register the direct domain in several ways. + +### Direct domain registration for free +Using sites that offer free subdomains: [afarid](https://freedns.afraid.org/) is recommended. +A number of public domains have already been registered on this site. You can register your desired subdomain on these domains. +For this, you must first create a profile from [here](https://freedns.afraid.org/signup/?plan=starter). A real email is required. + +![](https://user-images.githubusercontent.com/125398461/221342760-12dc14ed-9a19-45f3-a3f1-bf7d3f969792.png) + +After that, the list of domains registered on this site can be seen from [here](http://freedns.afraid.org/domain/registry/). You can choose one of the domains that has fewer hosts. Note that the domain must be public. It is recommended to use `.com`, `.org`, `.net` domains. + +![221343189-1fe98d0d-7f05-4639-9b51-fb6926f76f2b2](https://user-images.githubusercontent.com/125398461/234033584-1c26c485-6ceb-4aa9-a6b6-c1b781e767d1.png) + +### Register the purchased direct domain +After buying the domain, you can use the sites that provide DNS services. e.g. Cloudflare + +#### Direct domain registration purchased on Cloudflare +First, you register using [this link](https://dash.cloudflare.com/signup). + +![](https://user-images.githubusercontent.com/125398461/221563866-d520a39d-15c8-4f88-a756-90e5e08c074a.png) + + +Log in after creating a profile. You must add your domain here. For this, click on `Add Site` button and add your domain. + + + +![PICTURE](https://user-images.githubusercontent.com/125398461/221566504-5ecf714b-940d-4fd5-bc54-be8c37b7c292.png) + +In the next step, choose your desired plan. The free plan is enough for this. So you choose according to the photo. + +![PICTURE](https://user-images.githubusercontent.com/125398461/221567803-26850724-1bc8-480a-8c6f-29b32a6fcfa6.png) + +In the next step, we do next according to the figure. + +![PICTURE](https://user-images.githubusercontent.com/125398461/222444475-5596de54-3e7f-4fae-a0f0-94c046a21969.png) + +In the last step, put the given DNS servers in your domain settings. + +![PICTURE](https://user-images.githubusercontent.com/125398461/221569269-1f4027c7-5815-4dea-876e-326dc0645fe1.png) + +Wait a while to register the domain settings. After that, the domain will be activated on the Cloudflare server. + +![PICTURE](https://user-images.githubusercontent.com/125398461/221572305-50e819ea-0fa4-4548-8851-aab91b797f57.png) + +Now you need to go to the registration section of DNS records. + +![PICTURE](https://user-images.githubusercontent.com/125398461/222436778-f80de97b-7d66-4621-8be3-b856fc4e2c75.png) + +In this case, to record records related to IP version 4, follow the figure. + +![PICTURE](https://user-images.githubusercontent.com/125398461/222444012-2fa4a2c2-ff89-493e-b92c-01a26d7788b7.png) + +After clicking on Add record, register the details of the desired subdomain by entering the server IP. Note that the proxy must be turned off for the direct domain. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234167251-ceebd61b-5147-4198-98dc-1c5bcd0d9124.png) + + +If needed, you can change the TTL from automatic mode. The lower this value is; DNS records cached on the user's system are refreshed sooner. + +To record the records related to IP version 6 of the server, follow the figure. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234167507-996c8480-5cf5-4ede-999f-05f74b22499f.png) + + +All the things mentioned about IP version 4 also apply in this case. The only difference is the record type, which is AAAA. + +#### How to direct domain registration +The easiest test to ensure domain registration is to use the ping command. Thus, in a terminal, if the desired domain is pinged, the above registered IP must appear in the response. Usually, the DNS record registration process takes some time. More advanced tools such as nslookup and dig can also be used for this test. If you need more information, you can read [this article](https://wikicensorship.github.io/fa/docs/measure-internet-censorship/DNS/). + +
+ +

CDN domain registration

+This domain is registered behind the servers of a CDN provider or so-called proxy. For this, the services of one of these sites should be used. +### CDN domain registration in Cloudflare +For example, you can use Cloudflare service. So after following the steps mentioned above; Your domain was activated on the site; You should go to the DNS section and register the desired record. This record is type A for IP version 4 and type AAAA for IP version 6. The only difference with the previous step is that you must turn on the proxy. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234167748-7121af19-f624-4659-9922-50f8e6d3ea2c.png) + + +### How to verify CDN domain registration +When you test this domain using various tools such as ping, nslookup, dig; In response, one of the IPs randomly assigned by Cloudflare will return to your domain and there is no more information about your IP. This provides a level of security for your server. + +It should be noted that this IP changes in different periods of time and is not fixed. +Sometimes it happens that the IP assigned by Cloudflare is blocked or disrupted in Iran, and in this regard, methods to bypass this type of filtering should be used. + +### Certificate settings of CDN domain +TLS is an algorithm that encrypts all internet traffic and helps the user stay safe online. + +to describe precisely; TLS encrypts the communication between the client and the server in the web platform, which uses a set of cryptographic algorithms such as alpn, uTLS, allowInsecure. + +Certificates assigned to domains are also based on the TLS protocol. + +To do this, go to the SSL/TLS section on the Cloudflare site and set the certificate mode to Full. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234168806-26bb12cf-78ad-45a9-89b5-c2f005a9fb86.png) + + +Also, activate the SSL/TLS Recommender option to increase connection security. This option checks the connection and gives you security suggestions if it is possible to upgrade the TLS version. + +Then go to the Network menu. Here you should check that QUIC, gRPC and WebSockets options are enabled. + +![PICTURE](https://user-images.githubusercontent.com/125398461/223041843-7b441805-4aab-4547-b318-7dbbda4cc893.png) + +![PICTURE](https://user-images.githubusercontent.com/125398461/223042286-e597f169-001e-40a5-b0e8-d34d1b110eab.png) + +Checking security status of CDN domain traffic +To do this, go to the SSL/TLS section of the Cloudflare site. A graph is displayed for passing traffic, the more traffic passed based on the higher version TLS; Communication security has been higher. http traffic passes without using TLS encryption. + +![PICTURE](https://user-images.githubusercontent.com/125398461/223042939-897b7ec0-9700-4bec-8e28-6d8f961657b6.png) + +
+ +## Relay domain registration +In fact, it is a direct domain that is considered for intermediate servers, and therefore the way to register such domains is the same as the direct domain. [Read more](/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) + + +## Fake domain registration +As the name suggests, we want to use a fake domain that is not related to us, so we don't need to register it in advance. But we can only use it in the panel. Click [here](a/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain/) to see the article on registering and using fake domains. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API.fa.md new file mode 100644 index 0000000..b752c98 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API.fa.md @@ -0,0 +1,72 @@ +--- +title: آموزش خودکار کردن ساخت زیردامنه روی کلادفلر +--- + +
+# گرفتن کلید توسعه کلودفلر + +هدف از این کار اتصال پنل به کلادفلر است. با انجام این کار وقتی در پنل ساب‌دامین ایجاد می‌نمایید؛ کلادفلر به صورت خودکار آن‌ها را می‌سازد و برایشان سرتیفیکت می‌گیرد. همچنین پروسه ساخت ورکرز خودکار می‌گردد. مراحل زیر را به ترتیب انجام دهید تا توکن مربوط به کلید توسعه کلودفلر را دریافت کنید. + +۱. قبل از هر چیز وارد اکانت خود در کلادفلر شوید و دامنه خود را ثبت نمایید. اگر نیاز به اطلاعات بیشتر برای این کار دارید لطفا [این لینک](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) را مطالعه کنید. + +۲. از [اینجا](https://dash.cloudflare.com/profile/api-tokens/)، به **My Profile** > **API Tokens** بروید. + +۳. `Create Token` را انتخاب کنید. + + +![](https://user-images.githubusercontent.com/125398461/234880340-5f1abcac-9f10-46eb-bb19-204546e3c453.png) + + +۴. یک الگو از میان الگوهای موجود انتخاب کنید یا یک نشانه سفارشی ایجاد کنید. ما پیشنهاد می‌کنیم از الگوی `Edit zone DNS` همانند مثال زیر استفاده کنید. + +![](https://user-images.githubusercontent.com/125398461/234880943-80462114-58bd-48df-baef-2addfc740062.png) + + + + + +۵. در این مرحله تنظیمات دسترسی و منابع Zone را به شکل زیر انجام دهید. + + +![](https://user-images.githubusercontent.com/125398461/235046796-2ea8d0ed-4fe4-4060-ae55-683c9d2c0e7c.png) + + +می‌توانید مجوزهای توکن را از بین (_Account_، _User_، یا _Zone_) تغییر دهید. اکثر گروه‌ها گزینه‌های «ویرایش» یا «خواندن» را ارائه می‌کنند. «ویرایش» دسترسی کامل CRUDL (ایجاد، خواندن، به‌روزرسانی، حذف، فهرست) است، در حالی که «خواندن» در صورت لزوم مجوز خواندن و فهرست است. برای اطلاعات بیشتر به [مجوزهای نشانه موجود](/fundamentals/api/reference/permissions/) مراجعه کنید. + +برای اعمال تغییرات روی دامین‌ها و ورکرزهای خود به ترتیب زیر جلو بروید. + +* مجوز `Zone` را روی `DNS` و در حالت `Edit` باشد تا امکان اضافه کردن ساب‌دامین‌های مختلف داده شود. + +* دکمه Add more را بزنید و در قسمت `Account` گزینه `Workers Scripts` را انتخاب کنید و به آن مجوز Edit دهید. + +* در بخش `Account Resources` گزینه `All accounts` را انتخاب نمایید. + +* در قسمت `Zone Resources` منابع را به اکانت خود تخصیص دهید. یعنی `All zones from an account` را انتخاب نمایید و سپس اکانت کلادفلر خود را انتخاب کنید. + +* در آخر `Continue to summary` را بزنید. + +۶. برای ایجاد توکن `Create Token` را انتخاب کنید. + +![صفحه نمایش خلاصه نشانه با نمایش منابع و مجوزهای انتخاب شده](https://user-images.githubusercontent.com/114227601/229592071-3faf93c3-b246-4a08-823b-4680a3a4cf5e.png) + + + + +۷. توکن را کپی کنید. + +![229592139-25482e17-ddef-48b5-9926-265d073669e9](https://user-images.githubusercontent.com/125398461/234892482-293f7505-5c94-4564-b0d6-3337fd435e7c.png) + +۸. در نهایت روی `Continue to summary` کلیک کنید. + + +# استفاده از کلید توسعه کلادفلر در هیدیفای‌منیجر + +بعد از ایجاد توکن؛ وارد منیجر شوید و در `تنظیمات خیلی پیشرفته` ؛ توکن را در فیلد مشخص شده مطابق با تصویر زیر جایگذاری کنید. + +![Screenshot_20230427_1758442](https://user-images.githubusercontent.com/125398461/234895891-9a0f71a5-86fd-423c-86a6-3c3acf50818e.png) + +حالا اگه در قسمت دامنه‌ها در منیجر یک ساب‌دامین جدید روی دامین ثبت شده خود در کلادفلر ایجاد نمایید؛ تنظیمات بخش کلودفلر به صورت خودکار انجام می‌شود. همچنین ورکرز به صورت خودکار ساخته می‌شود. + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API.md b/docs/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API.md new file mode 100644 index 0000000..7506083 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API.md @@ -0,0 +1,58 @@ +--- +title: Tutorial on automating subdomain registration on Cloudflare +--- + +
+ +# Get Cloudflare API + +The purpose of this work is to connect the panel to the Cloudflare. By doing this, when you create a subdomain in the panel; Cloudflare automatically creates them and gets a certificate for them. Also, the process of creating workers is automated. Follow the steps below in order to get the Cloudflare key token. + +1. First of all, log in to your Cloudflare account and register your domain. If you need more information for this, please read [this link](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/). + +2. From [here](https://dash.cloudflare.com/profile/api-tokens/) , go to **My Profile** > **API Tokens**. + +3. Select `Create Token`. + +![](https://user-images.githubusercontent.com/125398461/234880340-5f1abcac-9f10-46eb-bb19-204546e3c453.png) + + +4. Choose a template from available templates or create a custom token. We suggest to use `Edit zone DNS` template as in the example below. + +![](https://user-images.githubusercontent.com/125398461/234880943-80462114-58bd-48df-baef-2addfc740062.png) + +5. In this step, configure Zone permission and resources as follows. + +![](https://user-images.githubusercontent.com/125398461/235046796-2ea8d0ed-4fe4-4060-ae55-683c9d2c0e7c.png) + + +You can change token permissions from (_Account_, _User_, or _Zone_). Most groups offer "Edit" or "Read" options. "Edit" is full CRUDL (create, read, update, delete, list) access, while "Read" is read and list permission if necessary. See [available token permissions](https://github.com/fundamentals/api/reference/permissions/) for more information. + +Proceed as follows to apply changes to your domains and Workers. + +* Set the Zone permission to DNS and in Edit mode to allow adding different subdomains. + +* Click the `Add more` button and select the `Workers Scripts` option in the `Account` section and give it Edit permission. + +* In the `Account Resources` section, select `All accounts`. + +* In the `Zone Resources` section, allocate resources to your account. That is, select `All zones from an account` and then select your Cloudflare account. + +* Finally, click `Continue to summary`. + +6. Select **Create Token** to create the token. + +![Token summary screen displaying the resources and permissions selected](https://user-images.githubusercontent.com/114227601/229592071-3faf93c3-b246-4a08-823b-4680a3a4cf5e.png) + +7. `Copy the token`. + +![](https://user-images.githubusercontent.com/125398461/234892482-293f7505-5c94-4564-b0d6-3337fd435e7c.png) + +8. Finally, click `Continue to summary`. + +# How to use Cloudflare API in HiddifyManager +After creating the token; go to the Manager and in `Very Advanced Settings`; paste the token in the specified field as shown in the image below. + +![](https://user-images.githubusercontent.com/125398461/235085172-4a076a7f-5a93-4fce-b572-829608b9609f.png) + +Now, if you create a new subdomain in the domains section of the Manager; Cloudflare settings are done automatically. Also, workers are created automatically. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting.fa.md new file mode 100644 index 0000000..39dcd65 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting.fa.md @@ -0,0 +1,47 @@ +--- +title: آموزش استفاده از دامین فرانتینگ +--- + +
+ +# آموزش استفاده از دامین فرانتینگ +دامین فرانتیگ یکی از سرویس‌های زیر مجموعه CDN می‌باشد که با کمک آن می‌توان وبسایت که با استفاده از آن می‌توان سیستم فیلترینگ را دور زد. یعنی مثلا به سیستم GFW چیزی که می‌بینه عملا سایت `discord.com` است ولی با استفاده از فیلد `host` ما مقصد اصلی بسته‌های اینترنتی را سرور خودمان قرار می‌دهیم و به این ترتیب سیستم فیلترینگ دور می‌خورد. + +این قابلیت در CDN کلادفلر غیرفعال شده است چون بدافزارها از آن سوء استفاده می‌کردند ولی می‌توان از سایر CDNها برای این کار استفاده کرد. + + + +## ثبت دامنه روی CDN + +* ابتدا می‌بایست در سایت CDN مورد نظر خود ثبت نام کنید و یک دامنه در آن ثبت نمایید. [آموزش ثبت دامنه](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) + +* پس از آن یه رکورد DNS ثبت کنید و تیک پروکسی آن را نیز روشن نمایید. + + + + +## تنظیمات دامین فرانتینگ روی هیدیفای‌منیجر +برای این کار در هیدیفای‌منیجر به بخش `تنظیمات` و `دامنه‌ها` بروید و سپس روی `ایجاد` کلیک کنید. +
+ +![Domain_registeration](https://github.com/hiddify/hiddify-config/assets/125398461/a8eb971c-abbe-4718-9d6d-5ab3852c619c) + +
+ +* حالت دامنه را روی `سی‌دی‌ان` قرار دهید. +* ساب‌دامین ثبت شده خود در مرحله قبل که پروکسی آن روشن است را وارد کنید. +* در صورت تمایل در فیلد `نام نمایشی` یک نام دلخواه برای نمایش در کانفیگ‌ها قرار دهید. +* در فیلد `دامین فرانتینگ` می‌توانید آدرس سایت‌هایی که از CDN مورد نظر شما استفاده می‌کنند ولی فیلتر نیستند را وارد کنید. برای پیدا کردن آن‌ها از [ابزار DNS Lookup](https://dns-lookup.com) استفاده کنید. در اینجا سایت مناسب را پیدا کنید و در فیلد دامین فرانتینگ قرار دهید. +* در آخر در صورت نیاز می‌توانید آیپی‌های تمیز برای CDN مورد نظر را در فیلد `اجبار به استفاده‌ از آی پی‌های زیر برای کانفیگ` قرار دهید. + +کار تمام است. کانفیگ‌های CDN مورد نظر برای حالت دامین فرانتینگ تنظیم شدند و شما می‌توانید از آن‌ها استفاده کنید. + + + +## اضافه کردن کانفیگ به لینک سابسکریپشن +همانطور که می‌دانید، در هیدیفای همواره توصیه می‌شود لینک‌های سابسکریپشن از کانفیگ‌ها جدا باشند. بنابراین اگر قبلا لینک سابسکریوشن ایجاد نموده‌اید، کافیست در تنظیمات آن دامنه جدید CDN را هم اضافه نمایید تا کانفیگ‌های جدید دامین فرانتینگ نیز به لینک سابسکریپشن متصل گردند. [آموزش مربوط به تنظیم لینک سابسکریپشن](/fa/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify/) + + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting.md b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting.md new file mode 100644 index 0000000..c0f2043 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting.md @@ -0,0 +1,38 @@ +--- +title: How to use Domain Fronting +--- + +
+ +# Guide for domain fronting +Domain Frontig is one of the CDN services that can be used to bypass the filtering system. For example, what the GFW system sees is discord.com, but by using the host field, we set the main destination of the internet packets to our own server, and in this way, the filtering system is bypassed. + +This feature has been disabled in Cloudflare CDN because malware used to exploit it, but other CDNs can be used for this purpose. + +## Domain registration on CDN + +- First, you need to register on the CDN site of your choice and register a domain in it. [Tutorial for domain registration](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) + +- After that, register a DNS record and turn on its proxy tick. + +## Domain fronting settings on Hiddify panel + +To do this, go to the `Settings` and `Domains` section in the Hiddify panel and then click on `Create`. + +
+ +![Screenshot_20230621_174231](https://github.com/hiddify/hiddify-config/assets/125398461/8a354ba2-a8c6-471b-8ab1-efbd1d189335) + +
+ +- Set the domain mode to CDN. +- Enter your registered subdomain in the previous step, whose proxy is turned on. +- If you want, in the `Alias` field, put a desired name to be displayed in the configurations. +- In the `Enable TLS Domain Fronting`, you can enter the addresses of sites that use the CDN you want but are not filtered. Use [DNS Lookup tool](https://dns-lookup.com/) to find them. Find the right site here and put it in the domain fronting field. +- Finally, if needed, you can put the clean IPs for the desired CDN in the the field `Force Config to Use Following IPs` . + +- The work is done. The desired CDN configs are set for domain fronting mode and you can use them. + +## Add config to the subscription link + +As you know, it is always recommended to keep subscription links separate from configs. Therefore, if you have already created a subscription link, just add the new CDN domain in its settings so that the new domain fronting configurations are also connected to the subscription link. [How to create subscription link on HiddifyManager](/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify/) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP.fa.md new file mode 100644 index 0000000..13464e8 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP.fa.md @@ -0,0 +1,704 @@ +--- +title: آیپی تمیز کلادفلر چیست و چگونه می‌توان آن را پیدا کرد +--- + +
+ +# چگونگی یافتن آیپی تمیز کلادفلر + +بزرگترین ارائه دهنده خدمات CDN در جهان کلادفلر است و احتمالا می دانید؛ به دلیل فیلترینگ شدید اینترنت در ایران اختلال زیادی روی سرویس های آن وجود دارد زیرا امکان فیلتر نمودن کامل آن برای فیلترچی مقدور نیست اما می تواند روی آن اختلال ایجاد کند. + +در اینجا اگر شما نیز از سرویس های CDN کلادفلر استفاده می کنید؛ متاثر از این اختلالات خواهید شد. برای کاهش تاثیر این اختلالات می بایست آیپی های تمیز (آیپی هایی که اختلالی روی آن نیست) را پیدا کرد. + +در اینجا چند راه کار برای این موضوع معرفی و بررسی می گردد. + +!!! tip "نکته" + + قبل از شروع تاکید می شود تمامی این تست ها روی سیستم کلاینت و بدون اتصال به VPN باید انجام شوند. + + + + + +## اسکنر آیپی کلادفلر مرتضی باشسیز +آقای باشسیز یک مهندس ایرانی است که برنامه ای تحت عنوان CFScanner توسعه داده است که با استفاده از آن می توان لیست آیپی های کلادفلر را بر روی شبکه های مختلف تست نمود و به آیپی های تمیز کلادفلر رسید. + +این برنامه در نسخه‌های متعدد از جمله لینوکس و ویندوز منتشر شده است. +نسخه‌های در دسترس تا تاریخ ویرایش این مطلب: +- بَش +- داکر +- ویندوز +- پایتون +- گولنگ +- اندروید + +برای این کار در ابتدا از [اینجا](https://github.com/MortezaBashsiz/CFScanner) نسخه مدنظر خود را دانلود کنید و سپس نحوه اجرای آن را بر اساس سیستم عامل مورد نظر دنبال کنید. + + + +

اجرا در نسخه لینوکس

(کلیک کنید)
+ +
+ + + + + + + فایل های برنامه را دانلود کنید و ابتدا توضیحات آقای باشسیز درباره نحوه اجرا را در ویدئوی زیر ببینید. + + + +
+ +این برنامه پیش نیازهایی دارد که باید از قبل نصب باشند. + +[jq](https://stedolan.github.io/jq/)   [git](https://git-scm.com/)   [tput](https://command-not-found.com/tput)   [bc](https://www.gnu.org/software/bc/)   [curl](https://curl.se/download.html)    +[parallel](https://www.gnu.org/software/parallel/) + + +سپس ابتدا آن را با کد زیر روی سیستم خود clone کنید. + +
+ +``` +git clone https://github.com/MortezaBashsiz/CFScanner.git +``` +
+ + + + +به پوشه دانلود برنامه بروید و به آن دسترسی اجرا دهید. +
+ +``` +cd CFScanner/bash +chmod +x ../bin/* +``` +
+ +فایل config.real را دانلود کنید. + +
+ +``` +curl -s https://raw.githubusercontent.com/MortezaBashsiz/CFScanner/main/bash/ClientConfig.json -o config.real +``` +
+ +توصیه می شود فایل config.real را بر اساس کانفیگ خود تغییر دهید. + + +![Screenshot_20230305_094935](https://user-images.githubusercontent.com/125398461/222945619-756a8a4c-9cd7-4977-8679-c5a3a5b9b96c.png) + + +اگر می خواهید فایل کانفیگ خود را داشته باشید آن را به اسم دیگری ذخیره کنید که هنگام آپدیت اسکریپت تغییر نکند. + +#### اجرای اسکریپت + +به محل فایل اسکریپت دانلود شده بروید و سپس اسکریپت را به شکل زیر اجرا کنید + + +
+ +``` +bash cfScanner.sh SUBNET DOWN threads tryCount config.real speed custom.subnets +``` + +
+ +![](https://user-images.githubusercontent.com/125398461/222946688-bcec3d65-7bf1-495a-b1bf-fe517f69f882.png) + + + + مثلا +
+ +``` +bash cfScanner.sh SUBNET DOWN 8 1 config.real 100 custom.subnets +``` + +در نهایت نتیجه تست در پوشه result قرار می گیرد که میتوانید آن را ملاحظه کنید و از آن استفاده نمایید. اطلاعات بیشتر در [ویکی](https://github.com/MortezaBashsiz/CFScanner/tree/main/bash) برنامه + +
+ +
+ + +

اجرا در نسخه ویندوز

(کلیک کنید)
+ + + +

پیش‌نیازها

+ + + +ابتدا باید پیش‌نیازهایی وجود داشته باشند که به ترتیب توضیح داده خواهند شد: + +- دانلود اپ اسکنر ویندوز از [گیتهاب پروژه](https://github.com/MortezaBashsiz/CFScanner/tree/main/windows) + +- اپ .NET Desktop Runtime 6 را نصب کنید از سایت اصلی برنامه که در زیر آورده شده +‍‍‍‍ + +
+ +``` +https://dotnet.microsoft.com/en-us/download/dotnet/6.0 +``` + +
+ + +- چک نمودن TLS Handshake + +برای این کار ابتدا باید وارد پوشه برنامه بشید و Command Prompt از داخل آن پوشه را باز نمایید. یعنی در پوشه `شیفت+راست‌کلیک` را بزنید و گزینه `Open in Windows Terminal` را بزنید. + +در محیط ترمینال کامند زیر را اجرا کنید. + + +
+ +‍‍`.\v2ray.exe tls ping sub.yourdomain.com` + + +
+ + +به جای `sub.yourdomain.com` ساب‌دامین خودتون را بذارید. اگر پیغام `handshake succeeded` ظاهر شد؛ یعنی اسکنر آماده استفاده است در غیر اینصورت باید در تنظیمات سرتیفیکت در سایت کلادفلر به صورت موقت تغییراتی اعمال کنید. + +ورژن TLS را روی TLS 1.0 بذارید و گزینه TLS 1.3 را غیر فعال کنید. + +![](https://user-images.githubusercontent.com/125398461/234774581-c1a07bdb-352f-43cc-97f7-2ce6c87a761d.png) + +* نکته: یادتون نره بعد انجام تست این گزینه‌ها را به حالت اول برگردونید. + + +- ساختارهای الگوی کانفیگ را برای تست آماده کنید. + +اگر می‌خواهید کانفیگ‌های خودتون را تست کنید باید در فایل Json مربوط به کانکشن درون پوشه برنامه اعمال کنید. نیاز است در `inbound` این تغییر اعمال گردد. + + + +
+ +``` + +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { +... +``` + +
+ +
+ +و همینطور در `outbound` نیز این تغییر اعمال گردد. + +
+ +
+ +``` +{ +"outbounds": [ + { + "protocol": "vmess", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", +... +``` + +
+ + +حالا برای راحتی کار، چند نمونه الگوی کانفیگ که iSegaro زحمت کشیده حاضر کرده؛ قرار داده می‌شه می‌توانید مطابق با نیازتون یکی را انتخاب کنید. + +* دقت کنید در این ساختار ها فقط در قسمت `outbounds` باید مشخصات کانفیگ شامل ۵ قسمت `Port , UUID, PATH , HOST , SNI` را تغییر بدهید که با عبارت `xxxxx` مشخص شده , پس هرجا که عبارت `xxxxx` وجود داره رو فقط بسته به کانفیگ خودتون تغییر بدید و در باقی کدها تغییری انجام ندهید. + +- نمونه الگوی Vmess+WS+TLS : + +
+ +``` +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "protocol": "vmess", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", + "port": xxxxx, + "users": [{"id": "xxxxx" }] + }] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "wsSettings": { + "headers": { + "Host": "xxxxx" + }, + "path": "xxxxx" + }, + "tlsSettings": { + "serverName": "xxxxx", + "allowInsecure": false, + "fingerprint": "chrome", + "alpn": [ + "http/1.1" + ] + } + } + }], + "other": {} +} +``` +
+ +- نمونه الگوی Vless+GRPC+TLS : + +
+ +``` +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "protocol": "vless", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", + "port": xxxxx, + "users": [{"id": "xxxxx", + "encryption": "none" + }] + }] + }, + "streamSettings": { + "network": "grpc", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "serverName": "xxxxx", + "alpn": [ + "http/1.1" + ], + "fingerprint": "chrome" + }, + "grpcSettings": { + "serviceName": "", + "multiMode": false + } + } + }], + "other": {} +} +``` + +
+ +- نمونه الگوی Trojan+WS+TLS : + +
+ +``` +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "tag": "proxy", + "protocol": "trojan", + "settings": { + "servers": [ + { + "address": "IP.IP.IP.IP", + "method": "chacha20", + "ota": false, + "password": "xxxxx", + "port": xxxxx, + "level": 1, + "flow": "" + } + ] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "serverName": "xxxxx", + "alpn": [ + "http/1.1" + ], + "fingerprint": "chrome" + }, + "wsSettings": { + "path": "xxxxx", + "headers": { + "Host": "xxxxx" + } + } + }, + "mux": { + "enabled": false, + "concurrency": -1 + } + } + ], + "other": {} +} +``` + +
+ +- نمونه الگوی Vless+WS+TLS : + +
+ +``` +{ +"inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "tag": "proxy", + "protocol": "vless", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", + "port": xxxxx, + "users": [{"id": "xxxxx", + "encryption": "none" + }] + }] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "serverName": "xxxxx", + "alpn": [ + "http/1.1" + ], + "fingerprint": "chrome" + }, + "wsSettings": { + "path": "xxxxx", + "headers": { + "Host": "xxxxx" + } + } + } + } + ], + "other": {} +} +``` + +
+ +در نهایت شما کانفیگ خودتون را طبق نمونه‌ها برای مرحله بعد حاضر کنید یا از کانفیگ دیفالت استفاده کنید. + +
+ +حالا فرض کنیم پیش‌نیازها را انجام دادید؛ کافیه فایل کانفیگ نمونه برنامه یا فایل کانفیگ ساخته شده توسط خودتون را که به فرمت Json است؛ از منوی `Tools > Add custom v2ray config` در برنامه قرار بدید تا اسکن بر اساس اون انجام بشه در غیر اینصورت برنامه با کانفیگ دیفالت اسکن می‌کند. + +![](https://user-images.githubusercontent.com/125398461/234803794-7c7f5bb9-0967-4f1b-b519-9db266b7a0e7.png) + +۱. از مسبر `Tools > Add custom v2ray config` می‌توانید فایل مورد نظر خود را مطابق با الگوی توضیح داده شده به نرم‌افزار بدید تا اسکن بر اساس اون انجام بشه. + +۲. می‌توانید نوع تست دانلود یا آپلود یا هردو را تعیین کنید. + +۳. در این قسمت می توانید تعداد همزمانی آیپی‌ها برای تست توسط اسکنر را مشخص کنید. پیشنهاد می‌گردد به صورت مرحله‌ای این عدد را بالا ببرید و بر اساس قدرت پردازش CPU سیستم خود آن را کم یا زیاد کنید. مثدار دیفالت آن ۴ می‌باشد. + +۴. سریع‌ترین آیپی بعد از اتمام اسکن نمایش داده می‌شه + +۵. رنج آیپی‌های تست شده نمایش داده می‌شه + +۶. از این قسمت می‌تونید رنج آیپی‌های مورد نظر خود را به نرم‌افزار بدید که اسکن بر اساس آن انجام بشه. + +* **پیشنهاد:** می‌تونید نرم‌افزار را تنظیم کنید که یک‌بار کل رنج آیپی دیفالت را اسکن کنه. برای دفعالت بعد می‌تونید این خروجی را فقط اسکن کنید (با دقت بالاتر) احتمالا نتیجه بهتری خواهید گرفت. همچنین اگر تست آپلود بگیرید احتمالا نتیجه بهتری خواهید گرفت. همه اینها به تلاش و خلاقیت خودتون بستگی داره. + +
+ + + + + + +## اسکنر آیپی کلادفلر وحید فرید +این برنامه در نسخه‌های مختلف بر اساس پلتفرم‌های متفاوت تهیه شده است که می‌توانید متناسب با نیازتان از آن‌ها استفاده نمایید. + +نسخه‌های در دسترس تا تاریخ ویرایش این مطلب: +- مک +- ویندوز +- اندروید +- وب + +

پیش‌نیازها

+ +* ابتدا پایتون را بر اساس سیستم عامل خود [دانلود](https://www.python.org/downloads/) کنید. +* فایل فشرده مربوط به کد را از [اینجا](https://github.com/vfarid/cf-ip-scanner-py) دانلود کنید و سپس آن را اکسترکت کنید. +* حالا نیاز هست requests را نیز نصب کنید. + +
+ +``` +pip install requests +``` +
+ +
+ +

اجرای برنامه

+ +- جهت اجرا در پوشه اکسترکت شده برنامه ترمینال را باز نمایید. یعنی مثلا در ویندوز وارد پوشه برنامه شوید و ‍‍`شیفت+راست‌کلیک` کنید و سپس Open in Command Prompt را بزنید تا از آن پوشه وارد ترمینال شوید. + +- حالا کامند زیر را بزنید تا برنامه اجر شود. + +
+ +``` +python start.py +``` +
+ +- در ابتدا تعداد آیپی مورد نیاز را وارد می‌کنید. +- در مرحله بعد حداکثر تاخیر مورد نظر خود را بر حسب میلی ثانیه وارد کنید. مثلا ۵۰۰ یعنی ۵۰۰ میلی ثانیه +- رنج مورد نظر خود برای اسکن را می‌توانید انتخاب کنید. برای انتخاب چند رنج از کاما استفاده نمایید و برای نادیده گرفتن یک رنج از `-` استفاده کنید. +- می‌توانید چند رنج را از جستجو مستثنا کنید. برای انتخاب چند رنج از کاما استفاده نمایید و برای نادیده گرفتن یک رنج از `-` استفاده کنید. +- در مرحله بعد می توانید حجم بسته‌های ارسالی جهت اسکن را بر حسب کیلوبایت مشخص نمایید. هر چه این حجم بالاتر باشد، دقت اسکن بالاتر می‌رود اما از آن طرف، حجم ترافیک نیز افزایش می‌یابد. +- بر اساس نیازتان سرعت دانلود را تعیین کنید تا آیپی‌هایی که سرعت دانلودشان بالاتر از این مقدار است را پیدا کند. سرعت را بر اساس مگابیت بر ثانیه وارد کنید. +- در مرحله بعد سرعت آپلود را بر اساس نیازتان تعیین کنید تا آیپی‌هایی که سرعت آپلودشان بالاتر از این مقدار است را پیدا کند. این مقدار را بر اساس مگابیت بر ثانیه وارد کنید. +- در مرحله بعد در صورت نیاز می‌توانید نتایج اسکن شده را مستقیما وارد کلادفلر کنید یا اینکه آن را نادیده بگیرید تا اسکن شروع شود. +- در صورتی که در جواب مرحله قبل `y` زده‌اید، باید اینجا ایمیل متصل به اکانت خود در کلادفلر را بدهید. +- سپس در مرحله بعد `Zone ID` را کپی کنید. برای پیدا کردن `Zone ID` وارد تنظیمات دامنه در اکانت خود شوید سپس مانند تصویر زیر `Zone ID` را پیدا کنید و کپی کنید. + +![](https://user-images.githubusercontent.com/125398461/235452066-9be0f0d9-e314-47cc-9565-4e05158b9d00.png) + +- در این مرحله باید توکن گلوبال خود را به نرم‌افزار بدهید. برای این کار در همان صفحه اصلی داشبورد روی `Get your API token` کلیک کنید. + +![](https://user-images.githubusercontent.com/125398461/235454090-7a23c21a-fd1a-4fe8-9eb9-d9343402929b.png) + +* سپس در صفحه توکن‌ها در `Global API Key` گزینه `View` را انتخاب کنید. + +![](https://user-images.githubusercontent.com/125398461/235454894-4e8bad4d-6561-4dec-9d5a-859ef0f64932.png) + +* در اینجا از شما رمز اکانت‌تان را می‌خواهد و سپس توکن شما را نمایش می‌دهد. + +![](https://user-images.githubusercontent.com/125398461/235455122-9d39781e-bb9b-4abb-8c77-a4b68a07f048.png) + +* این توکن را در نرم‌افزار کپی کنید. + +- سپس ساب‌دامین مورد نظر برای ثبت این آیپی‌ها روی دامنه خود را بدهید. مثلا `cf.yourdomain.com` +- پس از آن اسکنر شروع به اسکن می‌کند و در پایان آیپی‌ها بر اساس مشخصات داده شده به شما نمایش داده خواهد شد. همچنین اگر بخش مربوط به ثبت آیپی در کلادفلر را انجام داده باشید، این آیپی‌ها در کلادفلر هم روی ساب‌دامین مورد نظر ثبت می‌گردند. یعنی شما در کلادفلر ساب‌دامنه‌هایی خواهید داشت که با نام `cf.yourdomain.com` و با آیپی‌های یافته شده توسط اسکنر با پروکسی خاموش به صورت خودکار ثبت شده‌اند. + +
+ +

ویدئوهای آقای فرید در این زمینه

+ +       + + +
+ + + +## اسکنر آیپی کلادفلر صفا صفری +این اسکنر در چند نسخه توسعه داده شده است که می‌توانید متناسب با نیازتون از آن استفاده کنید. + +نسخه‌های در دسترس تا تاریخ ویرایش این مطلب: +- ویندوز +- مک +- اندروید + + +

نصب اسکریپت

+ +

ویندوز

+ +* ابتدا از [این لینک](https://www.python.org/downloads/windows/) پایتون را دانلود کنید. +* در هنگام نصب پایتون تیک مربوط به نصب pip و اضافه کردن پایتون به PATH را فراموش نکنید. +* [فایل اصلی اسکنر](https://github.com/SafaSafari/ss-cloud-scanner/archive/refs/heads/main.zip) فشرده را دانلود کنید و آن را از حالت فشرده خارج کنید. +* در مسیر اکسترکت شده یک ترمینال `Command Prompt` باز کنید. یعنی وارد مسیر اکسترکت شده شوید. `شیفت+راست‌کلیک` را بزنید تا ترمینال باز شود. +* برای نصب پیش‌نیازها از کامند زیر استفاده کنید. + + + +
+ +``` +pip install -r ./requirements.txt +``` + +
+ + + +* بعد از نصب پیش‌نیازها کار تمام است و نوبت به اجرای برنامه می‌رسد. + + + +
+ +

اندروید

+ +* برای نصب روی سیستم عامل اندروید، نیاز به برنامه‌ای تحت عنوان ترموکس (Termux) می‌باشد که [از اینجا](https://github.com/termux/termux-app/releases/) می‌توانید دانلود کنید. +* در اینجا با چندین فایل apk مواجه می‌شوید که باید یکی را بر اساس نوع دستگاه خود انتخاب کنید. اگر نوع دستگاه اندرویدی خود را نمیدانید، نسخه armeabi-v7a را دانلود و نصب کنید. +* در ادامه با باز کردن برنامه ترموکس، خط فرمان به شما نشان داده میشود به ترتیب دستورات زیر را وارد کنید. +* در هنگان نصب تمام پرسش‌ها را با `y` جواب دهید. + + + +
+ +``` +pkg update -y; pkg install -y python python-pip openssl python-cryptography +``` +
+ + +* سپس کامند زیر را اجرا کنید. + + +
+ +``` +curl -sLo main.zip https://github.com/SafaSafari/ss-cloud-scanner/archive/refs/heads/main.zip && unzip -qq main.zip && rm main.zip +``` +
+ + +* بعد از آن وارد پوشه برنامه شوید و پیش‌نیازها را نصب کنید. + + +
+ +``` +cd ss-cloud-scanner-main +pip install -r ./requirements.txt +``` + +
+ +* بعد از نصب پیش‌نیازها کار تمام است و نوبت به اجرای برنامه می‌رسد. + +
+ +
+ +

اجرای اسکریپت

+ +* با دستور زیر، عملکرد برنامه آغاز می‌شود. + +
+ +``` +python main.py +``` +
+ +* به محض اجرا، برنامه از شما تعداد آیپی مورد نیاز را درخواست می‌کند. +* در مرحله بعد نوع اسکن را می‌توان مشخص نمود. +* سپس از شما میپرسد که عملیات اسکن با `https` انجام بشود یا `http`. +* و سپس شروع به اسکن می‌کند و پس از مدتی آیپی‌های سالم (در صورت وجود) در صفحه ظاهر می‌شوند +* اگر نوع ۲ انتخاب بشود در ادامه از شما `uuid` و `دامنه` ، `پورت` ، `path` پروکسی مورد استفاده‌ را درخواست می‌کند و به محض وارد کردن آن‌ها در جاهای مورد نظر، عملیات اسکن شروع می‌شود. بدین ترتیب حالت ۲ با تنظیمات کانفیگ شما اسکن می‌کند. + +#### حالت اسپید + +این نوع از اسکن، با توجه به وایت لیست بودن SNI در ایران ([منبع](https://twitter.com/safasafari3/status/1643154352326975488)) از یک ورکر جایگزین استفاده می‌کند که بازدهی این مدل اسکن را به شدت بالا می‌برد + +#### حالت Vmess +این مدل اسکن با ساخت پکت Vmess و ارسال آن به سمت سرور با Websocket عملا یک ارتباط پروکسی را شبیه سازی میکند اسکنر های جایگزین، این کار با استفاده از هسته های V2ray یا Xray انجام میدهند، اما این اسکنر این اقدام را بصورت خالص با پایتون پیاده سازی نموده است. + + +[منبع اصلی](https://github.com/SafaSafari/ss-cloud-scanner) + +
+ + + + + + + + +## بعد از یافتن آیپی تمیز چه کار کنیم؟ + +پس از یافتن آیپی تمیز؛ می توانید آن را با یک رکورد dns بدون پروکسی ثبت نمایید. یعنی در سایت کلادفلر یک ساب دامین بسازید. پروکسی را خاموش کنید و آیپی را وارد کنید. + +![Screenshot_20230302_171704](https://user-images.githubusercontent.com/125398461/222942018-f53bf1bd-77c4-45b5-9604-0224061869d0.png) +در صورت نیاز به توضیحات بیشتر درباره دامنه [اینجا](/manager/wiki/%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D8%AF%D8%A7%D9%85%D9%86%D9%87-%D9%88-%D9%86%D8%AD%D9%88%D9%87-%D8%AB%D8%A8%D8%AA-%E2%80%8C%D8%A2%D9%86%E2%80%8C%D9%87%D8%A7) کلیک کنید. + +سپس در پنل هیدیفای می توانید آن را در تنظیمات دامنه CDN در فیلد **اجبار به استفاده از هاست در کانفیگ CDN** قرار دهید. [توضیحات بیشتر](/manager/wiki/%D9%86%D8%AD%D9%88%D9%87-%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C-%D9%BE%D9%86%D9%84-%D9%87%DB%8C%D8%AF%DB%8C%D9%81%D8%A7%DB%8C#%D8%AF%D8%A7%D9%85%D9%86%D9%87-cdn) + +![Screenshot_20230301_095103](https://user-images.githubusercontent.com/125398461/222942200-ce36835f-41d9-4bc9-abf5-a4c35c34d33f.png) + + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP.md b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP.md new file mode 100644 index 0000000..540b37e --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP.md @@ -0,0 +1,559 @@ +--- +title: What is Cloudflare's clean IP and how to find it +--- + +
+ +# Guide for finding a clean Cloudflare IP +The largest CDN service provider in the world is Cloudflare, and you probably know; Due to the severe filtering of the Internet in Iran, there is a lot of disruption to its services because it is not possible for the filter to completely filter it, but it can cause disruption. +Here, if you also use CDN Cloudflare services; You will be affected by these disorders. To reduce the impact of these disturbances, you should find clean IPs (IPs that are not disturbed). + +Here are some ways of working for this issue. + +!!! tip "tip" + + Before starting, it is emphasized that all these tests must be done on the client system without connecting to VPN. + + + +## Using Bashsiz's scanner +Mr. Bashsiz is an Iranian engineer who has developed a program called CFScanner, which can be used to test the list of Cloudflare IPs on different networks and reach the clean Cloudflare IPs. + +This program has been released in several versions including Linux and Windows. Versions available until the date of editing this article: +- Bash +- Docker +- Windows +- Python +- Golang +- Android + +To do this, first download the desired version [here](https://github.com/MortezaBashsiz/CFScanner) and then follow how to run it based on the desired operating system. + + +

Run on Linux version

(Click here)
+ +Download the program files and first see Mr. Bashsiz's explanation of how to run it in the video below (persian). + +[![](https://user-images.githubusercontent.com/125398461/229997889-eaf51d2c-e5e1-4899-aa34-6c2c73375f10.png)](https://www.youtube.com/watch?v=BKLRAHolhvM) + +This program has prerequisites that must be installed in advance. +[jq](https://stedolan.github.io/jq/)   [git](https://git-scm.com/)   [tput](https://command-not-found.com/tput)   [bc](https://www.gnu.org/software/bc/)   [curl](https://curl.se/download.html)    +[parallel](https://www.gnu.org/software/parallel/) + + +Then first clone it on your system with the following code. +``` +git clone https://github.com/MortezaBashsiz/CFScanner.git +``` +Go to the app download folder and run access to it. +``` +cd CFScanner/bash +chmod +x ../bin/* +``` +Download the config.real file. +``` +curl -s https://raw.githubusercontent.com/MortezaBashsiz/CFScanner/main/bash/ClientConfig.json -o config.real +``` +It is recommended to change the config.real file based on your configuration. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234565256-4ebeb511-4876-483a-84c5-cb39d62a12ae.png) + + +If you want to have your own configuration file, save it under a different name that will not change when the script is updated. + +#### Run the script +Go to the location of the downloaded script file and then run the script as shown below. + +``` +bash cfScanner.sh SUBNET DOWN threads tryCount config.real speed custom.subnets +``` + +![222946688-bcec3d65-7bf1-495a-b1bf-fe517f69f8822](https://user-images.githubusercontent.com/125398461/234751332-e0fa6e6b-5b97-445b-bd50-12c9d603d556.png) + + +For example: + + +``` +bash cfScanner.sh SUBNET DOWN 8 1 config.real 100 custom.subnets +``` +Finally, the test result is placed in the `result` folder, which you can view and use. More information on the program [wiki](https://github.com/MortezaBashsiz/CFScanner/tree/main/bash). + +
+ +

Run on Windows version

(Click here)
+ +

Prerequisites

+ +First, there must be prerequisites that will be explained in order: + +- Download the Windows scanner app from [the project's GitHub](https://github.com/MortezaBashsiz/CFScanner/tree/main/windows) +- Install .NET Desktop Runtime 6 app from the main application site given below + +``` +https://dotnet.microsoft.com/en-us/download/dotnet/6.0 +``` + +- Checking TLS Handshake +For this, you must first enter the program folder and open `Command Prompt` inside that folder. That is, `Shift+Right click` on the folder and select `Open in Windows Terminal`. + +Run the following command in the terminal environment. + +`‍‍.\v2ray.exe tls ping sub.yourdomain.com` + +Put your subdomain instead of `sub.yourdomain.com`. If handshake `succeeded` message appears; It means that the scanner is ready to use, otherwise you should make temporary changes in the certificate settings on Cloudflare website. + +Set the TLS version to TLS 1.0 and disable the TLS 1.3 option. + +![Image](https://user-images.githubusercontent.com/125398461/234774581-c1a07bdb-352f-43cc-97f7-2ce6c87a761d.png) + +* Note: Don't forget to return these options to the first state after testing. +* Prepare the config template structures for testing. +If you want to test your configurations, you must apply them in the Json file related to the connection in the program folder. This change needs to be applied in `inbound`. + +``` + +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { +... +``` +And also apply this change in `outbound`. + +``` +{ +"outbounds": [ + { + "protocol": "vmess", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", +... +``` + +Now, for ease of work, some examples of configuration templates that iSegaro has worked hard to present; You can choose one according to your needs. + +* Be careful, in these structures, only in the `outbounds` part, you should change the configuration specifications including 5 parts `Port, UUID, PATH, HOST, SNI`, which are marked with the word `xxxxx`, so wherever there is the word `xxxxx`, change it only depending on your configuration. And do not change the rest of the codes. + +- Example template for Vmess+WS+TLS : + +``` +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "protocol": "vmess", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", + "port": xxxxx, + "users": [{"id": "xxxxx" }] + }] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "wsSettings": { + "headers": { + "Host": "xxxxx" + }, + "path": "xxxxx" + }, + "tlsSettings": { + "serverName": "xxxxx", + "allowInsecure": false, + "fingerprint": "chrome", + "alpn": [ + "http/1.1" + ] + } + } + }], + "other": {} +} +``` + +- Example template for Vless+GRPC+TLS : + +``` +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "protocol": "vless", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", + "port": xxxxx, + "users": [{"id": "xxxxx", + "encryption": "none" + }] + }] + }, + "streamSettings": { + "network": "grpc", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "serverName": "xxxxx", + "alpn": [ + "http/1.1" + ], + "fingerprint": "chrome" + }, + "grpcSettings": { + "serviceName": "", + "multiMode": false + } + } + }], + "other": {} +} +``` + +- Example template for Trojan+WS+TLS : + +``` +{ + "inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "tag": "proxy", + "protocol": "trojan", + "settings": { + "servers": [ + { + "address": "IP.IP.IP.IP", + "method": "chacha20", + "ota": false, + "password": "xxxxx", + "port": xxxxx, + "level": 1, + "flow": "" + } + ] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "serverName": "xxxxx", + "alpn": [ + "http/1.1" + ], + "fingerprint": "chrome" + }, + "wsSettings": { + "path": "xxxxx", + "headers": { + "Host": "xxxxx" + } + } + }, + "mux": { + "enabled": false, + "concurrency": -1 + } + } + ], + "other": {} +} +``` + +- Example template for Vless+WS+TLS : + +``` +{ +"inbounds": [{ + "port": "PORTPORT", + "listen": "127.0.0.1", + "tag": "socks-inbound", + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] + } + }], + "outbounds": [ + { + "tag": "proxy", + "protocol": "vless", + "settings": { + "vnext": [{ + "address": "IP.IP.IP.IP", + "port": xxxxx, + "users": [{"id": "xxxxx", + "encryption": "none" + }] + }] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "serverName": "xxxxx", + "alpn": [ + "http/1.1" + ], + "fingerprint": "chrome" + }, + "wsSettings": { + "path": "xxxxx", + "headers": { + "Host": "xxxxx" + } + } + } + } + ], + "other": {} +} +``` + +Finally, present your configuration according to the examples for the next step or use the default configuration. + + + + +
+ +Now suppose you have completed the prerequisites; All you need is the config file of the sample program or the config file created by yourself, which is in Json format; From the menu `Tools > Add custom v2ray config`, put it in the program so that the scan is done based on it, otherwise the program will scan with the default configuration. + +![App](https://user-images.githubusercontent.com/125398461/234803794-7c7f5bb9-0967-4f1b-b519-9db266b7a0e7.png) + +1. From `Tools > Add custom v2ray config`, you can give the desired file according to the described pattern to the software so that the scan can be done based on it. + +2. You can specify the download or upload test type or both. + +3. In this section, you can specify the number of simultaneous IPs to be tested by the scanner. It is suggested to increase this number step by step and increase or decrease it based on the CPU processing power of your system. Its default value is 4. + +4. The fastest IP will be displayed after the scan is completed + +5. The range of tested IPs is displayed + +6. From this section, you can give the software the IP range you want to scan based on it. + +* **Suggestion:** You can set the software to scan the entire default IP range once. For the next time, you can just scan this output (with higher accuracy), you will probably get a better result. Also, if you take an upload test, you will probably get a better result. All this depends on your efforts and creativity. + +
+ + +## Using Vahid Farid's scanner +This program has been prepared in different versions based on different platforms that you can use according to your needs. + +Versions available until the date of editing this article: +* Mac +* Windows +* Android +* Web + +

Prerequisites

+ +- First, [download Python](https://www.python.org/downloads/) according to your operating system. +- Download the compressed file of the code [here](https://github.com/vfarid/cf-ip-scanner-py) and then extract it. +- Now you need to install requests. + +``` +pip install requests +``` + +
+ +

Run the program

+ +- Open the terminal program to run in the extracted folder. That is, for example, in Windows, enter the program folder and `Shift+Right click` and then click `Open in Command Prompt` to enter the terminal from that folder. + +- Now type the following command to run the program. + +``` +python start.py +``` +- At first, you enter the required IP number. +- In the next step, enter the maximum delay you want in milliseconds. For example, 500 means 500 milliseconds +- You can choose the range you want to scan. Use comma to select multiple ranges and use `-` to ignore one range. +- You can exclude multiple sufferings from the search. Use comma to select multiple ranges and use `-` to ignore one range. +- In the next step, you can specify the size of the packets sent for scanning in kilobytes. The higher the volume, the higher the scanning accuracy, but on the other hand, the volume of traffic also increases. +- Set the download speed according to your needs so that it finds the IPs whose download speed is higher than this value. Enter the speed in Mbps. +- In the next step, set the upload speed according to your needs so that it finds the IPs whose upload speed is higher than this value. Enter this value in Mbps. +- In the next step, if needed, you can enter the scanned results directly into Cloudflare or ignore it until the scan starts. +- If you have typed `y` in the answer to the previous step, you must enter the email connected to your Cloudflare account here. + Then copy the `Zone ID` in the next step. To find the `Zone ID`, enter the domain settings in your account, then find and copy the `Zone ID` as shown in the image below. + +![Image](https://user-images.githubusercontent.com/125398461/235452066-9be0f0d9-e314-47cc-9565-4e05158b9d00.png) + +- In this step, you need to give your global token to the software. For this, click on `Get your API token` on the main page of the dashboard. + +![Image](https://user-images.githubusercontent.com/125398461/235454090-7a23c21a-fd1a-4fe8-9eb9-d9343402929b.png) + +- Then, on the tokens page in `Global API Key`, select the `View` option. + +![Image](https://user-images.githubusercontent.com/125398461/235454894-4e8bad4d-6561-4dec-9d5a-859ef0f64932.png) + +- Here it will ask you for your account password and then display your token. + +![Image](https://user-images.githubusercontent.com/125398461/235455122-9d39781e-bb9b-4abb-8c77-a4b68a07f048.png) + +- Copy this token into the software. +- Then give the desired subdomain to register these IPs on your domain. For example, `cf.yourdomain.com` +- After that, the scanner will start scanning and at the end, the IPs will be displayed to you based on the given specifications. Also, if you have completed the IP registration section in Cloudflare, these IPs will also be registered in Cloudflare on the desired subdomain. That is, you will have subdomains in Cloudflare that are automatically registered with the name `cf.yourdomain.com` and with the IPs found by the scanner with the proxy turned off. + +
+ + + +## Using Safa Safarian's scanner +This scanner has been developed in several versions that you can use according to your needs. + +Versions available until the date of editing this article: +- Windows +- Mac +- Android + +

Script installation

+ +

Windows

+ +* First, download Python from [this link](https://www.python.org/downloads/windows/). +* When installing Python, don't forget to check pip installation and add Python to PATH. +* Download the [original compressed scanner](https://github.com/SafaSafari/ss-cloud-scanner/archive/refs/heads/main.zip) file and extract it. +* Open a `Command Prompt` terminal in the extracted path. That is, enter the extracted path. Press `Shift+Right click` to open terminal. +* Use the following command to install the prerequisites. + +``` +pip install -r ./requirements.txt +``` + +- After installing the prerequisites, the work is finished and it is time to run the program. + +
+ +

Android

+ +- To install on the Android operating system, you need a program called Termux, which you can download [here](https://github.com/termux/termux-app/releases/). +- Here you will come across several apk files from which you should select one based on your device type. If you do not know the type of your Android device, download and install armeabi-v7a version. +- Next, by opening the Termux program, the command line will be shown to you, enter the following commands in order. +- In the installation process, answer all the questions with `y`. + +``` +pkg update -y; pkg install -y python python-pip openssl python-cryptography +``` + +- Then run the following command. + + +``` +curl -sLo main.zip https://github.com/SafaSafari/ss-cloud-scanner/archive/refs/heads/main.zip && unzip -qq main.zip && rm main.zip +``` + +- After that enter the program folder and install the prerequisites. + + +``` +cd ss-cloud-scanner-main +pip install -r ./requirements.txt +``` + +- After installing the prerequisites, the work is finished and it is time to run the program. + +
+ +
+ + + +

Run the script

+ +- With the following command, the program starts. + + +python main.py + + +* As soon as it runs, the program will ask you for the number of required IPs. +* In the next step, the type of scan can be specified. +* Then it will ask you to scan with `https` or `http`. +* And then it starts scanning and after some time healthy IPs (if any) will appear on the screen. +* If type 2 is selected, it will ask you for the `uuid`, `domain`, `port`, and `path` of the proxy used, and as soon as you enter them in the desired places, the scanning operation will begin. Thus mode 2 will scan with your config settings. + +**Speed mode** + +This type of scanning uses an alternative worker due to the whitelist of SNI in Iran, which greatly increases the efficiency of this scanning model. + +**Vmess mode** +This scanning model practically simulates a proxy connection by creating a Vmess packet and sending it to the server with Websocket. Alternative scanners do this using V2ray or Xray kernels, but this scanner does this purely with Python. has implemented + +[Refrence](https://github.com/SafaSafari/ss-cloud-scanner) + +
+ + + + + + + +## What to do after finding a clean IP? +After finding a clean IP; You can register it with a DNS record without . That is, create a subdomain on Cloudflare. Turn off the proxy and enter the IP. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234565984-a2560018-7106-421f-850d-fb9db5687b26.png) + +If you need more information about the domain, [click here](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/). + + + +Then in the HiddifyManager, you can put it in the CDN domain settings in the `Force to use host field in the CDN configuration`. [More details](/manager/wiki/How-to-configure-Hiddify-Panel-properly#cdn-domain) + +![Screenshot_20230427_0656192](https://user-images.githubusercontent.com/125398461/234752684-280b90e8-0b00-4106-b744-b06117821b0f.png) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify.fa.md new file mode 100644 index 0000000..687aaf3 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify.fa.md @@ -0,0 +1,155 @@ +--- +title: آموزش استفاده از دامنه AutoCDN +--- + +
+ +قبل از شروع میتونید ویدئوی زیر را مشاهده کنید تا با کلیت کار آشنا بشید. + + + + + +برای جزییات بیشتر حتما این مقاله را تا آخر مطالعه کنید. + +
+ +
+ +# راهنمای استفاده از حالت auto_cdn_ip در هیدیفای + +همانطور که می دانید یکی از دغدغه های همیشگی کاربران هنگام استفاده از cdn کلادفلر؛ پیدا کردن روزمره آیپی های تمیز است. ما قبلا آموزش هایی در این خصوص ارائه کرده بودیم که راهنمای گام به گام یافتن این آیپی ها بود. می توانید از این لینک آن را مشاهده کنید. +خیلی وقت ها به دلایل متعدد امکان پیدا کردن این آیپی ها فراهم نیست. ما برای رفع این مشکل نیز راهکاری ارائه دادیم. + +قابلیت auto_cdn_ip برای این درست شده تا این مشکل را برای شما حل کنه. در ادامه توضیحات را با دقت مطالعه کنید تا با نحوه تنظیم این قابلیت آشنا بشید. + +## ثبت دامنه در حالت auto_cdn_ip + +برای این کار به منوی دامنه بروید و دکمه ایجاد را بزنید. صفحه زیر برای شما باز می شود. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/229826711-c11f34a4-11dc-4563-9f86-87af2b2bb36a.png) +
+ +
در ادامه هر کدام از قسمت ها مطابق با شماره توضیح داده خواهند شد. + +### ۱. دامنه +در اینجا شما ساب دامنه ثبت شده خود در کلادفلر را وارد کنید. لازم به توضیح است که حتما باید پروکسی روشن باشد. +اگر برای ثبت دامنه نیاز به اطلاعات بیشتر دارید [این لینک](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) را ببینید. + +### ۲. نام نمایشی +با استفاده از این فیلد شما می توانید یک نام دلخواه را برای این دامنه انتخاب کنید. دقت کنید که نام انتخاب شده قبلا برای دامین های دیگر در پنل ثبت نشده باشد. بهتر است از کاراکترهای فونت استاندارد (حروف و عدد) برای این فیلد استفاده شود. + +### ۳. حالت +حالت را همانطور که مشخص است روی auto_cdn_ip قرار دهید. + + +### ۴. اجبار به استفاده از آیپی های زیر در کانفیگ CDN +اگر این فیلد خالی باشد؛ [لیست](https://ircf.space/export.php) آیپی های تمیزی که توسط سایت ircf.space به صورت مرتب بروزرسانی می شوند را تست می کنه و آیپی ای که روی نت کاربر بدون مشکل باشد را برمیگردونه. +
+ +``` +mci.ircf.space MCI +mcix.ircf.space MCI +mtn.ircf.space MTN +mtnx.ircf.space MTN +rtl.ircf.space RTL +mkh.ircf.space MKH +hwb.ircf.space HWB +ast.ircf.space AST +sht.ircf.space SHT +prs.ircf.space PRS +mbt.ircf.space MBT +ask.ircf.space ASK +rsp.ircf.space RSP +afn.ircf.space AFN +ztl.ircf.space ZTL +psm.ircf.space PSM +arx.ircf.space ARX +smt.ircf.space SMT +``` + +
+ + + توجه داشته باشید بین ساب دامین و تگ شبکه یک فاصله قرار داره و هر ردیف مشخص کننده آیپی تمیز برای یک اپراتوره. ردیف ها با اینتر از هم جدا میشن. + +برای آشنایی تگ ها را معرفی می کنیم + +``` +MCI همراه اول +MTN ایرانسل +RTL رایتل +MKH مخابرات +HWB های وب +AST عصر تلکام +SHT شاتل +PRS پارس آنلاین +MBT مبین نت +ASK آسیاتک +RSP رسپینا +AFN افرانت +ZTL زیتل +PSM پیشگامان +ARX آراکس +SMT سامانتل +``` + +همچنین شما می تونید لیست را طبق فرمت زیر با قید ساب دامین مورد نظر و تگ آن شبکه محدود کنید. + +
+ +``` +mcix.ircf.space MCI +mtnx.ircf.space MTN +rtl.ircf.space RTL +``` + +
یعنی طبق این فرمت اپراتورهایی که استفاده می کنید را وارد فیلد شماره ۴ کنید. هر ردیف را با اینتر از هم جدا کنید. + +در صورتی که اپراتور در لیست نباشه؛ از خط اول استفاده میکنه + +همینطور اگر خودتون لیست بهتری از آیپی ها با [روش های آموزش داده شده](/fa/manager/domain-worker-cdn-and-tunneling/Guide-for-finding-a-clean-Cloudflare-IP/) قبلی دارید می تونید طبق همین فرمت ضمن ثبت ساب دامین (پروکسی خاموش) از آن ها استفاده کنید. مثلا: +
+ +``` +mci.yourdomain.com MCI +mtn.yourdomain.com MTN +mkb.yourdomain.com MKB +``` + +
+ +یا حتی می تونید این لیست را به صورت آیپی وارد کنید. فرض کنید آیپی های تمیزی که برای شبکه های مختلف همراه اول؛ ایرانسل و مخابرات پیدا کرده اید؛ به ترتیب `1.1.1.1` ؛ `2.2.2.2` و `3.3.3.3` باشند؛ بنابراین اینطوری واردشون کنید +
+ +``` +1.1.1.1 MCI +2.2.2.2 MTN +3.3.3.3 MKB +``` + +
+ + نکته کلیدی: حتما توجه داشته باشید؛ برای اینکه پنل بتونه آیپی مناسب را تست بگیره و برگردونه ارتباط VPN باید قطع باشه. پس هر وقت اپراتورتون را عوض می کنید یه بار باید ارتباط VPN را قطع کنید در اپلیکیشم کلاینت کانکشن ها را آپدیت کنید تا تست انجام بشه و آیپی مناسب در کانکشن تون تنظیم بشه. + +### ۵. نمایش کانفیگ های دامنه ی +با استفاده از این قسمت می تونید کانفیگ های دامنه های دیگر را محدود کنید. که این فیلد برای هر کاربر و با توجه به شرایط مختلف متفاوت است. برای استفاده های غیر تجاری معمولا نیاز نیست که در این حالت از این فیلد استفاده کنید. + +### ۶. ذخیره +در پایان دکمه ذخیره را بزنید تا تنظیمات دامنه اعمال شوند. + +کار تمام است. حالا می تونید به لینک کاربر برید و کانفیگ های مرتبط با این دامنه را ملاظحه نمایید. + +*** +**نکته :** تفاوت حالت auto_cdn-ip با cdn این است که +* در حالت auto_cdnـip آیپی ای که پیدا میشه را بر میگردونه و در کانفیگ قرار میده. حالا یا از طریق فیلد شماره ۵ یا اگر خالی باشد به صورت خودکار. +* از طرف دیگه؛ حالت cdn اما دامنه را برمیگردونه و در کانفیگ قرار میده.. + +* حالا فرض کنید این دامنه فیلتر شده باشه (مثل دامنه ircf.space که فیلتره) در این حالت اگه از حالت cdn استفاده شده باشه؛ عملا ارتباط کلاینت قطع میمونه چون نمیتونه آیپی را ریزالو کنه. ولی حالت auto_cdn_ip که داره آیپی را هم براتون ریزالو میکنه عملا این محدودیت را هم دور میزنه. + +پس با تمام این توضیحات بهتر هست از حالت auto_cdn_ip به جای cdn استفاده بشه. + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify.md b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify.md new file mode 100644 index 0000000..718b45b --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify.md @@ -0,0 +1,87 @@ +--- +title: How to use AutoCDN IP domain +--- + +
+ + +# How to use AutoCDN IP domain +As you know, one of the constant concerns of users when using Cloudflare cdn; Finding clean IPs everyday. We have previously provided tutorials in this regard, which were a step-by-step guide to finding these IPs. You can see it from this link. Many times it is not possible to find these IPs for many reasons. We also provided a solution to solve this problem. + +The auto_cdn_ip feature was created to solve this problem for you. Read the description carefully to learn how to set this feature. + + +## Domain registration in auto_cdn_ip mode +To do this, go to the domains menu and click the create button. The following page will open for you. + +![Auto_CDB_IP](https://user-images.githubusercontent.com/125398461/229987959-eab8a7c8-1eec-416d-a543-c6af3385d636.png) + +In the following, each part will be explained according to the numbers above. + +## 1. Domain +Here you enter your subdomain registered in Cloudflare. It is necessary to explain that the proxy must be turned on. If you need more information about domain registration, see [this link](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/). + +## 2. Alias +Using this field you can choose a custom name for this domain. Make sure that the chosen name is not already registered for other domains in the panel. It is better to use standard font characters (letters and numbers) for this field. + +## 3. Mode +Set the mode to auto_cdn_ip as specified. + +## 4. Force CDN Config to use following IPs +If this field is empty; It tests the list of clean IPs that are regularly updated by the `ircf.space` site and returns the IP that is on the user's network without problems. + +``` +mci.ircf.space MCI +mcix.ircf.space MCI +mtn.ircf.space MTN +mtnx.ircf.space MTN +rtl.ircf.space RTL +mkh.ircf.space MKH +hwb.ircf.space HWB +ast.ircf.space AST +sht.ircf.space SHT +prs.ircf.space PRS +mbt.ircf.space MBT +ask.ircf.space ASK +rsp.ircf.space RSP +afn.ircf.space AFN +ztl.ircf.space ZTL +psm.ircf.space PSM +arx.ircf.space ARX +smt.ircf.space SMT +``` +Note that there is a space between the subdomain and the network tag, and each row specifies a clean IP for an operator. Rows are separated by spaces. +Also, you can limit the list according to the following format by specifying the desired subdomain and the tag of that network. + +``` +mcix.ircf.space MCI +mtnx.ircf.space MTN +rtl.ircf.space RTL +``` + +That is, according to this format, enter the operators you use in field number 4. Separate each row with a space. + +If the operator is not in the list; It uses the first line. + +Also, if you have a better list of IPs with the previously taught methods, you can use them according to the same format while registering the subdomain (proxy off). For example: + +``` +mci.yourdomain.com MCI +mtn.yourdomain.com MTN +mkb.yourdomain.com MKB +``` +Or you can even enter this list as IP. Suppose the clean IPs for 3 different networks are respectively `1.1.1.1` ; `2.2.2.2` and `3.3.3.3` ; So enter them like this: +``` +1.1.1.1 MCI +2.2.2.2 MTN +3.3.3.3 MKB +``` +Key point: be sure to pay attention; In order for the panel to be able to test and return the correct IP, the VPN connection must be disconnected. So, whenever you change your operator, you have to disconnect the VPN connection and update the connections in the client application so that the test is done and the appropriate IP is set in your connection. + +## 5. Show Configs of Domains +Using this section, you can limit the configurations of other domains. This field is different for each user and according to different conditions. For non-commercial uses, you usually do not need to use this field in this case. + +## 6. Submit +At the end, click the save button to apply the domain settings. + +The work is done. Now you can go to the user link and view the configurations related to this domain. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager.fa.md new file mode 100644 index 0000000..d2e276d --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager.fa.md @@ -0,0 +1,34 @@ +--- +title: نحوه افزودن سرور (دامنه) میانی به هیدیفای‌منیجر +--- + +# نحوه افزودن سرور (دامنه) میانی به هیدیفای‌منیجر +فرض کنیم که شما سرور میانی خود را با استفاده از یکی از روش‌های زیر و یا هر روش دیگری راه‌اندازی نموده‌اید. + +1. [راه‌اندازی سرور میانی با استفاده از سازنده سرور میانی هیدیفای (همه روش‌ها در یک اپ)](/fa/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder/) +2. [راه‌اندازی سرور میانی به روش IP-Tables](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server/) +3. [راه‌اندازی سرور میانی به روش GOST](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server/) +4. [راه‌اندازی سرور میانی به روش WST](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server/) +5. [راه‌اندازی سرور میانی به روش Dokodemo-Door](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server/) +6. [راه‌اندازی سرور میانی به روش HA-Proxy](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server/) + +برای افزودن آن سرور به هیدیفای‌منیجر و استفاده از کانفیگ های آن کافیست مراحل زیر را دنبال نمایید. + +## تعریف سرور میانی در هیدیفای‌منیجر +حالا برای آیپی سرور میانی (ایران) خود یک ساب‌دامین با پروکسی خاموش ثبت نمایید و آن را در هیدیفای‌منیجر روی حالت `سرور میانی` ثبت نمایید. +- ساب‌دامین ثبت شده را در فیلد `دامنه` قرار دهید و یک `نام نمایشی` نیز برای نمایش در کانفیگ‌ها می‌توانید تعیین نمایید. + + + +## افزودن کانفیگ‌های `سرور میانی` جهت استفاده به لینک سابسکریپشن + +همانند همیشه در هیدیفای‌منیجر بهتر است کانفیگ‌ها را از لینک سابسکریپشن جدا کنید. بنابراین برای دامنه `سرور میانی` ثبت شده نیز می‌توانید در تنظیمات دامنه مربوط به سابسکریپشن، تیک مربوط به دامنه `سرور میانی` را بزنید تا کانفیگ‌های آن به دامنه سابسکریپشن اضافه گردند. + +فرض شود که دامنه مربوط به سابسکریپشن `sublink.hiddify.com` باشد، مطابق با تصویر زیر جلو بروید تا کار انجام شود. + + + +حالا اگه صفحه کاربر را با دامین سابسکریپشن (در اینجا `sublink.hiddify.com`) باز نمایید خواهید دید که کانکشن‌های مربوط به `سرور میانی` نیز اضافه شده‌اند. می‌توانید این کانکشن‌ها را به صورت تک تک و یا با استفاده از لینک‌های سابسکریشن به کلاینت خود اضافه نمایید و استفاده نمایید. + + + diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager.md new file mode 100644 index 0000000..d388030 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager.md @@ -0,0 +1,32 @@ +--- +title: How to add a relay server (domain) to HiddifyManager +--- + + +# How to add a relay server (domain) to HiddifyManager +Let's assume that you have set up your middle server using one of the following methods or any other method. + +1. [Setting up a relay server using Hiddify Relay Builder (all in one app)](/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder/) +2. [Setting up a relay server using the IP-Tables method](/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server/) +3. [Setting up a relay server using the GOST method](/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server/) +4. [Setting up a relay server using the WST method](/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server/) +5. [Setting up a relay server using the Dokodemo-Door method](/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server/) +6. [Setting up a relay server using the HA-Proxy method](/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server/) + +To add that server to HiFi Manager and use its configurations, just follow the steps below. + +## Adding Relay server to HiddifyManager +Now, register a subdomain with the proxy off for your relay server IP and register it in Hiddify Manager on `Relay` mode. +- Put the registered subdomain in the `Domain` field and you can also set a `Alias` to display in the configurations. + + + +## Adding `Relay` configurations to subscription link + +As always in HiddifyManager, it is better to separate the configs from the subscription link. Therefore, for the registered `Relay` domain, you can check the `Relay` domain in the subscription domain settings so that its configurations are added to the subscription domain. + +Assuming that the subscription domain is `sublink.hiddify.com`, proceed as shown below to get the job done. + + + +Now, if you open the user page with the subscription domain (here `sublink.hiddify.com`), you will see that the connections related to the `relay server` have also been added. You can add and use these connections individually or using subscription links to your client. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain.fa.md new file mode 100644 index 0000000..fc6afe8 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain.fa.md @@ -0,0 +1,67 @@ +--- +title: نحوه ایجاد و استفاده از دامنه فیک +--- + +
+# نحوه ایجاد و استفاده از دامنه فیک + +## ثبت دامنه گمراه‌کننده (Fake) +همانطور که از اسمش مشخص است ما میخواهیم از یک دامنه جعلی که مربوط به خودمان نبست استفاده کنیم بنابراین نیاز نیست آن را از قبل ثبت نماییم. بلکه فقط می‌توانیم آن را در پنل استفاده کنیم. +* برای ایجاد دامنه گمراه‌کننده یا فیک در بخش تنظیمات، به منوی دامنه‌ها مراجعه کنید. + +
+![fake-domain1](https://github.com/hiddify/Hiddify-Manager/assets/125398461/1fbf87ca-51a2-402c-8a4a-f3ae7539b75f) +
+ +* روی `ایجاد` کلیک کنید. + +* از فیلد حالت، `گمراه‌کننده (Fake)` را انتخاب نمایید. + + +
+![fake-domain2](https://github.com/hiddify/Hiddify-Manager/assets/125398461/2909f5e3-4966-4b71-a310-8e28b2d8cc99) +
+ +* دامنه فیک مورد نظر خود را در فیلد `دامنه` قرار دهید. در صورت نیاز به استفاده از دامنه سرور به جای آیپی، فیلد `اجبار به استفاد` را به دامنه دایرکت سرور خود تکمیل نمایید. + +
+![fake-domain3](https://github.com/hiddify/Hiddify-Manager/assets/125398461/027ff3f6-3baf-422f-afad-d6bbdb2fd818) + +
+ + +در [اینجا](https://gist.github.com/ofou/654efe67e173a6bff5c64ba26c09d058) می‌توانید لیستی از سایت‌ها و پورت‌ها جهت استفاده به عنوان دامنه فیک را مشاهده کنید. + + + + +* در آخر، روی `ذخیره` کلیک نمایید تا دامنه فیک شما ثبت شود. + +## اتصال دامنه فیک به دامنه سابسکریپشن +* برای استفاده از کانفیگ‌های دامنه فیک ثبت شده می‌بایست دامنه سابسکریپشن خود را ویرایش نمایید و از فیلد `نمایش کانفیگ‌های دامنه` دامنه فیک را اضافه نمایید. + +
+![add configs to sublinks](https://user-images.githubusercontent.com/125398461/243319923-4b29da66-2775-43ec-9e6f-fa4d6fd23162.png) + +
+ +* کار تمام است کانفیگ‌های فیک به لینک سابسکریپشن اضافه شدند. کافیه لینک سابسکریپشن را آپدیت نمایید. + + +## تنظیمات بخش پروکسی +* برای اطمینان از فعال بودن پروکسی‌های فیک ایجاد شده، در بخش تنظیمات، وارد منوی `پروکسی‌ها` شوید. +* از بخش `تنظیمات عمومی` چک کنید که `HTTP` فعال باشد. +* در صورتی که بخواهید از VMess استفاده نمایید، از بخش `تنظیمات عمومی` چک کنید که `VMess` فعال باشد. + +
+![general settings of proxies](https://github.com/hiddify/Hiddify-Manager/assets/125398461/e3493791-93fd-4676-85ab-1fdb6546d092) + + + +
+ +* در بخش پروکسی‌های دایرکت هم چک کنید که پروکسی‌های زیر روشن باشند. + +
+![direct configs in proxy menu](https://github.com/hiddify/Hiddify-Manager/assets/125398461/7707d08d-f4ba-4875-b06a-32302817d31f) +
\ No newline at end of file diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain.md new file mode 100644 index 0000000..09049da --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-and-use-fake-domain.md @@ -0,0 +1,64 @@ +--- +title: How to create and use fake domain +--- + +
+ + +# How to create and use fake domain + +## Creating fake domain +As the name suggests, we want to use a fake domain that is not related to us, so we don't need to register it in advance. But we can only use it in the panel. + +* To create a misleading or fake domain in the settings section, refer to the domains menu. + +
+![fake-domain1-en](https://github.com/hiddify/Hiddify-Manager/assets/125398461/3f8ee165-5ea9-41d5-b64d-60cefb95828d) + +
+ +* Click `Create`. + +* Select `Fake Site` from the `Mode` field. + +
+![fake-domain2-en](https://github.com/hiddify/Hiddify-Manager/assets/125398461/147cb16c-29ca-40ba-bfdb-1ac6243a34a2) +
+ +* Put the fake domain you want in the `Domain` field. If you need to use the server domain instead of the IP, complete the `Force Config to Use Following IPs` field to the domain of your direct server. + +
+![fake-domain3-en](https://github.com/hiddify/Hiddify-Manager/assets/125398461/db2b1523-c954-4203-aebe-76a895c370f2) +
+ +[here](https://gist.github.com/ofou/654efe67e173a6bff5c64ba26c09d058) you can see a list of sites and ports to use as fake domains. + +* Finally, click on `Save` to register your fake domain. + +## Connecting the fake domain to the subscription domain +* To use the registered fake domain configurations, you need to edit your subscription domain and add the fake domain from `Show Configs of Domains`. + +
+![](https://user-images.githubusercontent.com/125398461/247821040-b0749490-6e4e-43aa-b9b4-ab721cceb6b8.png) + +
+ +* The work is done, the fake configs have been added to the subscription link. Just update the subscription link on your client application. + + +## Proxy section settings +* To make sure that the created fake proxies are active, enter the proxies menu in the settings section. +* Check that `http` is enabled from the `Global Configs` section. +* If you want to use VMess, check that `VMess` is active in the `Global Configs` section. + +
+![Global settings of Proxies](https://github.com/hiddify/Hiddify-Manager/assets/125398461/357a290d-799d-4f71-b956-b734915d137b) + +
+ +* In `Direct` section, check that the following proxies are enabled. + +
+![](https://user-images.githubusercontent.com/125398461/282223262-7707d08d-f4ba-4875-b06a-32302817d31f.png) + +
\ No newline at end of file diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify.fa.md new file mode 100644 index 0000000..1b8f2a0 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify.fa.md @@ -0,0 +1,37 @@ +--- +title: آموزش ایجاد لینک سابسکریپشن در ‌هیدیفای‌منیجر +--- + +
+ + +# آموزش ایجاد لینک سابسکریپشن در ‌هیدیفای‌منیجر +هیدیفای بر این اساس پایه‌گذاری شده است که احتمال فیلتر شدن سرور را تا جای ممکن کاهش یابد. یکی از راه‌های کاربردی در این زمینه، جدا کردن کانفیگ‌ها از لینک‌های سابسکریپشن یا اشتراک است. در این صورت همیشه کلاینت شما آخرین اطلاعات کانفیگ‌ها را از طریق لینک سابسکریپشن دریافت می‌کند. شماتیک مربوط به این کار به شکل زیر است. + +![شماتیک استفاده از کانکشن_ها در هیدیفای](https://github.com/hiddify/hiddify-config/assets/125398461/0549ee7b-a2c1-4a42-a7d4-437587928c40) + +همانطور که در شکل بالا می‌بینید، لینک سابسکریپشن به صورت مجزا از سرور به سمت کاربران ارتباط دارد و وظیفه این لینک، انتقال اطلاعات مربوط کانکشن‌های مختلف از جمله CDN، AutoCDN، Relay و ... می‌باشد. یعنی خود کانکشن‌ها به صورت جداگانه ارنباط بین سرور و کلاینت را برقرار می‌کنند و لینک سابسکریپشن اطلاعات مربوط به این کانکشن‌ها را به از سرور به کلاینت منتقل می کند. مثلا اگر آیپی تمیز جدیدی در کانکشن CDN قرار می‌گیرد، اطلاعات مربوط به این آیپی جدید از طریق لینک سابسکریپشن به کلاینت شما منتقل می‌گردد. از رف دیگر، کلاینت‌ها توسط کانکشن‌های مختلف که جدا از لینک سابسکریپشن هستند، به سمت اینترنت آزاد می‌روند. با این روش اطلاعات لینک‌های سابسکریپشن (اشتراک) از کانکشن‌ها (کانفیگ‌ها) جدا می‌شود و چون ترافیک کانفیگ‌ها روی این لینک‌ها قرار نمی‌گیرد، بنابراین استفاده از لینک‌های سابسکریپشن در هیچ صورت فیلتر نمی‌شوند و همواره در دسترس خواهند بود. + +## چگونگی ایجاد دامنه برای لینک سابسکریپشن در هیدیفای +برای این کار در `تنظیمات` به بخش `دامنه‌ها` بروید و روی `ایجاد` کلیک کنید. + + +![Screenshot_20230605_13162fgh0 (2)](https://github.com/hiddify/hiddify-config/assets/125398461/4b29da66-2775-43ec-9e6f-fa4d6fd23162) + +- کافیه حالت دامنه را روی `فقط برای لینک ساب` قرار دهید. +- برای فیلد `نام نمایشی` هم در صورت تمایل یک نام انتخاب کنید. این نام صرفا جهت نمایش استفاده می‌شود. +> دقت شود که از کاراکترهای استاندارد مثل حروف و اعداد استفاده شود. +- و در آخر با استفاده از فیلد `نمایش تنظیمات دامنه` دامنه‌هایی که قبلا برای کانکشن‌های مختلف ساخته بودید را انتخاب کنید. یعنی مثلا قبلا چند دامنه برای CDN یا ورکر ساخته‌اید که کانکشن‌های متفاوت ایاد کنید. از ریق این فیلد آن دامنه‌ها را به دامنه مربوط به لینک سابسکریپشن متصل نمایید. +- سپس `ثبت` را بزنید و در صورت نمایش پیغام `اعمال تغییرات` را بزنید. +کار تمام است. یک دامنه مجزا برای لینک‌های اشتراک ایجاد نمودید و آن را به کانفیگ‌ها نیز متصل کردید. + + +همچنین می‌توانید از یک سایت PHP برای لینک سابسکریپشن استفاده کنید که در این صورت شماتیک آن به این شکل خواهد بود + + +![شماتیک استفاده از سایت PHP](https://github.com/hiddify/hiddify-config/assets/125398461/d8a1bc7b-dd3a-413d-913a-5d22d7120c3a) + + + + +برای آموزش آن، [اینجا](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links/) بروید. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify.md new file mode 100644 index 0000000..87fd4bb --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-create-subscription-link-on-Hiddify.md @@ -0,0 +1,35 @@ +--- +title: How to create subscription link on HiddifyManager +--- + +
+ +# How to create subscription link on Hiddify +Hiddify is based on the principle of reducing the possibility of server filtering as much as possible. One of the practical ways in this field is to separate the configs from the subscription links. In this case, your client will always receive the latest configuration information through the subscription link. The schematic related to this work is as follows. + +![sub link schematic](https://github.com/hiddify/hiddify-config/assets/125398461/9046fa04-81dd-4c98-8e65-30e7b5402d66) + + + +As you can see in the figure above, the subscription link is connected separately from the server to the users, and the task of this link is to transfer information about various connections such as CDN, AutoCDN, Relay, etc. That is, the connections themselves establish the connection between the server and the client separately, and the subscription link transfers the information related to these connections from the server to the client. For example, if a new clean IP is placed in the CDN connection, the information about this new IP is transferred to your client through the subscription link. On the other hand, clients go to the free Internet through different connections that are separate from the subscription link. With this method, the information of the subscription links (subscription) is separated from the connections (configs) and because the traffic of the configs is not placed on these links, the use of the subscription links will not be filtered in any way and will always be available. + +## How to create domain for subscription link on Hiddify +To do this, go to the `Domains` section in the `Settings` and click on `Create`. + +![Domain settings](https://github.com/hiddify/hiddify-config/assets/125398461/b0749490-6e4e-43aa-b9b4-ab721cceb6b8) + +- Just set the domain mode to `sub link only`. +- For the `Alias` field, choose a name if you wish. This name is used for display only. + +> Make sure to use standard characters such as letters and numbers. + +- And finally, using `Show Configs of Domains`, select the domains that you previously created for different connections. That is, for example, you have already created several domains for CDN or worker to provide different connections. From this field, connect those domains to the domain corresponding to the subscription link. +- Then press `Save` and press `Apply Changes` if the message appears. The work is done. You created a separate domain for subscription links and attached it to the configs. + +You can also use a PHP site for the subscription link, in which case the schematic will look like this. + +![php sub link schematic](https://github.com/hiddify/hiddify-config/assets/125398461/0eb1634e-f6b9-4f67-86ae-9bc8d239a7b4) + + +For its tutorial, go [here](/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links/). + diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers.fa.md new file mode 100644 index 0000000..b5d2496 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers.fa.md @@ -0,0 +1,170 @@ +--- +title: آموزش تنظیم و استفاده از ورکرز در هیدیفای‌منیجر (روش دستی) +--- + + +
+ +# آموزش تنظیم و استفاده از ورکرز در هیدیفای‌منیجر (روش دستی) + + +## ورکرز چیست؟ +ورکرز یکی از سرویس های CDN معروف Cloudflare است که در واقع یک سرویس بدون سرور یا Serverless می باشد و از طریق آن می‌توان کدهای برنامه نویسی را اجرا نمود بدون آنکه نیاز به پیکربندی سرور و یا زیرساخت باشد. در حقیقت این سرویس یک نوع رایانش ابری مبتی بر SaaS می باشد. + +به عبارت دیگه روش کار ورکرز بدین صورت است که به جای اینکه بخواهید مستقیما وبسایت خود (در اینجا پنل هیدیفای) را باز نمایید؛ درخواست ها را به ورکرز می فرستید و سپس ورکرز درخواست ها را مجددا به سمت دامنه و سرور شما ارسال می کند. + + +![](https://user-images.githubusercontent.com/125398461/224561104-dafc3e89-1c0d-4afc-82eb-cce1cec6933a.png) + +در اینجا هدف از این کار مخفی کردن دامنه پشت ورکرز است. + +## چگونه از ورکرز استفاده کنید؟ +برای استفاده از ورکرز نیاز دارید که یک دامنه فعال روی کلادفلر داشته باشید. + +## ثبت دامنه و زیر دامنه روی کلادفلر +در اینجا به یک دامنه خریداری شده نیاز دارید و نیاز دارید که آن را در کلادفلر ثبت نمایید. +اگر در خصوص دامنه و نحوه ثبت آن ابهامی دارید؛ [این مطلب](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) را مطالعه کنید. + +طبق توضیحات مربوط به نحوه ثبت دامنه وارد اکانت خود در کلادفلر شوید. + +![221572305-50e819ea-0fa4-4548-8851-aab91b797f57](https://user-images.githubusercontent.com/125398461/224561629-dd0be4b5-9345-43b7-aa81-a3bfaaaf5899.png) + + +وارد دامنه ثبت شده شوید و در قسمت DNS یک زیردامنه جدید ثبت نمایید. + +![](https://user-images.githubusercontent.com/125398461/224561952-cbb99885-46f7-49e2-874d-f48e5b0c9b0d.png) + + +> الزامی وجود ندارد که پروکسی روشن باشد. ورکرز با هر دو حالت پروکسی روشن و خاموش کار می کند. + +![](https://user-images.githubusercontent.com/125398461/224562373-5201f8b6-5d5c-492f-a6b9-9c4366d4f9db.png) + +پس از ثبت ساب دامنه باید تنظیمات سرتیفیکت را انجام دهید.. + +## تنظیم سرتیفیکت دامنه +در تنظیمات سرتیفیکت دامنه در سایت کلادفلر بروید و سرتیفیکت را روی `Full` بگذارید. +
+ +
+![](https://user-images.githubusercontent.com/125398461/235835085-8d9c9ea5-16f2-4782-bfa2-4cc010d7367c.png) + +
+ +
+## ساخت سرویس ورکرز + +به بخش ورکرز در صفحه داشبورد خود در کلادفلر بروید. + +![](https://user-images.githubusercontent.com/125398461/224562657-f433fff0-d4a1-4fe6-95e0-5f4e17337c3d.png) + +سپس گزینه Create a Service را انتخاب نمایید. + +![Screenshot_20230312_211625](https://user-images.githubusercontent.com/125398461/224562813-20dc1a02-8d93-446b-a7d9-d90fbae3cda3.png) + +در اینجا شما می توانید نام سرویس ورکرز خود را انتخاب نمایید. کلادفلر خود نیز یک نام به شما پیشنهاد می دهد. می توانید آن را تغییر دهید اما توجه داشته باشید که این نام باید منحصر به فرد باشد. + +![](https://user-images.githubusercontent.com/125398461/224563236-dc4c5497-b179-46f4-ae53-9c003d3789d6.png) + + +گزینه Starter نیز روی HTTP handler باشد. در آخر با انتخاب Create service سرویس ورکرز شما ایجاد می گردد. + +بعد از آن باید روی دکمه Quick edit کلیک کنید تا بتوانید کد دلخواه خود را در ورکرز قرار دهید. + + +![](https://user-images.githubusercontent.com/125398461/224563711-3675b1dc-5f50-4c34-94b3-d47f5a00f7c8.png) + +در صفحه ادیت ورکرز قسمت سمت چپ کدهای دیفالت را پاک کنید. + +![](https://user-images.githubusercontent.com/125398461/224564027-10fb94b7-770f-4a44-82e6-c414469a72f4.png) + +سپس کد زیر را به جای آن قرار دهید. + +
+ +``` +addEventListener( + "fetch", event => { + + const ip = event.request.headers.get('cf-connecting-ip') || event.request.headers.get('x-forwarded-for') || (event.request.socket && event.request.socket.remoteAddress); + let url = new URL(event.request.url); + const worker_domain=url.hostname; + url.hostname = "sub.domain.com"; + url.protocol = event.request.headers.get('x-forwarded-proto') || "https"; + let request = new Request(url, event.request); + if (ip) + request.headers.set('cf-connecting-ip', ip); + request.headers.set('Host', worker_domain); + event.respondWith( + fetch(request) + ) + } +) +``` + +
+> دقت شود: +* در خط ششم باید دامنه ثبت شده در مرحله اول را برای مقدار `url.hostname` قرار دهید. +یعنی مثلا ساب دامین `sub.domain.com` را در کلادفلر طبق توضیحات مرحله اول ثبت کرده‌اید؛ در اینجا نیاز دارید آن دامنه را برای مقدار `url.hostname` قرار دهید. + +![final_status](https://user-images.githubusercontent.com/125398461/232571080-6e001a84-ec55-42f1-b424-e592a57a4212.png) + + + +دکمه Save and deploy را کلیک کنید. + +**نکته خیلی مهم: اگر در مرحله ذخیره کد در قسمتی که نتیجه اجرای کد را نمایش می دهد (که در تصویر بالا سمت راست تصویر مشخص شده) خطایی نمایش داد نگران نباشید. کد را ذخیره کنید.** + +در صفحه ورکرز آدرس ورکرز خود را بدون `https` کپی کنید. مثلا اینطوری: + +![](https://user-images.githubusercontent.com/125398461/224895042-d6a4e78b-f98f-4b9f-b6ad-a733eff3213a.png) + +این مرحله با موفقیت به اتمام رسید. حالا باید آدرس سرویس ورکرز خود را در پنل هیدیفای ثبت کنید. + +### ثبت ورکرز در هیدیفای + +به منوی دامنه ها بروید و روی ایجاد کلیک کنید. + + + + +![](https://user-images.githubusercontent.com/125398461/224565137-834f8fbb-5d8f-4fd0-bf98-0571fed2e542.png) + +تنظیمات را مطابق با عکس بالا انجام دهید و ذخیره نمایید. + +> توجه: از هر دو حالت CDN و AutoCDN می‌توانید برای ورکرز استفاده کنید. + +کار تمام شد. یک دامنه CDN با مشخصات ورکرز شما به دامین های قبلی شما اضافه شد و می توانید از کانکشن های آن استفاده نمایید. + + + +> نکته پایانی و مهم: +* ورکرز در پلن رایگان به صورت روزانه فقط ۱۰۰ هزار درخواست را پردازش می کند بنابراین این سرویس به درد کسانی میخورد که ترافیک بالایی روی سرور خود ندارند. + +
+ +
+![](https://user-images.githubusercontent.com/125398461/235835675-e454ba05-29ad-4b53-9cf9-f23f4c225ef6.png) + + +
+ +
+## اضافه کردن کانفیگ‌های ورکرز به دامین مربوط به لینک‌های سابسکریپشن + + +همانطور که احتمالا می‌دانید، در هیدیفای شما می‌توانید لینک‌های سابسکریپشن را روی یک دامنه مجزا قرار دهید و دامنه‌های دیگر که برای کانکشن‌ها تنظیم شده است را به این دامنه اضافه نمایید. مزیت این کار این است که همیشه دامنه لینک‌ها در دسترس خواهد بود و فیلتر نخواهد شد چون با این روش، کانکشن‌ها از لینک‌های سابسکریپشن جدا می‌شوند. + +خب فرض کنید دامنه لینک‌های سابسکریپشن ما که قبلا ثبت نموده اید، `t1.hiddify.com` باشد. به تنظیمات مربوط به این دامنه بروید و در فیلد نمایش کانفیگ‌های دامنه، دامنه جدیدی که در مرحله قبل برای ورکرز اضافه نموده بودید را مثل شکل زیر تیک بزنید. + +![](https://github.com/hiddify/hiddify-config/assets/125398461/b5fa6070-167b-4143-a4d4-3247fb78f735) + +در نهایت اگر به صفحه کاربران بروید و مثل شکل زیر روی لینک کاربر کلیک کنید، + +![](https://github.com/hiddify/hiddify-config/assets/125398461/11489c60-e89a-445b-9281-270959869e30) + +خواهید دید که کانفیگ‌های جدید مربوط به ورکرز به کانفیگ‌های قبلی اضافه شده‌اند. + + +![Screen Shot 1402-02-29 at 10 46 16](https://github.com/hiddify/hiddify-config/assets/125398461/25ba5f2e-b309-47ad-ad98-35edea4feb83) + + diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers.md new file mode 100644 index 0000000..3d49b03 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers.md @@ -0,0 +1,152 @@ +--- +title: How to setup and use Cloudflare workers (Manual way) +--- + +
+ + +# How to set up and use Cloudflare workers (Manual way) +Workers is one of Cloudflare's famous CDN services, which is actually a server-less service, through which programming codes can be executed without the need for server or infrastructure configuration. In fact, this service is a type of cloud computing based on SaaS. + +In other words, the working method of Workers is that instead of trying to open your website (here Hidify panel) directly; You send requests to workers and then workers re-send requests to your domain and server. + +![](https://user-images.githubusercontent.com/125398461/224561104-dafc3e89-1c0d-4afc-82eb-cce1cec6933a.png) + +The purpose here is to hide the domain behind the workers. + +## How to use a Workers? +To use a Worker you need to have an active domain on the Cloudflare. + +## Domain and subdomain registration on Cloudflare +Here you need a purchased domain and you need to register it in the Cloudflare. If you have any ambiguity about the domain and how it is registered; Read [this](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/). + +Sign in to your account in your account according to the description of how to register your domain. + +![](https://user-images.githubusercontent.com/125398461/224561629-dd0be4b5-9345-43b7-aa81-a3bfaaaf5899.png) + +Enter the registered domain and register a new subdomain in the DNS section. + +![](https://user-images.githubusercontent.com/125398461/224561952-cbb99885-46f7-49e2-874d-f48e5b0c9b0d.png) + +There is no need for the proxy to be `ON`. The Worker works with both proxy modes (ON and OFF). + + +![](https://user-images.githubusercontent.com/125398461/236729724-3c4c85e9-046b-4285-9d92-4bc4d9506091.png) + +After registering a sub domain, you must change certificate settings. + +## Setting up domain certificate +Set the certificate setting of your domain to `Full`. + +
+ +![](https://user-images.githubusercontent.com/125398461/235835085-8d9c9ea5-16f2-4782-bfa2-4cc010d7367c.png) +
+ +## Creating Worker service +Go to the Worker section on your dashboard page on Cloudflare. + +![](https://user-images.githubusercontent.com/125398461/224562657-f433fff0-d4a1-4fe6-95e0-5f4e17337c3d.png) + +Then select the `Create a Service` option. + +![](https://user-images.githubusercontent.com/125398461/224562813-20dc1a02-8d93-446b-a7d9-d90fbae3cda3.png) + +Here you can choose the name of your Worker service. Cloudflare also offers you a name. You can change it, but note that this name should be unique. + +![Picture](https://user-images.githubusercontent.com/125398461/236729831-7ecba946-b031-46c1-b370-0df1dae47385.png) + +The `Starter` option should be also on `HTTP Handler`. Finally, by selecting the `Create service`, your Worker service will be created. + +Then you need to click the `Quick Edit` button to put your favorite code in the Worker. + + +![Imgage](https://user-images.githubusercontent.com/125398461/236729939-ca4f2378-91a2-447f-80fd-9f1ff79f83fe.png) + + +On the editing page of the Worker, wipe the default codes on the left side. + + +![Image](https://user-images.githubusercontent.com/125398461/236730008-7ffa12a1-84de-44d2-8c16-ae8e757d77b6.png) + +Then put the following code in its place. + +``` +addEventListener( + "fetch", event => { + + const ip = event.request.headers.get('cf-connecting-ip') || event.request.headers.get('x-forwarded-for') || (event.request.socket && event.request.socket.remoteAddress); + let url = new URL(event.request.url); + const worker_domain=url.hostname; + url.hostname = "sub.domain.com"; + url.protocol = event.request.headers.get('x-forwarded-proto') || "https"; + let request = new Request(url, event.request); + if (ip) + request.headers.set('cf-connecting-ip', ip); + request.headers.set('Host', worker_domain); + event.respondWith( + fetch(request) + ) + } +) + +``` + +Note: +- In the sixth line, you must put the registered domain for the `url.hostname` value. That is, for example, you have registered the subdomain `sub.domain.co`m in Cloudflare according to the description of the first step; Here you need to put that domain for the `url.hostname` value. + +![Image](https://user-images.githubusercontent.com/125398461/236730073-2d3a5e99-9a38-4e73-b3b6-9d962acee957.png) + + +Click the `Save and deploy` button. + +**A very important note: Do not worry if an error is displayed in the section that displays the result of the code execution (shown in the upper right of the image) at the stage of saving the code. Save the code and continue.** + +On the workers page, copy your workers address without `https`. For example, like this: + +![Image](https://user-images.githubusercontent.com/125398461/236730138-16641a29-82e8-4276-8f8e-9c16f1bd4348.png) + + +This step was completed successfully. Now you have to register the address of your Workers service on Hiddify panel. + + +## Workers setting up on Hiddify +Go to the Domains menu and click `Create`. + +![Image](https://user-images.githubusercontent.com/125398461/236730761-5b3ae32d-c67f-4e54-96b4-fe1a034da834.png) + + +Make the settings according to the picture above and save it. + +> Note: You can use CDN and AutoCDN modes + +Work is finished. A CDN/AutoCDN domain with the details of your workers has been added to your previous domains and you can use its connections. + + +> Important point: +Workers in the free plan only processes 100,000 requests per day, so this service is useful for those who do not have high traffic on their server. + + + +
+ +![](https://user-images.githubusercontent.com/125398461/235835675-e454ba05-29ad-4b53-9cf9-f23f4c225ef6.png) + + +
+ +## Adding the configurations of Workers to the domain related to subscription links + +As you probably know, in Hiddify you can put subscription links on a separate domain and add other domains that are set for connections to this domain. The advantage of this is that the domain of subscription links will always be available and will not be filtered because this way separates connections from subscription links. + +Well, suppose the domain of our subscription links that you have already registered is `t1.hiddify.com`. Go to the settings related to this domain and in the `Show Configs of Domains` field, check the new domain that you added in the previous step for Workers as shown below. + +![](https://github.com/hiddify/hiddify-config/assets/125398461/e0037530-fcb7-4aed-968f-a75d2978c2bb) + +Finally, if you go to the users' page and click on the user link as shown below, + +![](https://github.com/hiddify/hiddify-config/assets/125398461/72bcfe5a-4761-49a7-b68e-e4e3f75fed48) + +You will see that the new configs related to Workers have been added to the previous configs. + +![](https://github.com/hiddify/hiddify-config/assets/125398461/9c1f324a-acf1-46b1-9dfe-10fc1313051b) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder.fa.md new file mode 100644 index 0000000..7b024f2 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder.fa.md @@ -0,0 +1,287 @@ +--- +title: آموزش راه‌اندازی سرور میانی با استفاده از سرور میانی ساز هیدیفای (همه روش‌ها در یک اپ) +--- + +# آموزش راه‌اندازی سرور میانی با استفاده از سرور میانی ساز هیدیفای (همه روش‌ها در یک اپ) +برای نصب و راه‌اندازی راحت‌تر سرور میانی، این اپلیکیشن ایجاد شده است که با استفاده از روش‌های زیر سرور را راه‌اندازی می‌کند و تانل برقرار می‌شود. + +1. روش IP-Tables +2. روش GOST +3. روش Dokodemo-Door +4. روش HA-Proxy +5. روش Socat +6. روش WST + +در ادامه بر اساس نیاز خود یکی از روش‌های گفته شده را دنبال کنید تا سرور میانی به روش مورد نظر ایجاد گردد. + +همچنین در این ابزار امکان انجام تنظیمات پایه و تست ارتباط نیز وجود دارد. + +## ⚙️ نصب و راه‌اندازی +برای ایجاد تانل در سرور میانی خود، فقط باید دستور زیر را اجرا کنید. + +``` +bash -c "$(curl -L https://raw.githubusercontent.com/hiddify/hiddify-relay/main/install.sh)" +``` +
+ + Relay-Builder Menu +
+ +

🛠️ تانل IP-Tables

(کلیک کنید)
+طبق تصویر اول بالا، گزینه `IP-Tables` را انتخاب کنید تا بتوانید `IP-Tables tunnel` را مدیریت کنید. + +
+ + IP-Tables Tunnel Menu + +
+
+ +`Install` + +بعد از انتخاب گزینه `Install` در `IP-Tables Menu`، آیپی مربوط به سرور اصلی را باید انتخاب کنید تا تانل روی پورت‌های `443` و `80` فعال گردد. + +`Status` + +این گزینه به شما پورت‌های مورد استفاده در تانل IP-Tables را نشان می‌دهد. + +`Uninstall` + +این گزینه همه قواعد ایجاد شده در IP-Tables را پاک می‌کند. + +!!! tip "نکته!" + دقت داشته باشید که اگر قواعد خاصی در کنار تانل به صورت دستی ایجاد کرده باشید با این دستور پاک خواهند شد. + +`Back` + + +به منظور بازگشت به منوی اصلی گزینه `Back` را انتخاب نمایید. + +
+ + +

🛠️ تانل GOST

(کلیک کنید)
+طبق تصویر اول بالا، گزینه `GOST` را انتخاب کنید تا بتوانید `GOST tunnel` را مدیریت کنید. + +
+ +GOST Tunnel Menu + +
+ +`Install` + +- پس از انتخاب گزینه `Install`، منتظر بمانید تا تانل نصب شود. +- بعد از اتمان نصب، در قدم اول می‌بایست پورت‌های مورد نظر برای تانل را انتخاب نمایید. +- سپس ساب‌دامین مربوط به سور راصلی را انتخاب کنید تا تانل آغاز به کار نماید. +- بعد از آغاز به کار تانل، پیغام `Gost tunnel is installed and activated` روی صفحه ظاهر می‌شود. + + +`Status` + +بعد از انتخاب این گزینه، پورت‌های مورد استفاده و وضعیت تانل روی صفحه نمایش داده می‌شود. + +`Add` + +- از این گزینه برای اتصال سرور میانی به چندین سرور خارجی می‌توان استفاده نمود. +- بعد از انتخاب گزینه `Add`، می‌بایست پورت جدید و دامنه مربوط به سرور اصلی را وارد نمایید. +- برای اطمینان از انجام صحیح این کار می‌توان از گزینه `Status` استفاده نمود و پورت‌ها و وضعیت تانل را طبق این گزینه چک نمود. + + +`Uninstall` + +با استفاده از این گزینه می‌توان تانل GOST را از سرور میانی حذف نمود. + +`Back` + + +به منظور بازگشت به منوی اصلی گزینه `Back` را انتخاب نمایید. + + +
+ +

🛠️ تانل Dokodemo-Door

(کلیک کنید)
+طبق تصویر اول بالا، گزینه `Dekodemo-Door` را انتخاب کنید تا بتوانید `Dekodemo-Door tunnel` را مدیریت کنید. + +
+ +Dokodemo-Door Tunnel Menu + +
+ +`Install` + +- بعد از انتخاب گزینه `Install` در این منو، منتظر بمانید تا هسته Xray روی سرور میانی نصب گردد. +- بعد از اتمام نصب، آیپی آدرس یا دامنه مربوط به سرور اصلی را انتخاب نمایید. +- در بخش مربوط به پورت‌ها، پورت‌های مورد نظر خود برای ایجاد تانل را انتخاب نمایید. (پیشنهادی: 443,80) +- در انتها پیغام `Inbound added and tunnel started` روی صفحه ظاهر می‌شود که به معنی موفقیت آمیز بودن عملیات است. + +!!! warning "نکته بسیار مهم" + دقت شود هنگام اضافه نمودن پورت در این مرحله تنها یک پورت را وارد نمایید تا `inbound` مورد نظر برای آن به درستی ایجاد شود. برای افزودن پورت‌های بیشتر از گزینه `Add` استفاده نمایید و هر پورت را در یک مرحله ااضافه نمایید. + +`Status` + +با انتخاب گزینه `Status`، پورت‌های مورد استفاده و وضعیت تانل روی صفحه نمایش داده می‌شود. + +`Add` + +- با انتخاب گزینه `Add` در منوی تانل Dokodemo-Door، می‌توان کانکشن اینباند دیگری را برای اتصال سرور میانی به یک سرور خارجی دیگر تنظیم نمود. +- بعد از انتخاب گزینه `Add`، می‌بایست آیپی آدرس یا دامنه مربوط به سرور اصلی جدید را انتخاب نمایید. +- در قدم بعد، پورت مربوط به این سرور انتخاب نمایید. +- وقتی پیغام `Additional inbound added` ظاهر شد، یعنی ایباند جدید اضفه شده است. +- برای چک کردن و حصول اطمینان از صحت انجام این مرحله می‌توان از گزینه `Status` مطابق با گزینه قبل استفاده نمود و پورت‌ها و وضعیت تانل را چک نمود. + + + +`Uninstall` + +از گزینه `Uninstall` برای حذف تانل Dokodemo-Door و هسته Xray از سرور میانی می‌توان استفاده نمود. + +`Back` + + +به منظور بازگشت به منوی اصلی گزینه `Back‌` را انتخاب نمایید. +
+ +

🛠️ تانل HA-Proxy

(کلیک کنید)
+طبق تصویر اول بالا، گزینه `HA-Proxy` را انتخاب کنید تا بتوانید `HA-Proxy tunnel` را مدیریت کنید. + +
+ +HA-Proxy Tunnel Menu + + +
+ +`Install` + + +- بعد از انتخاب گزینه `Install`، منتظر بمانید تا پکیج مربوط به HA-Proxy نصب گردد. +- بعد از نصب، در بخش پورت مربوط به Relay server، پورت مورد نظر خود برای سرور میانی را انتخاب نمایید. (پیشنهادی: 443) +- سپس آیپی آدرس مربوط به سرور اصی را انتخاب نمایید. +- در مرحله بعد، پورت مربوط به سرور اصلی انتخاب نمایید. ( به عنوان مثال `هیدیفای‌منیجر` از پورت‌ 443 استفاده می‌کند) +- بعد از اتمام این مرحل، در صورت نمایش پیغام `HA-Proxy tunnel is installed and activated` تانل به درستی نصب و راه‌اندازی شده است. + + +`Status` + +با انتخاب گزینه `Status` می‌توان پورت‌های در حال استفاده و وضعیت تانل را چک نمود. + + + +`Uninstall` + +برای حذف تانل HA-Proxy از سرور میانی از این گزینه استفاده نمایید. + +`Back` + +به منظور بازگشت به منوی اصلی گزینه `Back` را انتخاب نمایید. + + +
+ +

🛠️ تانل Socat

(کلیک کنید)
+طبق تصویر اول بالا، گزینه `Socat` را انتخاب کنید تا بتوانید `Socat tunnel` را مدیریت کنید. + +
+ +Socat Tunnel Menu + +
+ +`Install` + + +- با انتخاب گزینه `Install` منتظر بمانید تا پکیج Socat نصب شود. +- سپس آیپی و پورت مربوط به سرور اصلی را انتخاب نمایید. +- بعد از انجام صحیح عملیات، با ظاهر شدن پیغام `Socat tunnel is installed and activated، تانل به درستی فعال می‌شود. + + +`Status` + +با انتخاب گزینه `Status` می‌توان پورت‌های مورد استفاده و وضعی تانل را چک نمود. + + +`Uninstall` + +با انتخاب این گزینه می توان تانل Socat را از سرور میانی حذف نمود. + + +`Back` + +به منظور بازگشت به منوی اصلی گزینه `Back` را انتخاب نمایید. +
+ + + + +

🛠️ تانل WST

(کلیک کنید)
+طبق تصویر اول بالا، گزینه `WST` را انتخاب کنید تا بتوانید `WST tunnel` را مدیریت کنید. + +
+ +WST Tunnel Menu + +
+ +`Install` + + +- با انتخاب گزینه `Install` منتظر بمانید تا پکیج WST نصب شود. +- سپس آیپی و پورت مربوط به سرور اصلی را انتخاب نمایید. +- سپس اطلاعات مربوط به دسترسی SSH به سرور اصلی را وارد نمایید تا تنظیمات مربوط به تانل سمت آن سرور انجام شود. +- بعد از انجام صحیح عملیات، با ظاهر شدن پیغام `WSTunnel is installed and activate` تانل به درستی فعال می‌شود. + + +`Status` + +با انتخاب گزینه `Status` می‌توان پورت‌های مورد استفاده و وضعیت تانل را چک نمود. + + +`Uninstall` + +با انتخاب این گزینه می توان تانل WST را از سرور میانی حذف نمود. + + +`Back` + +به منظور بازگشت به منوی اصلی گزینه `Back` را انتخاب نمایید. +
+ +

🛠️ گزینه Options

(کلیک کنید)
+طبق تصویر اول بالا، گزینه `Options` را انتخاب کنید تا بتوانید تنظیمات پایه سرور و تست اتصال را انجام دهید. + +
+ + +Options Menu + +
+ +`DNS` + +- با انتخاب گزینه `DNS` می‌توانید تنظیمات DNSهای مربوط به سرور را انجام دهید. +- در اینجا ایپی‌های مورد نظر خود برای DNS را وارد نمایید. پیشنهاد می‌شود از DNSهای معتبر مثل `8.8.8.8` ، `1.1.1.1` , `4.2.2.4` استفاده نمایید. + + +`Update` + +با انتخاب گزینه `update` می‌توان کلیه پکیج‌های سرور را به صورت کامل آپدیت نمود. + + +`Ping` + +با انتخاب این گزینه می توان تست اتصال سرور به اینترنت را انجام داد. + + +`Back` + +به منظور بازگشت به منوی اصلی گزینه `Back` را انتخاب نمایید. +
+ + +
+ +!!! tip "نکته" + اگر می‌خواهید سرور میانی خود را به `هیدیفای‌منیجر` متصل نمایید، این [مقاله](fa/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) را مطالعه نمایید. + diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder.md new file mode 100644 index 0000000..eb66c21 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-setup-relay-server-using-Hiddify-Relay-Builder.md @@ -0,0 +1,281 @@ +--- +title: How to setup relay server using Hiddify Relay Builder (all in one app) +--- + +# How to setup relay server using Hiddify Relay Builder (all in one app) +To install and set up the relay server more easily, this application has been created, which starts the server and the tunnel is established using the following methods.
+1. IP-Tables method
+2. GOST method
+3. Dokodemo-Door method
+4. HA-Proxy method
+5. Socat method
+6. WST method
+ +Next, follow one of the mentioned methods according to your needs so that the relay server is created in the desired way. + +Also, in this tool, it is possible to perform basic settings and test communication. + +## ⚙️ Installation and setup +To create a tunnel on your relay server, you just need to run the following command. + +``` +bash -c "$(curl -L https://raw.githubusercontent.com/hiddify/hiddify-relay/main/install.sh)" +``` +
+ + Relay-Builder Menu +
+ +

🛠️ IP-Tables Tunnel

(click)
+According to the first image above, select the `IP-Tables` option so that you can manage the `IP-Tables tunnel`. + +
+ + IP-Tables Tunnel Menu + +
+
+ +`Install` + +After selecting `Install` option in `IP-Tables Menu`, you must select the IP of the main server to enable the tunnel on ports `443` and `80`. + +`Status` + +This option will show you the ports used in the IP-Tables tunnel. + +`Uninstall` + +This option deletes all rules created in IP-Tables. + +!!! tip "Tip!" + Be careful that if you have created special rules next to the tunnel manually, they will be deleted with this command. + +`Back` + +In order to return to the main menu, select `Back` option. + +
+ + +

🛠️ GOST tunnel

(click)
+According to the first image above, select the `GOST` option to manage the `GOST tunnel`. + +
+ +GOST Tunnel Menu + +
+ +`Install` + +- After selecting `Install` option, wait until the tunnel is installed. +- After the installation, in the first step you have to select the desired ports for the tunnel. +- Then select the subdomain related to Sur Rasli to start the tunnel. +- After starting the tunnel, the message `Gost tunnel is installed and activated` appears on the screen. + + +`Status` + +After selecting this option, the used ports and tunnel status will be displayed on the screen. + +`Add` +- This option can be used to connect the relay server to several external servers. +- After selecting the `Add` option, you must enter the new port and the domain of the main server. +- To ensure that this work is done correctly, you can use the `Status` option and check the ports and tunnel status according to this option. + + +`Uninstall` + +Using this option, you can remove the GOST tunnel from the relay server. + +`Back` + +In order to return to the main menu, select `Back` option. + + +
+ +

🛠️ Dokodemo-Door tunnel

(click)
+According to the first image above, select `Dekodemo-Door` to manage the `Dekodemo-Door tunnel`. + +
+ +Dokodemo-Door Tunnel Menu + +
+ +`Install` + +- After selecting `Install` option in this menu, wait for the Xray core to be installed on the relay server. +- After completing the installation, select the IP address or domain of the main server. +- In the section related to ports, select the ports you want to create a tunnel. (Offer: 443,80) +- At the end, the message `Inbound added and tunnel started` appears on the screen, which means that the operation is successful. + +!!! warning "very important point" + Be careful when adding a port in this step, enter only one port so that the desired `inbound` is created for it correctly. To add more ports, use `Add` option and add each port in one step. + +`Status` + +By selecting `Status` option, the used ports and tunnel status will be displayed on the screen. + +`Add` + +- By selecting the `Add` option in the Dokodemo-Door tunnel menu, another inbound connection can be set to connect the relay server to another external server. +- After selecting the `Add` option, you must select the IP address or domain of the new main server. +- In the next step, select the port for this server. +- When the message `Additional inbound added` appears, it means that a new inbound has been added. +- To check and ensure the correctness of this step, you can use `Status` option according to the previous option and check the ports and tunnel status. + + + +`Uninstall` + +The `Uninstall` option can be used to remove the Dokodemo-Door tunnel and the Xray core from the relay server. + +`Back` + +To return to the main menu, select `Back` option. +
+ +

🛠️ HA-Proxy tunnel

(click)
+According to the first image above, select the `HA-Proxy` option to manage the `HA-Proxy tunnel`. + +
+ +HA-Proxy Tunnel Menu + + +
+ +`Install` + +- After selecting `Install` option, wait for the HA-Proxy package to be installed. +- After installation, select the desired port for the relay server in the Relay server port section. (Recommendation: 443) +- Then select the IP address of the main server. +- In the next step, select the port of the main server. (For example, `HidifyManager` uses port 443) +- After completing this step, if the message ``HA-Proxy tunnel is installed and activated'' is displayed, the tunnel has been installed and activated correctly. + + +`Status` + +By selecting `Status` option, you can check the ports in use and the tunnel status. + + + +`Uninstall` + +Use this option to remove the HA-Proxy tunnel from the relay server. + +`Back` + +In order to return to the main menu, select `Back` option. + + +
+ +

🛠️ Socat tunnel

(click)
+According to the first image above, select `Socat` to manage `Socat tunnel`. + +
+ +Socat Tunnel Menu + +
+ +`Install` + +- Wait for the Socat package to be installed by selecting `Install` option. +- Then select the IP and port of the main server. +- After performing the operation correctly, the tunnel will be correctly activated when the message `Socat tunnel is installed and activated` appears. + + +`Status` + +By selecting `Status` option, you can check the used ports and tunnel status. + + +`Uninstall` + +By selecting this option, the Socat tunnel can be removed from the relay server. + + +`Back` + +In order to return to the main menu, select `Back` option. + +
+ + + + +

🛠️ WST Tunnel

(click)
+According to the first image above, select `WST` option to manage `WST tunnel`. + +
+ +WST Tunnel Menu + +
+ +`Install` + +- Wait for the WST package to be installed by selecting `Install` option. +- Then select the IP and port of the main server. +- Then enter the information related to SSH access to the main server so that the settings related to the tunnel on that server side can be made. +- After performing the operation correctly, the tunnel will be correctly activated when the message `WSTunnel is installed and activated` appears. + + +`Status` + +By selecting `Status` option, you can check the used ports and tunnel status. + + +`Uninstall` + +By selecting this option, the WST tunnel can be removed from the relay server. + + +`Back` + +In order to return to the main menu, select ``Back'' option. + +
+ +

🛠️ Options

(click)
+According to the first image above, select ``Options'' option to perform basic server settings and connection test. + +
+ + +Options Menu + +
+ +`DNS` + +- By selecting the `DNS` option, you can configure DNS settings for the server. +- Enter your desired IPs for DNS here. It is recommended to use valid DNS like `8.8.8.8`, `1.1.1.1`, `4.2.2.4`. + + +`Update` + +By selecting the `Update` option, all server packages can be completely updated. + + +`Ping` + +By choosing this option, you can test the server's connection to the Internet. + + +`Back` + +In order to return to the main menu, select `Back` option. + +
+ + +
+ +!!! tip "Tip" + If you want to add your relay server to `HiddifyManager`, read this [article](/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN.fa.md new file mode 100644 index 0000000..32a7b85 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN.fa.md @@ -0,0 +1,75 @@ +--- +title: آموزش استفاده از CDN Amazon یا Cloudfront +--- + + +
+ +# استفاده از CDN آمازون یا Cloudfront +## ثبت دامنه +* برای این کار ابتدا یک رکورد A به آدرس سرور خود در DNS پوینت کنید. فرضا `sub1.domain.com` را به آدرس آیپی سرور خود پوینت کرده‌اید. + + +* به سایت [Amazon AWS](https://aws.amazon.com/) رفته و سرویس Cloudfront را جستجو نمایید. +* با زدن create distribution یک مقصد ایجاد نمایید. +* در صفحه باز شده مطابق با تصویر زیر مقادیر را وارد نمایید. + +
+aws settings +
+ +تمام مقادیر در این صفحه به صورت پیش‌فرض است به جز موارد زیر که باید همانند تصاویر تعیین شوند. + + +
+protocols policy +
+ + +
+cache policy +
+ +
+waf settings +
+ +* در انتها بر روی `create distribution` بزنید تا عملیات ایجاد انجام شود. +* در مرحله بعد به محل ثبت رکوردهای DNS خود بروید. فرضا اگر در کلادفلر ثبت نموده‌اید، وارد بخش DNS دامنه خود شوید و یک رکورد cname ایجاد نمایید. فرضا `sub2.domain.com` را ایجاد نموده و مقدار آن را معادل دامنه ایجاد شده در مرحله قبل در AWS قرار دهید. این مقدار در بخش `details` و تحت عنوان `Distribution domain name` قابل مشاهده است. + +در واقع این ساب‌دامنه برای دامنه CDN مورد نظر ما استفاده خواهد شد. + +* به پنل AWS برگشته و در صفحه مربوط به مقصد در تب `General` از قسمت `setting` گزینه `edit` را بزنید و در صفحه باز شده بخش `Alternate domain name (CNAME) - optional` بر روی `Add item` کلیک کنید و دامنه cname مرحله قبل یعنی `sub2.domain.com` را وارد نمایید. + +## گرفتن سرتیفیکت +* وارد بخش `Custom SSL certificate - optional` شده و برای دامنه مورد نظر `ssl certificate` دریافت نمایید. برای این کار بر روی `Request certificate` کلیک نمایید. +* در صفحه جدید باز شده مراحل دریافت سرتیفیکتن را ادامه داده و در بخش `domain name` و فیلد مربوط به آدرس، مشخصات ساب‌دامین ثبت شده در مرحله قبل یعنی `sub2.domain.com` را وارد نماییدو سایر مقادیر را به صورت پیش‌فرض قرار داد و روی `Request` بزنید. + +* در صفحه لیست سرتیفیکت‌ها می‌بینید که وضعیت دامنه مورد نظر بر روی `pending validation` قرار دارد. بر روی ID کلیک کرده و در صفحه باز شده قسمت `Domains` را مشاهده نمایید. + + +
+domain settings +
+ + +* در این قسمت برای تکمیل وضعیت سرتیفیکت به دو مقدار این بخش یعنی `Cname name` و `Cname value` نیاز است. +* به محل ثبت رکوردهای DNS خود (فرضا کلادفلر) بروید و یک رکورد `Cname name` ایجاد نمایید و مقادیری که در مرحله قبل در AWS داشتید را وارد نمایید. در کلادفلر به جای `name` مقدار `Cname name` و به جای `Target` مقداری `Cname value` را وارد کنید. +* حالا اگر به AWS و صفحه لیست سرتیفیکت برگشته و صفحه را رفرش کنید، می‌بینید که وضعیت از حالت `pending` به `issues` تغییر یافته است و این بدان معناست که دامنه ما به درستی سرتیفیکت را دریافت نموده است. +* حالا به صفحه تنظیمات `distribution` و مرحله دریافت سرتیفیکت برگشته و اگر دکمه رفرش مربوط به `custom ssl` را بزنید، می‌توان سرتیفیکتی که در مرحله قبل دریافت نموده‌اید را مشاهده کنید. آن را انتخاب نمایید و مقادیر دیگر این صفحه را به حالت پیش‌فرض باقی بگذارید. + + + +> [!نکته] +> نکته: دقت شود که تیک مربوط به `Legacy client support` را نزید چون این گزینه ماهیانه ۶۰۰ دلار هزینه دارد. + +* در انتها گزینه save changes را بزنید تا تغییرات ذخیره گردد. +* حالا صبر کنید تا تغییرات انجام شده اعمال گردند و طبق تصویر زیر وضعیت `Last modified` از `Depoloying` به حالت انجام شده به تاریخ و ساعت تغییر می‌کند. + +
+done page +
+ +* معمولا بین ۲-۵ دقیقه زمان می‌برد که این تغییرات اعمال گردند که با صفحه رفرش قابل پگیری است. همیشه به یاد داشته باشید در هر مرحله‌ای که تغییرات ایجاد می‌کنید باید به این وضعیت تغییر پیدا کند که به این مفهوم است که تغییرات کاملا اعمال شده و قابل بهره‌برداری است. + +* تبریک کار تمام است. CDN کلودفرانت آمازون با موفقیت راه‌اندازی شد. حالا کافیه دامنه CDN خود را در هیدیفای منیجر خود ثبت نمایید. \ No newline at end of file diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN.md new file mode 100644 index 0000000..67ff7b0 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN.md @@ -0,0 +1,75 @@ +--- +title: How to use Amazon CDN or Cloudfront +--- + +
+ + +# How to use Amazon CDN or Cloudfront +## Domain registration +* To do this, first point an A record to your server address in DNS. Suppose you have pointed sub1.domain.com to the IP address of your server. + + +* Go to [Amazon AWS](https://aws.amazon.com/) and search for Cloudfront service. +* Create a destination by clicking create distribution. +* Enter the values in the opened page according to the image below. + +
+aws settings +
+ +All values on this page are default except for the following which should be set as shown in the images. + + +
+protocols policy +
+ + +
+cache policy +
+ +
+waf settings +
+ +* At the end, click on `create distribution` to perform the creation operation. +* In the next step, go to the location of your DNS records. Assuming that you have registered in Cloudflare, enter the DNS section of your domain and create a cname record. Suppose you create `sub2.domain.com` and set its value equal to the domain created in the previous step in AWS. This value can be seen in the `details` section under `Distribution domain name`. + +In fact, this subdomain will be used for our CDN domain. + +* Go back to the AWS panel and click on the `edit` option in the `General` tab of the `setting` section and click on `Add item` in the `Alternate domain name (CNAME) - optional` section that opens. and enter the cname domain from the previous step, `sub2.domain.com`. + +## Getting a certificate +* Enter the `Custom SSL certificate - optional` section and get an `ssl certificate` for the desired domain. For this, click on `Request certificate`. +* In the newly opened page, continue the process of receiving the certificate and in the `domain name` section and the address field, enter the details of the subdomain registered in the previous step, namely `sub2.domain.com` and set the other values as default. and click on `Request`. + +* On the certificate list page, you can see that the desired domain status is `pending validation`. Click on the ID and see the `Domains` section on the opened page. + + +
+domain settings +
+ + +* In this section, two values of this section, `Cname name` and `Cname value` are needed to complete the certificate status. +* Go to your DNS records (presumably Cloudflare) and create a `Cname name` record and enter the values you had in the previous step in AWS. In Cloudflare, enter `Cname name` instead of `name` and `Cname value` instead of `Target`. +* Now if you go back to AWS and the certificate list page and refresh the page, you will see that the status has changed from `pending` to `issues`, which means that our domain has received the certificate correctly. +* Now it is back to the `distribution` settings page and the certificate derivation stage, and if you click the refresh button for `custom ssl`, you can see the certificate you received in the previous stage. Select it and leave the other values of this page as default. + + + +> [!tip] +> Note: Be careful not to tick the `Legacy client support` because this option costs $600 per month. + +* At the end, click the save changes option to save the changes. +* Now wait until the changes are applied and according to the image below, the state of `Last modified` will change from `Depoloying` to done to the date and time. + +
+done page +
+ +* It usually takes between 2-5 minutes for these changes to be applied, which can be followed by refreshing the screen. Always remember that at any stage you make changes, it should change to this state, which means that the changes are fully applied and usable. + +* Congratulations, the work is done. Amazon Cloudfront CDN is successfully launched. Now just register your CDN domain in your HiFi Manager. \ No newline at end of file diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN.fa.md new file mode 100644 index 0000000..fc536ad --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN.fa.md @@ -0,0 +1,150 @@ +--- +title: آموزش استفاده از CDN Cloudflare +--- + +
+# استفاده از CDN کلادفلر +کلادفلر بزرگترین ارائه دهنده سرویس‌های CDN است که دارای سرویس‌های متعددی است که می‌توان با کمک از این سرویس‌ها، محدودیت‌های اینترنت را دور زد. در ادامه مهم‌ترین سرویس‌ها، توضیح داده می‌شوند. + +## سرویس سایت یا دامنه + به این معنی است که شما از سرور خود در پشت یک ارائه دهنده CDN استفاده می کنید. به عبارت دیگر شما دامنه (ساب دامنه) خود را در یک ارائه دهنده CDN ثبت می کنید و سپس آن را پروکسی می کنید. در اینجا ما نحوه ثبت در کلادفلر را بحث می‌کنیم. اگر می‌خواهید آموزش استفاده از CDN GCore بر روی دامنه ثبت شده در Cloudflare را مشاهده کنید [این لینک](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain/) را ببینید. + + + + +### ثبت دامنه دایرکت خریداری شده در کلادفلر +ابتدا با استفاده از [این لینک](https://dash.cloudflare.com/signup) ثبت نام می کنید. + +![Screenshot_20230225_102424](https://user-images.githubusercontent.com/125398461/221563866-d520a39d-15c8-4f88-a756-90e5e08c074a.png) + +پس از ایجاد پروفایل به آن وارد شوید. در اینجا دامنه خود را باید اضافه نمایید. برای این کار روی دکمه Add a site بزنیدو دامنه خود را اضافه نمایید. + +![Screenshot_20230227_160604](https://user-images.githubusercontent.com/125398461/221566504-5ecf714b-940d-4fd5-bc54-be8c37b7c292.png) + + +در مرحله بعد پلن مورد نظر خود را انتخاب نمایید. برای این کار پلن رایگان کافیست. بنابراین مطابق با عکس انتخاب می نمایید. + +![Screenshot_20230227_161426](https://user-images.githubusercontent.com/125398461/221567803-26850724-1bc8-480a-8c6f-29b32a6fcfa6.png) + +در مرحله بعد مطابق با شکل next می کنیم. + +![Screenshot_20230227_162027](https://user-images.githubusercontent.com/125398461/222444475-5596de54-3e7f-4fae-a0f0-94c046a21969.png) + + +در مرحله آخر سرورهای DNS داده شده را در تنظیمات دامنه خود قرار دهید. + +![Screenshot_20230227_162410](https://user-images.githubusercontent.com/125398461/221569269-1f4027c7-5815-4dea-876e-326dc0645fe1.png) + + +مقداری صبر نمایید تا تنظیمات دامنه ثبت گردد. بعد از آن دامنه در سرور کلادفلر اکتیو می گردد. + +![Screenshot_20230227_163943](https://user-images.githubusercontent.com/125398461/221572305-50e819ea-0fa4-4548-8851-aab91b797f57.png) + +حال باید به قسمت ثبت رکوردهای DNS بروید. + +![Screenshot_20230227_164245](https://user-images.githubusercontent.com/125398461/222436778-f80de97b-7d66-4621-8be3-b856fc4e2c75.png) + +در این حالت برای ثبت رکوردهای مرتبط با آیپی ورژن ۴ مطابق شکل عمل نمایید. + +![Screenshot_20230227_164507](https://user-images.githubusercontent.com/125398461/222444012-2fa4a2c2-ff89-493e-b92c-01a26d7788b7.png) + + +پس از کلیک روی Add record مشخصات ساب دامین مورد نظر را با درج آیپی سرور ثبت نمایید. دقت شود که برای دامین دایرکت باید پروکسی خاموش گردد. + +![Screenshot_20230302_165426](https://user-images.githubusercontent.com/125398461/222443477-e8b56c36-7631-44b3-8b8d-c03e43d6ce84.png) + +در صورتی که نیاز باشد می توانید TTL را از حالت اتوماتیک تغییر دهید. هر چه این مقدار کمتر باشد؛ رکوردهای DNS کش شده در سیستم کاربر زودتر رفرش می گردند. + +برای ثبت رکوردهای مرتبط با آیپی ورژن ۶ سرور مطابق با شکل عمل نمایید. + +![Screenshot_20230302_171704](https://user-images.githubusercontent.com/125398461/222447422-45f9da15-5ce9-4a27-97c8-bb1395ea5cd8.png) + + +تمامی موارد ذکر شده در خصوص آیپی ورژن ۴ در این مورد نیز صدق می کند. تنها تفاوت نوع رکورد است که AAAA می باشد. + + + +### ثبت دامنه CDN در کلادفلر +این دامنه در پشت سرورهای کلادفلر ثبت یا به اصطلاح پروکسی می شود. + +بنابراین پس از اینکه طبق مراحل گفته شده بالا؛ دامنه شما در سایت اکتیو شد؛ می بایست به قسمت DNS بروید و رکورد مورد نظر خود را ثبت نمایید. +این رکورد برای آیپی ورژن ۴ از نوع A و برای آیپی ورژن ۶ از نوع AAAA می باشد. +تنها تفاوت با مرحله قبل این است که حتما بایستی پروکسی را روشن نمایید. + +![Screenshot_20230227_164553](https://user-images.githubusercontent.com/125398461/222454021-ab8b0162-c608-478c-937c-05e384212c25.png) + +## تست ثبت دامنه CDN +زمانی که این دامنه را با استفاده از ابزارهای مختلف از جمله ping, nslookup, dig تست می کنید؛ در جواب یکی از آیپی هایی که کلادفلر به صورت رندوم در آن لحظه به دامنه شما اختصاص داده است بر می گردد و دیگر خبری از آیپی شما نیست. این کار یه سطح از امنیت را برای سرور شما برقرار می کند. + +توجه شود که این آیپی در بازه های زمانی مختلف تغییر می کند و ثابت نیست. + +گاها اتفاق می افتد که آیپی اختصاص داده شده توسط کلادفلر در ایران مسدود یا دچار اختلال شده است که در این خصوص باید از راه کارهای دور زدن این نوع فیلترینگ استفاده نمود. + +## سرویس سرتیفیکت در کلادفلر + +TLS الگوریتمی است که تمام ترافیک اینترنت را رمزگذاری می کند و به کاربر کمک می کند تا به صورت آنلاین ایمن بماند. + +به بیان دقیق تر؛ TLS ارتباط بین کلاینت و سرور را در بستر وب رمزگذاری می کند که از مجموعه ای از الگوریتم های رمزنگاری مثل alpn, uTLS, allowInsecure استفاده می کند. + + سرتیفیکت هایی که به دامین ها تخصیص داده می شوند نیز بر مبنای پروتکل TLS هستند. + +برای این کار در سایت کلادفلر به قسمت SSL/TLS بروید و حالت سرتیفیکت را بر روی Full قرار دهید. + +![Screenshot_20230425_070544](https://user-images.githubusercontent.com/125398461/234169021-7201c012-82fb-4511-a7a8-8337e02a5b12.png) + + +همچنین جهت افزایش امنیت ارتباط گزینه SSL/TLS Recommender را فعال کنید. این گزینه ارتباط را چک می کند و در صورت امکان ارتقاء نسخه TLS به شما پیشنهادات امنیتی می دهد. + + +سپس به منوی Network بروید. اینجا باید چک کنید گزینه های QUIC و gRPC و WebSockets فعال باشند. + + + +![Screenshot_20230306_095532](https://user-images.githubusercontent.com/125398461/223042141-c2456322-7cac-44be-be9c-044a307eeb52.png) +0230306_095509](https://user-images.githubusercontent.com/125398461/223041843-7b441805-4aab-4547-b318-7dbbda4cc893.png) + +![Screenshot_20230306_095532](https://user-images.githubusercontent.com/125398461/223042286-e597f169-001e-40a5-b0e8-d34d1b110eab.png) + +## چک کردن وضعیت امنیتی ترافیک دامنه CDN + +برای این کار در بخش SSL/TLS سایت کلادفلر بروید. نموداری برای ترافیک عبوری نمایش داده می شود که هر چه ترافیک بیشتری بر مبنای TLS های ورژن بالاتر عبور کرده باشد؛ امنیت ارتباط بالاتر بوده است. ترافیک های http بدون استفاده از رمزنگاری TLS عبور می کنند. + +![Screenshot_20230306_095444](https://user-images.githubusercontent.com/125398461/223042939-897b7ec0-9700-4bec-8e28-6d8f961657b6.png) + +## سرویس ورکر کلادفلر +برای مشاهده جزییات مربوط به این سرویس، این [مقاله](/fa/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers/) را مطالعه کنید. + +## سرویس دامین فرانتینگ +برای مشاهده جزییات مربوط به این سرویس، این [مقاله](/fa/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting/) را مطالعه کنید. + +این سرویس فعلا در کلادفلر غیرفعال شده است. + +## سرویس gRPC +این سرویس در سال ۲۰۱۵ توسط گوگل معرفی شد و بر پایه TLS و HTTP/2 می‌باشد و به دلیل اینکه سایز بسته‌های ان کوچک تر است، پهنای باند کمتری نیاز دارد و بنابراین سریع‌تر است. این سرویس در کلادفلر نیز فعال است و با خیلی از سرویس‌های دیگر آن مطابقت دارد. بنابراین می‌توان روی سرویس دامنه نیز آن را فعال کنید و از این قابلیت برای دور زدن فیلترینگ استفاده کنید. + +- برای این کار به بخش `Network` بروید و سپس گزینه `gRPC` را فعال کنید. + +![](https://user-images.githubusercontent.com/125398461/223042141-c2456322-7cac-44be-be9c-044a307eeb52.png) + +- بعد از آن امکان ارسال بسته‌های `gRPC` از کلاینت به سمت کلادفلر فراهم می‌شود. پس از رسیدن بسته‌ها به کلادفلر، آن‌ها به سمت مقصد اصلی که سرور شماست، هدایت می‌شوند. + +## سرویس WebSocket +یکی دیگر از سرویس‌های کلادفلر، `WebSocket` است که امکان ارتباط پایدار بین کلاینت و سرور اصلی را فراهم می کند. در این حالت کلاینت و سرور می‌توانند بدون نیاز به برقراری مجدد ارتباط، اطلاعات را رد و بدل می‌کنند و ارتباط پایداری خواهند داشت. از این سرویس نیز می‌توان برای دور زدن فیلترینگ استفاده کرد. + +- برای این کار به بخش `Network` بروید و سپس گزینه `WebSockets` را فعال کنید. + +![](https://user-images.githubusercontent.com/125398461/223042141-c2456322-7cac-44be-be9c-044a307eeb52.png) + +- بعد از آن امکان ارسال بسته‌های `WebSocket` از کلاینت به سمت کلادفلر فراهم می‌شود. پس از رسیدن بسته‌ها به کلادفلر، آن‌ها به سمت مقصد اصلی که سرور شماست، هدایت می‌شوند. + +## سرویس QUIC +این سرویس بر مبنای HTTP/3 پایه‌گذاری شده است و با TLS1.3 کار می‌کند. به همین دلیل خیلی سریع است چون هندشیک آن نسبت به TCP خیلی سریع‌تر است. + +
+http-request-over-quic + +
+ +- برای این کار به بخش `Network` بروید و سپس گزینه `HTTP/3 (with QUIC)` را فعال کنید. + +![QUIC](https://user-images.githubusercontent.com/125398461/223041843-7b441805-4aab-4547-b318-7dbbda4cc893.png) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN.md new file mode 100644 index 0000000..9be7779 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN.md @@ -0,0 +1,145 @@ +--- +title: How to use Cloudflare CDN +--- + +
+ + +# How to use Cloudflare CDN +Cloudflare is the largest provider of CDN services, which has several services that can be used to bypass Internet restrictions. The most important services are explained below. + +## Site or domain service +It means you are using your server behind a CDN provider. In other words, you register your domain (subdomain) with a CDN provider and then proxy it. Here we discuss how to register on cloudflare. If you want to see a tutorial on how to use GCore CDN on a Cloudflare registered domain, see [this link](/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain/). + +### Direct domain registration purchased on Cloudflare +First, you register using [this link](https://dash.cloudflare.com/signup). + +![](https://user-images.githubusercontent.com/125398461/221563866-d520a39d-15c8-4f88-a756-90e5e08c074a.png) + + +Log in after creating a profile. You must add your domain here. For this, click on `Add Site` button and add your domain. + + + +![PICTURE](https://user-images.githubusercontent.com/125398461/221566504-5ecf714b-940d-4fd5-bc54-be8c37b7c292.png) + +In the next step, choose your desired plan. The free plan is enough for this. So you choose according to the photo. + +![PICTURE](https://user-images.githubusercontent.com/125398461/221567803-26850724-1bc8-480a-8c6f-29b32a6fcfa6.png) + +In the next step, we do next according to the figure. + +![PICTURE](https://user-images.githubusercontent.com/125398461/222444475-5596de54-3e7f-4fae-a0f0-94c046a21969.png) + +In the last step, put the given DNS servers in your domain settings. + +![PICTURE](https://user-images.githubusercontent.com/125398461/221569269-1f4027c7-5815-4dea-876e-326dc0645fe1.png) + +Wait a while to register the domain settings. After that, the domain will be activated on the Cloudflare server. + +![PICTURE](https://user-images.githubusercontent.com/125398461/221572305-50e819ea-0fa4-4548-8851-aab91b797f57.png) + +Now you need to go to the registration section of DNS records. + +![PICTURE](https://user-images.githubusercontent.com/125398461/222436778-f80de97b-7d66-4621-8be3-b856fc4e2c75.png) + +In this case, to record records related to IP version 4, follow the figure. + +![PICTURE](https://user-images.githubusercontent.com/125398461/222444012-2fa4a2c2-ff89-493e-b92c-01a26d7788b7.png) + +After clicking on Add record, register the details of the desired subdomain by entering the server IP. Note that the proxy must be turned off for the direct domain. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234167251-ceebd61b-5147-4198-98dc-1c5bcd0d9124.png) + + +If needed, you can change the TTL from automatic mode. The lower this value is; DNS records cached on the user's system are refreshed sooner. + +To record the records related to IP version 6 of the server, follow the figure. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234167507-996c8480-5cf5-4ede-999f-05f74b22499f.png) + + +All the things mentioned about IP version 4 also apply in this case. The only difference is the record type, which is AAAA. + + + +### CDN domain registration in Cloudflare +This domain is registered behind the servers of a CDN provider or so-called proxy. + +For example, you can use Cloudflare service. So after following the steps mentioned above; Your domain was activated on the site; You should go to the DNS section and register the desired record. This record is type A for IP version 4 and type AAAA for IP version 6. The only difference with the previous step is that you must turn on the proxy. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234167748-7121af19-f624-4659-9922-50f8e6d3ea2c.png) + + +### How to verify CDN domain registration +When you test this domain using various tools such as ping, nslookup, dig; In response, one of the IPs randomly assigned by Cloudflare will return to your domain and there is no more information about your IP. This provides a level of security for your server. + +It should be noted that this IP changes in different periods of time and is not fixed. +Sometimes it happens that the IP assigned by Cloudflare is blocked or disrupted in Iran, and in this regard, methods to bypass this type of filtering should be used. + +## Certificate settings of CDN domain +TLS is an algorithm that encrypts all internet traffic and helps the user stay safe online. + +to describe precisely; TLS encrypts the communication between the client and the server in the web platform, which uses a set of cryptographic algorithms such as alpn, uTLS, allowInsecure. + +Certificates assigned to domains are also based on the TLS protocol. + +To do this, go to the SSL/TLS section on the Cloudflare site and set the certificate mode to Full. + +![PICTURE](https://user-images.githubusercontent.com/125398461/234168806-26bb12cf-78ad-45a9-89b5-c2f005a9fb86.png) + + +Also, activate the SSL/TLS Recommender option to increase connection security. This option checks the connection and gives you security suggestions if it is possible to upgrade the TLS version. + +Then go to the Network menu. Here you should check that QUIC, gRPC and WebSockets options are enabled. + +![PICTURE](https://user-images.githubusercontent.com/125398461/223041843-7b441805-4aab-4547-b318-7dbbda4cc893.png) + +![PICTURE](https://user-images.githubusercontent.com/125398461/223042286-e597f169-001e-40a5-b0e8-d34d1b110eab.png) + +Checking security status of CDN domain traffic +To do this, go to the SSL/TLS section of the Cloudflare site. A graph is displayed for passing traffic, the more traffic passed based on the higher version TLS; Communication security has been higher. http traffic passes without using TLS encryption. + +![PICTURE](https://user-images.githubusercontent.com/125398461/223042939-897b7ec0-9700-4bec-8e28-6d8f961657b6.png) + +## Worker service +To see details about this service, read [this article](/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers/). + +## Domain fronting service +To see details about this service, read [this article](/manager/domain-worker-cdn-and-tunneling/Guide-for-domain-fronting/). + +This service is currently disabled in Cloudflare. + + + +## gRPC service +This service was introduced by Google in 2015 and is based on `TLS` and `HTTP/2`, and because its packet size is smaller, it requires less bandwidth and is therefore faster. This service is also active in Cloudflare and is compatible with many of its other services. Therefore, you can activate it on the domain service and use this feature to bypass filtering. + +- To do this, go to the `Network` section and then enable the `gRPC` option. + +![](https://user-images.githubusercontent.com/125398461/223042141-c2456322-7cac-44be-be9c-044a307eeb52.png) + +After that, it is possible to send `gRPC` packets from the client to Cloudflare. After the packets reach Cloudflare, they are forwarded to the original destination, which is your server. + +## WebSocket wervice +Another cloudflare service is `WebSocket`, which allows stable communication between the client and the main server. In this case, the client and server can exchange information without the need to re-establish communication and have a stable connection. This service can also be used to bypass filtering. + +- For this, go to the `Network` section and then activate the `WebSockets` option. + +![](https://user-images.githubusercontent.com/125398461/223042141-c2456322-7cac-44be-be9c-044a307eeb52.png) + +After that, it is possible to send `WebSocket` packets from the client to Cloudflare. After the packets reach Cloudflare, they are forwarded to the original destination, which is your server. + + +## QUIC service +This service is based on HTTP/3 and works with TLS1.3. That's why it's so fast because its handshake is much faster than TCP. + +
+ +http-request-over-quic + +
+ +- For this, go to the `Network` section and then activate the `HTTP/3 (with QUIC)` option. + +![QUIC](https://user-images.githubusercontent.com/125398461/223041843-7b441805-4aab-4547-b318-7dbbda4cc893.png) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain.fa.md new file mode 100644 index 0000000..9e4b2a9 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain.fa.md @@ -0,0 +1,102 @@ +--- +title: آموزش استفاده از CDN GCore +--- + + +
+ +# آموزش استفاده از CDN GCore بر روی دامنه ثبت شده در Cloudflare + +همانطور که می‌دانید برای استفاده بهینه از هیدیفای‌منیجر نیاز است یک ارائه دهنده CDN استفاده نمایید تا با استفاده از سرویس‌های آن بتوان فیلترینگ را دور زد. در مطالب دیگر ما Cloudflare را معرفی و نحوه کار با آن را آموزش دادیم. این سرویس به دلیل اختلالات گسترده‌ای که در ایران بر روی آن ایجاد می‌شود؛ بعضی اوقات کار را برای کاربران مشکل می‌کند. یک راه جایگزین استفاده از سرویس CDN شرکت GCore می‌باشد. برای آشنایی با نحوه تنظیمات آن این مقاله را تا انتها مطالعه نمایید. + +۱. ابتدا به [اینجا](https://gcore.com) بروید و اکانت خود را در سایت GCore بسازید. سپس وارد اکانت ساخته شده بشوید و در داشبورد خود گزینه CDN را بزنید. + +![1](https://user-images.githubusercontent.com/125398461/235283540-83a44dbc-6b81-45d2-a04f-be2749cf0429.jpg) + +۲. در مرحله بعد پلن رایگان را انتخاب نمایید و `Next` کنید. + +![2](https://user-images.githubusercontent.com/125398461/235283581-a392f93e-4d8a-44d9-9521-be83fb09564b.jpg) + +۳. پس از تکمیل مشخصات خواسته شده بر روی گزینه `Get started` کلیک کنید. + +![3](https://user-images.githubusercontent.com/125398461/235283590-6654cae1-cc3b-42c6-ae8c-d4cc26b71a15.jpg) + +۴. در مرحله بعد بر روی `Create CDN resource` بزنید. + +![4](https://user-images.githubusercontent.com/125398461/235283617-042ee013-e1a1-4567-aa6c-fcbf1080fa99.jpg) + +۵. حال در صفحه باز شده بر روی `Confirm` کلیک کنید. + +![5](https://user-images.githubusercontent.com/125398461/235283626-b7923519-ffbc-425b-a65b-3063e19595a1.jpg) + +۶. در این مرحله دامنه‌ای را که در کلاد فلر ثبت نموده‌اید را به همراه ساب‌دامنین دلخواه وارد کنید. + +![6](https://user-images.githubusercontent.com/125398461/235283639-ef21b5ba-5efd-48d5-a852-7aa8050b4316.jpg) + +۷. سپس آیپی سرور خود را وارد کنید و بر روی گزینه Add بزنید. + +![7](https://user-images.githubusercontent.com/125398461/235283674-400d9213-029a-429b-9985-699c0bd40ba3.jpg) + +۸. در مرحله بعد مجددا بر روی Confirm کلیک کنید. + +![8](https://user-images.githubusercontent.com/125398461/235283679-fbb415e0-5b12-4880-be94-3f2a17ba5895.jpg) + +۹. از آنجایی که شما قصد استفاده از CDN GCore را دارید، نیازی به ثبت nameserverهای GCore بر روی دامنه خود ندارید و فقط بر روی `Confirm` کلیک کنید. + +![9](https://user-images.githubusercontent.com/125398461/235283686-69d71bb4-2c27-4375-8a04-3a7f2f1fac21.jpg) + +۱۰. در این مرحله مجدد بر روی `Confirm` کلیک کنید. + +![10](https://user-images.githubusercontent.com/125398461/235283803-1ca531c7-efb6-4bf2-ba21-5f68de3cc9df.jpg) + +۱۱. سپس بر روی گزینه `Open resource settings` بزنید. + +![11](https://user-images.githubusercontent.com/125398461/235283807-225d6325-b388-4a21-9b41-5da3f7457ba9.jpg) + +۱۲. در صفحه باز شده بر روی گزینه `DNS` کلیک کنید. + +![12](https://user-images.githubusercontent.com/125398461/235283814-711cf947-256c-4cda-8cc5-236abe8a6b31.jpg) + +۱۳. حالا روی دامنه خود کلیک کنید تا لیست رکوردهای ثبت شده را نمایش دهد. + +![13](https://user-images.githubusercontent.com/125398461/235283822-62ce802c-d7c2-44e8-8fd6-a418fe6a04c2.jpg) + +۱۴. در مرحله بعد برای ویرایش رکورد CDN دکمه مداد را بزنید. + +![14](https://user-images.githubusercontent.com/125398461/235283921-81cfdb21-b00b-4e94-907d-3a6b95f7b650.jpg) + +۱۵. در این مرحله بر روی گزینه `CDN Integration` بزنید تا یکپارچه سازی CDNها را انجام دهید. + +![15](https://user-images.githubusercontent.com/125398461/235284019-0301d8e3-d882-4482-9c75-23a30e4fb2f1.jpg) + +۱۶. حالا دامنه‌ای که در بخش `CDN Integration` وجود دارد را کپی کنید. + +![16](https://user-images.githubusercontent.com/125398461/235284138-6355a421-a7da-46c8-803a-b4b65cdc8fb1.jpg) + +۱۷. حالا وارد اکانت کلادفلر خود شوید، وارد تنظیمات دامنه‌ی خود شوید و در بخش DNS یک رکورد `CNAME` با استفاده از دامنه‌ای که خود در بخش قبل کپی کرده بودید، ثبت نمایید. دقت شود که تیک پروکسی برای این رکورد خاموش باشد. + +![17](https://user-images.githubusercontent.com/125398461/235284172-560987a3-8528-497a-89c9-58927fddc327.jpg) + +۱۸. مجدد وارد داشبورد خود در سایت GCore شده و در بخش CDN پس از اطمینان از Active بودن آن، بر روی دامنه‌ی بر روی دامنه‌ی خود کلیک کنید. + +> نکته: ممکن است `Active` شدن کمی زمان بگیرد. + +![18](https://user-images.githubusercontent.com/125398461/235284405-71b9fe26-e25c-4750-b349-1fac9cd34efb.jpg) + +۱۹. سپس در بخش `Origin`، تنظیمات `Origin pull protocol` را بر روی `HTTPS` تنظیم نمایید. + +![19](https://user-images.githubusercontent.com/125398461/235284438-6d4e0c6e-79dc-4175-8718-8a85b68b46d1.jpg) + +۲۰. حالا برای گرفتن سرتیفیکت در سربرگ `SSL`، بر روی گزینه `Get SSL certificate` بزنید. + +![20](https://user-images.githubusercontent.com/125398461/235284577-e0ee7fbb-31d9-476b-9901-f2fb78c5c22d.jpg) + +۲۱. دریافت سرتیفیکت ممکن است حدودا ۱۵ دقیقه زمان ببرد. پس از گرفتن سرتیفیکت، شما پیغامی مبنی بر استفاده و تمدید خودکار آن مشاهده خواهید کرد. + +![21](https://user-images.githubusercontent.com/125398461/235284579-898335c0-28d3-477f-b900-3f8a381bcdda.jpg) + +۲۲. حالا می‌توانیم از این ساب‌دامین به عنوان دامنه CDN در هیدیفای‌منیجر استفاده کنید. + +![22](https://user-images.githubusercontent.com/125398461/235284966-63477444-51d0-45dd-be27-2307f43df54f.jpg) + +* نکته پایانی و مهم: یادتون نره که CDN GCore در پلن رایگان محدودیت ۱۰۰۰ گیگابایتی دارد. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain.md new file mode 100644 index 0000000..654a134 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain.md @@ -0,0 +1,102 @@ +![235283674-400d9213-029a-429b-9985-699c0bd40ba3](https://github.com/hiddify/hiddify.com/assets/125398461/0e817e62-ef6c-47fb-a6e2-9703e2cc52c1)--- +title: How to use GCore CDN +--- + +
+ + +# How to use GCore CDN on Cloudflare registered domain + +As you probably know, in order to use the HiddifyManager optimally, you need to use a CDN provider so that filtering can be bypassed using its services. In other articles, we introduced Cloudflare and taught how to work with it. This service is due to widespread disruptions that are applied on it; Sometimes it makes things difficult for users. An alternative way is to use GCore's CDN service. Read this article to the end to learn how to set it up. + +1. First, go [here](https://gcore.com/) and create your account on GCore website. Then log in to the created account and click on the CDN option in your dashboard. + +![](https://user-images.githubusercontent.com/125398461/235283540-83a44dbc-6b81-45d2-a04f-be2749cf0429.jpg) + +2. In the next step, choose the free plan and click `Next`. + +![](https://user-images.githubusercontent.com/125398461/235283581-a392f93e-4d8a-44d9-9521-be83fb09564b.jpg) + +3. After completing the requested information, click on the `Get started` option. + +![](https://user-images.githubusercontent.com/125398461/235283590-6654cae1-cc3b-42c6-ae8c-d4cc26b71a15.jpg) + +4. In the next step, click on `Create CDN resource`. + +![](https://user-images.githubusercontent.com/125398461/235283617-042ee013-e1a1-4567-aa6c-fcbf1080fa99.jpg) + +5. Now click on `Confirm` on the opened page. + +![](https://user-images.githubusercontent.com/125398461/235283626-b7923519-ffbc-425b-a65b-3063e19595a1.jpg) + +6. In this step, enter the domain you have registered in Cloudflare along with the desired subdomain. + +![](https://github.com/hiddify/hiddify.com/assets/125398461/c206f237-3b9c-411a-9e22-9a7ff048e9ff) + +7. Then enter your server's IP and click on `Add` button. + +![](https://github.com/hiddify/hiddify.com/assets/125398461/2766aadb-eef5-4b14-b6d5-c9543fc0f0d7) + +8. In the next step, click on `Confirm` again. + +![](https://user-images.githubusercontent.com/125398461/235283679-fbb415e0-5b12-4880-be94-3f2a17ba5895.jpg) + +9. Since you are going to use GCore's CDN, you don't need to register GCore's nameservers on your domain and just click on `Confirm`. + +![](https://user-images.githubusercontent.com/125398461/235283686-69d71bb4-2c27-4375-8a04-3a7f2f1fac21.jpg) + +10. In this step, click on `Confirm` again. + +![](https://user-images.githubusercontent.com/125398461/235283803-1ca531c7-efb6-4bf2-ba21-5f68de3cc9df.jpg) + +11. Then click on `Open resource settings` option. + +![](https://user-images.githubusercontent.com/125398461/235283807-225d6325-b388-4a21-9b41-5da3f7457ba9.jpg) + +12. In the opened page, click on the `DNS` option. + +![](https://user-images.githubusercontent.com/125398461/235283814-711cf947-256c-4cda-8cc5-236abe8a6b31.jpg) + +13. Now click on your domain to display the list of registered records. + +![13](https://user-images.githubusercontent.com/125398461/235283822-62ce802c-d7c2-44e8-8fd6-a418fe6a04c2.jpg) + +14. Next, click the pencil button to edit the CDN record. + +![](https://user-images.githubusercontent.com/125398461/235283921-81cfdb21-b00b-4e94-907d-3a6b95f7b650.jpg) + +15. In this step, click on the `CDN Integration` option to integrate CDNs. + +![](https://user-images.githubusercontent.com/125398461/235284019-0301d8e3-d882-4482-9c75-23a30e4fb2f1.jpg) + +16. Now copy the domain that is in the `CDN Integration` section. + +![](https://github.com/hiddify/hiddify.com/assets/125398461/fe33cf16-40a4-4782-b4c3-229768ebde86) + +17. Now log in to your Cloudflare account, enter your domain settings and register a `CNAME` record in the DNS section using the domain you copied in the previous section. + +![17](https://github.com/hiddify/hiddify.com/assets/125398461/519004ac-c33e-4489-a224-47cc9d35b3b1) + +18. Go your dashboard on the GCore site again and in the CDN section, after making sure it is Active, click on the domain on your domain. + +> Note: It may take some time to become active. + +![](https://user-images.githubusercontent.com/125398461/235284405-71b9fe26-e25c-4750-b349-1fac9cd34efb.jpg) + +19. Then, in the `Origin` section, set the `Origin pull protocol` setting to `HTTPS`. + +![](https://user-images.githubusercontent.com/125398461/235284438-6d4e0c6e-79dc-4175-8718-8a85b68b46d1.jpg) + +20. Now, to get the certificate in the `SSL` tab, click on the `Get SSL certificate` option. + +![](https://user-images.githubusercontent.com/125398461/235284577-e0ee7fbb-31d9-476b-9901-f2fb78c5c22d.jpg) + +21. Receiving the certificate may take about 15 minutes. After getting the certificate, you will see a message about its use and automatic renewal. + +![](https://user-images.githubusercontent.com/125398461/235284579-898335c0-28d3-477f-b900-3f8a381bcdda.jpg) + +22. Now we can use this subdomain as a CDN domain in HiddifyManager. + +![](https://github.com/hiddify/hiddify.com/assets/125398461/73d6e924-9a5a-444a-88d1-07c0ef06623c) + +* Final and important point: Don't forget that CDN GCore has a limit of 1000 GB in the free plan. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links.fa.md new file mode 100644 index 0000000..e863714 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links.fa.md @@ -0,0 +1,131 @@ +--- +title: آموزش استفاده از سایت PHP برای لینک ساب +--- + +# ایجاد یک سایت PHP برای انتقال اطلاعات مربوط به لینک‌های سابسکریپشن + +## هدف از ایجاد سایت PHP برای لینک‌های سابسکریپشن +هیدیفای‌منیجر بر این اساس پایه‌گذاری شده است که احتمال فیلتر شدن سرور را تا جای ممکن کاهش یابد. یکی از راه‌های کاربردی در این زمینه، جدا کردن کانفیگ‌ها از لینک‌های سابسکریپشن یا اشتراک است. در این صورت همیشه کلاینت شما آخرین اطلاعات کانفیگ‌ها را از طریق لینک سابسکریپشن دریافت می‌کند. حالا فرض کنید به هر دلیل لینک سابسکریپشن در دسترس نبود، در این صورت می‌توان یک سایت PHP بالا آورد و از آن برای انتقال اطلاعات لینک‌های سابسکریپشن (و نه کانفیگ) استفاده کرد. شماتیک انجام این کار به شکل زیر است. + +
+ +![php site for sub-link](https://github.com/hiddify/hiddify.com/assets/125398461/1430314a-570b-4b27-b4ac-4196649f3edd) +
+ +## مراحل انجام کار +برای ایجاد یک سایت PHP و استفاده از آن برای لینک سابسکریپشن ابتدا باید در [گوگل سرچ](https://www.google.com/search?q=free+php+hosting) کنید و سایت‌های رایگان ارائه دهنده سرویس PHP رایگان را پیدا کنید. + +- یکی از سایت‌ها را انتخاب کنید. +- در آن اکانت خود را ایجاد کنید. +- سپس یک سرویس میزبانی PHP را در آن ایجاد کنید. این کار در سایت‌های مختلف مراحل مشابهی دارد و تقریبا ساده است. برای ایجاد این سرویس می‌بایست یک آدرس منحصر به فرد روی یکی از دامنه‌های آن ارائه‌دهنده بسازید. +- بعد از آن سرویس شما ایجاد می‌گردد. +- بعد از ایجاد سرویس، روی فایل‌های آن ویرایش بزنید و دو فایل زیر را در مسیر اصلی سرویس خود قرار دهید. + +> - نکته: اگر هر کدام از فایل‌های `htaccess.` و `index.php` را مشاهده نمی‌کنید، باید این فایل‌ها را به صورت دستی ایجاد کنید. + +> - دقت شود که فایل `htaccess.` یک نقطه قبل از اسم آن دارد و اگر آن را ایجاد می‌نمایید، این نکته را در نظر بگیرید. + +**کد برای فایل `htaccess.`** +``` +RewriteEngine On +RewriteRule ^(.*)$ index.php?url=$1 [L] +``` + +**کد برای فایل `index.php`** + +```php + $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_SSL_VERIFYPEER => false, + CURLOPT_SSL_VERIFYHOST => 2, + CURLOPT_HEADERFUNCTION => function($curl, $header) { + header($header); + return strlen($header); + }, +]); + +$headers = [ + "CF-Connecting-IP: $ip", + "Host: $domain", + "User-Agent: $userAgent", +]; +foreach ($_SERVER as $key => $value) { + if (strpos($key, 'HTTP_') === 0) { + $header = str_replace('_', '-', substr($key, 5)); + $headers[] = "$header: $value"; + } +} +curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + +$response = curl_exec($ch); +if (curl_errno($ch)) { + http_response_code(500); + exit('Internal Server Error'); +} + +curl_close($ch); +echo $response; + +?> + +``` + +دقت شود: +> در کد PHP بالا دامنه سابسکریپشن خود را جایگزین نمایید. + +> در تنظیمات سایت PHP، ورژن PHP بر روی 8 به بالا باشد. + +> گزینه CURL در تنظیمات PHP هاست شما روشن باشد. + + +- سپس تنظیمات را ذخیره کنید. +- در این مرحله اگر تنظیمات ssl برای دامنه خود در این ارائه‌دهنده PHP را چک کنید؛ احتمالا متوجه خواهید شد که مقداری زمان می‌گیرد تا سرتیفیکت به آن تخصیص داده شود. +- حالا برای استفاده؛ لینک مربوط به دامین ساخته شده خود در این ارائه دهنده را کپی کنید و سپس از لینک ادمین خود در پنل بخش بعد از آدرس را کپی کنید و به انتهای لینک PHP خود بچسبانید. پنل با آدرس PHP باز می‌گردد. +مثلا فرض کنید دامینه PHP شما این است: + +
+ +https://hello2freeworld.phpsite.com +
+ +و لینک ادمین پنل شما اینطوری باشد: + +
+ +https://t1.hiddify.com/koZlk3E8P59Ghf8R/ab56bgt8-737c-4fd6-9oe0-6d4fa4bb84c0/admin/ +
+ +آدرس PHP شما برای رسیدن به پنل به این صورت خواهد بود: + +
+ +https://hello2freeworld.phpsite.com/koZlk3E8P59Ghf8R/ab56bgt8-737c-4fd6-9oe0-6d4fa4bb84c0/admin/ +
+ +> نکته خیلی مهم: اگر دامنه PHP شما در سایت ارائه‌دهنده هنوز سرتیفیکت نگرفته باشد؛ این آدرس با https باز نمی‌شود و برای تست می‌توانید با http آن را باز کنید اما برای استفاده حتما از https استفاده نمایید. بنابراین باید منتظر بمانید تا سرتیفیکت تخصیص داده شود. + +- بعد از انجام تست بالا، دامنه را در هیدیفای‌منیجر خود در قسمت دامنه‌ها ثبت نمایید تا سرور برای آن SSL بگیرد و ارتباط آن کاملا امن گردد. + +- بعد از انجام این کار، این لینک را به عنوان لینک سابسکریپشن می‌توانید به اپ‌های کلاینت خود اضافه نمایید. +- کار تمام است. اکنون شما آدرسی دارید که به سرور شما متصل گردیده و عملا غیر قابل فیلتر است. + + + + + diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links.md new file mode 100644 index 0000000..6eede70 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-a-PHP-site-for-sub-links.md @@ -0,0 +1,118 @@ +--- +title: How to use PHP site for sub links +--- + +# Create a PHP site to transfer information of subscription links + +## The purpose of creating a PHP site for subscription links +HiddifyManager is based on the principle of reducing the possibility of server filtering as much as possible. One of the practical ways in this field is to separate configurations from subscription links. In this case, your client will always receive the latest configuration information through the subscription link. Now suppose the subscription link was not available for any reason, in this case a PHP site can be brought up and used to transfer the subscription link information (and not the config). The schematic for doing this is as follows. + +
+ +![php site for sub-link](https://github.com/hiddify/hiddify.com/assets/125398461/88db7524-3ccf-40ca-b6f2-ffc351bedf80) +
+ +## Steps to do the work +To create a PHP site and use it for the subscription link, you must first do a [Google search](https://www.google.com/search?q=free+php+hosting) and find free sites that provide free PHP service. find. + +- Choose one of the sites. +- Create your account there. +- Then create a PHP hosting service in it. This work has similar steps in different sites and is almost simple. To create this service, you must create a unique address on one of the domains of that provider. +- After that, your service will be created. +- After creating the service, edit its files and place the following two files in the main path of your service. + +> - Note: If you don't see any `.htaccess` and `index.php` files, you need to create these files manually. + +> - Make sure that `.htaccess` file has a dot before its name and if you create it, consider this point. + +**Code for `.htaccess` file** + +``` +RewriteEngine On +RewriteRule ^(.*)$ index.php?url=$1 [L] +``` + +**Code for `index.php` file** + +```php + $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_SSL_VERIFYPEER => false, + CURLOPT_SSL_VERIFYHOST => 2, + CURLOPT_HEADERFUNCTION => function($curl, $header) { + header($header); + return strlen($header); + }, +]); + +$headers = [ + "CF-Connecting-IP: $ip", + "Host: $domain", + "User-Agent: $userAgent", +]; +foreach ($_SERVER as $key => $value) { + if (strpos($key, 'HTTP_') === 0) { + $header = str_replace('_', '-', substr($key, 5)); + $headers[] = "$header: $value"; + } +} +curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + +$response = curl_exec($ch); +if (curl_errno($ch)) { + http_response_code(500); + exit('Internal Server Error'); +} + +curl_close($ch); +echo $response; + +?> + +``` + +Be careful: +> Replace your subscription domain in the above PHP code. + +> In the PHP site settings, the PHP version should be 8 or higher. + +> The CURL option should be turned on in the PHP settings of your host. + + +- Then save the settings. +- At this point, if you check the ssl settings for your domain in this PHP provider; You will probably notice that it takes some time for the certificate to be assigned. +- Now to use; Copy the link related to your created domain in this provider and then copy the section after the address from your admin link in the panel and paste it at the end of your PHP link. The panel returns with the PHP address. +For example, suppose your PHP domain is: + +https://hello2freeworld.phpsite.com + +And the link of your admin panel should be like this: + +https://t1.hiddify.com/koZlk3E8P59Ghf8R/ab56bgt8-737c-4fd6-9oe0-6d4fa4bb84c0/admin/ + +Your PHP address to reach the panel will be as follows: + +https://hello2freeworld.phpsite.com/koZlk3E8P59Ghf8R/ab56bgt8-737c-4fd6-9oe0-6d4fa4bb84c0/admin/ + +> **Very important note:** if your PHP domain is not yet certified on the provider's site; This address does not open with https and you can open it with http for testing, but be sure to use https to use. So you have to wait for the certificate to be assigned. + +- After performing the above test, register the domain in your HiFi Manager in the Domains section so that the server will get SSL for it and its connection will be completely secure. + +- After doing this, you can add this link as a subscription link to your client apps. +- The work is done. Now you have an address that is connected to your server and is practically unfilterable. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format.fa.md new file mode 100644 index 0000000..3e83e04 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format.fa.md @@ -0,0 +1,25 @@ +--- +title: قرار دادن آیپی‌های تمیز دلخواه بر اساس فرمت مشخص (برای فیلد اجبار) +--- + +# قرار دادن آیپی‌های تمیز دلخواه بر اساس فرمت مشخص (برای فیلد اجبار) +همانطور که احتمالا می‌دانید، یکی از ویژگی جدید هیدیفای به اسم AutoCDN بر پایه ساب‌دامین‌های مربوط به آیپی‌های تمیز کلادفلر گردآوری شده توسط IRCF وابسته است. برای استفاده از آن باید از یک فرمت مناسب استفاده کرد. چگونه از این فرمت استفاده کنید؟ + +همچنین اگر بخواهید از رنج آیپی‌های تمیز خود برای اپراتورهای مختلف استفاده کرد، چه کار می‌شه کرد؟ + +برای این کار ابتدا به [اینجا](https://ip-format.hiddify.com/) بروید. + +در اینجا شما وارد صفحه فرمت نام‌های دامنه IRCF ‌می‌شوید. بر اساس نیاز خود دامنه‌های مورد نظر خود را انتخاب کنید و دامنه‌هایی که نیاز ندارید را حذف نمایید. + +
+ +ip-format site +
+ + +- با استفاده از آیکون سطل آشغال شبکه‌هایی که نیاز ندارید را حذف نمایید. +- آیپی‌ یا دامنه مربوط به شبکه‌های خود را در صورت نیاز تغییر دهید. مثلا از `mcix.ircf.space` برای شما بهتر جواب می‌دهد؛ این ساب‌دامین را برای شبکه MCI قرار دهید. +- همچنین اگر بخواهید رنج آیپی‌های تمیز خود را به ازاء هر اپراتور وارد کنید، کافیست آیپی یا ساب‌دامنه‌ها را در فیلدهای سمت راست وارد کنید. تگ مربوط به اپراتور را هم انتخاب کنید. +- در نهایت روی `کپی آی‌پی‌ها` بزنید تا قالب نهایی کپی شود. +- قالب کپی شده را در فیلد `اجبار به استفاده از آیپی‌های زیر` در تنظیمات مربوط به دامنه خود در پنل هیدیفای قرار دهید. +- کار تمام است. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format.md new file mode 100644 index 0000000..f7054e5 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format.md @@ -0,0 +1,25 @@ +--- +title: How to use desired clean IPs based on the specified format (for the forced to use host field) +--- + +# How to use desired clean IPs based on the specified format (for the forced to use host field) +As you probably know, one of new features of HiddifyManager is AutoCDN which depends on the subdomains of Cloudflare's clean IPs collected by IRCF. To use it, you must use a suitable format. How to use this format? + +Also, what if you want to use your clean IP range for different operators? + +To do this, first go to [here](https://ip-format.hiddify.com/). + +Here you will enter the IRCF domain name format page. Choose the domains you want based on your needs and delete the domains you don't need. + +
+ +ip-format site +
+ + +- Use the trash can icon to delete the networks you don't need. +- Change the IP or domain of your networks if needed. For example, it works better for you than `mcix.ircf.space`; Put this subdomain for MCI network. +- Also, if you want to enter your clean IP range for each operator, just enter the IP or subdomains in the fields on the right. Select the tag related to the operator. +- Finally, click on `Copy IPs` to copy the final format. +- Place the copied template in the `Force the use of the following IPs` field in the settings related to your domain in the Hidify panel. +- The work is done. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager.fa.md new file mode 100644 index 0000000..601c5b6 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager.fa.md @@ -0,0 +1,127 @@ +--- +title: استفاده از آی‌پی تمیز و مدیریت چندین دامنه CDN در هیدیفای‌منیجر +--- + +# مدیریت آی‌پی‌های تمیز و چندین دامنه CDN و AutoCDN در هیدیفای‌منیجر + +در این مقاله، به بررسی روش‌هایی برای مدیریت آی‌پی‌های تمیز متناسب با اپراتورهای مختلف و تنظیم چندین دامنه CDN در **هیدیفای‌منیجر** می‌پردازیم. این روش‌ها باعث بهینه‌سازی کانفیگ‌ها و افزایش پایداری اتصال کاربران می‌شوند. + +--- + +## **استفاده از آی‌پی تمیز برای اپراتورهای مختلف** + +### **مرحله ۱: اسکن آی‌پی‌های تمیز** +برای شناسایی آی‌پی‌های تمیز، از **اسکنر مرتضی باشسیز** همراه با نسخه به‌روز **هسته Xray** استفاده کنید. همچنین نسخه اندروید این ابزار با رابط کاربری ساده‌تر در دسترس است. + +### **مرحله ۲: فرمت تعریف آی‌پی تمیز برای اپراتورها** +از فرمت زیر برای مشخص کردن آی‌پی تمیز برای هر اپراتور استفاده کنید: + +
+۱.۱.۱.۱ MCI > همراه اول +۲.۲.۲.۲ MTN > ایرانسل +۳.۳.۳.۳ RTL > رایتل +۴.۴.۴.۴ MKH > مخابرات +۵.۵.۵.۵ SBN > صبانت +۶.۶.۶.۶ HWB > های‌وب +۷.۷.۷.۷ SHT > شاتل موبایل +
+ +### **روش‌های جایگزین برای آی‌پی‌های تمیز** + +۱. **استفاده از آی‌پی کلودفلر:** + با استفاده از سایت [check-host.net](https://check-host.net) می‌توانید آی‌پی‌های کلودفلر را بررسی کنید. اگر در بخش ISP یا Organization عبارت "Cloudflare" نمایش داده شد، این آی‌پی‌ها قابل استفاده هستند. + +۲. **استفاده از آی‌پی سرور اصلی:** + آی‌پی مستقیم سرور یا آی‌پی‌های پشت ساب‌دامین می‌توانند گزینه‌های مناسبی باشند، به شرط آنکه عملکرد خوبی روی اپراتور مربوطه داشته باشند. + +۳. **استفاده از IPv6:** + در صورت پشتیبانی اپراتور از IPv6، این گزینه می‌تواند مؤثر باشد. تنظیمات کلاینت را روی **IPv6/IPv4** قرار دهید. + +--- + +## **مدیریت چندین دامنه CDN** + +### **روش اول: تعریف ساب‌دامین با آی‌پی تمیز** + +۱. **تعریف ساب‌دامین‌های CDN:** + ساب‌دامین‌هایی با پروکسی روشن تعریف کنید: + + ```plaintext + sub1.domain.com (proxy on) + sub2.domain.com (proxy on) + sub3.domain.com (proxy on) + ``` + +۲. **تعریف آی‌پی تمیز برای هر اپراتور:** + ساب‌دامین‌هایی با پروکسی خاموش برای هر آی‌پی تمیز تعریف کنید: + + ```plaintext + mci.domain.com (proxy off) ==> آی‌پی تمیز همراه اول + irc.domain.com (proxy off) ==> آی‌پی تمیز ایرانسل + mkb.domain.com (proxy off) ==> آی‌پی تمیز مخابرات + ``` + +۳. **اضافه کردن دامنه‌ها در هیدیفای‌منیجر:** + هر ساب‌دامین را برای اپراتور مربوطه تعریف کنید. + +### **روش دوم: استفاده از دامنه دوم برای CDN** + +۱. **تعریف ساب‌دامین‌های CDN برای دامنه اول:** + + ```plaintext + sub1.domain1.com (proxy on) + sub2.domain1.com (proxy on) + sub3.domain1.com (proxy on) + ``` + +۲. **تعریف ساب‌دامین‌های آی‌پی تمیز برای دامنه اول:** + + ```plaintext + mci.domain1.com (proxy off) ==> آی‌پی تمیز همراه اول + irc.domain1.com (proxy off) ==> آی‌پی تمیز ایرانسل + mkb.domain1.com (proxy off) ==> آی‌پی تمیز مخابرات + ``` + +۳. **تعریف رکوردهای CNAME برای دامنه دوم:** + + ```plaintext + sub1.domain2.com ==> sub1.domain1.com (proxy off) + sub2.domain2.com ==> sub2.domain1.com (proxy off) + sub3.domain2.com ==> sub3.domain1.com (proxy off) + ``` + +### **روش سوم: استفاده از AutoCDN با تگ‌ها** + +۱. **تعریف یک ساب‌دامین AutoCDN:** + + ```plaintext + sub.domain.com (proxy on) + ``` + +۲. **تعریف تگ برای هر اپراتور:** + + ```plaintext + mci.ircf.space MCI + mtn.ircf.space MTN + mkh.ircf.space MKH + rtl.ircf.space RTL + ``` + +--- + +## **ادغام ساب‌دامین‌ها و تگ‌ها برای بهینه‌سازی** + +برای ترکیب آی‌پی‌های تمیز و قابلیت‌های AutoCDN: + +۱. **ایجاد یک ساب‌دامین با آی‌پی سرور اصلی (پروکسی خاموش).** +۲. **تعریف چندین ساب‌دامین با آی‌پی تمیز برای اپراتورهای مختلف.** +۳. **تنظیم یک دامنه CDN در هیدیفای‌منیجر:** + در فیلد "اجبار به استفاده از آی‌پی‌ها"، سه ساب‌دامین با آی‌پی‌های تمیز را وارد کنید. + +۴. **اختصاص تگ اپراتور سازگار به هر ساب‌دامین:** + این تنظیم به کلاینت اجازه می‌دهد هنگام وارد کردن لینک، اپراتور شما را شناسایی کرده و ساب‌دامین سازگار را در تنظیمات کانفیگ استفاده کند. + +--- + +با این روش‌ها، می‌توانید دامنه‌ها و آی‌پی‌های خود را در **هیدیفای‌منیجر** به‌صورت بهینه مدیریت کرده و عملکرد بهتری ارائه دهید. + diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager.md new file mode 100644 index 0000000..6b51559 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-multiCDN-domains-in-HiddifyManager.md @@ -0,0 +1,120 @@ +--- +title: How to manage multiCDN domains in HiddifyManager +--- + +### Managing Clean IPs and Multiple CDN and AutoCDN Domains in Hiddify Manager + +In this article, we explore strategies for managing clean IPs tailored to different operators and setting up multiple CDN domains in **Hiddify Manager**. These methods optimize configuration and improve connection stability for users. + +--- + +### **Using Clean IPs for Different Operators** + +#### **Step 1: Scanning Clean IPs** +Use the **Morteza Bashsiz Scanner** with the updated **Xray core** to identify clean IPs. For ease of use, an Android version with a user-friendly interface is also available. + +#### **Step 2: Clean IP Format for Operators** +To define clean IPs for different operators, use the following format: + +```plaintext +1.1.1.1 MCI > Hamrah Aval +2.2.2.2 MTN > Irancell +3.3.3.3 RTL > RighTel +4.4.4.4 MKH > Mokhaberat +5.5.5.5 SBN > Sabanet +6.6.6.6 HWB > HiWeb +7.7.7.7 SHT > Shatel Mobile +``` + +#### **Alternative Methods for Clean IPs** + +1. **Using Cloudflare IPs:** + Test IPs using [check-host.net](https://check-host.net). If "Cloudflare" appears in the ISP or Organization field, you can use these IPs for alternative configurations. + +2. **Using the Main Server IP:** + Direct server IPs or IPs behind subdomains can work if they perform well with specific operators. + +3. **Using IPv6:** + If the operator supports IPv6, this can be an effective solution. Ensure the client settings are adjusted to IPv6/IPv4. + +--- + +### **Managing Multiple CDN Domains** + +#### **Approach 1: Creating Subdomains with Clean IPs** + +1. **Define CDN Subdomains:** + Set up CDN subdomains with the proxy enabled: + ```plaintext + sub1.domain.com (proxy on) + sub2.domain.com (proxy on) + sub3.domain.com (proxy on) + ``` + +2. **Assign Clean IPs for Each Operator:** + Create subdomains with the proxy disabled for each clean IP: + ```plaintext + mci.domain.com (proxy off) ==> Clean IP for Hamrah Aval + irc.domain.com (proxy off) ==> Clean IP for Irancell + mkb.domain.com (proxy off) ==> Clean IP for Mokhaberat + ``` + +3. **Add Subdomains in Hiddify Manager:** + Assign each subdomain to its respective operator. + +#### **Approach 2: Using a Second Domain for CDN** + +1. **Set up CDN Subdomains for the First Domain:** + ```plaintext + sub1.domain1.com (proxy on) + sub2.domain1.com (proxy on) + sub3.domain1.com (proxy on) + ``` + +2. **Set Clean IP Subdomains for the First Domain:** + ```plaintext + mci.domain1.com (proxy off) ==> Clean IP for Hamrah Aval + irc.domain1.com (proxy off) ==> Clean IP for Irancell + mkb.domain1.com (proxy off) ==> Clean IP for Mokhaberat + ``` + +3. **Create CNAME Records for the Second Domain:** + ```plaintext + sub1.domain2.com ==> sub1.domain1.com (proxy off) + sub2.domain2.com ==> sub2.domain1.com (proxy off) + sub3.domain2.com ==> sub3.domain1.com (proxy off) + ``` + +#### **Approach 3: AutoCDN with Tags** + +1. **Set Up a Single AutoCDN Subdomain:** + ```plaintext + sub.domain.com (proxy on) + ``` + +2. **Define Tags for Operators:** + ```plaintext + mci.ircf.space MCI + mtn.ircf.space MTN + mkh.ircf.space MKH + rtl.ircf.space RTL + ``` + +--- + +### **Combining Subdomains and Tags for Optimal Configuration** + +To integrate clean IPs with AutoCDN features, follow these steps: + +1. **Create a Subdomain with the Main Server IP (proxy off).** +2. **Define Multiple Subdomains with Clean IPs for Each Operator:** + Ensure that each subdomain is linked to the clean IPs you scanned. +3. **Set Up a CDN Domain in Hiddify Manager:** + Enter three subdomains with distinct clean IPs for different operators in the "Force IP Usage" field. + +4. **Assign Compatible Operator Tags:** + Assign operator tags (e.g., MCI, MTN) to each subdomain. This ensures the client scans for the best operator-specific subdomain during configuration. + +--- + +By applying these methods, you can efficiently manage your domains and IPs in Hiddify Manager, enhancing performance and reliability for your users. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-the-Cloudflare-worker-domain-on-Hiddify.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-the-Cloudflare-worker-domain-on-Hiddify.fa.md new file mode 100644 index 0000000..efd5b0c --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-the-Cloudflare-worker-domain-on-Hiddify.fa.md @@ -0,0 +1,48 @@ +--- +title: آموزش تنظیم و استفاده از ورکرز در هیدیفای‌منیجر (روش خودکار) +--- + + +
+ +# آموزش استفاده از دامنه ورکر کلادفلر در هیدیفای‌منیجر (روش خودکار) +قبلا در [مقاله‌ای](/fa/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers/) افزودن ورکرهای کلادفلر به پنل آموزش داده شد. برای راحت‌تر شدن کار در نسخه ۷ دامنه ورکر به عنوان یک دامنه جداگانه معرفی گردید. این مقاله را تا انتها دنبال کنید تا با این دامنه آشنا شوید. + +## افزودن کلید توسعه کلادفلر +برای این کار ابتدا نیاز است که توکن یا کلید توسعه کلادفلر را ایجاد نمایید و سپس به پنل اضافه کنید. [این مقاله](/fa/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API/) را دنبال کنید. + +## افزودن دامنه ورکر به پنل +وارد تنظیمات پنل شوید و در قسمت دامنه‌ها، روی ایجاد کلیک کنید. + +
+ +![worker domain](https://github.com/hiddify/hiddify-config/assets/125398461/f8fedbce-1a2e-41d9-b64b-b6f45eaae6fd) +
+ + +### حالت +حالت دامنه را روی ورکر کلودفلر بگذارید. +### دامنه +در این قسمت نام دامنه مورد نظر خود را برای ورکر انتخاب نمایید تا این نام به صورت خودکار در اکانت کلادفلر شما در قسمت ورکرز اضافه گردد. + +### نام نمایشی +در صورت تمایل می‌توانید یک نام برای نمایش در کانفیگ‌ها انتخاب نمایید. + +### اجبار به استفاده‌ از آی پی‌های زیر برای کانفیگ +در این فیلد در صورت نیاز می‌توانید آیپی‌های تمیز کلادفلر خودتان را قرار دهید یا از آیپی‌های تمیز IRCF استفاده نمایید. در صورت نیاز به اطلاعات بیشتر در زمینه نحوه وارد کردن آیپی‌ها در این فیلد [این مطلب](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format/) را مطالعه کنید. + +در نهایت ثبت را بزنید تا تنظیمات ذخیره شود. سپس `اعمال تغییرات` را بزنید تا تغییرات روی پنل اعمال گردند. + +## استفاده از کانفیگ‌های این دامنه +همانطور که احتمالا می‌دانید، در هیدیفای توصیه می‌شود که لینک سابسکریپشن از کانفیگ‌ها مجزا گردند تا از فیلتر شدن لینک‌های سابسکریپشن جلوگیری شود. بنابراین اگر لینک سابسکریپشن را از قبل ساخته‌اید؛ در اینجا کانفیگ به تنظیمات آن دامنه بروید و در فیلد `نمایش کانفیگ‌های دامنه` دامنه ورکر جدید را اضافه نمایید. + + +
+ +![show configs field](https://github.com/hiddify/hiddify-config/assets/125398461/4418449b-2760-4a6e-a174-5ad0947af369) +
+ +یعنی مثلا اگر `t1.hiddify.com` دامنه سابسکریپشن شما باشد، کافیست آن را ویرایش کنید و در فیلد `نمایش کانفیگ های دامنه` تیک مربوط به دامنه ورکرز را بزنید. + + +کار تمام است. کتنفیگ‌های مربوط به دامنه ورکر جدید به کانفیگ‌های قبلی شما اضافه شدند. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-the-Cloudflare-worker-domain-on-Hiddify.md b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-the-Cloudflare-worker-domain-on-Hiddify.md new file mode 100644 index 0000000..fe3ef7d --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/How-to-use-the-Cloudflare-worker-domain-on-Hiddify.md @@ -0,0 +1,53 @@ +--- +title: How to use Cloudflare worker domain on HiddifyManager (Automated way) +--- + +
+ + +# How to use Cloudflare worker domain on HiddifyManager (Automated way) +Previously, in an [article](/manager/domain-worker-cdn-and-tunneling/How-to-set-up-and-use-Cloudflare-workers/), it was taught how to add Cloudflare workers to the panel. To make it easier to work in version 7, the worker domain was introduced as a separate domain. Follow this article till the end to get familiar with this domain. + +## Add Cloudflare API token + +For this, you first need to create a Cloudflare development token or key and then add it to the panel. [Follow this article](/manager/domain-worker-cdn-and-tunneling/Get-Cloudflare-API/). + + +## Add the worker domain to the panel +Enter the panel `Settings` and click on `Create` in the `Domains` section. + +
+ +![Screenshot_20230531_143400](https://github.com/hiddify/hiddify-config/assets/125398461/1d3d5365-7598-47fb-8ff1-2fdd44e6c328) + +
+ + +### Mode +Set domain mode to Cloudflare worker. + +### Domain +In this section, choose the domain name you want for the Worker so that this name is automatically added to your Cloudflare account in the workers section. + +### Alias +If you want, you can choose a name to display in the configs. + +### Force Config to Use Following IPs +In this field, if needed, you can put your Cloudflare clean IPs or use IRCF clean IPs. If you need more information on how to enter IPs in this field, read this [article](/manager/domain-worker-cdn-and-tunneling/How-to-use-desired-clean-IPs-based-on-a-specific-format/). + +Finally, click Save to save the settings. Then click `Apply Changes`. + +## Use the configs of this domain +As you probably know, it is recommended that the subscription link be separated from the configurations in Hiddify to prevent the subscription links from being filtered. So if you have already created the subscription link; Here, go to the config settings of that domain and add the new Worker domain in `Show Configs of Domains` field. + + +
+ +![Screenshot_20230531_142541-2](https://github.com/hiddify/hiddify-config/assets/125398461/d40edd3b-1a13-45c4-94e1-e285f28e236a) + +
+ + +That is, for example, if `t1.hiddify.com` is your subscription domain, just edit it and in `Show Configs of Domains`, tick the Worker domain. + +The work is done. The configs for the new worker domain have been added to your previous configs. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Setup-ip4toip6-tunnel.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Setup-ip4toip6-tunnel.fa.md new file mode 100644 index 0000000..92eed92 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Setup-ip4toip6-tunnel.fa.md @@ -0,0 +1,132 @@ +# تونل 4to6 + +تونل 4to6 مشابه تونل 6to4 است با مزایای زیر: + +1. آدرس IP مؤثر شما بین دو سرور IPv6 خواهد بود. +2. IPv6 ارزان‌تر است و در صورت مسدود شدن به راحتی قابل تغییر است. +3. آدرس‌های IPv4 شما در هر دو طرف از مسدود شدن محافظت خواهند شد. + +## نمای فنی + +این تنظیم شامل دو نود، A و B است: + +``` +Tehran ------------------GFW----------------- Tokyo + A <---------------------------------------> B +``` + +یک تونل بین این دو نود ایجاد می‌شود: + +``` +Tehran ------------------------------------------GFW----------------------------------------- Tokyo + A B +| virtual IPv4 <---- 4to6 ----> real IPv6 | <------IPv6-----> | real IPv6 <---- 4to6 ----> virtual IPv4 | +``` + +بسته‌های IPv4 در بسته‌های IPv6 کپسوله شده و از طریق شبکه IPv6 منتقل می‌شوند. اگر یک IP مسدود شود، یک آدرس IPv6 خواهد بود که به راحتی می‌توان آن را جایگزین کرد، زیرا آدرس‌های IPv6 معمولاً از IPv4 ارزان‌تر هستند. + +## نحوه استفاده + +شما به دو سرور با IPv6 نیاز دارید. + +#### سرور A + +```bash +curl -o /tmp/4to6install.sh https://raw.githubusercontent.com/meshya/4to6-tunnel/main/scripts/install.sh; sudo bash /tmp/4to6install.sh; rm /tmp/4to6install.sh +``` + +| فیلد | مقدار | +|------|-------| +| E0 | IPv6 سرور A | +| E2 | IPv6 سرور B | +| E4 | 192.168.1.1/24 | + +#### سرور B + +```bash +curl -o /tmp/4to6install.sh https://raw.githubusercontent.com/meshya/4to6-tunnel/main/scripts/install.sh; sudo bash /tmp/4to6install.sh; rm /tmp/4to6install.sh +``` + +| فیلد | مقدار | +|------|-------| +| E0 | IPv6 سرور B | +| E2 | IPv6 سرور A | +| E4 | 192.168.1.2/24 | + +## تست + +#### روی سرور A + +```bash +ping 192.168.1.2 +``` + +#### روی سرور B + +```bash +ping 192.168.1.1 +``` + +## هشدار + +اگر یکی از سرورهای شما از شبکه 192.168.x.x استفاده می‌کند، ممکن است نیاز به استفاده از 172.16.x.x/12 (مثلاً 172.16.0.1/12 و 172.16.0.2/12) داشته باشید. اگر مطمئن نیستید، یک issue باز کنید و خروجی `ip addr` را شامل کنید. + +## گزینه‌های استفاده + +سه روش برای استفاده از تونل وجود دارد: + +1. IP/Port Forwarding +2. استفاده از Xray در هر دو سرور +3. استفاده از روش‌های تونلینگ سفارشی + +### IP/Port Forwarding + +برای کسانی که با IP/Port Forwarding آشنا نیستند، توصیه می‌شود بیشتر در این زمینه مطالعه کنند و تنظیمات را به صورت دستی انجام دهند. + +[این مقاله](https://tecadmin.net/setting-up-a-port-forwarding-using-iptables-in-linux/) راهنمایی برای تنظیم Port Forwarding ارائه می‌دهد. + +در اینجا یک راهنمای تنظیم سریع آمده است: + +برای فوروارد کردن یک پورت واحد (مثلاً پورت 80)، از تنظیمات زیر استفاده کنید (فرض می‌شود IPهای مجازی 192.168.1.1 برای سرور A و 192.168.1.2 برای سرور B هستند). + +#### مرحله 1 + +#سرور A +```bash +iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80 +iptables -t nat -A POSTROUTING -j MASQUERADE +``` + +#### مرحله 2 + +اگر تنظیمات کار کرد، دستورات را به `local.rc` اضافه کنید. + +### استفاده از Xray در هر دو سرور + +خدمات Xray را روی هر دو سرور نصب کنید و سرور A را طوری تنظیم کنید که داده‌ها را از طریق پراکسی روی سرور B ارسال کند. این تنظیمات با استفاده از 3x-ui ساده‌تر می‌شود. برای کمک، با من تماس بگیرید (من به عنوان meshya در همه جا و meshyah در تلگرام در دسترس هستم). + +نکته: از 192.168.1.2 به جای IP واقعی سرور B در هنگام تنظیم Xray روی سرور A استفاده کنید. + +### استفاده از روش‌های تونلینگ سفارشی + +اگرچه توصیه نمی‌شود، می‌توانید از روش‌های تونلینگ سفارشی مانند [Reverse TLS](https://github.com/radkesvat/ReverseTlsTunnel) یا [Fake TLS](https://github.com/radkesvat/FakeTlsTunnel) روی تونل 4to6 استفاده کنید اگر با این تکنیک‌ها آشنا هستید. + +نکته: از IPهای مجازی (192.168.x.x) به جای IPهای واقعی استفاده کنید. + +## نکته + +هنگام استفاده از [روش 2](#use-xray-on-both-servers)، قوانین مسیریابی را تنظیم کنید و از [پروژه دامنه‌های میزبانی شده در ایران](https://github.com/bootmortis/iran-hosted-domains) استفاده کنید تا ترافیک را برای وب‌سایت‌ها و خدمات میزبانی شده در ایران، به خصوص شاپرک و خدمات پرداخت، از یک IP ایرانی هدایت کنید. این تنظیم باعث می‌شود کاربران نیازی به تغییر پراکسی خود نداشته باشند. + +## منابع + +1. [تونل 4to6 - Meshya](https://github.com/meshya/4to6-tunnel) + +2. [مستندات پروژه لینوکس - تونل‌سازی ip4 در ip6](https://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch10.html) + +3. [RFC2437](http://www.faqs.org/rfcs/rfc2473.html) + +
+
+
+ +مقاله و مخزن اصلی توسط [Meshya](https://github.com/meshya/4to6-tunnel) \ No newline at end of file diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Setup-ip4toip6-tunnel.md b/docs/manager/domain-worker-cdn-and-tunneling/Setup-ip4toip6-tunnel.md new file mode 100644 index 0000000..9cbd33a --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Setup-ip4toip6-tunnel.md @@ -0,0 +1,135 @@ +# 4to6 Tunnel + +The 4to6 tunnel is similar to the 6to4 tunnel with the following advantages: + +1. Your effective IP address between two servers will be IPv6. +2. IPv6 is inexpensive and can be changed easily if blocked. +3. Your IPv4 addresses on both sides will be protected from blocking. + +## Technical Overview + +The setup involves two nodes, A and B: + +``` +Tehran ------------------GFW----------------- Tokyo + A <---------------------------------------> B +``` + +A tunnel is created between these two nodes: + +``` +Tehran ------------------------------------------GFW----------------------------------------- Tokyo + A B +| virtual IPv4 <---- 4to6 ----> real IPv6 | <------IPv6-----> | real IPv6 <---- 4to6 ----> virtual IPv4 | +``` + +IPv4 packets are encapsulated within IPv6 packets and transmitted over an IPv6 network. If an IP is blocked, it will be an IPv6 address and can be easily replaced, as IPv6 addresses are generally more cost-effective than IPv4 addresses. + +## How to Use + +You will need two servers with IPv6. + +#### Server A + +```bash +curl -o /tmp/4to6install.sh https://raw.githubusercontent.com/meshya/4to6-tunnel/main/scripts/install.sh; sudo bash /tmp/4to6install.sh; rm /tmp/4to6install.sh +``` + +| Field | Value | +|-------|-------| +| E0 | Server A IPv6 | +| E2 | Server B IPv6 | +| E4 | 192.168.1.1/24 | + +#### Server B + +```bash +curl -o /tmp/4to6install.sh https://raw.githubusercontent.com/meshya/4to6-tunnel/main/scripts/install.sh; sudo bash /tmp/4to6install.sh; rm /tmp/4to6install.sh +``` + +| Field | Value | +|-------|-------| +| E0 | Server B IPv6 | +| E2 | Server A IPv6 | +| E4 | 192.168.1.2/24 | + +## Testing + +#### On Server A + +```bash +ping 192.168.1.2 +``` + +#### On Server B + +```bash +ping 192.168.1.1 +``` + +## Warning + +If one of your servers is already using a 192.168.x.x network, you may need to use 172.16.x.x/12 (e.g., 172.16.0.1/12 and 172.16.0.2/12) instead. If you are unsure, open an issue and include the output of `ip addr`. + +## Use Options + +There are three methods to use the tunnel: + +1. IP/Port Forwarding +2. Use Xray on Both Servers +3. Use Custom Tunneling Methods + +### IP/Port Forwarding + +For those unfamiliar with IP/Port forwarding, it is recommended to read more about it and perform the configuration manually. + +[This article](https://tecadmin.net/setting-up-a-port-forwarding-using-iptables-in-linux/) provides guidance on setting up port forwarding. + +Here is a quick setup guide: + +To forward a single port (e.g., port 80), use the following settings (assuming virtual IPs of 192.168.1.1 for Server A and 192.168.1.2 for Server B). + +#### Step 1 + +#Server A +```bash +iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80 +iptables -t nat -A POSTROUTING -j MASQUERADE +``` + +#### Step 2 + +If the setup works, add the commands to `local.rc`. + +### Use Xray on Both Servers + +Install the Xray service on both servers and configure Server A to route data through a proxy on Server B. This configuration can be simplified using 3x-ui. For assistance, contact me (I am available as meshya everywhere and meshyah on Telegram). + +Note: Use 192.168.1.2 instead of the real IP of Server B when configuring Xray on Server A. + +### Use Custom Tunneling Methods + +While not recommended, you can use custom tunneling methods such as [Reverse TLS](https://github.com/radkesvat/ReverseTlsTunnel) or [Fake TLS](https://github.com/radkesvat/FakeTlsTunnel) on top of the 4to6 tunnel if you are familiar with these techniques. + +Note: Use virtual IPs (192.168.x.x) instead of real IPs. + +## Tip + +When using [Method 2](#use-xray-on-both-servers), consider adjusting routing rules and utilizing the [Iran Hosted Domain Project](https://github.com/bootmortis/iran-hosted-domains) to direct traffic for Iran-hosted websites and services, especially Shaparak and payment services, from an Iranian IP. This setup will prevent users from needing to toggle their proxies. + + +## References + +1. [4to6 tunneling - Meshya](https://github.com/meshya/4to6-tunnel) + +2. [Linux document project - ip4 in ip6 tunneling](https://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch10.html +) + +3. [RFC2437](http://www.faqs.org/rfcs/rfc2473.html) + + +
+
+
+ +Article and main repo by [Meshya](https://github.com/meshya/4to6-tunnel) \ No newline at end of file diff --git a/docs/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link.fa.md new file mode 100644 index 0000000..68dd81f --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link.fa.md @@ -0,0 +1,75 @@ +--- +title: توضیحاتی درباره لینک ادمین در هیدیفای‌منیجر و تغییرات آن از نسخه ۱۰ +--- + +
+ +# توضیحاتی درباره لینک ادمین در هیدیفای‌منیجر و تغییرات آن از نسخه ۱۰ +## فرمت صحیح لینک ادمین +یا توجه به اینکه لینک مربوط به ادمین و همینطور سایر لینک های برنامه از قسمت های مختلفی تشکیل شده است و در تنظیمات می توان آن ها را تغییر دارد؛ لازم است اینجا توضیحاتی در خصوص فرمت صحیح لینک ادمین داده شود. + +در حالت کلی لینک ادمین چنین فرمتی دارد: + + +
+ +`https://sub.domain.com/proxy_root/admin_UUID/address_of_the_page` + +`https://sub.domain.com/DrtGho0n4b8H9D/8bncvfb5-8193-vv76-ab97-4c35965l250m/admin/` + +![](https://user-images.githubusercontent.com/125398461/230101702-4c15ce6d-ced7-4e07-83ea-b505fc725b60.png) + + +
+ + + +هر کدام از قسمت ها با "/" از همدیگر جدا می شوند که در ادامه تشریح می گردند. + +> ابتدای لینک که پروتکل سایت را مشخص می کند. اگر از https استفاده شده باشد؛ به این معنی است که ارتباط کلاینت و سرور توسط یه سرتیفیکیت TLS رمزگذاری می شود و ارتباط امن است. اگر از http استفاده شده باشد؛ به این معنی است که ارتباط کلاینت و سرور بدون رمزگذاری برقرار شده است که پیشنهاد نمی گردد. بنابراین توصیه اکید می گردد حتما از لینک های https جهت ارتباط با سرور استفاده نمایید. + +> پس از آن آدرس ساب دامین به همراه دامین وجود دارد که این ساب دامین می تواند دایرکت یا CDN و یا Relay باشد. [توضیحات بیشتر در خصوص انواع دامنه](/manager/wiki/%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D8%AF%D8%A7%D9%85%D9%86%D9%87-%D9%88-%D9%86%D8%AD%D9%88%D9%87-%D8%AB%D8%A8%D8%AA-%E2%80%8C%D8%A2%D9%86%E2%80%8C%D9%87%D8%A7) + +> بعد از آن مسیر مخفی پروکسی قرار دارد که این مسیر در منوی تنظیمات؛ قسمت تنظیمات پیشرفته قرار دارد و قابل تغییر است. + +> قسمت بعدی رمز ادمین یا `UUID` است که این رمز را می توان در منوی تنظیمات؛ تنظیمات ادمین ویرایش کرد. + +> قسمت انتهایی لینک ادمین آدرس صفحه است که با توجه به اینکه کدام صفحه را باز می‌کنید متفاوت خواهد بود. + +حال صفحات زیر مجموعه این صفحه هر کدام در ادامه می توانند اضافه شوند. به عنوان مثال صفحه یوزرها می تواند به این فرمت باشد + +
+ +`https://sub.domain.com/DrtGho0n4b8H9D/8bncvfb5-8193-vv76-ab97-4c35965l250m/admin/user/` + +
+ + +* چنانچه بعد از پایان نصب اولیه از طریق ترمینال؛ لینک های ادمین داده شده به فرمت گفته شده بالا نبودند؛ مشخص می شود که نصب به درستی انجام نشده است. +* همچنین اگر تغییری در رمز ادمین صورت گیرد این لینک تغییر می کند. + +* همچنین اگر مسیر مخفی پروکسی تغییر کند این آدرس تغییر می کند. + +## تغییرات لینک ادمین در نسخه ۱۰ +* در نسخه ۱۰ اندکی تغییر در ساختار لینک‌ها صورت گرفته است که مطابق با توضیحات زیر است: + * به صورت دیفالت بعد از نصب فرمت لینک بلند به صورت بالا در ترمینال ظاهر می‌شود. این لینک، لینک ادمین اصلی شماست. + * وقتی آن را در مرورگر باز می‌کنید برای امنیت بیشتر، عملیات احراز هویت ادمین بر اساس رمز یا `UUID` آن ادمین انجام می‌شود و سپس لینک بلند به لینک کوتاه تبدیل می‌شود: + + +
+ +`https://sub.domain.com/proxy_root/address_of_the_page` + +![short link format](https://github.com/hiddify/hiddify.com/assets/125398461/c52bd330-65ee-4c83-b7c7-ddd05f32e6a8) + + +
+ + * این لینک کوتاه شده تا ۱۰ روز اعتبار دارد یعنی به عبارت دیگر لاگین شما با یوزر ادمین تا ۱۰ روز معتبر است و پس از آن منقضی می‌شود. + * بعد از آن اگر لینک کوتاه شده را در مرورگر رفرش نمایید، صفحه لاگین با UUID نمایش داده می‌شود. در اینجا نیاز است که `UUID` مربوط به آن ادمین را در فیلد `Scret Code` وارد نمایید تا عملیات لاگین انجام شود. +
+ login via UUID +
+ * راه‌ حل جایگزین این است که لینک بلند (لینکی که بعد از نصب در ترمینال ظاهر شده بود) را یکبار دیگر باز نمایید. در این صورت نیاز نیست که UUID را وارد نمایید. + + > توصیه می‌شود، لینک بلند را همیشه در جایی ذخیره نمایید که در صورت نیاز در دسترس شما باشد و از آن استفاده نمایید. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link.md b/docs/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link.md new file mode 100644 index 0000000..313a89c --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/The-correct-format-of-admin-link.md @@ -0,0 +1,59 @@ +--- +title: Explanations about admin link in HiddifyManager and its changes from version 10 +--- + +
+ +# Explanations about admin link in HiddifyManager and its changes from version 10 +## The correct format of admin link +Or note that the admin link and other program links are made up of different parts and can be changed in the settings; It is necessary to give an explanation about the correct format of the admin link. + +In general, the admin link has the following format: + +`https://sub.domain.com/DrtGho0n4b8H9D/8bncvfb5-8193-vv76-ab97-4c35965l250m/admin/` + +![](https://user-images.githubusercontent.com/125398461/230102115-65b21ce7-bc9f-4a6f-a450-bc531ce19a31.png) + + +Each part is separated from each other with "/" which will be explained below. + +> The beginning of the link that specifies the protocol of the site. If `https` is used; It means that the connection between the client and the server is encrypted by a TLS certificate and the connection is secure. If `http` is used; It means that the connection between the client and the server is established without encryption, which is not recommended. Therefore, it is strongly recommended to use `https` links to connect to the server. + +> After that, there is the subdomain address along with the domain, which can be direct, CDN, or Relay. More information about domain types + +> After that, there is a hidden proxy path, which is in the settings menu; The advanced settings section is located and can be changed. + +> The next part is the admin password or `UUID`, which can be found in the settings menu; Admin settings edited. + +> The last part of the admin link is the page address that ends with admin. Now the sub-pages of this page can be added. For example, the users page can be in this format. + +Now the sub-pages of this page can be added. For example, the users page can be in this format: + +`https://sub.domain.com/DrtGho0n4b8H9D/8bncvfb5-8193-vv76-ab97-4c35965l250m/admin/user/` + +- If after the end of the initial installation through the terminal; The given admin links were not in the format mentioned above; It turns out that the installation was not done correctly. + +- Also, if there is a change in the admin password, this link will change + +- Also, if the hidden proxy path changes, this address will change + +## Admin link changes in HiddifyManager version 10 +* In version 10, there has been a slight change in the structure of the links, which is in accordance with the following description: + * By default, after installing the long link format, it appears as above in the terminal. This link is your main admin link. + * When you open it in the browser, for more security, the admin authentication operation is performed based on the password or `UUID` of that admin, and then the long link is converted to a short link: + + +`https://sub.domain.com/proxy_root/address_of_the_page` + +![short link format](https://github.com/hiddify/hiddify.com/assets/125398461/c52bd330-65ee-4c83-b7c7-ddd05f32e6a8) + + + * This shortened link is valid for up to 10 days, in other words, your login with admin user is valid for up to 10 days and then it expires. + * After that, if you refresh the shortened link in the browser, the login page with UUID will be displayed. Here you need to enter the `UUID` of that admin in the `Secret Code` filed to perform the login operation. + +
+ login via UUID +
+ + * The alternative solution is to open the long link (the link that appeared in the terminal after installation) once again. In this case, you do not need to enter the UUID. + > It is recommended to always save the long link in a place where it is available to you when needed and use it. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server.fa.md new file mode 100644 index 0000000..1b56638 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server.fa.md @@ -0,0 +1,206 @@ +--- +title: آموزش راه‌اندازی تانل Dokodemo-Door به عنوان سرور میانی +--- + +# آموزش راه‌اندازی تانل Dokodemo-Door به عنوان سرور میانی + +برای این کار شما به یک سرور میانی نیاز دارید تا از طریق آن به سرور اصلی متصل شوید. معمولا این سرور میانی در کشور محل اقامت شما در نظر گرفته می‌شود. +
+ + +
+ + +- به سرور میانی [SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) و دستور نصب هسته Xray اجرا کنید + +``` +sudo bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install +``` + +- پس از نصب باید فایل `config.json` را با دستور زیر ایجاد نمایید. + +``` +nano /usr/local/etc/xray/config.json +``` + +- حالا کد زیر که مربوط به ترافیک `inbound` و `outbound` تانل dokodemo-Door است را ملاحظه فرمایید. + +``` +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": Main_Server_Port, + "protocol": "dokodemo-Door", + "settings": { + "address": "MAIN_SERVER_IP", + "followRedirect": false, + "network": "tcp,udp", + "port": MAIN_SERVER_PORT + }, + "tag": "inbound-MAIN_SERVER_PORT" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + در قسمت پورت `MAIN_SERVER_PORT` پورت سرور اصلی خود (هیدیفای‌منیجر) را قرار دهید که برای اتصال تانل در آن سرور در نظر گرفتید. + به طور مثال پورت ۴۴۳ توسط هیدیفای‌منیجر به صورت دیفالت برای کانشکن‌ها استفاده می‌شود. + در قسمت `MAIN_SERVER_IP` بایستی آیپی سرور اصلی خود را قرار دهید. + +- به عنوان مثال اگر آیپی سرور شما `10.10.10.10` باشد و پورت آن `443` باشد بنابراین کد `inbound` به شکل زیر خواهد بود: + +``` +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": 443, + "protocol": "dokodemo-Door", + "settings": { + "address": "10.10.10.10", + "followRedirect": false, + "network": "tcp,udp", + "port": 443 + }, + "tag": "inbound-443" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + + +پس از انجام عملیات کانفیگ دکمه `Ctrl + s` زده تا تغییرات ذخبره شود و `Ctrl + x` بزنید تا از فایل `config.json` خارج شوید. + +##### تعریف چند inbound مختلف در سرور میانی برای اتصال به چند سرور اصلی + +برای این کار کافیه در کد مربوط به `config.json` بعد از اتمام هر `inbound` یک `inbound` جدید تعریف نمایید. به عنوان مثال فرض شود دو سرور اصلی داریم که آیپی سرور اول `10.10.10.10` و پورت آن `443` آیپی سرور دوم `20.20.20.20` و پورت آن `8443` است. برای ایجاد دو تانل مستقل به این سرورها باید به شکل زیر دو `inbound` ایجاد شود. + +``` +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": 443, + "protocol": "dokodemo-Door", + "settings": { + "address": "10.10.10.10", + "followRedirect": false, + "network": "tcp,udp", + "port": 443 + }, + "tag": "inbound-443" + } + { + "listen": null, + "port": 8443, + "protocol": "dokodemo-Door", + "settings": { + "address": "20.20.20.20", + "followRedirect": false, + "network": "tcp,udp", + "port": 8443 + }, + "tag": "inbound-8443" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + +- پس از ذخیره فایل دستور ریستارت هسته Xray را بزنید. + +``` +sudo systemctl restart xray +``` + +## تعریف سرور میانی در هیدیفای‌منیجر +حالا برای آیپی سرور میانی (ایران) خود یک ساب‌دامین با پروکسی خاموش ثبت نمایید و آن را در هیدیفای‌منیجر روی حالت `سرور میانی` ثبت نمایید. +- ساب‌دامین ثبت شده را در فیلد `دامنه` قرار دهید و یک `نام نمایشی` نیز برای نمایش در کانفیگ‌ها می‌توانید تعیین نمایید. + + + +## افزودن کانفیگ‌های `سرور میانی` جهت استفاده به لینک سابسکریپشن + +همانند همیشه در هیدیفای‌منیجر بهتر است کانفیگ‌ها را از لینک سابسکریپشن جدا کنید. بنابراین برای دامنه `سرور میانی` ثبت شده نیز می‌توانید در تنظیمات دامنه مربوط به سابسکریپشن، تیک مربوط به دامنه `سرور میانی` را بزنید تا کانفیگ‌های آن به دامنه سابسکریپشن اضافه گردند. + +فرض شود که دامنه مربوط به سابسکریپشن `sublink.hiddify.com` باشد، مطابق با تصویر زیر جلو بروید تا کار انجام شود. + + + +حالا اگه صفحه کاربر را با دامین سابسکریپشن (در اینجا `sublink.hiddify.com`) باز نمایید خواهید دید که کانکشن‌های مربوط به `سرور میانی` نیز اضافه شده‌اند. می‌توانید این کانکشن‌ها را به صورت تک تک و یا با استفاده از لینک‌های سابسکریشن به کلاینت خود اضافه نمایید و استفاده نمایید. + + + +## حذف کانفیگ dokodemo از سرور میانی + +- برای این کار ابتدا این کامند را اجرا کنید. + +``` +sudo rm /usr/local/etc/xray/config.json +``` + +- سپس هسته Xray را متوقف و حذف کنید. + +``` +sudo systemctl stop xray && systemctl disable xray +```` + +- در نهایت برای حذف کامل برنامه و سرویس این کامندها را بزنید. + +``` +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ remove +``` + diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server.md new file mode 100644 index 0000000..440f097 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server.md @@ -0,0 +1,203 @@ +--- +title: Tutorial for setting up Dokodemo-Door tunnel as relay server +--- + +# Tutorial for setting up Dokodemo-Door tunnel as relay server + +For this you need an relay server to connect to the main server. Usually this middle server is considered in Iran. +The tunnel usage diagram is as follows. + +
+ +![Tunnel usage schematic](https://github.com/hiddify/hiddify.com/assets/125398461/1ac4e9e4-4529-4c79-8ff5-eb40e2efad54) +
+ +- [SSH to the relay server](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) and run Xray kernel installation command + +``` +sudo bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install +``` + +- After installation, you must create the `config.json` file with the following command. + +``` +nano /usr/local/etc/xray/config.json +``` + +- Now see the code below which is related to the ``inbound'' and ``outbound'' traffic of the dokodemo-Door tunnel. + +``` +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": Main_Server_Port, + "protocol": "dokodemo-Door", + "settings": { + "address": "MAIN_SERVER_IP", + "followRedirect": false, + "network": "tcp,udp", + "port": MAIN_SERVER_PORT + }, + "tag": "inbound-MAIN_SERVER_PORT" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + +- In the `MAIN_SERVER_PORT` port field, put the port of your main server (HiddifyManager) that you considered for the tunnel connection on that server. +- For example, port 443 is used by HiddifyManager by default for routers. +- In the `MAIN_SERVER_IP` section, you should put your main server's IP address. +- For example, if your server's IP is `10.10.10.10` and its port is `443`, then the `inbound` code will be as follows: + +``` +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": 443, + "protocol": "dokodemo-Door", + "settings": { + "address": "10.10.10.10", + "followRedirect": false, + "network": "tcp,udp", + "port": 443 + }, + "tag": "inbound-443" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + + +After performing the configuration operation, press `Ctrl + s` button to save the changes and press `Ctrl + x` to exit the `config.json` file. + +##### Defining several different inbounds in the relay server to connect to several primary servers + +For this, it is enough to define a new `inbound` in the `config.json` code after finishing each `inbound`. For example, suppose we have two main servers, the IP of the first server is `10.10.10.10` and its port is `443`, the IP of the second server is `20.20.20.20` and its port is `8443`. To create two independent tunnels to these servers, two `inbound` must be created as follows. + +``` +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": 443, + "protocol": "dokodemo-Door", + "settings": { + "address": "10.10.10.10", + "followRedirect": false, + "network": "tcp,udp", + "port": 443 + }, + "tag": "inbound-443" + } + { + "listen": null, + "port": 8443, + "protocol": "dokodemo-Door", + "settings": { + "address": "20.20.20.20", + "followRedirect": false, + "network": "tcp,udp", + "port": 8443 + }, + "tag": "inbound-8443" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + +- After saving the file, hit restart the Xray kernel. + +``` +sudo systemctl restart xray +``` + +## Adding Relay server to HiddifyManager +Now, register a subdomain with the proxy off for your relay server IP and register it in Hiddify Manager on `Relay` mode. +- Put the registered subdomain in the `Domain` field and you can also set a `Alias` to display in the configurations. + + + +## Adding `Relay` configurations to subscription link + +As always in HiddifyManager, it is better to separate the configs from the subscription link. Therefore, for the registered `Relay` domain, you can check the `Relay` domain in the subscription domain settings so that its configurations are added to the subscription domain. + +Assuming that the subscription domain is `sublink.hiddify.com`, proceed as shown below to get the job done. + + + +Now, if you open the user page with the subscription domain (here `sublink.hiddify.com`), you will see that the connections related to the `relay server` have also been added. You can add and use these connections individually or using subscription links to your client. + +## Remove the Dokodemo-Door settings from the relay server +- To do this, first run this command. + +``` +sudo rm /usr/local/etc/xray/config.json +``` + +- Then stop and delete the Xray core. + +``` +sudo systemctl stop xray && systemctl disable xray +```` + +- Finally, enter this command to completely remove the app and service. + +``` +bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ remove +``` diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server.fa.md new file mode 100644 index 0000000..cd4ca65 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server.fa.md @@ -0,0 +1,134 @@ +--- +title: آموزش راه‌اندازی تانل GOST به عنوان سرور میانی +--- + +# آموزش راه‌اندازی تانل GOST به عنوان سرور میانی +
+ +چیست؟ iptables بهترین راه‌کار جایگزین برای IP Forwarding با** + + + + +ابتدا می‌توانید این ویدئو را هم تماشا کنید . + + + +
+ + +
+ +برای این کار شما به یک سرور میانی نیاز دارید تا از طریق آن به سرور اصلی متصل شوید. معمولا این سرور میانی در کشور محل اقامت در نظر گرفته می‌شود. + +
+ + +
+ + + + + + + + + + +یکی از بهترین روشها برای جایگزین کردن IP-Forwarding با استفاده از IP-Tables استفاده از تانل GOST است. + +این تانل از چند لحاظ خیلی بهتر از IP Forwarding هست. ( یا همان تانل زدن معمولی که همه استفاده میکنند) +تو این روش بر خلاف آیپی فورواردینگ شما میتونید به جای IP از نام دامین یا ساب دامین استفاده کنید که این خودش باعث کمتر شناسایی شدن IP سرور شما میشه. +یه خوبی دیگه که این روش داره اینه که از یه تانل رمز نگاری شده دیتا عبور میکنه. +این تانل Open Source هست. +با پروتکل های V2Ray - VMess - Vless - Trojan به خوبی سازگاری داره. +در این تانل هم WebSocket جواب میده هم gRPC +این تانل چون خودش یک سرویس داره با ریبوت شدن سرور اجرا میشه و نیازی به زدن دستور مجدد نداره. +اگر بخواید میتونید هم پورت TCP رو فوروارد کنید و هم UDP. کافیه داخل دستور به جای TCP بزنید UDP. +میتونید هر چند تا پورت که خواستید رو فوروارد کنید + +برای نصب در حالت Relay طبق این آموزش جلو برید. + +- وارد سرور میانی خود شوید یعنی به سرور خود SSH بزنید. +- ابتدا سورس برنامه مورد نظر را با کد زیر دانلود و از حالت فشرده خارج کنید. + +``` +sudo apt install wget nano -y && wget https://github.com/ginuerzh/gost/releases/download/v2.11.5/gost-linux-amd64-2.11.5.gz && gunzip gost-linux-amd64-2.11.5.gz + +``` + +- سپس فایلهای آن را به پوشه اجرایی منتقل کنید و به آن دسترسی اجرا دهید. + +``` +sudo mv gost-linux-amd64-2.11.5 /usr/local/bin/gost && sudo chmod +x /usr/local/bin/gost +``` + +- حالا باید سرویس آن را نیز ایجاد کنید. +- ابتدا با استفاده از ویرایشگر nano فایل سرویس را ایجاد کنید. + +``` +sudo nano /usr/lib/systemd/system/gost.service +``` + +سپس کد زیر را در فایل باز شد به صورت کامل کپی کنید. + +``` +[Unit] +Description=GO Simple Tunnel +After=network.target +Wants=network.target + +[Service] +Type=simple +ExecStart=/usr/local/bin/gost -L=tcp://:443/domain.com:443 -L=tcp://:80/domain.com:80 + +[Install] +WantedBy=multi-user.target +``` + +بعد از کپی باید نام دامین خودتان را به جای domain.com قرار دهید. توجه کنید که نام دامنه ای که وارد میکنید باید آدرس IP اصلی سرور شما باشد. ( هر ۲ تا domain.com را پاک کنید و نام دامنه خودتون را وارد کنید) + +خوب کار تقریبا تمام شد. +حالا با کد زیر ابتدا سرویس gost را استارت کنید. و با سپس سرویس را فعال می‌کنید که با هر بار ریستارت سرویس اجرا شود: + +``` +sudo systemctl start gost && systemctl enable gost +``` + +کار تمام شد و میتوانید از تانل استفاده کنید. + +## تعریف سرور میانی در هیدیفای‌منیجر +حالا برای آیپی سرور میانی (ایران) خود یک ساب‌دامین با پروکسی خاموش ثبت نمایید و آن را در هیدیفای‌منیجر روی حالت `سرور میانی` ثبت نمایید. +- ساب‌دامین ثبت شده را در فیلد `دامنه` قرار دهید و یک `نام نمایشی` نیز برای نمایش در کانفیگ‌ها می‌توانید تعیین نمایید. + + + +## افزودن کانفیگ‌های `سرور میانی` جهت استفاده به لینک سابسکریپشن + +همانند همیشه در هیدیفای‌منیجر بهتر است کانفیگ‌ها را از لینک سابسکریپشن جدا کنید. بنابراین برای دامنه `سرور میانی` ثبت شده نیز می‌توانید در تنظیمات دامنه مربوط به سابسکریپشن، تیک مربوط به دامنه `سرور میانی` را بزنید تا کانفیگ‌های آن به دامنه سابسکریپشن اضافه گردند. + +فرض شود که دامنه مربوط به سابسکریپشن `sublink.hiddify.com` باشد، مطابق با تصویر زیر جلو بروید تا کار انجام شود. + + + +حالا اگه صفحه کاربر را با دامین سابسکریپشن (در اینجا `sublink.hiddify.com`) باز نمایید خواهید دید که کانکشن‌های مربوط به `سرور میانی` نیز اضافه شده‌اند. می‌توانید این کانکشن‌ها را به صورت تک تک و یا با استفاده از لینک‌های سابسکریشن به کلاینت خود اضافه نمایید و استفاده نمایید. + + + +## حذف کانفیگ GOST از سرور میانی + +برای این کار ابتدا این کامند را اجرا کنید. + +``` +systemctl daemon-reload +``` +و سپس سرویس GOST را متوقف و غیرفعال کنید. +``` +sudo systemctl stop gost && systemctl disable gost +``` +در نهایت برای حذف کامل برنامه و سرویس این کامندها را بزنید. + +``` +sudo rm -f /usr/lib/systemd/system/gost.service /usr/local/bin/gost +``` +[سورس پروژه GOST](https://github.com/ginuerzh/gost) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server.md new file mode 100644 index 0000000..0d30af2 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server.md @@ -0,0 +1,113 @@ +--- +title: Tutorial for setting up GOST tunnel as relay server +--- + +# Tutorial for setting up GOST tunnel as relay server +What is? iptables is the best alternative solution for IP Forwarding with** + +For this you need a relay server to connect to the main server. Usually, this relay server is considered in the country of residence. + +
+ +![Tunnel usage schematic](https://github.com/hiddify/hiddify.com/assets/125398461/1ac4e9e4-4529-4c79-8ff5-eb40e2efad54) +
+ + + + + +One of the best ways to replace IP-Forwarding with IP-Tables is to use GOST tunnel. + +This tunnel is much better than IP Forwarding in many ways. (or the normal tunneling that everyone uses) +In this method, unlike IP forwarding, you can use the domain or subdomain name instead of IP, which makes your server's IP less recognizable. +Another advantage of this method is that it passes through an encrypted data tunnel. +This tunnel is Open Source. +It is compatible with V2Ray - VMess - Vless - Trojan protocols. +Both WebSocket and gRPC work in this tunnel +Because this tunnel has its own service, it is executed when the server is rebooted, and there is no need to enter the command again. +If you want, you can forward both TCP and UDP ports. Just enter UDP instead of TCP in the command. +You can forward as many ports as you want + +To install in Relay mode, proceed according to this tutorial. + +- Log in to your relay server, that is, SSH to your server. +- First, download the desired program source with the following code and unzip it. + +``` +sudo apt install wget nano -y && wget https://github.com/ginuerzh/gost/releases/download/v2.11.5/gost-linux-amd64-2.11.5.gz && gunzip gost-linux-amd64-2.11. 5.gz +``` + +- Then transfer its files to the executable folder and execute access to it. + +``` +sudo mv gost-linux-amd64-2.11.5 /usr/local/bin/gost && sudo chmod +x /usr/local/bin/gost +``` + +- Now you have to create its service as well. +- First, create the service file using the nano editor. + +``` +sudo nano /usr/lib/systemd/system/gost.service +``` + +Then copy the following code completely in the opened file. + +``` +[Unit] +Description=GO Simple Tunnel +After=network.target +Wants=network.target + +[Service] +Type=simple +ExecStart=/usr/local/bin/gost -L=tcp://:443/domain.com:443 -L=tcp://:80/domain.com:80 + +[Install] +WantedBy=multi-user.target +``` + +After copying, you should put your domain name instead of domain.com. Note that the domain name you enter must be the main IP address of your server. (Delete both domain.com and enter your domain name) + +Well, the work is almost done. +Now start the gost service with the following code. And then you enable the service to run every time the service is restarted: + +``` +sudo systemctl start gost && systemctl enable gost +``` + +The work is finished and you can use the tunnel. + +## Adding Relay server to HiddifyManager +Now, register a subdomain with the proxy off for your relay server IP and register it in Hiddify Manager on `Relay` mode. +- Put the registered subdomain in the `Domain` field and you can also set a `Alias` to display in the configurations. + + + +## Adding `Relay` configurations to subscription link + +As always in HiddifyManager, it is better to separate the configs from the subscription link. Therefore, for the registered `Relay` domain, you can check the `Relay` domain in the subscription domain settings so that its configurations are added to the subscription domain. + +Assuming that the subscription domain is `sublink.hiddify.com`, proceed as shown below to get the job done. + + + +Now, if you open the user page with the subscription domain (here `sublink.hiddify.com`), you will see that the connections related to the `relay server` have also been added. You can add and use these connections individually or using subscription links to your client. + + +## Removing the GOST configuration from relay server + +To do this, first run this command. + +``` +systemctl daemon-reload +``` +And then stop and disable the GOST service. +``` +sudo systemctl stop gost && systemctl disable gost +``` +Finally, press these commands to completely remove the program and service. + +``` +sudo rm -f /usr/lib/systemd/system/gost.service /usr/local/bin/gost +``` +[GOST project source] (https://github.com/ginuerzh/gost) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server.fa.md new file mode 100644 index 0000000..248101f --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server.fa.md @@ -0,0 +1,97 @@ +--- +title: آموزش راه‌اندازی تانل HA-Proxy به عنوان سرور میانی +--- + +# آموزش راه‌اندازی تانل HA-Proxy به عنوان سرور میانی + +## آموزش استفاده از تانل HA-Proxy و اتصال آن به هیدیفای‌منیجر +برای این کار شما به یک سرور میانی نیاز دارید تا از طریق آن به سرور اصلی متصل شوید. معمولا این سرور میانی در کشور محل اقامت در نظر گرفته می‌شود. + + + +حالا در اینجا برای ارتباط بین سرور میانی و سرور اصلی از تانل HA-proxy استفاده می‌شود. بعد از نصب شما به سرور میانی متصل می‌شوید، آن سرور شما را به سرور اصلی متصل می‌کند و سپس از سرور اصلی به اینترنت آزاد دسترسی خواهید داشت. + +> نکته: ما این اسکریپت‌ها را روی ابونتو ۲۲.۰۴ تست کردیم بنابراین بهتر هست از این نسخه استفاده کنید. + +## نصب تانل HA-Proxy بروی سرور میانی و اتصال آن به سرور خارج + +- برای این کار شما به یک سرور میانی نیاز دارید تا از طریق آن به سرور اصلی متصل شوید. معمولا این سرور میانی در کشور محل اقامت در نظر گرفته می‌شود. + +- به سرور میانی [SSH بزنید](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) و دستور نصب HA-proxy را اجرا کنید‌. + +```bash +sudo apt-get install haproxy +``` + +- پس از نصب باید فایل `haproxy.cfg` را تغییر دهید ، دستور زیرا بزنید تا فایل `haproxy.cfg` با ویرایشگر متنی `nano` باز شود. + +```bash +nano /etc/haproxy/haproxy.cfg +``` + +- پس باز شدن فایل `haproxy.cfg` به انتهای فایل بروید و مثال زیر را اضافه کنید: + +```bash +frontend myfrontend + bind *:RELAY_PORT + mode tcp + default_backend mybackend + +backend mybackend + mode tcp + server target_server MAIN_SERVER_IP:MAIN_SERVER_PORT +``` + +- در قسمت `RELAY_PORT` پورت سرور میانی خود را قرار دهید که برای ارسال درخواست به سرور اصلی در نظر گرفتید. + +- در قسمت MAIN_SERVER_IP:MAIN_SERVER_PORT بایستی آیپی و پورت سرور اصلی خود را قرار دهید. به طور مثال پورت ۴۴۳ توسط هیدیفای به صورت دیفالت استفاده می‌شود. + +- به طور مثال اگر فرضا آیپی سرور اصلی شما `10.10.10.10` باشد، در این حالت برای انتقال ترافیک کاربران روی پورت `443` از طریق سرور میانی به سرور اصلی، فایل مورد نظر باید به شکل زیر باشد: + +```bash +frontend myfrontend + bind *:443 + mode tcp + default_backend mybackend + +backend mybackend + mode tcp + server target_server 10.10.10.10:443 +``` + +- پس از انجام تغییرات با زدن دکمه‌های `Ctrl + s` تغییرات را ذخیره کنید و با زدن `Ctrl + x` از فایل خارج شوید. + +- پس از ذخیره فایل، دستور ریستارت HAProxy را بزنید. + +```bash +sudo systemctl restart haproxy +``` +## تعریف سرور میانی در هیدیفای‌منیجر +حالا برای آیپی سرور میانی (ایران) خود یک ساب‌دامین با پروکسی خاموش ثبت نمایید و آن را در هیدیفای‌منیجر روی حالت `سرور میانی` ثبت نمایید. +- ساب‌دامین ثبت شده را در فیلد `دامنه` قرار دهید و یک `نام نمایشی` نیز برای نمایش در کانفیگ‌ها می‌توانید تعیین نمایید. + + + +## افزودن کانفیگ‌های `سرور میانی` جهت استفاده به لینک سابسکریپشن + +همانند همیشه در هیدیفای‌منیجر بهتر است کانفیگ‌ها را از لینک سابسکریپشن جدا کنید. بنابراین برای دامنه `سرور میانی` ثبت شده نیز می‌توانید در تنظیمات دامنه مربوط به سابسکریپشن، تیک مربوط به دامنه `سرور میانی` را بزنید تا کانفیگ‌های آن به دامنه سابسکریپشن اضافه گردند. + +فرض شود که دامنه مربوط به سابسکریپشن `sublink.hiddify.com` باشد، مطابق با تصویر زیر جلو بروید تا کار انجام شود. + + + +حالا اگه صفحه کاربر را با دامین سابسکریپشن (در اینجا `sublink.hiddify.com`) باز نمایید خواهید دید که کانکشن‌های مربوط به `سرور میانی` نیز اضافه شده‌اند. می‌توانید این کانکشن‌ها را به صورت تک تک و یا با استفاده از لینک‌های سابسکریشن به کلاینت خود اضافه نمایید و استفاده نمایید. + +## حذف تانل HA-Proxy از سرور میانی + +برای این کار ابتدا این دستور را اجرا کنید. +```bash +sudo systemctl stop haproxy && systemctl disable haproxy +``` + +در نهایت برای حذف کامل برنامه و سرویس این دستور را بزنید. + + +```bash +sudo apt remove haproxy +``` diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server.md new file mode 100644 index 0000000..a34ca2c --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-HA-Proxy-tunnel-as-relay-server.md @@ -0,0 +1,99 @@ +--- +title: Tutorial for setting up HA-Proxy tunnel as relay server +--- + +# Tutorial for setting up HA-Proxy tunnel as relay server + +For this you need an relay server to connect to the main server. Usually, this relay server is considered in the country of residence. + +
+ +![Tunnel usage schematic](https://github.com/hiddify/hiddify.com/assets/125398461/1ac4e9e4-4529-4c79-8ff5-eb40e2efad54) +
+ +Now, HA-proxy tunnel is used here for the communication between the relay server and the main server. After installation, you will connect to the relay server, that server will connect you to the main server, and then you will have free access to the Internet from the main server. + +> Note: We tested these scripts on Ubuntu 22.04, so it is better to use this version. + +## Installing the HA-proxy tunnel on the relay server and connecting it to the external server + +- For this you need an relay server to connect to the main server through it. Usually, this relay server is considered in the country of residence. + +- (Connect via SSH to the relay server)[/manager/installation-and-setup/How-to-connect-to-server-via-SSH/] and run the HA-proxy installation command. + +```bash +sudo apt-get install haproxy +``` + +- After installation, you need to change the `haproxy.cfg` file, run the command to open the `haproxy.cfg` file with the `nano` text editor. + +```bash +nano /etc/haproxy/haproxy.cfg +``` + +- When the `haproxy.cfg` file opens, go to the end of the file and add the following example: + +```bash +frontend myfrontend + bind *:RELAY_PORT + mode tcp + default_backend mybackend + +backend mybackend + mode tcp + server target_server MAIN_SERVER_IP:MAIN_SERVER_PORT +``` + +- In the `RELAY_PORT` section, put the port of your relay server that you consider for sending requests to the main server. + +- In the field `MAIN_SERVER_IP:MAIN_SERVER_PORT`, you should put the IP and port of your main server. For example, port 443 is used by HiddifyManager by default. + +- For example, if the IP of your main server is `10.10.10.10`, in this case, to transfer user traffic on port `443` through the relay server to the main server, the desired file should be as follows: + +```bash +frontend myfrontend + bind *:443 + mode tcp + default_backend mybackend + +backend mybackend + mode tcp + server target_server 10.10.10.10:443 +``` + +- After making the changes, save the changes by pressing `Ctrl + s` buttons and exit the file by pressing `Ctrl + x`. + +- After saving the file, press the command to restart HAProxy. + +```bash +sudo systemctl restart haproxy +``` +## Adding Relay server to HiddifyManager +Now, register a subdomain with the proxy off for your relay server IP and register it in Hiddify Manager on `Relay` mode. +- Put the registered subdomain in the `Domain` field and you can also set a `Alias` to display in the configurations. + + + +## Adding `Relay` configurations to subscription link + +As always in HiddifyManager, it is better to separate the configs from the subscription link. Therefore, for the registered `Relay` domain, you can check the `Relay` domain in the subscription domain settings so that its configurations are added to the subscription domain. + +Assuming that the subscription domain is `sublink.hiddify.com`, proceed as shown below to get the job done. + + + +Now, if you open the user page with the subscription domain (here `sublink.hiddify.com`), you will see that the connections related to the `relay server` have also been added. You can add and use these connections individually or using subscription links to your client. + +## Removing the HA-Proxy tunnel from the relay server + +To do this, first run this command. + +```bash +sudo systemctl stop haproxy && systemctl disable haproxy +``` + +Finally, click this command to completely remove the program and service. + +```bash +sudo apt remove haproxy +``` diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server.fa.md new file mode 100644 index 0000000..00b8496 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server.fa.md @@ -0,0 +1,76 @@ +--- +title: آموزش راه‌اندازی تانل IP-Tables به عنوان سرور میانی +--- + +# آموزش راه‌اندازی تانل IP-Tables به عنوان سرور میانی + + +
+ +ابتدا می‌توانید این ویدئو را مشاهده کنید + + + +
+ +
+ +برای این کار شما به یک سرور میانی نیاز دارید تا از طریق آن به سرور اصلی متصل شوید. معمولا این سرور میانی در کشور محل اقامت در نظر گرفته می‌شود. +
+ + +
+ +کافی است یک سرور خوب با پهنای باند و سی پی یو مناسب تهیه کنید. +حالا میتوانید چندین سرور میانی ارزان و کم ظرفیت مثلا با رم 256 خریداری کنید که آی پی سالم دارند یا داخل کشور مبدا هستند. + + +## نصب تنظیمات سرور میانی + +حال +کافی است دستور زیر را در سرور ریلی (سرور میانی) اجرا کنید: +پس از اجرا از شما سوال میپرسه که آی پی سرور اصلی را وارد کنید. + +در جای خواسته شده آی پی سرور اصلی را باید وارد کنید. +
+ +```bash +bash <(curl https://gist.githubusercontent.com/hiddify-com/63836c9a158eca29bad6c941610028cf/raw/0e4e2138148ab9d3d678723fd904b1cad461ce62/relay.sh) +``` +
+ +## تعریف سرور میانی در هیدیفای‌منیجر +حالا برای آیپی سرور میانی (ایران) خود یک ساب‌دامین با پروکسی خاموش ثبت نمایید و آن را در هیدیفای‌منیجر روی حالت `سرور میانی` ثبت نمایید. +- ساب‌دامین ثبت شده را در فیلد `دامنه` قرار دهید و یک `نام نمایشی` نیز برای نمایش در کانفیگ‌ها می‌توانید تعیین نمایید. + + + +## افزودن کانفیگ‌های `سرور میانی` جهت استفاده به لینک سابسکریپشن + +همانند همیشه در هیدیفای‌منیجر بهتر است کانفیگ‌ها را از لینک سابسکریپشن جدا کنید. بنابراین برای دامنه `سرور میانی` ثبت شده نیز می‌توانید در تنظیمات دامنه مربوط به سابسکریپشن، تیک مربوط به دامنه `سرور میانی` را بزنید تا کانفیگ‌های آن به دامنه سابسکریپشن اضافه گردند. + +فرض شود که دامنه مربوط به سابسکریپشن `sublink.hiddify.com` باشد، مطابق با تصویر زیر جلو بروید تا کار انجام شود. + + + +حالا اگه صفحه کاربر را با دامین سابسکریپشن (در اینجا `sublink.hiddify.com`) باز نمایید خواهید دید که کانکشن‌های مربوط به `سرور میانی` نیز اضافه شده‌اند. می‌توانید این کانکشن‌ها را به صورت تک تک و یا با استفاده از لینک‌های سابسکریشن به کلاینت خود اضافه نمایید و استفاده نمایید. + +## حذف کانفیگ‌های انجام شده در سرور میانی +برای این کار کافیست کامند زیر را اجرا کنید و رول‌ها را حذف نمایید +
+ +```bash +iptables -F +``` +
+یا با استفاده از این کامند زنجیرهای ساخته شده راحذف نمایید. +
+ +```bash +iptables -X +``` +
+تمام!!!! + + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server.md new file mode 100644 index 0000000..087caff --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IP-Tables-tunnel-as-relay-server.md @@ -0,0 +1,66 @@ +--- +title: Tutorial for setting up IP-Table tunnel as relay server +--- + +# Tutorial for setting up IP-Table tunnel as relay server + +
+ +For this you need an relay server to connect to the main server. Usually, this relay server is considered in the country of residence. +
+ +![Tunnel usage schematic](https://github.com/hiddify/hiddify.com/assets/125398461/1ac4e9e4-4529-4c79-8ff5-eb40e2efad54) +
+ +It is enough to get a good server with adequate bandwidth and CPU. +Now you can buy several cheap and low-capacity relay servers, for example, with 256 RAM, which have a healthy IP or are located in the country of origin. + + +## Installation of relay server settings + +now just run the following command on the Rails server (relay server): +After running, it will ask you to enter the IP address of the main server. + +In the requested place, you must enter the IP of the main server. +
+ +```bash +bash <(curl https://gist.githubusercontent.com/hiddify-com/63836c9a158eca29bad6c941610028cf/raw/0e4e2138148ab9d3d678723fd904b1cad461ce62/relay.sh) +``` +
+ +## Adding Relay server to HiddifyManager +Now, register a subdomain with the proxy off for your relay server IP and register it in Hiddify Manager on `Relay` mode. +- Put the registered subdomain in the `Domain` field and you can also set a `Alias` to display in the configurations. + + + +## Adding `Relay` configurations to subscription link + +As always in HiddifyManager, it is better to separate the configs from the subscription link. Therefore, for the registered `Relay` domain, you can check the `Relay` domain in the subscription domain settings so that its configurations are added to the subscription domain. + +Assuming that the subscription domain is `sublink.hiddify.com`, proceed as shown below to get the job done. + + + +Now, if you open the user page with the subscription domain (here `sublink.hiddify.com`), you will see that the connections related to the `relay server` have also been added. You can add and use these connections individually or using subscription links to your client. + +## Delete the named configs in the relay server +For this, just run the following command and delete the roles +
+ +```bash +iptables -F +``` +
+Or delete the created chains using this command. +
+ +```bash +iptables -X +``` +
+ + + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IPv6-to-improve-Relay-stability.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IPv6-to-improve-Relay-stability.fa.md new file mode 100644 index 0000000..f93e5b4 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IPv6-to-improve-Relay-stability.fa.md @@ -0,0 +1,50 @@ +--- +title: استفاده از IPV6 اصلی سرورها برای مقاوم‌سازی تانلینگ +--- + + +### استفاده از IPV6 اصلی سرورها برای مقاوم‌سازی تانلینگ + + +استفاده از Tunnel با آی‌پی ورژن ۶ (IPV6) برای دور زدن سیستم‌های فیلترینگ و ایجاد اتصال پایدار، به یک راهکار مؤثر و محبوب تبدیل شده است. این روش به خصوص برای سرورهای میانی و اصلی، انعطاف‌پذیری بالایی دارد و می‌تواند کیفیت ارتباط را بهبود بخشد. + +--- + +### توضیحات متد Tunnel با IPV6 + +استفاده از IPV6 می‌تواند به دو شکل مختلف برای اتصال بین سرورهای میانی و اصلی انجام شود: + +1. **ایجاد IPV6 لوکال روی دو سرور میانی و اصلی** و اتصال IPV6 اصلی به شبکه سرور میانی. + +2. **استفاده از IPV6 اصلی بر روی دو سرور میانی و اصلی** و اتصال IPV6 اصلی به شبکه ایران. این روش نیازمند این است که هر دو سرور میانی دارای کارت شبکه با IPV6 باشند، که می‌توان آن را با دستور `ip a` در ترمینال سرور بررسی کرد. + +**نکته:** بهترین متد برای این دو روش، استفاده از **گاست** و **دکودمودور** است، که به صورت عملی تست شده‌اند. + +--- + +### نحوه انجام فرآیند + +فرقی نمی‌کند که از کدام روش فوق استفاده می‌کنید، برای بهترین کارایی ممکن روی هیدیفای منیجر، باید از اسکریپت میانی‌ساز استفاده کنید. + +1. **مطالعه مقاله مرتبط با اسکریپت میانی‌ساز هیدیفای** برای دستور نصب آن بر روی سرور میانی. + +2. دستور نصب اسکریپت را اجرا کرده و پس از پایان نصب، محیط اسکریپت برای شما نمایش داده می‌شود. + + + +این محیط شامل انواع روش‌های تانل و تنظیمات مرتبط با اسکریپت می‌باشد. سپس یکی از دو متد **گاست** یا **دکودمودور** را انتخاب کنید. + +3. با توجه به متد انتخابی، گزینه اول را انتخاب کرده و سپس گزینه **add inbounds** را بزنید و IPV6 اصلی سرور خارج یا آی‌پی لوکال را با فرمت صحیح وارد کنید. + +4. پس از وارد کردن آی‌پی، وارد بخش انتخاب پورت شوید و یک پورت دلخواه وارد کنید. + +5. کار تمام است! حالا وارد هیدیفای منیجر شوید، از قسمت دامنه‌ها حالت میانی (Relay) را انتخاب کنید و وارد کلودفلر شوید. با دامنه دلخواه خود یک رکورد A و IPV4 سرور ایران ایجاد کنید. آدرس ساب‌دامین را در قسمت دامنه حالت میانی وارد کنید و ذخیره کنید. + +--- + +### پروکسی‌های پیشنهادی + +- http tcp relay vmess +- http httpupgrade relay vmess + +این روش‌ها می‌توانند به ایجاد یک اتصال پایدار و امن کمک کنند که به خصوص در شرایط فیلترینگ، بسیار کاربردی هستند. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IPv6-to-improve-Relay-stability.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IPv6-to-improve-Relay-stability.md new file mode 100644 index 0000000..7a1a8a7 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-IPv6-to-improve-Relay-stability.md @@ -0,0 +1,48 @@ +--- +Title: Using Main Servers' IPV6 for Tunnel Resilience +--- + +### Using Main Servers' IPV6 for Tunnel Resilience + +Using Tunnel with IPv6 for bypassing filtering systems and creating a stable connection has become an effective and popular method. This approach provides high flexibility, especially for relay servers and main servers, and can improve connection quality. + +--- + +### Tunnel Method with IPV6 + +Using IPV6 can be done in two different ways for connecting between relay servers and main servers: + +1. **Creating a local IPV6 on two relay and main servers** and connecting the main server IPV6 to the relay server network. + +2. **Using the main server's IPV6 on both relay and main servers** and connecting the main server IPV6 to the Iran network. This method requires that both relay servers have IPV6 enabled on their network cards, which can be verified with the `ip a` command in the server's terminal. + +**Note:** The best methods for these two approaches are **Gost** and **Decodemodoor**, which have been practically tested. + +--- + +### How to Perform the Process + +It doesn’t matter which method you use, for optimal performance, you need to use the relay server mid-scripter on Hiddify Manager. + +1. **Review the related mid-scripter article for Hiddify** for installation instructions on the relay server. + +2. Execute the script installation command, and after installation is complete, the mid-scripter environment will be displayed for you. + +![Mid-Scripter Interface](https://github.com/hiddify/hiddify.com/assets/125398461/713801f1-01fb-4bc7-83ca-e1294fa1b149) + +This interface contains various tunnel methods and related script settings. Choose either **Gost** or **Decodemodoor**. + +3. Select the first option based on your chosen method, then choose **add inbounds** and enter the main server’s IPV6 or local IPV6 in the correct format. + +4. After entering the IPV6, proceed to select a port and enter a desired port. + +5. Done! Now, log into Hiddify Manager, select the relay option from the domains section, enter Cloudflare, and create a record A with your desired domain and IPV4 server in Iran. Input the subdomain address in the relay domain section and save it. + +--- + +### Suggested Proxies + +- http tcp relay vmess +- http httpupgrade relay vmess + +These methods can help create a stable and secure connection, especially in filtering conditions. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server.fa.md new file mode 100644 index 0000000..9bb215b --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server.fa.md @@ -0,0 +1,200 @@ +--- +title: آموزش راه‌اندازی تانل WST به عنوان سرور میانی +--- + +# آموزش راه‌اندازی تانل WST به عنوان سرور میانی + +
+ابتدا می‌توانید این ویدئو را ببینید + + + + + +
+ +برای این کار شما به یک سرور میانی نیاز دارید تا از طریق آن به سرور اصلی متصل شوید. معمولا این سرور میانی در ایران در نظر گرفته می‌شود. +دیاگرام استفاده از تانل به این شکل است. + +![شماتیک استفاده از تانل](https://user-images.githubusercontent.com/125398461/235339506-bdd76cec-0378-4942-8352-ebebeb006231.png) + + +حالا در اینجا برای ارتباط بین سرور ایران و سرور اصلی از تانل WS استفاده می‌شود. بعد از نصب شما به سرور ایران متصل می‌شوید، سرور ایران شما را به سرور اصلی متصل می‌کند و سپس از سرور اصلی به اینترنت آزاد دسترسی خواهید داشت. + +> نکته: ما این اسکریپت‌ها را روی ابونتو ۲۲.۰۴ تست کردیم بنابراین بهتر هست از این نسخه استفاده کنید. + +روی سرور اصلی نیز هیدیفای‌منیجر را نصب کنید که راهنمای نصب آن در [اینجا](/fa/manager/installation-and-setup/guide/) وجود داره. + +## نصب تانل روی سرور اصلی و میانی (ایران) +روی **هر دو سرور** باید برنامه این تانل را نصب کنید. برای این کار ابتدا با روت به سرور متصل شوید و کدهای زیر را اجرا کنید: +ابتدا برنامه را با کامند زیر دانلود کنید. +``` +wget "https://github.com/erebe/wstunnel/releases/download/v5.0/wstunnel-linux-x64" +``` +به آن دسترسی اجرا بدهید. +``` +sudo chmod +x wstunnel-linux-x64 +``` +برنامه را با کامند تغییر نام داده و به پوشه bin/ انتقال دهید. +``` +sudo mv wstunnel-linux-x64 /bin/wstunnel + +``` + +## اجرای تانل روی سرور اصلی + +روی سرور اصلی که هیدیفای نصب شده است، باید تانل نصب شده را اجرا کنید. با این کامند آن را بر روی پورت ۸۰۸۰ فعال نمایید. + +``` +sudo wstunnel --server ws://0.0.0.0:8080 -v +``` + +> نکته: دقت کنید اگر پورت تانل را عوض کردید در هر دو سرور باید پورت‌ها یکی باشند. + +- دقت کنید بعد از زدن این کامند، پیغام `WAIT for tcp connection on 0.0.0.0:8080` داده می‌شود که به معنای اجرای موفق تانل و در انتظار بودن برقراری لینک در سرور میانی است چون این تانل نیاز به برقرار ارتباط از هر دو سمت را دارد. + +کار راه‌اندازی تانل روی سرور اصلی نیز تمام است. + + + +## اجرای تانل روی سرور میانی +برای راه‌اندازی تانل روی سرور میانی با استفاده از این کامند هم پورت‌های مورد نیاز جهت فروارد نمودن را باید بدهید و هم پورتی که تانل برای برقراری ارتباط استفاده می‌کند. +در اینجا از پورت ۸۰۸۰ برای خود تانل استفاده شده است که سمت سرور اصلی کانفیگ شد. همینطور برنامه هیدیفای از پورت‌های ۴۴۳و۸۰ به صورت خودکار استفاده می‌کند که آن‌ها را نیز در کامند زیر قرار بدهید. + +- اگر پورت‌های دیفالت پنل هیدیفای را عوض نمودید طبق همین فرمول پورت‌های ۴۴۳و۸۰ را تغییر دهید. + +* اگر پورت دیگری را خواستید فروارد کنید طبث همین فرمول می‌توانید انجام دهید. + + +``` +sudo wstunnel -L 0.0.0.0:80:localhost:80 -L 0.0.0.0:443:localhost:443 ws://[cdn_or_direct_domain_of_main_server]:8080 +``` + + + +- دقت شود [server_adress_or_domain] را می‌بایست با دامین CDN یا دایرکت ثبت شده در هیدیفای یا آیپی اصلی سرور جای‌گذاری کنید. +- اگر با دامین CDN این کار را انجام بدید، از فیلتر شدن سرور اصلی نیز جلوگیری می‌کنید. +* دقت کنید بعد از زدن این کامند، پیغام + `WAIT for tcp connection on 0.0.0.0:80 , WAIT for tcp connection on 0.0.0.0:443` داده می‌شود که به معنای اجرای موفق تانل و در انتظار بودن برقراری کانکشن از سمت کلاینت است. + +- اگر پورت اصلی تانل (در اینجا ۸۰۸۰) روی دیتاسنتر ایران شما فیلتر شد، می‌توانید پورت‌های دیگر را استفاده نمایید. +- نکته خیلی مهم: اگر از دامنه‌های CDN برای برقراری تانل استفاده کردید، فق مجاز هستید از پورتهای کلادفلر استفاده کنید. یعنی برای کانکشن پورتهای https کلادفلر را فق می‌توانید استفاده نمایید و برای خود تانل پورت‌های http کلادفلر را می‌توانید استفاده نمایید. [لیست پورتهای کلادفلر](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) + +کار در راه‌اندازی تانل ws در سرور میانی تمام است. + +## راه‌اندازی سرویس تانل در سرور اصلی + +تنها نیاز است سرویس آن را نیز ایجاد نمایید تا در صورت ریست شدن سرور، تانل به صورت خودکار اجرا گردد. برای این کار از تانل ایجاد شده با `Ctrl+c` خارج شوید، سپس با یک ویرایشگر متنی (در اینجا `nano`) فایل سرویس را در مسیر اصلی کرنل ایجاد کنید. + +``` +sudo nano /etc/systemd/system/wstunnel.service +``` + +سپس در فایل باز شده، متن زیر را کپی کنید تا سرویس مورد نظر تعریف شود. + +``` +[Unit] +Description=wstunnel +After=network.target + +[Service] +Type=simple +WorkingDirectory=/bin +ExecStart= wstunnel --server ws://0.0.0.0:8080 -v +Restart=on-failure + +[Install] +WantedBy=multi-user.target +``` + +برای خروج از ویرایشگر متنی ابتدا `Ctrl+s` بزنید تا فایل ذخیره شود سپس با `Ctrl+x` از برنامه خارج شوید. + +حالا سرویس اصلی کرنل را ریست کرده و سرویس ساخته شده را فعال و استارت کنید. + +``` +sudo systemctl daemon-reload +sudo systemctl enable wstunnel.service +sudo systemctl start wstunnel.service +``` +حالا برای چک کردن ایتکه سرویس فعال شده است این کامند را بزنید و چک کنید حتما سرویس Active باشد. +``` +sudo systemctl status wstunnel.service +``` + +اگر به هر دلیل سرویس فعال نبود، یکی از مراحل قبل احتمالا به درستی انجام نشده است. + + + +## اراه‌اندازی سرویس تانل در سرور میانی + + + تنها نیاز است سرویس آن را نیز ایجاد نمایید تا در صورت ریست شدن سرور، تانل به صورت خودکار اجرا گردد. برای این کار با یک ویرایشگر متنی (در اینجا nano) فایل سرویس را در مسیر اصلی کرنل ایجاد کنید. +``` +sudo nano /etc/systemd/system/wstunnel.service +``` +سپس در فایل باز شده، متن زیر را کپی کنید تا سرویس مورد نظر تعریف شود. + +``` +[Unit] +Description=wstunnel +After=network.target + +[Service] +Type=simple +WorkingDirectory=/bin +ExecStart= wstunnel -L 0.0.0.0:80:localhost:80 -L 0.0.0.0:443:localhost:443 ws://[cdn_or_direct_domain_of_main_server]:8080 +Restart=on-failure + +[Install] +WantedBy=multi-user.target +``` + +- دقت کنید که `cdn_or_direct_domain_of_main_server` را با مشخصات دامنه دایرکت یا CDN خود جای‌گذاری کنید. +- برای خروج از ویرایشگر متنی ابتدا `Ctrl + s` بزنید تا فایل ذخیره شود سپس با `Ctrl + x` از برنامه خارج شوید. + +حالا سرویس اصلی کرنل را ریست کرده و سرویس ساخته شده را فعال و استارت کنید. + +``` +sudo systemctl daemon-reload +sudo systemctl enable wstunnel.service +sudo systemctl start wstunnel.service +``` +حالا برای چک کردن ایتکه سرویس فعال شده است این کامند را بزنید و چک کنید حتما سرویس Active باشد. +``` +sudo systemctl status wstunnel.service +``` + +اگر به هر دلیل سرویس فعال نبود، یکی از مراحل قبل احتمالا به درستی انجام نشده است. + + +## تعریف سرور میانی در هیدیفای‌منیجر +حالا برای آیپی سرور میانی (ایران) خود یک ساب‌دامین با پروکسی خاموش ثبت نمایید و آن را در هیدیفای‌منیجر روی حالت `سرور میانی` ثبت نمایید. +- ساب‌دامین ثبت شده را در فیلد `دامنه` قرار دهید و یک `نام نمایشی` نیز برای نمایش در کانفیگ‌ها می‌توانید تعیین نمایید. + + + +## افزودن کانفیگ‌های `سرور میانی` جهت استفاده به لینک سابسکریپشن + +همانند همیشه در هیدیفای‌منیجر بهتر است کانفیگ‌ها را از لینک سابسکریپشن جدا کنید. بنابراین برای دامنه `سرور میانی` ثبت شده نیز می‌توانید در تنظیمات دامنه مربوط به سابسکریپشن، تیک مربوط به دامنه `سرور میانی` را بزنید تا کانفیگ‌های آن به دامنه سابسکریپشن اضافه گردند. + +فرض شود که دامنه مربوط به سابسکریپشن `sublink.hiddify.com` باشد، مطابق با تصویر زیر جلو بروید تا کار انجام شود. + + + +حالا اگه صفحه کاربر را با دامین سابسکریپشن (در اینجا `sublink.hiddify.com`) باز نمایید خواهید دید که کانکشن‌های مربوط به `سرور میانی` نیز اضافه شده‌اند. می‌توانید این کانکشن‌ها را به صورت تک تک و یا با استفاده از لینک‌های سابسکریشن به کلاینت خود اضافه نمایید و استفاده نمایید. + + +## حذف تانل از سرور میانی و سرور اصلی + +ابتدا باید سرویس را متوقف و غیر فعال کنید. +``` +sudo systemctl daemon-reload +sudo systemctl stop wstunnel.service +sudo systemctl disable wstunnel.service +``` +سپس برنامه و سرویس ایجاد شده را حذف کنید. +``` +sudo rm -f /etc/systemd/system/wstunnel.service /bin/wstunnel +``` + +[لینک پروژه WS Tunnel](https://github.com/erebe/wstunnel) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server.md new file mode 100644 index 0000000..2f6bd3c --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-WST-tunnel-as-relay-server.md @@ -0,0 +1,189 @@ +--- +title: Tutorial for setting up WST tunnel as relay server +--- + +# Tutorial for setting up WST tunnel as relay server + +For this you need an relay server to connect to the main server. Usually this relay server is considered in Iran. +The tunnel usage diagram is as follows. + +
+ +![Tunnel usage schematic](https://github.com/hiddify/hiddify.com/assets/125398461/1ac4e9e4-4529-4c79-8ff5-eb40e2efad54) +
+ +Now here, WS tunnel is used for communication between Iran server and main server. After installation, you will connect to the Iranian server, the Iranian server will connect you to the main server, and then you will have free access to the Internet from the main server. + +> Note: We tested these scripts on Ubuntu 22.04, so it is better to use this version. + +On the main server, install HiddifyManager, whose installation guide is available at [here](https://hiddify.com/fa/manager/installation-and-setup/guide/). + +## Installing the tunnel on the main and relay server (Iran) +You must install this tunnel program on **both servers**. To do this, first connect to the server with root and run the following codes: +First, download the program with the following command. +``` +wget "https://github.com/erebe/wstunnel/releases/download/v5.0/wstunnel-linux-x64" +``` +Give it execute access. +``` +sudo chmod +x wstunnel-linux-x64 +``` +Rename the program with the command and move it to the bin/ folder. +``` +sudo mv wstunnel-linux-x64 /bin/wstunnel +``` + +## Running the tunnel on the main server + +On the main server where HiddifyManager is installed, you need to run the installed tunnel. Activate it on port 8080 with this command. + +``` +sudo wstunnel --server ws://0.0.0.0:8080 -v +``` + +> Note: If you change the tunnel port, the ports must be the same on both servers. + +- Pay attention, after entering this command, the message ``WAIT for tcp connection on 0.0.0.0:8080'' is given, which means the successful execution of the tunnel and waiting for the link to be established in the relay server, because this tunnel requires communication from both has the position + +The work of setting up the tunnel on the main server is also finished. + + + +## Running the tunnel on the relay server +To set up the tunnel on the relay server using this command, you must provide both the required ports for downloading and the port that the tunnel uses to communicate. +Here, port 8080 is used for the tunnel itself, which was configured on the main server side. Also, the HiddifyManager program uses ports 443 and 80 automatically, so you can put them in the following command. + +- If you change the default ports of HiddifyManager panel, change ports 443 and 80 according to the same formula. + +* If you want to download another port, you can do it with the same formula. + + +``` +sudo wstunnel -L 0.0.0.0:80:localhost:80 -L 0.0.0.0:443:localhost:443 ws://[cdn_or_direct_domain_of_main_server]:8080 +``` + + + +- Please note that [server_adress_or_domain] should be placed with the CDN or direct domain registered in Hidify or the main IP of the server. +- If you do this with the CDN domain, you will also prevent the main server from being filtered. +* Pay attention to the message after typing this command + ``WAIT for tcp connection on 0.0.0.0:80, WAIT for tcp connection on 0.0.0.0:443'' is given, which means the successful execution of the tunnel and waiting for the connection to be established from the client side. + +- If the main tunnel port (here 8080) is filtered on your Iranian data center, you can use other ports. +- Very important note: If you use CDN domains to establish a tunnel, you are only allowed to use Cloudflare ports. That is, you can only use Cloudflare's https ports for connection, and you can use Cloudflare's http ports for the tunnel itself. [List of Cloudflare ports](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) + +Work on setting up the ws tunnel on the relay server is complete. + +## Setting up the tunnel service on the main server + +You only need to create its service so that if the server is reset, the tunnel will run automatically. To do this, exit the created tunnel with `Ctrl+c`, then with a text editor (here nano) create the service file in the main path of the kernel. + +``` +sudo nano /etc/systemd/system/wstunnel.service +``` + +Then in the opened file, copy the following text to define the desired service. + +``` +[Unit] +Description=wstunnel +After=network.target + +[Service] +Type=simple +WorkingDirectory=/bin +ExecStart= wstunnel --server ws://0.0.0.0:8080 -v +Restart=on-failure + +[Install] +WantedBy=multi-user.target +``` + +To exit the text editor, press `Ctrl+s` to save the file, then exit the program with `Ctrl+x`. + +Now reset the main kernel service and activate and start the created service. + +``` +sudo systemctl daemon-reload +sudo systemctl enable wstunnel.service +sudo systemctl start wstunnel.service +``` +Now, to check if the service is activated, type this command and check that the service is active. +``` +sudo systemctl status wstunnel.service +``` + +If for any reason the service was not active, one of the previous steps was probably not done correctly. + + + +## Setting up the tunnel service on relay server +You only need to create its service so that if the server is reset, the tunnel will run automatically. To do this, create the service file in the main path of the kernel with a text editor (here nano). +``` +sudo nano /etc/systemd/system/wstunnel.service +``` +Then in the opened file, copy the following text to define the desired service. + +``` +[Unit] +Description=wstunnel +After=network.target + +[Service] +Type=simple +WorkingDirectory=/bin +ExecStart= wstunnel -L 0.0.0.0:80:localhost:80 -L 0.0.0.0:443:localhost:443 ws://[cdn_or_direct_domain_of_main_server]:8080 +Restart=on-failure + +[Install] +WantedBy=multi-user.target +``` + +- Make sure to paste `cdn_or_direct_domain_of_main_server` with your direct domain or CDN specification. +- To exit the text editor, first press `Ctrl + s` to save the file, then exit the program with `Ctrl + x`. + +Now reset the main kernel service and activate and start the created service. + +``` +sudo systemctl daemon-reload +sudo systemctl enable wstunnel.service +sudo systemctl start wstunnel.service +``` +Now, to check if the service is activated, type this command and check that the service is active. +``` +sudo systemctl status wstunnel.service +``` + +If for any reason the service was not active, one of the previous steps was probably not done correctly. + + +## Adding Relay server to HiddifyManager +Now, register a subdomain with the proxy off for your relay server IP and register it in Hiddify Manager on `Relay` mode. +- Put the registered subdomain in the `Domain` field and you can also set a `Alias` to display in the configurations. + + + +## Adding `Relay` configurations to subscription link + +As always in HiddifyManager, it is better to separate the configs from the subscription link. Therefore, for the registered `Relay` domain, you can check the `Relay` domain in the subscription domain settings so that its configurations are added to the subscription domain. + +Assuming that the subscription domain is `sublink.hiddify.com`, proceed as shown below to get the job done. + + + +Now, if you open the user page with the subscription domain (here `sublink.hiddify.com`), you will see that the connections related to the `relay server` have also been added. You can add and use these connections individually or using subscription links to your client. + +## Remove the tunnel from the relay server and the main server + +First you need to stop and disable the service. +``` +sudo systemctl daemon-reload +sudo systemctl stop wstunnel.service +sudo systemctl disable wstunnel.service +``` +Then delete the app and service. +``` +sudo rm -f /etc/systemd/system/wstunnel.service /bin/wstunnel +``` + +[WS Tunnel project link](https://github.com/erebe/wstunnel) diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-local-IPv6.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-local-IPv6.fa.md new file mode 100644 index 0000000..052d0d6 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-local-IPv6.fa.md @@ -0,0 +1,168 @@ +--- +title: آموزش ایجاد IPv6 لوکال برای سرور میانی +--- + +
+ +# آموزش ایجاد IPv6 لوکال برای سرور میانی + +در بعضی از سرورهای میانی ممکن است IPv6 ارائه نشده باشد و شما می‌تونید با این روش یک IPv6 لوکال ایجاد کنید که از آن در تانل‌‌های خود استفاده نمایید. + + +## سرور میانی + +برای ایجاد IPv6 لوکال نیاز است ابتدا سرویس `iproute2` در سرور میانی با دستور زیر نصب کنید. + +```shell +sudo apt-get install iproute2 +``` + +بعد از نصب سرویس بالا با ادیتور `nano` فایل `tunnel.yaml` را در پوشه `netplan` ایجاد کنید. + +```shell +sudo nano /etc/netplan/tunnel.yaml +``` + +سپس کد زیر ر در فایل کپی کنید. + + +```yaml +network: + version: 2 + tunnels: + tunnel98: + mode: sit + local: IPv4-RELAY + remote: IPv4-MAIN + addresses: + - 2001:db9:900::1/64 +``` + + +- به جای `IPv4-RELAY` آیپی سرور میانی خود را قرار دهید و به جای `IPv4-MAIN` آیپی سرور اصلی خود را قرار دهید. +- بعد از اعمال تغییرات با زدن دکمه `Ctrl+s` فایل را ذخیره کنید و با زدن دکمه `Ctrl+x` از ادیتور خارج شوید. +- در انتها با دستور زیر تغییرات ایجاد شده در `netplan` را اعمال کنید. + + +``` +sudo netplan apply +``` + +## سرور اصلی +برای ایجاد IPv6 لوکال در سرور اصلی نیز نیاز است که سرویس `iproute2` نصب کنید. + +```shell +sudo apt-get install iproute2 +``` + +بعد از نصب سرویس بالا با ادیتور `nano` فایل `tunnel.yaml` را در پوشه `netplan` ایجاد کنید. + +```shell +sudo nano /etc/netplan/tunnel.yaml +``` + +سپس کد زیر را در فایل کپی کنید. + +```yaml +network: + version: 2 + tunnels: + tunnel98: + mode: sit + local: IPv4-MAIN + remote: IPv4-RELAY + addresses: + - 2001:db9:900::2/64 +``` + +- مجددا به جای IPv4-RELAY آیپی سرور میانی را قرار دهید و به جای IPv4-MAIN آیپی سرور اصلی خود را قرار دهید. +- بعد از اعمال تغییرات با زدن دکمه `Ctrl+s‍` فایل را ذخیره کنید و با زدن دکمه `Ctrl+x` از ادیتور خارج شوید. +- در انتها با دستور زیر تغییرات ایجاد شده در netplan را اعمال کنید. + +``` +sudo netplan apply +``` + +- کار تمام است. + +در این روش IPv6های لوکال به شرح زیر هستند. + +سرور میانی شما: + +``` +2001:db9:900::1 +``` +سرور اصلی شما : + +``` +2001:db9:900::2 +``` + + +## تست ارتباط + +برای تست ارتباط کافیست از سرور اصلی خودتان IPv6 لوکال سرور میانی را پینگ نمایید: + +``` +ping 2001:db9:900::1 +``` + +!!! tip "نکته!" + دقت شود که اگر فایروال روی هر کدام از سرورها روشن باشد، امکان تست از طریق پینگ وجود ندارد و نیاز است فایروال را به طور موقت خاموش نمایید. [تنظیم فایروال](/fa/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel/) + + +## طریقه استفاده + +شما میتونید در سرور میانی خود از تانل [`Dokodemo-Door`](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server/) یا [`GOST`](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server/) استفاده کنید +و بجای IP یا دامنه از IPv6 لوکالی که برای سرور اصلی و خارج ایجاد کرده‌اید، استفاده نمایید. + +مثال `Dokodemo-Door` : + +```json + +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": 443, + "protocol": "dokodemo-Door", + "settings": { + "address": "2001:db9:900::2", + "followRedirect": false, + "network": "tcp,udp", + "port": 443 + }, + "tag": "inbound-IPv6-local" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + + + + +اگر دقت کنید در مثال بالا در فیلد `address` مقدار IPv6 لوکال ایجاد شده برای سرور اصلی قرار داده شده و در قسمت `port` مقدار 443 وارد شده که می توانید `port` را به پورت تانل شده تغییر داد. + +برای آموزش نحوه افزودن سرور (دامنه) میانی به هیدیفای‌منیجر [این مقاله](/fa/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) را مطالعه نمایید. + + + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-local-IPv6.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-local-IPv6.md new file mode 100644 index 0000000..b3cc07c --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-local-IPv6.md @@ -0,0 +1,168 @@ +--- +title: Tutorial for setting up local IPv6 for Relay server +--- + +
+ +# Tutorial for setting up local IPv6 for Relay server +In some relay servers, IPv6 may not be provided, and you can create a local IPv6 using this method in your tunnels. + + +## Relay server + +To create local IPv6, you need to first install the iproute2 service on relay server with the following command. + +```shell +sudo apt-get install iproute2 +``` + +After installing the above service, create the `tunnel.yaml` file in the `netplan` folder with `nano` editor. + +```shell +sudo nano /etc/netplan/tunnel.yaml +``` + +Then copy the following code in the file. + + +```yaml +network: + version: 2 + tunnels: + tunnel98: + mode: sit + local: IPv4-RELAY + remote: IPv4-MAIN + addresses: + - 2001:db9:900::1/64 +``` + + +- Instead of `IPv4-RELAY` put your relay server IP and instead of `IPv4-MAIN` put your main server IP. + +- After making the changes, save the file by pressing the `Ctrl+s` button and exit the editor by pressing the `Ctrl+x` button. + +- At the end, apply the changes made in `netplan` with the following command. + + +``` +sudo netplan apply +``` + + +## Main server +To create local IPv6 on the main server, you need to install the `iproute2` service. + +```shell +sudo apt-get install iproute2 +``` + +After installing the above service, create the `tunnel.yaml` file in the `netplan` folder with `nano` editor. + +```shell +sudo nano /etc/netplan/tunnel.yaml +``` + +Then copy the following code into the file. + +```yaml +network: + version: 2 + tunnels: + tunnel98: + mode: sit + local: IPv4-MAIN + remote: IPv4-RELAY + addresses: + - 2001:db9:900::2/64 +``` + +- Put the relay server IP instead of `IPv4-RELAY` and put your main server IP instead of `IPv4-MAIN`. +- After making changes, save the file by pressing the `Ctrl+s` button and exit the editor by pressing the `Ctrl+x' button. +- At the end, apply the changes made in netplan with the following command. + +```shell +sudo netplan apply +``` + +- The work is finished. + +In this method, local IPv6s are as follows. + +Your relay server: + +``` +2001:db9:900::1 +``` + +Your main server: + +``` +2001:db9:900::2 +``` + + +## Connection test + +To test the connection, just ping the IPv6 local relay server from your main server: + +``` +ping 2001:db9:900::1 +``` + +!!! tip "Tip!" + Please note that if the firewall is on on any of the servers, it is not possible to test through ping and it is necessary to turn off the firewall temporarily. [Firewall setup](/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel/) + + +## How to use + +You can use [`Dokodemo-Door`](/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-Dokodemo-Door-tunnel-as-relay-server) or use [`GOST`](/fa/manager/domain-worker-cdn-and-tunneling/Tutorial-for-setting-up-GOST-tunnel-as-relay-server/) on your relay server and instead of IP or domain, use the local IPv6 that you created for the main server. + +Example `Dokodemo-Door`: + +```json + +{ + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 62789, + "protocol": "dokodemo-Door", + "settings": { + "address": "127.0.0.1" + }, + "tag": "api" + }, + { + "listen": null, + "port": 443, + "protocol": "dokodemo-Door", + "settings": { + "address": "2001:db9:900::2", + "followRedirect": false, + "network": "tcp,udp", + "port": 443 + }, + "tag": "inbound-IPv6-local" + } + ], + "outbounds": [ + { + "protocol": "freedom" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ] +} +``` + + + + +If you pay attention, in the example above, the local IPv6 value created for the main server is placed in the `address` field, and 443 is entered in the `port` field, which you can change the `port` to the tunneled port. + +To learn how to add a relay server (domain) to HiddifyManager, read [this article](/manager/domain-worker-cdn-and-tunneling/How-to-add-relay-domain-to-Hiddify-manager/) do it + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-using-wildcard-subdomains-on-Hiddify.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-using-wildcard-subdomains-on-Hiddify.fa.md new file mode 100644 index 0000000..50270ac --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-using-wildcard-subdomains-on-Hiddify.fa.md @@ -0,0 +1,53 @@ +--- +title: آموزش استفاده از زیر دامنه‌های متغیر در هیدیفای‌منیجر +--- + + +
+# آموزش استفاده از زیردامنه‌های متغیر در هیدیفای + +## ثبت دامنه متغیر در کلادفلر + +ابتدا روی دامنه ثبت شده خود در کلادفلر یک رکورد `*` ایجاد کنید. یعنی به قسمت `DNS` بروید و `Add record` را بزنید. سپس در صفحه باز شده، ستاره وارد کنید. نوع فیلد هم که `A` باشد و مقدار فیلد آیپی را هم با آیپی سرور خود پر کنید. تیک پروکسی هم روشن باشه. یعنی اگر مثلا دامنه شما `yourdomain.com` باشد، در نهایت یک فیلد `yourdomain.com.*` ثبت کنید. +[اطلاعات بیشتر درباره نحوه ثبت دامنه](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235417228-97432802-c937-418c-89be-4dce39f2ea6b.png) + +
+ +
+برای آیپی ورژن ۶ نیز همین کار را با رکوردی از نوع `AAAA` می‌توانید انجام دهید. +
+ +
+ +![](https://user-images.githubusercontent.com/125398461/235417224-74554680-04f0-402d-af2c-5a7f6d6d11cf.png) + +
+ +
+## ثبت دامنه متغیر در پنل هیدیفای + +برای این کار به قسمت تنظیمات دامنه‌ها بروید و یک دامنه جدید ایجاد نمایید. یک دامنه از نوع CDN یا AutoCDN ایجاد کنید. + +![Screenshot_20230501_102910](https://user-images.githubusercontent.com/125398461/235420468-4a262370-8773-4b6b-8af6-1954e7a45767.png) + +* بنابراین در فیلد نام دامنه ساب‌دامینی که مرحله قبل ثبت کرده بودید یعنی `yourdomain.com.*` را وارد کنید. + +* نام نمایشی را یک نام دلخواه بگذارید. + +* حالت را یکی از حالت‌های CDN یا AutoCDN انتخاب کنید. تفاوت دامنه CDN و AutoCDN در نحوه اعمال فیلد آدرس در کانفیگ است که CDN نام دامنه را بر می گرداند و AutoCDN آیپی را بر می گرداند. [اطلاعات بیشتر در این مورد](/fa/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify/) +* در آخر تنظیمات را ذخیره کنید تا دامنه ثبت شود. اگر پیغام اعمال تغییرات داده شد، حتما دکمه اعمال تغییرات را هم بزنید تا تنظیمات در سرور به صورت کامل اعمال گردد. + +## مشاهده کانفیگ‌های دامنه متغیر +ابتدا روی دامنه سابسکریپشن بروید و تیک دامنه متغیر را در فیلد نمایش کانفیگ‌های دامنه آن دامین بزنید. یعنی فرش کنید دامنه لینک‌های سابسکریپشن `t1.hiddify.com` باشد، آن را ادیت کنید و مانند شکل زیر تیک دامنه متغیر را بزنید. با این کار کانفیگ‌های دامنه متغیر به لینک سابسکریپشن متصل می‌گردد. + +![wildcard](https://user-images.githubusercontent.com/125398461/235419112-e8c8a324-89e5-490d-9edf-057873ee6d96.png) + +## استفاده از کانفیگ‌های دامنه متغیر +حالا اگر روی سرور یوزرهای مختلف داشته باشید، می‌بینید که کانفیگ‌های ایجاد شده روی دامنه متغیر برای هر یوزر روی یک ساب‌دامین متغیر ایجاد شده است و برای هر یوزر یک ساب‌دامین مجزا ایجاد شده است. + +این کار کمک می‌کند که زیر دامنه بلاک نشود. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-using-wildcard-subdomains-on-Hiddify.md b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-using-wildcard-subdomains-on-Hiddify.md new file mode 100644 index 0000000..37b8263 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/Tutorial-for-using-wildcard-subdomains-on-Hiddify.md @@ -0,0 +1,43 @@ +--- +title: How to use wildcard subdomains on HiddifyManager +--- + +
+ + +# How to use wildcard subdomains on HiddifyManager + +## Wildcard domain registration on Cloudflare +First, create a `*` record on your registered domain on Cloudflare. That is, go to the DNS section and click `Add record`. Then enter a star in the opened page. Fill the field type as A and the value of the IP field with the IP of your server. Make sure the proxy tick is on. That is, if, for example, your domain is `yourdomain.com`, finally register a field `*.yourdomain.com`. [More information on how to register a domain](/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) + +![image](https://user-images.githubusercontent.com/125398461/235923115-6eaa6bdd-3032-4a9b-aa98-f2fbd8ec4001.png) + +For IP version 6, you can do the same thing with a record of `AAAA` type. + +![image](https://user-images.githubusercontent.com/125398461/235923332-af16b27e-e624-4d39-974d-1574ad44ea79.png) + +## Registration of wildcard domain on Hiddify panel +To do this, go to the domain settings and create a new domain. Create a CDN or AutoCDN domain. + + +* Therefore, enter `*.yourdomain.com` in the domain name field of the subdomain you registered in the previous step. + +* Give the alias a name of your choice. + +* Select the mode from CDN or AutoCDN. The difference between CDN domain and AutoCDN is in the way the address field is applied in the configuration, CDN returns the domain name and AutoCDN returns the IP. [More information on this](/manager/domain-worker-cdn-and-tunneling/Guide-for-using-mode-Auto_CDN_IP-on-Hiddify/) + +![Screenshot_20230503_164s956](https://user-images.githubusercontent.com/125398461/235928869-3b740a41-ffc0-479a-97a5-65a40ac9de34.png) + +* Finally, save the settings to register the domain. If the message to apply changes is given, be sure to click the apply changes button so that the settings are fully applied to the server. + + +## Viewing configs of wildcard domain +First, go to the subscription domain and tick the wildcard domain in the domain configuration field. Suppose that the domain of the subscription links is `t1.hiddify.com`, edit it and tick the wildcard domain as shown below. With this, the configs of wildcard domain are connected to the subscription link. + +![](https://user-images.githubusercontent.com/125398461/235927616-6a5829f0-2558-4584-a3af-4b8f7a286213.png) + + +## Using configs of wildcard domain +Now, if you have different users on the server, you will see that the configurations created on the wildcard domain for each user, are created on a random subdomain and a separate subdomain is created for each user on Cloudflare. + +This helps to prevent the subdomain from being blocked. diff --git a/docs/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us?.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us?.fa.md new file mode 100644 index 0000000..b2a2897 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us?.fa.md @@ -0,0 +1,82 @@ +--- +title: سی‌دی‌ان چیست و چه کمکی به ما می‌کند؟ +--- + + +
+ + +# سی‌دی‌ان چیست و چه کمکی به ما می‌کند؟ + +تا به حال به این مورد فکر کرده‌اید که `CDN` چیست و چرا برای پیاده‌سازی برخی فیلترشکن‌ها به آن نیاز داریم؟ در کل `CDN` برای دور زدن فیلترینگ چه کمکی به ما ‌می‌کند؟ +در این مطلب قصد داریم نگاه کلی به ساختار `CDN` و نحوه‌ی عملکرد آن بیندازیم و در پایان به این سوال پاسخ دهیم تا با دید بازتری برای پیکربندی و پیاده‌سازی آن اقدام کنید. پس اگر آشنایی با نحوه‌ی کارکرد آن ندارید تا آخر این پست همراه ما باشید. + + +## نگاه کلی به عملکرد CDN +سی‌دی‌ان یا شبکه‌ی توزیع محتوا `Content Delivery Network` مجموعه‌ای از سرورهای به هم متصل شده در سراسر دنیا است که وظیفه‌ی انتقال سریع داده‎ها را بر عهده دارند. در شبکه‌ی توزیع محتوا داده‌های قرار گرفته شده بر روی وب‌سایت‌ یا برنامه‌ها در سرورهای `CDN` کش یا ذخیره شده و به کاربران سراسر دنیا اجازه می‌دهد با سرعت بیشتری با آن وب‌سایت یا برنامه تبادل اطلاعات داشته باشند. همچنین به دلیل ماهیت آن پینگ و جیتر را نیز کاهش می‌دهد، اما این امر چگونه میسر می‌شود؟ فرض کنید شما در ایران نیاز به بازدید از یک وب‌سایت یا تبادل اطلاعات از طریق برنامه‌ای خاص با آمریکا را دارید. در صورتی که پلتفرم مقصد شما از `CDN` استفاده نکند، برای تبادل اطلاعات می‌بایست پکت ارسال شده کل مسیر شبکه‌ تا مقصد را طی کرده تا درخواست را تحویل دهد و این پروسه مجددا برای برگشت پکت‌ها هم بایستی انجام شود. طبیعتا در این سناریو به دلیل طولانی بودن مسافت و فاصله‌ی کاربر تا سرور اصلی، امکان ارسال و دریافت با سرعت بالا وجود نخواهد داشت و تاخیر در بارگذاری و لود شدن صفحات بوضوح قابل مشاهده‌ست. +با این‌حال اگر در سناریو فوق از شبکه‌ی توزیع محتوا استفاده شود، تمامی داده‌های آن پلتفرم در سرورهای Origin یا لبه سرویس‌دهنده ذخیره و کاربر بر اساس منطقه‌ی جغرافیایی خود به نزدیک‌ترین سرور لبه متصل شده و با سرعت بیشتر و تاخیر کمتر، نسبت به تبادل اطلاعات با مقصد اقدام می‌کند. در تصویر زیر شمای کلی از این سناریو را مشاهده می‌کنید. + + +
+ +![photo_2023-06-07_20-03-37](https://github.com/hiddify/hiddify-config/assets/125398461/d0e44fdf-b494-4881-ad99-13d5824a9f83) +
+ +حال ممکن است این سوال برای شما مطرح شود که با این حساب در راه‌اندازی فیلترشکن چه نیازی به استفاده از این شبکه‌ی توزیع محتواست؟ +در بالا به یکی از فواید استفاده از این تکنولوژی اشاره کردیم، اما ماجرا به همینجا ختم نمی‌شود. نکته مهم و حیاتی که برای راه‌اندازی سرورهای فیلترشکن در این بستر از آن استفاده می‌شود، عدم مشخص شدن آیپی سرور شما از دید نهادهای نظارتی و سامانه‌های فیلترینگ است. همانطور که در بالا اشاره شد کاربر در حین تبادل اطلاعات با سرور مقصد به جای ارتباط مستقیم به Origin Servers متصل شده و این سرورهای لبه مسئولیت تبادل اطلاعات با سرور اصلی را به عهده می‌گیرند. با این حساب آیپی سرور شما از دید نهادهای نظاره‌گر دولتی مخفی مانده و فیلتر شدن آن به طرز چشمگیری غیر ممکن می‌شود! +بیایید به‌صورت عملی هم تست و نتیجه را مشاهده کنیم. در اینجا ما یک رکورد A در کلادفلر ایجاد کرده و پراکسی (قابلیت استفاده از CDN) برای آن را خاموش می‌کنیم تا ساب‌دامین ایجاد شده از قابلیت `CDN` استفاده نکرده و مستقیما با سرور اصلی در ارتباط باشد. + + +
+ +![photo_2023-06-07_20-04-15](https://github.com/hiddify/hiddify-config/assets/125398461/09f0c5f3-e5d0-41c6-81da-ac3e016ebc6b) + +
+ +سپس از سابدامین ایجاد شده پینگ بگیرید: + + +
+ +![244136935-16868a83-6991-43f2-9969-1802801eb12f](https://github.com/hiddify/hiddify-config/assets/125398461/bc5757b6-001a-4b08-a678-5264fe60e51b) + +
+ +همانطور که در تصویر بالا مشاهده می‌کنید، آیپی اصلی سرور در این حالت مشخص و فیلتر کردن آن به راحتی امکان پذیر است. +در تست بعدی گزینه‌ی پراکسی را برای سابدامین ایجاد شده فعال کرده و نتایج را با هم مقایسه می‌کنیم: + + +
+ +![photo_2023-06-07_20-04-54](https://github.com/hiddify/hiddify-config/assets/125398461/0705bdaf-2e9a-4f3a-9c76-e966d5b2db6c) +
+ +
+ +![photo_2023-06-07_20-05-11](https://github.com/hiddify/hiddify-config/assets/125398461/fa4c2070-3d9c-4e04-9fce-46d3bf501998) + +
+ +در این حالت خروجی تست دیگر آیپی سرور اصلی نیست، بلکه آیپی سرورهای لبه‌ای را مشاهده می‌کنید که نزدیک‌ترین فاصله را به شما داشته و به آن متصل شده‌اید. +همچنین برای درک بهتر چگونگی کاهش پینگ و جیتر و افزایش سرعت در حالت استفاده از سی‌دی‌ان، اقدام به بررسی مسیر طی شده پکت‌ها `Tracing Route` کردیم. تصاویر زیر گویای این مسأله‌ است که در هنگام استفاده از CDN مسیر دسترسی به سرور بسیار کوتاه‌تر شده، به‌طوری که در این مثال پکت‌ها در حالت مستقیم از ۱۰ روتر بیشتر عبور می‌کنند و همین مسئله باعث تاخیر بیشتر و کاهش سرعت و عملکرد آن می‌باشد. + +
+ +![photo_2023-06-07_20-05-37](https://github.com/hiddify/hiddify-config/assets/125398461/a257a199-b7f7-48a5-8734-2364c9338326) +
+ +
+ +![photo_2023-06-07_20-05-46](https://github.com/hiddify/hiddify-config/assets/125398461/ebca35d6-0ffa-4ec1-8bf7-87fda03aed7c) +
+ +## دلیل فیلتر نشدن کامل کلادفلر +حال ممکن است این سوال برایتان پیش بیاید که با این وجود چرا نهادهای دولتی اقدام به فیلترینگ کامل کلادفلر نکرده‌اند و اختلالات دیگری در آیپی‌های تحت نظر آن اعمال شده است؟ لازم به ذکر است کلادفلر یکی از بزرگترین و بی‌نظیرترین شبکه‌های توزیع محتوا در جهان است که خدمات و ابزارهای زیادی را در اختیار کاربران قرار می‌دهد. بسیاری از وب‌سایت‌ها و سرویس دهنده‌های ایرانی نیز از خدمات آن استفاده می‌کنند و در صورت فیلتر شدن کامل کلادفلر، دسترسی به بخش عظیمی از خدمات و سرویس‌های ایرانی نیز مسدود می‌شود. به همین دلیل نهادهای نظارتی از طریق روشهای دیگر برای ایجاد اختلال بر روی این بستر اقدام می‌کنند. + + +# آموزش ثبت دامنه در CDNهای معروف +- [آموزش استفاده از CDN Cloudflare](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN/) +- [آموزش استفاده از CDN GCore](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain/) +- [آموزش استفاده از CDN Amazon](/fa/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN/) + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us?.md b/docs/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us?.md new file mode 100644 index 0000000..d89c34b --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/What-is-CDN-and-how-does-it-help-us?.md @@ -0,0 +1,77 @@ +--- +title: What is CDN and how does it help us? +--- + +
+ + +# What is CDN and how does it help us? + +Ever wondered what a `CDN` is and why we need it to implement some filter breakers? In general, what does `CDN` help us to bypass filtering? In this article, we are going to take a general look at the `CDN` structure and how it works and at the end answer this question so that you can configure and implement it with a more open mind. So if you are not familiar with how it works, stay with us until the end of this post. + +## CDN performance overview +CDN or `Content Delivery Network` is a set of connected servers around the world that are responsible for fast data transfer. In the content distribution network, the data placed on the website or applications is cached or stored in the `CDN` servers and allows users around the world to exchange information with that website or application at a faster rate. It also reduces ping and jitter by its very nature, but how is this possible? Suppose you need to visit a website in Iran or exchange information through a special program with America. If your destination platform does not use a `CDN`, to exchange information, the sent packet must travel the entire network path to the destination to deliver the request, and this process must be done again to return the packets. Naturally, in this scenario, due to the long distance between the user and the main server, it will not be possible to send and receive at high speed, and the delay in loading and loading pages is clearly visible. However, if the content distribution network is used in the above scenario, all the data of that platform is stored in the Origin servers or the edge server and the user is connected to the nearest edge server based on their geographical area and with faster speed and less delay than exchanging information with The destination takes action. In the picture below, you can see the overview of this scenario. + +
+ +![photo_2023-06-07_20-03-37](https://github.com/hiddify/hiddify-config/assets/125398461/d0e44fdf-b494-4881-ad99-13d5824a9f83) +
+ + + +Now the question may be raised to you, what is the need to use this content distribution network in setting up the filter breaker with this account? Above we mentioned one of the benefits of using this technology, but the story does not end here. The important and vital thing that is used to set up filtering servers on this platform is that your server's IP is not identified from the point of view of regulatory bodies and filtering systems. As mentioned above, during the exchange of information with the destination server, the user is connected to the Origin Servers instead of direct communication, and these edge servers are responsible for exchanging information with the main server. With this account, the IP of your server remains hidden from the eyes of government monitoring institutions, and its filtering becomes remarkably impossible! Let's see the test and the result practically. Here we create an A record in Cloudflare and turn off the proxy (the ability to use CDN) for it so that the created subdomain does not use the `CDN` ability and is directly connected to the main server. + +
+ +![photo_2023-06-07_20-04-15](https://github.com/hiddify/hiddify-config/assets/125398461/09f0c5f3-e5d0-41c6-81da-ac3e016ebc6b) + +
+ + +Then ping the created subdomain: + +
+ +![244136935-16868a83-6991-43f2-9969-1802801eb12f](https://github.com/hiddify/hiddify-config/assets/125398461/bc5757b6-001a-4b08-a678-5264fe60e51b) + +
+ + + +As you can see in the image above, the main IP of the server can be identified and filtered easily. In the next test, we enable the proxy option for the created subdomain and compare the results: + +
+ +![photo_2023-06-07_20-04-54](https://github.com/hiddify/hiddify-config/assets/125398461/0705bdaf-2e9a-4f3a-9c76-e966d5b2db6c) +
+ +
+ +![photo_2023-06-07_20-05-11](https://github.com/hiddify/hiddify-config/assets/125398461/fa4c2070-3d9c-4e04-9fce-46d3bf501998) + +
+ + +In this case, the test output is no longer the IP of the main server, but the IP of the edge servers that are closest to you and connected to. Also, in order to better understand how to reduce ping and jitter and increase speed when using CDN, we checked the route taken by packets by `Tracing Route`. The images below show that when using a CDN, the access path to the server is much shorter, so that in this example, the packets pass through more than 10 routers in direct mode, and this problem causes more delay and decreases its speed and performance. + +
+ +![photo_2023-06-07_20-05-37](https://github.com/hiddify/hiddify-config/assets/125398461/a257a199-b7f7-48a5-8734-2364c9338326) +
+ +
+ +![photo_2023-06-07_20-05-46](https://github.com/hiddify/hiddify-config/assets/125398461/ebca35d6-0ffa-4ec1-8bf7-87fda03aed7c) +
+ + +## The reason why Cloudflare is not completely filtered +Now, you may be wondering why government institutions have not completely filtered Cloudflare and other disruptions have been applied to the IPs under its control? It should be noted that Cloudflare is one of the largest and most unique content distribution networks in the world, which provides many services and tools to users. Many Iranian websites and service providers also use its services, and if Cloudflare is completely filtered, access to a large part of Iranian services will be blocked. For this reason, regulatory bodies act through other methods to disrupt this platform. + + +# How to register domain in famous CDNs +- [How to use Cloudflare CDN](/manager/domain-worker-cdn-and-tunneling/How-to-use-Cloudflare-CDN/) +- [How to use GCore CDN](/manager/domain-worker-cdn-and-tunneling/How-to-use-GCore-CDN-on-Cloudflare-registered-domain/) +- [How to use Amazon CDN](/manager/domain-worker-cdn-and-tunneling/How-to-use-Amazon-CDN/) + +
diff --git a/docs/manager/domain-worker-cdn-and-tunneling/index.fa.md b/docs/manager/domain-worker-cdn-and-tunneling/index.fa.md new file mode 100644 index 0000000..219a43f --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/index.fa.md @@ -0,0 +1,8 @@ +--- +description: مطالب مرتبط با دامنه، ورکر، CDN و تانل +title: دامنه، ورکر، CDN و تانل +comments: false +weight: -60 +--- + +# دامنه، ورکر، CDN و تانل \ No newline at end of file diff --git a/docs/manager/domain-worker-cdn-and-tunneling/index.md b/docs/manager/domain-worker-cdn-and-tunneling/index.md new file mode 100644 index 0000000..e3e5a14 --- /dev/null +++ b/docs/manager/domain-worker-cdn-and-tunneling/index.md @@ -0,0 +1,8 @@ +--- +description: Contents related to domain, Worker, CDN and tunneling +title: Domain, Worker, CDN and tunneling +comments: false +weight: -60 +--- + +# Domain, Worker, CDN and tunneling \ No newline at end of file diff --git a/docs/manager/index-old.md b/docs/manager/index-old.md new file mode 100644 index 0000000..5766bd0 --- /dev/null +++ b/docs/manager/index-old.md @@ -0,0 +1,660 @@ +--- +description: Welcome to the wiki page for HiddifyManager +title: Manager Guide +comments: false +weight: -2 +--- + +# :material-home: HiddifyManager Guide + +In this page, we put categorized content of tutorials and documents related to HiddifyManager. In addition to the fact that you can click on the links of each article to reach out the full explanations of them, there are some videos for these items on our [YouTube channel](https://www.youtube.com/@hiddify/videos), which you can watch by clicking on the images below. + +## How to install HiddifyManager + + + +## Configuration and advanced settings + + + +
+
+ +## Domain, Worker, CDN and tunneling + +
+ + +
+

Related videos

+ +
+ +
+ +
+
+ + +## Basic concepts and troubleshooting + + + +## Client softwares on Android + + + + +## Client softwares on iOS + + + +## Client softwares on Desktop + + + +## Contribution + + + + +
+
+ + diff --git a/docs/manager/index.fa.md b/docs/manager/index.fa.md new file mode 100644 index 0000000..8c3d3e4 --- /dev/null +++ b/docs/manager/index.fa.md @@ -0,0 +1,1066 @@ +--- +title: راهنمای منیجر +hide: + # - navigation + - toc + - feedback +weight: -20 +comments: false + +--- + + +# همه آموزش‌ها و ویدیوهای مرتبط با هیدیفای‌منیجر +هیدیفای‌منیجر یک برنامه برای نصب روی سرورها برای ساخت سرور VPN می‌باشد که از پروتکل‌های متعددی پشتیبانی می‌کند. اطلاعات مناسب و کامل از اینجا قابل دسترسی است.در این صفحه تمامی آموزش‌های مرتبط با هیدیفای‌منیجر به صورت دسته‌بندی شده قرار گرفته شده است. + +
+
+ + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ +
+ + +
+
+
+

ویدیوهای مرتبط

+
+ +
+
+
+ + +
+ +
+ +
+
+ +
+

نرم‌افزارهای کلاینت در اندروید

+ + + + + + +
+ +
+
+
+ +
+
+
+

ویدیوهای مرتبط

+
+ +
+
+
+ + + +
+ +
+ +
+ + + +
+ + +
+ +
+ +
+
+ +
+

نرم افزارهای کلاینت در دسکتاپ

+ + + + + +
+ +
+
+
+ +
+
+

ویدئوهای مرتبط

+ +
+
+
+ + +
+ +
+ + + + +
+ +
+ + + + diff --git a/docs/manager/index.md b/docs/manager/index.md new file mode 100644 index 0000000..e9e76ec --- /dev/null +++ b/docs/manager/index.md @@ -0,0 +1,1080 @@ +--- +title: Manager Guide +weight: -20 +hide: + # - navigation + - feedback + - toc +comments: false + +--- + + +# All tutorials and videos related to HiddifyManager +HiddifyManager is an application for server installation to create a VPN server that supports multiple protocols. translate to farsi: +The appropriate and detailed information are accessible here. This page contains all the categorized tutorials related to HiddifyManager. + +
+
+ + + +
+ +
+ + + + +
+ +
+ +
+
+ +
+

Domain, Worker, CDN and tunneling

+ + + + + + + +
+
+ +
+
+
+

Related videos

+
+ +
+
+
+ + +
+ +
+ + + + +
+ +
+ +
+
+ +
+

Client softwares on Android

+ + + + + + +
+ +
+
+
+ +
+
+
+

Related videos

+
+ +
+
+
+ + + +
+ +
+ +
+
+ +
+

Client softwares on iOS

+ + + + + + + +
+
+ + +
+ + +
+ +
+ +
+
+ +
+

Client softwares on Desktop

+ + + + + +
+ +
+
+
+ +
+
+
+

Related videos

+
+ +
+
+
+ + +
+ +
+ +
+
+ +
+

Contribution

+ + + +
+ +
+
+
+ + +
+ + +
+ +
+ + + + + diff --git a/docs/manager/index2.fa.html b/docs/manager/index2.fa.html new file mode 100644 index 0000000..286d555 --- /dev/null +++ b/docs/manager/index2.fa.html @@ -0,0 +1,1323 @@ + + + + + + + + + + + + + هیدیفای | راهکار آزادی اینترنت + + + + + + + +
+ + +
+
+
+

همه آموزش‌ها و ویدیوها

+
+
+ +
+ +
+ + + +
+ +
+ + + +
+ +
+
+ + +
+
+
+

ویدیوهای مرتبط

+
+ +
+
+
+ + +
+ +
+
+
+ +
+

نرم‌افزارهای کلاینت در اندروید

+ + + + + + +
+ +
+
+
+ +
+
+
+

ویدیوهای مرتبط

+
+ +
+
+
+ + + +
+ +
+
+ + + +
+ + +
+ +
+
+
+ +
+

نرم افزارهای کلاینت در دسکتاپ

+ + + + + +
+ +
+
+
+ +
+
+

ویدئوهای مرتبط

+ +
+
+
+ + +
+ +
+ + + +
+ +
+
+
+ + + + + + + diff --git a/docs/manager/index2.html b/docs/manager/index2.html new file mode 100644 index 0000000..a7711b5 --- /dev/null +++ b/docs/manager/index2.html @@ -0,0 +1,1336 @@ + + + + + + + + + + + + + Hiddify | Internet Freedom Solution + + + + + + + +
+ + +
+
+
+

All tutorials and videos

+
+
+ + + +
+ +
+ + + +
+ +
+
+
+ +
+

Domain, Worker, CDN and tunneling

+ + + + + + + +
+
+ +
+
+
+

Related videos

+
+ +
+
+
+ + +
+ +
+ + + +
+ +
+
+
+ +
+

Client softwares on Android

+ + + + + + +
+ +
+
+
+ +
+
+
+

Related videos

+
+ +
+
+
+ + + +
+ +
+
+
+ +
+

Client softwares on iOS

+ + + + + + + +
+
+ + +
+ + +
+ +
+
+
+ +
+

Client softwares on Desktop

+ + + + + +
+ +
+
+
+ +
+
+
+

Related videos

+
+ +
+
+
+ + +
+ +
+
+
+ +
+

Contribution

+ + + +
+ +
+
+
+ + +
+ + +
+ +
+
+
+ + + + + + + diff --git a/docs/manager/installation-and-setup/Cloud-init-installation.fa.md b/docs/manager/installation-and-setup/Cloud-init-installation.fa.md new file mode 100644 index 0000000..c4c2491 --- /dev/null +++ b/docs/manager/installation-and-setup/Cloud-init-installation.fa.md @@ -0,0 +1,20 @@ +--- +title: نصب آسان از طریق دیتاسنتر (Cloud-init) +weight: -45 +--- + +
+# نصب آسان از طریق دیتاسنتر (Cloud-init) + +این بخش مناسب برای هاستینگ‌هایی هست که کلود کانفیگ را ساپورت می‌کنه +این کد را کپی کنید و در قسمت مربوطه قرار دهید + +
+ +{% include 'cloud-init.yml' %} + +
+ +بعد از نصب این اسکریپت، از [اینجا](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) ادامه نصب را دنبال کنید تا نصب نهایی شود. + +
diff --git a/docs/manager/installation-and-setup/Cloud-init-installation.md b/docs/manager/installation-and-setup/Cloud-init-installation.md new file mode 100644 index 0000000..fa0661a --- /dev/null +++ b/docs/manager/installation-and-setup/Cloud-init-installation.md @@ -0,0 +1,17 @@ +--- +title: Easy installation through the data center (Cloud-init) +weight: -45 +--- + +
+ +# Easy installation through the data center (Cloud-init) + +This section is suitable for hosting that supports cloud config +Copy and paste this code into the appropriate field + + +{% include 'cloud-init.yml' %} + + +After installing this script, follow the installation from [here](/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) to complete the installation. diff --git a/docs/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation.fa.md b/docs/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation.fa.md new file mode 100644 index 0000000..3601b55 --- /dev/null +++ b/docs/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation.fa.md @@ -0,0 +1,168 @@ +--- +title: ثبت دامنه در هیدیفای‌منیجر و نهایی‌سازی نصب (انجام تنظیمات ابتدایی بعد از نصب +weight: -85 +--- + +
+ +# راهنمای تنظیم دامنه و نهایی کردن نصب +* [قدم اول: تنظیم دامنه و زیر دامنه](#%DB%B1-%D9%86%D8%AD%D9%88%D9%87-%D8%AA%D9%86%D8%B8%DB%8C%D9%85-%D8%AF%D8%A7%D9%85%D9%86%D9%87-%D9%88-%D8%B2%DB%8C%D8%B1%D8%AF%D8%A7%D9%85%D9%86%D9%87) + +* [قدم دوم: رسیدن به صفحه ادمین بعد از نصب اسکریپت](#%DB%B2-%D8%B1%D8%B3%DB%8C%D8%AF%D9%86-%D8%A8%D9%87-%D8%B5%D9%81%D8%AD%D9%87-%D8%A7%D8%AF%D9%85%DB%8C%D9%86-%D8%A8%D8%B9%D8%AF-%D8%A7%D8%B2-%D9%86%D8%B5%D8%A8-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA) + +* [قدم سوم: نهایی کردن نصب](#%DB%B3-%D9%86%D9%87%D8%A7%DB%8C%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D9%86%D8%B5%D8%A8) + + +*** + + +بعد از [نصب اسکریپت](/fa/manager/installation-and-setup/guide/)؛ باید نصب را نهایی کنید. این کار در ۳ مرحله به انجام می رسد. +ابتدا باید یک دامنه ثبت نمایید + + +## ۱. نحوه تنظیم دامنه و زیردامنه +در ویدئوی زیر تمامی مراحل تنظیم دامنه و زیردامنه با جزییات کامل شرح داده شده است. + +[![subdomain](https://img.youtube.com/vi/l-KKRus2KS0/maxresdefault.jpg)](https://www.youtube.com/watch?v=l-KKRus2KS0) + + + +
مراحل تنظیم دامنه و زیردامنه + + + + + +* ابتدا وارد [این سایت](https://freedns.afraid.org/signup/?plan=starter) شوید و یک اکانت بسازید (لازم نیست که اطلاعاتتان واقعی باشد فقط ایمیل باید درست باشد) + +
+ +
+
+* ایمیلی که به شما ارسال شده را فعال کنید. +* وارد اکانت ساخته شده شوید و روی [این لینک](https://freedns.afraid.org/domain/registry/) کلیک کنید و یکی از دامین های پابلیک را انتخاب کنید. +
+
+ +
+ + + +
+بهتر هست دامین هایی با پسوند `com` `net` `org` را انتخاب کنید. +- آی پی سرور و نام مورد نظر خود را در آن قرار دهید. + +
+ +
+ +
+ + + + + +
+* زیر دامنه ایجاد شده را کپی کنید. + +> این مراحل صرفا برای دامنه دایرکت بود اگر می خواهید درباره نحوه ثبت دامنه های مختلف بدانید؛ [اینجا](/fa/manager/domain-worker-cdn-and-tunneling/Domain-types-and-how-to-register-them/) کلیک کنید. + + +
+ +
+ +
+ +## ۲. رسیدن به صفحه ادمین بعد از نصب اسکریپت + + شما به ۲ حالت [نصب اولیه](fa/manager/installation-and-setup/guide/) یعنی مرحله اسکریپت را انجام داده اید؛ + +> یا از طریق اسکریپت نصب سریع در دیتاسنترهای معروف (cloud-init) جلو رفته اید؛ + +> یا اسکریپت نصب مستقیم روی ابونتو با ssh را اجرا کرده اید؛ + +پس بر اساس روشی که انتخاب کرده اید این مرحله را ادامه دهید. + +* نکته مهم: این برنامه صرفا روی سرور لینوکس ابونتو ورژن ۲۲.۰۴ و قابل نصب است. + +

۱.۲. ادامه نصب در حالت cloud-init

+اگر از اسکریپت های نصب برای کلاد cloud-init که برای دیتاسنترهای معروف مث Hetzner, Vultr و ... استفاده نموده اید؛ بنابراین در این صورت یک لینک موقت (اعتبار یک ساعت) برای شما ساخته می شود. + + +#### برای رسیدن به لینک موقت چه کار کنیم؟ + + حداقل ۱۰ دقیقه صبر کنید. سپس آدرس آی پی را در مرورگر خود باز کنید. آی پی یک عدد۴ بخشی هست که با `.` جدا شده است. + + + +
+`http://ip` + +
+ +
+ +به عنوان مثال اگر آی پی شما 1.1.1.1 است شما باید آدرس زیر را در مرورگرتان وارد کنید: + +
+ +
+`http://1.1.1.1` + +
+ +
+![Screenshot_20230325_144941](https://user-images.githubusercontent.com/125398461/228808077-f362e8b4-6058-4d36-a87b-d514f53afeb5.png) +
+
+توجه داشته باشید این آدرس فقط یک ساعت فعال هست و بعد از آن غیر فعال می‌شود. + +از طریق لینک یکبار مصرف با کلیک روی here به صفحه ادمین می رسید. + +
+ +
+ +

۲.۲. ادامه نصب مستقیم روی ابونتو

+ +اگر از روش نصب روی ابونتو استفاده کرده باشید؛ در پایان نصب لینک‌های ادمین برای شما تولید می شوند. دقت کنید لینک ادمین طبق فرمت مناسب باشد. [اطلاعات بیشتر](/manager/wiki/%D9%81%D8%B1%D9%85%D8%AA-%D8%B5%D8%AD%DB%8C%D8%AD-%D9%84%DB%8C%D9%86%DA%A9-%D8%A7%D8%AF%D9%85%DB%8C%D9%86) + +لینک را در مرورگر باز کنید تا وارد صفحه ادمین شوید. + + +
+ +## ۳. نهایی کردن نصب + +اولین بار با باز شدن صفحه ادمین؛ تنظیمات نصب سریع برای شما باز می‌گردد. +دامنه کپی شده در مرحله اول را در قسمت مشخص شده مطابق عکس زیر قرار دهید. + +![222660316-6a770a0d-d6f0-453b-b1bd-59e340d26b27](https://user-images.githubusercontent.com/125398461/224301379-cb1a7c97-17b8-4a01-b3eb-b3a4d63a365a.png) + +دکمه ثبت را بزنید و سپس اعمال تغییرات را کلیک کنید تا تغییرات در پنل ذخیره گردند. در صورت بروز مشکل به [اینجا](/fa/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/) بروید. اگر تغییرات با موفقیت اعمال شد؛ پنل تقریبا آماده استفاده است. + +## رسیدن به کانفیگ‌ها جهت اتصال به پروکسی + +برای این کار در منوی نرم افزار به بخش کاربران بروید. روی لینک یوزر دیفالت کلیک کنید تا به صفحه آن یوزر برسید. + +![222353769-50029122-d91d-478d-836c-e551d837e841](https://user-images.githubusercontent.com/125398461/224304945-00495700-8e13-4a82-b9af-a66cdec1c9e3.png) + +در این صفحه اپلیکیشن‌های مورد نیاز برای اتصال معرفی شده‌اند. + + +![222347692-aec59e0d-0d68-4d2d-9dc4-1d04c4833c04](https://user-images.githubusercontent.com/125398461/224305814-bdd78d4b-9da1-462d-b164-e279bd904837.png) + +همچنین در قسمت پایین پروکسی‌های ایجاد شده برای آن یوزر را مشاهده می کنید. + +![222881899-831e1edf-ff81-427c-b5ba-03e7b333c46a](https://user-images.githubusercontent.com/125398461/224305838-a01795d8-d217-4760-bf22-87b2c7dcb5f7.png) + +> این مطلب صرفا جهت کمک به شما برای راه اندازی سریع پنل تهیه شده است. کارهای خیلی زیادی می توانید با این پنل انجام دهید. + + +> پیشنهاد می‌شود: + + * جزییات بیشتر را در مطالبی که در مطلب [پیکربندی پنل](/fa/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/) نوشته شده مطالعه نمایید تا بتوانید حداکثر کارایی را از این پنل داشته باشید + + +
diff --git a/docs/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation.md b/docs/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation.md new file mode 100644 index 0000000..6f457cf --- /dev/null +++ b/docs/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation.md @@ -0,0 +1,118 @@ +--- +title: Guide for setting up the domain and finalizing the installation (Initial setting after installation) +weight: -85 +--- + +
+ +# Guide for setting up the domain and finalizing the installation +- [Step 1: Setting up domain and subdomain](#1-how-to-set-domain-and-subdomain) +- [Step 2: Reaching the admin page after installing the script](#2-reaching-the-admin-page-after-installing-the-script) +- [Step 3: Finalizing the installation](#step-3-finalize-the-installation) +*** +After [installing the script](/manager/installation-and-setup/guide/); You must finalize the installation. This is done in 3 steps. First you need to register a domain. + +## 1. How to set domain and subdomain +In the video below, all the steps of setting up the domain and subdomain are described in full detail. This video is in Farsi and if you watch the steps you can handle that. Although We are considering making some English videos for non-Persian people, till then you can visit this or follow the instructions in this article. + + + +

Steps of setting up domain and subdomain

+- First, go to [this site](https://freedns.afraid.org/signup/) and create an account (It does not need your real information but the email must be correct) + +
+ +![224300370-52b9a063-9265-4ff1-83e7-23970b6a4ecf](https://user-images.githubusercontent.com/125398461/228727381-0fb49767-a5dc-4e48-a0a5-21c2bb793e73.png) +
+ +- Activate the account via the email sent to you. +- Login to the created account and click on [this link](https://freedns.afraid.org/domain/registry/) and choose one of the publlic domains + +
+ +![Screenshot_20230330_081052](https://user-images.githubusercontent.com/125398461/228738584-a12bacc8-9039-454b-8921-43ddee18d092.png) + +
+It is better to choose domains with these extensions: + +`com` , `net` , `org` + + +- Enter your desired subdomain and the IP of your server. +
+ +![224301533-6743a65d-e45f-475c-a94d-7b6c428ffd84](https://user-images.githubusercontent.com/125398461/228729855-a95334af-a87e-4668-be7e-643a4d6a0a83.png) +
+ - Copy the created subdomain. + +> These steps were only for direct domain if you want to know how to register other types of domain; Click [here](/manager/wiki/Domain-types-and-how-to-register-them). + +
+ +## 2. Reaching the admin page after installing the script +You have done [the initial installation](https://github-com/hiddify/hiddify-config/wiki/#installation-guide) i.e. the script stage in 2 ways: + - You have proceeded through the quick installation script in famous data centers (cloud-init); + - or you have run the direct installation script on Ubuntu using SSH; + +So, continue this step based on the method you have chosen. + +> Important note: This program can only be installed on Ubuntu server versions 22.04. + +

1.2. Continue installation in cloud-init mode

+If you have used quick installation scripts (cloud-init mode) for famous data centers such as Hetzner, Vultr, etc.; Therefore, in this case, a temporary link (valid for one hour) will be created for you. + +#### What to do to reach the temporary link? +Wait at least 10 minutes. Then open the IP address in your browser. + +IP is a 4-part number separated by dot. `http://ip` + +For example, if your IP is 1.1.1.1, you should enter the following address in your browser: `http://1.1.1.1` + +Note: that temporary address is only active for one hour and after that it becomes inactive. + +
+ +![Screenshot_20230325_144941en](https://user-images.githubusercontent.com/125398461/228808969-e289d4da-8857-45ec-96e6-353729e129ec.png) +
+ +You will reach the admin page by opening one time link. + +
+ +

2.2. Continue installing directly on Ubuntu

+If you have used the installation method on Ubuntu; At the end of the installation, admin links will be generated in the terminal for you. Please make sure that the admin link is in the correct format. More information + +Open the link in the browser in order to enter the admin page. + +
+ +## Step 3: Finalize the installation +When you open the admin page for the first time, quick installation settings will appears. Place the domain copied in the first step in the specified area as shown in the picture below. + +![Screenshot_20230330_114622](https://user-images.githubusercontent.com/125398461/228776688-61847f37-72de-4111-9287-a0a733e62126.png) + +Click the Submit button and then click `Apply Configs` to save the settings in the panel. + +For making the best use of this panel please view this [article](/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/). + +### Reaching the connections for connecting to the proxy +For this, go to the users section in the software menu. Click on the user link to reach that user's page. + +![2](https://user-images.githubusercontent.com/125398461/228784909-0e696cbc-b073-4c66-a660-88b5c0b87ee7.png) + + +On this page, the applications required for connection are introduced. + +![apps](https://user-images.githubusercontent.com/125398461/228784738-3e9a2e69-8725-479c-a792-9b84298cb4ff.png) + +You can also see the proxies created for that user at the bottom. + +![Screenshot_20230330_1237592](https://user-images.githubusercontent.com/125398461/228791254-f968a44f-c18a-454b-9927-ac7fe4c32e6d.png) + +Use the QR codes (highlighted yellow) or links for your client. diff --git a/docs/manager/installation-and-setup/How-to-connect-to-server-via-SSH.fa.md b/docs/manager/installation-and-setup/How-to-connect-to-server-via-SSH.fa.md new file mode 100644 index 0000000..d0ca837 --- /dev/null +++ b/docs/manager/installation-and-setup/How-to-connect-to-server-via-SSH.fa.md @@ -0,0 +1,81 @@ +--- +title: آموزش اتصال به سرور از طریق SSH +weight: -80 +--- + +
+# آموزش اتصال به سرور از طریق SSH + +

پیش نیاز: نصب SSH در ویندوز

(کلیک کنید)
+ +* اگر کلاینت شما ویندوز است؛ می توانید از پاورشل استفاده نمایید. ابتدا اگر تا کنون ماژول OpenSSH را نصب ننموده اید؛ پاورشل را با **دسترسی ادمین** باز کنید یعنی روی PowerShell راست کلیک کنید و Run as Administrator را بزنید. + +![image](https://user-images.githubusercontent.com/114227601/222904592-cd26b3bf-a014-4253-9488-ee9717f006fe.png) + +سپس این دستور را اجرا کنید: + + +
+``` +Add-WindowsCapability -Online -Name OpenSSH.Client +``` +
+پس از آن چنین چیزی را باید مشاهده کنید: + +![image](https://user-images.githubusercontent.com/114227601/222904870-e709f69e-1a8d-4a6d-ad6a-3d7bdcd917c3.png) + +تبریک نصب ssh به پایان رسید +
+ + +# نحوه اتصال و رفع عیب از طریق SSH + + +در صورتی که به هر دلیلی دسترسی نیاز به اتصال به سرور داشته باشید؛ در این حالت تنها راه اتصال به سرور و اعمال کانفیگ و تغییرات از طریق ترمینال است. + + +در این حالت نیاز است ابتدا به سرور SSH بزنید. +برای این کار: +با توجه به سیستم عامل خود یکی از برنامه های زیر را باز کنید. +- ویندوز: `PowerShell` +- مک: `Terminal` +- لینوکس : `Terminal` + +سپس از طریق اجرای دستور زیر به سرور متصل شوید: + +
+``` +ssh user@ +``` +
+ +معمولا یوزر شما در سروری که خریداری کردید `root` هست فرض کنید IP سرور شما `1.1.1.1` هست پس دستور به شکل زیر میشه +
+``` +ssh root@1.1.1.1 +``` +
+ +
+اگر پورت دیفالت SSH را تغییر داده اید در این صورت باید کامند فوق را به این شکل تغییر دهید. + +
+ +
+``` +ssh root@ -p +``` + +
+ +
+یعنی مثلا اگر آیپی شما `1.1.1.1` و پورت `2222` باشد باید به این شکل کامند را اجرا کرد. + +
+ +
+``` +ssh root@1.1.1.1 -p 2222 +``` + +
\ No newline at end of file diff --git a/docs/manager/installation-and-setup/How-to-connect-to-server-via-SSH.md b/docs/manager/installation-and-setup/How-to-connect-to-server-via-SSH.md new file mode 100644 index 0000000..1fbf651 --- /dev/null +++ b/docs/manager/installation-and-setup/How-to-connect-to-server-via-SSH.md @@ -0,0 +1,53 @@ +--- +title: How to connect to server via SSH +weight: -80 +--- + +
+ +# How to connect and troubleshoot via SSH + +

Prerequisite: Installing ssh on Windows

+- If your client is Windows; You can use Powershell. First, if you haven't installed the OpenSSH module yet; Open PowerShell with admin access, that is, right-click PowerShell and click Run as Administrator. + +![image](https://user-images.githubusercontent.com/114227601/222904592-cd26b3bf-a014-4253-9488-ee9717f006fe.png) + +Then run this command: + +``` +Add-WindowsCapability -Online -Name OpenSSH.Client +``` +After that you should see something like this: + +![image](https://user-images.githubusercontent.com/114227601/222904870-e709f69e-1a8d-4a6d-ad6a-3d7bdcd917c3.png) + +Congratulations, ssh installation is complete. + +
+ +# How to connect to server via SSH +If for any reason access to the panel is not available through the web or your access is cut off and you do not have the emergency link; In this case, the only way to control and apply changes, as well as restore web access, is through the terminal. + +In this case, you need to ssh to the server first. +for this job: +According to your operating system, open one of the following programs +- Windows: `PowerShell` +- Mac: `Terminal` +- Linux: `Terminal` + +Then connect to the server by running the following command: `ssh user@` + +Usually, when you purchase a VPS you get the user ``root'' on the server. suppose your server's IP is 1.1.1.1, so the command is as follows: +``` +ssh root@1.1.1.1 +``` +If you have changed the default SSH port, then you should change the above command like this. + +``` +ssh root@ -p +``` +For example, if your IP is `1.1.1.1` and the port is `2222`, you should execute the command in this way. +``` +ssh root@1.1.1.1 -p 2222 +``` + diff --git a/docs/manager/installation-and-setup/How-to-install-HiddifManager-Version-8.fa.md b/docs/manager/installation-and-setup/How-to-install-HiddifManager-Version-8.fa.md new file mode 100644 index 0000000..fe5f5f3 --- /dev/null +++ b/docs/manager/installation-and-setup/How-to-install-HiddifManager-Version-8.fa.md @@ -0,0 +1,58 @@ +--- +title: راهمای نصب نسخه ۸ هیدیفای منیجر +--- + +### راهنمای نصب نسخه ۸ هیدیفای‌منیجر + +برای نصب نسخه ۸ هیدیفای‌منیجر، رعایت نکات زیر ضروری است: + +--- + +#### **پیش‌نیازها** +۱. **سرور خام:** + - سرور باید کاملاً خام باشد و هیچ نسخه دیگری از پنل یا اسکریپت جانبی روی آن نصب نباشد. + +۲. **نسخه لینوکس:** + - سیستم‌عامل سرور باید **Ubuntu 22.04** باشد. + +--- + +#### **مراحل نصب** + +برای نصب نسخه ۸، دستورات زیر را به ترتیب اجرا کنید: + +۱. **نصب pip:** +
+ + ```bash + pip install python-pip + ``` +
+ - **توضیحات:** این دستور برای نصب مدیریت پکیج‌های پایتون (pip) است که برای اجرای دستورات بعدی به آن نیاز داریم. معمولاً این ابزار روی بسیاری از سرورها از پیش نصب نشده است. + +۲. **نصب کتابخانه تلگرام:** +
+ ```bash + pip install pyTelegramBotAPI==4.22.0 + ``` +
+ - **توضیحات:** این دستور برای نصب نسخه مشخصی از کتابخانه **pyTelegramBotAPI** است. نسخه ۸ هیدیفای‌منیجر تنها با این نسخه (۴.۲۲.۰) سازگار است. + +۳. **نصب نسخه ۸ هیدیفای‌منیجر:** +
+ ```bash + bash <(curl i.hiddify.com/v8.99.0) + ``` +
+ - **توضیحات:** این دستور آخرین نسخه از ورژن ۸ هیدیفای‌منیجر را نصب می‌کند. همچنین دیتابیس مربوطه را شناسایی و به‌درستی پیکربندی می‌کند. + +--- + +#### **نکات مهم** +- قبل از اجرای دستورات، مطمئن شوید که سرور هیچ‌گونه تداخلی با نسخه‌های دیگر ندارد. +- برای جلوگیری از بروز خطا، مراحل را به ترتیب و با دقت انجام دهید. + +--- + +با رعایت این راهنما، نسخه ۸ هیدیفای‌منیجر به‌درستی روی سرور شما نصب خواهد شد. + diff --git a/docs/manager/installation-and-setup/How-to-install-HiddifManager-Version-8.md b/docs/manager/installation-and-setup/How-to-install-HiddifManager-Version-8.md new file mode 100644 index 0000000..4cf71b9 --- /dev/null +++ b/docs/manager/installation-and-setup/How-to-install-HiddifManager-Version-8.md @@ -0,0 +1,51 @@ +--- +title: How to install HiddifyManager Version 8 +--- + +### HiddifyManager Version 8 Installation Guide + +To install HiddifyManager Version 8, follow these essential steps: + +--- + +#### **Prerequisites** +1. **Clean Server:** + - The server must be completely clean with no other versions of the panel or additional scripts installed. + +2. **Linux Version:** + - The server’s operating system must be **Ubuntu 22.04**. + +--- + +#### **Installation Steps** + +To install Version 8, execute the following commands in order: + +1. **Install pip:** + ```bash + pip install python-pip + ``` + - **Description:** This command installs Python’s package manager (pip), which is required for the subsequent steps. This tool is not pre-installed on many servers. + +2. **Install Telegram Library:** + ```bash + pip install pyTelegramBotAPI==4.22.0 + ``` + - **Description:** This command installs a specific version of the **pyTelegramBotAPI** library. HiddifyManager Version 8 is only compatible with this version (4.22.0). + +3. **Install HiddifyManager Version 8:** + ```bash + bash <(curl i.hiddify.com/v8.99.0) + ``` + - **Description:** This command installs the latest release of HiddifyManager Version 8. It also properly detects and configures the associated database. + +--- + +#### **Important Notes** +- Ensure that the server has no conflicts with other installed versions before executing the commands. +- Follow the steps carefully and in the correct order to avoid errors. + +--- + +By following this guide, HiddifyManager Version 8 will be correctly installed on your server. + diff --git a/docs/manager/installation-and-setup/How-to-install-different-versions-of-Hiddify-Manager.fa.md b/docs/manager/installation-and-setup/How-to-install-different-versions-of-Hiddify-Manager.fa.md new file mode 100644 index 0000000..87b9d1c --- /dev/null +++ b/docs/manager/installation-and-setup/How-to-install-different-versions-of-Hiddify-Manager.fa.md @@ -0,0 +1,120 @@ +--- +title: نصب نسخه‌های مختلف هیدیفای‌منیجر +weight: -75 +--- + +
+ + +# نصب نسخه‌های مختلف هیدیفای‌منیجر +همانطور که می‌دانید، هیدیفای‌منیجر در سه نسخه ارائه می‌گردد که به شرح زیر است: +* **نسخه در حال توسعه یا دولوپ:** + +این نسخه نسخه‌ای از نرم‌افزار است که در حال توسعه برای ایجاد آخرین قابلیت‌هاست. ممکن است این نسخه دارای باگ باشد بنابراین بهتر است روی سرورهای تستی نصب گردد. +* **نسخه بتا:** + +این نسخه یک ورژن بعد از نسخه در حال توسعه است و در حقیقت نسخه قبل از انتشار نهایی است که در آن بخشی از باگ‌ها رفع شده است و دارای قابلیت‌های جدید می‌باشد. +* **نسخه پایدار یا ریلیز:** + +این نسخه در حقیقت ورژن نهایی از نرم‌افزار است که پس از تست‌های نهایی منتشر شده است و پایدارترین نسخه ممکن است. +برای درک بهتر این شکل را ملاحظه فرمایید. + +
+ +![install versions](https://github.com/hiddify/Hiddify-Manager/assets/125398461/b5c8a60a-88ce-48e5-a0bb-aaec33f2f5d8) + +
+ +## نصب نسخه پایدار (ریلیز) +* قبل از نصب اگر از قبل نسخه دیگری از پنل را نصب کرده‌اید، یک بکاپ از پنل بگیرید. [بیشتر بخوانید ...](/fa/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) +* حالا کافیه دستور تک خطی زیر را در ترمینال اجرا نمایید. + + +
+ +``` +bash <(curl https://i.hiddify.com/release) +``` + +
+ +* پس از نصب، کافیه بکاپ خود را برگردانید. [بیشتر بخوانید ...](/fa/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) + + + + +## نصب نسخه بتا +* قبل از نصب اگر از قبل نسخه دیگری از پنل را نصب کرده‌اید، یک بکاپ از پنل بگیرید. [بیشتر بخوانید ...](/fa/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) +* حالا کافیه دستور تک خطی زیر را در ترمینال اجرا نمایید. + +
+ +``` +bash <(curl https://i.hiddify.com/beta) +``` + +
+ +* پس از نصب، کافیه بکاپ خود را برگردانید. [بیشتر بخوانید ...](/fa/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) + + + +## نصب نسخه در حال توسعه (دولوپ) +* قبل از نصب اگر از قبل نسخه دیگری از پنل را نصب کرده‌اید، یک بکاپ از پنل بگیرید. [بیشتر بخوانید ...](/fa/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) +* حالا کافیه دستور تک خطی زیر را در ترمینال اجرا نمایید. + +
+ +``` +bash <(curl https://i.hiddify.com/dev) +``` + +
+ + +* پس از نصب، کافیه بکاپ خود را برگردانید. [بیشتر بخوانید ...](/fa/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) + +## نصب نسخه دلخواه +این قابلیت وجود دارد که یک نسخه دلخواه را نصب کنید. کافیست طبق دستور زیر عمل کنید. + + +
+ +``` +bash <(curl https://i.hiddify.com/vVERSION) +``` +
+ +که در اینجا به جای VERSION باید نسخه مورد نظر خود را وارد کنید. فرض کنید نسخه `8` را می‌خواهید نصب کنید. کافیست دستور زیر را اجرا نمایید تا آخرین نسخه `8` برای شما نصب شود. + +
+ +``` +bash <(curl https://i.hiddify.com/v8) +``` +
+ +از نسخه 10 می‌توانید دقیقا یک آپدیت خاص را نصب نمایید. به عنوان مثال برای نصب نسخه `10.7.0` کافیست از دستور زیر استفاده نمایید. + +
+ +``` +bash <(curl https://i.hiddify.com/v10.7.0) +``` +
+ +همچنین می‌توان نسخه‌های دلخواه با اجرای دستور زیر به صورت منوی گرافیکی مشاهده نمود و برای نصب انتخاب کرد. + +
+ +``` +bash <(curl https://i.hiddify.com/custom) +``` +
+ +که در نتیجه این منوی گرافیکی ظاهر می‌شود. نسخه مورد نظر خود را انتخاب نمایید تا نصب انجام شود. + +
+ +![نصب نسخه دلخواه](https://github.com/user-attachments/assets/fa9c1a28-ef58-44b4-8a9f-9afbdb04c40c) +
diff --git a/docs/manager/installation-and-setup/How-to-install-different-versions-of-Hiddify-Manager.md b/docs/manager/installation-and-setup/How-to-install-different-versions-of-Hiddify-Manager.md new file mode 100644 index 0000000..b8abf9f --- /dev/null +++ b/docs/manager/installation-and-setup/How-to-install-different-versions-of-Hiddify-Manager.md @@ -0,0 +1,97 @@ +--- +title: How to install different versions of Hiddify Manager +weight: -75 +--- + +
+ +# How to install different versions of HiddifyManager +As you know, Hidify Manager is offered in three versions as follows: + +* **Develop version:** + +This version is a version of the software that is being developed to create the latest features. This version may have bugs, so it is better to install it on test servers. + +* **Beta version:** + +This version is a version after the version under development, and in fact it is the version before the final release, in which part of the bugs have been fixed and it has new features. + +* **Release version:** + +This version is actually the final version of the software that was released after the final tests and is the most stable version possible. See this figure for a better understanding. + +
+ +![install versions](https://github.com/hiddify/Hiddify-Manager/assets/125398461/6528a2c5-f938-48c3-a88f-f829d7e3a481) + +
+ +## Install Release version +* Before installing, if you have already installed another version of the panel, take a backup of the panel. [Read more...](/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) +* Now just run the following one-line command in the terminal. + +``` +bash <(curl https://i.hiddify.com/release) +``` + +* After installation, just restore your backup. [Read more...](/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) + + +## Install Beta version +* Before installing, if you have already installed another version of the panel, take a backup of the panel. [Read more...](/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) +* Now just run the following one-line command in the terminal. + +``` +bash <(curl https://i.hiddify.com/beta) +``` + +* After installation, just restore your backup. [Read more...](/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) + + +## Install Develop version +* Before installing, if you have already installed another version of the panel, take a backup of the panel. [Read more...](/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) +* Now just run the following one-line command in the terminal. + +``` +bash <(curl https://i.hiddify.com/dev) +``` + +* After installation, just restore your backup. [Read more...](/manager/configuration-and-advanced-settings/How-to-backup-and-restore-panel-on-Hiddify/) + +## Install the desired version +It is possible to install a custom version. Just follow the instructions below. + + +``` +bash <(curl https://i.hiddify.com/vVERSION) +``` + +Here, instead of VERSION, you should enter the desired version. Suppose you want to install version `8`. Just execute the following command to install the latest version `8` for you. + +``` +bash <(curl https://i.hiddify.com/v8) +``` + +From version 10, you can install exactly one specific update. For example, to install `10.7.0` version, just use the following command. + +``` +bash <(curl https://i.hiddify.com/v10.7.0) +``` + +
+ +You can also view and select desired versions for installation via a graphical menu by running the following command: + +
+ +``` +bash <(curl https://i.hiddify.com/custom) +``` +
+ +This will result in the appearance of a graphical menu. Select your desired version to proceed with the installation. + +
+ +![Install Desired Version](https://github.com/user-attachments/assets/fa9c1a28-ef58-44b4-8a9f-9afbdb04c40c) +
diff --git a/docs/manager/installation-and-setup/Install-Hiddify-using-Docker.fa.md b/docs/manager/installation-and-setup/Install-Hiddify-using-Docker.fa.md new file mode 100644 index 0000000..acfd646 --- /dev/null +++ b/docs/manager/installation-and-setup/Install-Hiddify-using-Docker.fa.md @@ -0,0 +1,51 @@ +--- +title: نصب هیدیفای‌منیجر روی داکر +weight: -40 +--- + + +# نصب هیدیفای‌منیجر روی داکر + +یک روش جایگزین نصب مستقیم روی سرور، استفاده از نسخه داکر می‌باشد. + +در این نسخه همه کارا به صورت خودکار انجام می‌شود. حتی نیاز به نصب داکر نیست چون اسکریپت خودش آن را نصب می‌کند. + +برای این کار کافیست کد زیر را اجرا کنید. + + + +- **نسخه پایدار:** +
+``` +bash <(curl https://i.hiddify.com/docker/latest) +``` +
+ + +- **نسخه بتا:** +
+``` +bash <(curl https://i.hiddify.com/docker/beta) +``` +
+ + +- **نسخه دوولوپ:** +
+``` +bash <(curl https://i.hiddify.com/docker/dev) +``` +
+- **نسخه خاص:** + +
+``` +bash <(curl https://i.hiddify.com/docker/v10.80.0) +``` +
+ +توجه کنید داکر هنوز آزمایشی هست و ممکن است اشکالاتی داشته باشد که لطفا در کامنت‌ها به ما اطلاع دهید. + + +در آخر باید دامنه را تنظیم کنیم. بر روی [این لینک](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) کلیک کنید تا نصب را نهایی کنید . + diff --git a/docs/manager/installation-and-setup/Install-Hiddify-using-Docker.md b/docs/manager/installation-and-setup/Install-Hiddify-using-Docker.md new file mode 100644 index 0000000..59eaddc --- /dev/null +++ b/docs/manager/installation-and-setup/Install-Hiddify-using-Docker.md @@ -0,0 +1,36 @@ +--- +title: Installing HiddifyManager using Docker +weight: -40 +--- + + +# Installing HiddifyManager using Docker +An alternative to direct installation on the server is using the Docker version. + +In this version, everything is done automatically. There's no need to install Docker manually, as the script will handle that for you. + +To proceed, simply run the following commands: + +- **Stable version:** +``` +bash <(curl https://i.hiddify.com/docker/latest) +``` + +- **Beta version:** +``` +bash <(curl https://i.hiddify.com/docker/beta) +``` + +- **Development version:** +``` +bash <(curl https://i.hiddify.com/docker/dev) +``` + +- **Specific version:** +``` +bash <(curl https://i.hiddify.com/docker/v10.80.0) +``` + +Please note that Docker support is still experimental and may have some issues. If you encounter any, kindly let us know in the comments. + +Finally, you need to configure the domain. Click on [this link](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) to finalize the installation. diff --git a/docs/manager/installation-and-setup/Installation-prerequisites.fa.md b/docs/manager/installation-and-setup/Installation-prerequisites.fa.md new file mode 100644 index 0000000..105bc37 --- /dev/null +++ b/docs/manager/installation-and-setup/Installation-prerequisites.fa.md @@ -0,0 +1,52 @@ +--- +title: پیش نیازهای نصب +weight: -82 +--- + + + +
+ +# پیش نیازهای نصب + +قبل از نصب شما نیاز به یک سری پیش نیازها دارید: + +- ابتدا به یک سرور مجازی یا VPS نیاز دارید. به چند روش می توانید سرور را تهیه نمایید. + - می توانید با استفاده از کارت اعتباری خارجی یا [سایت های پرداخت واسط](https://www.google.com/search?q=%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA+%D9%81%D8%A7%DA%A9%D8%AA%D9%88%D8%B1+%D8%AE%D8%A7%D8%B1%D8%AC%DB%8C) به صورت مستقیم از دیتاسنترهای معروف دنیا سرور مجازی خود را تهیه نمایید. +در این صورت احتمالا هزینه کمتری می کنید. می توانید در گوگل سرچ کنید و [سرورهای ارزان](https://www.google.com/search?q=buy+cheap+and+good+quality+vps+server) را پیدا کنید. در [اینجا](https://github.com/hiddify/awesome-freedom/blob/main/vps-providers.md) نیز ما لیستی از سرورها را جمع آوری کرده ایم به آن سر بزنید. + - همچنین می توانید با استفاده از رمز ارز سرور خود را تهیه کنید. برای این کار کافیست در [گوگل](https://www.google.com/search?q=purchase+vps+via+crypto) سرچ کنید. سایتهای زیادی هستند که از رمزارز پشتیبانی می کنند. [لیست](https://github.com/hiddify/awesome-freedom/blob/main/vps-providers.md) ما را هم ببنید. بعضی از این دیتاسنترها از رمزارز پشتیبانی می کنند که در لیست مشخص شده اند. +- یا در نهایت می توانید از [سایت های ایرانی](https://www.google.com/search?q=%D8%AE%D8%B1%DB%8C%D8%AF+%D8%B3%D8%B1%D9%88%D8%B1+%D9%85%D8%AC%D8%A7%D8%B2%DB%8C) سرور بخرید. + +
+ +
+ +- حداقل منابع مورد نیاز برای سرور: + - ۱ گیگابایت رم + - ۱ هسته CPU + - ۱۰ گیگابایت هارد +- سیستم عامل این سرور مجازی باید ابونتو ۲۲.۰۴ باشد. +ابونتو یک توزیع از سیستم عامل لینوکس است که لوگوی آن بدین شکل است. ![](https://img.shields.io/badge/Ubuntu--E95420?style=flat-square&logo=ubuntu) + +جهت آشنایی بیشتر درباره روش خرید سرور از ایران این ویدئو را در کامل یوتوب ما تماشا کنید. + +
+ + +
+ + + + + +
+ + +
+ +- سپس اگر نیاز به اتصال به سرور خود از طریق SSH داشتید؛ [این لینک](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) را مطالعه کنید. + +- برای افزایش امنیت سرور خود هنگام SSH این دو مقاله را مطالعه نمایید: + - [آموزش گام به گام برای غیرفعال کردن رمز عبور SSH](/fa/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication/) + - [نحوه تغییر پورت SSH روی سرور](/fa/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server/) +
diff --git a/docs/manager/installation-and-setup/Installation-prerequisites.md b/docs/manager/installation-and-setup/Installation-prerequisites.md new file mode 100644 index 0000000..8106196 --- /dev/null +++ b/docs/manager/installation-and-setup/Installation-prerequisites.md @@ -0,0 +1,30 @@ +--- +title: Installation prerequisites +weight: -82 +--- + +
+ + + +# Installation prerequisites + +Before installation, you need a series of prerequisites: + +- First, you need a virtual server. You can prepare the server in several ways. + + - You can get your virtual server directly from famous data centers in the world using credit card or other payment methods. You can search on Google and find [inexpensive servers](https://www.google.com/search?q=buy+cheap+and+good+quality+vps+server). You can also visit [this list](https://github.com/hiddify/awesome-freedom/blob/main/vps-providers.md) in which we have collected servers with various specifications. + + - You can also provide your own server using crypto currency. For this, just search on [Google](https://www.google.com/search?q=purchase+vps+using+crypto). There are many providers that support cryptocurrency. See our [list](https://github.com/hiddify/awesome-freedom/blob/main/vps-providers.md). Some of these data centers support cryptocurrencies that are specified in the list. + +- Minimum resource requirements: + - 1 GB Ram + - 1 Core CPU + - 10 GB Storage +- The operating system of this virtual server must be Ubuntu 22.04. Ubuntu is a distribution of Linux operating system whose logo is like this. ![Ubuntu Logo](https://img.shields.io/badge/Ubuntu--E95420?style=flat-square&logo=ubuntu) + +- Then if you need to connect to your server via SSH please visit [this link](/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) for more information. + +- To increase the security of your server when SSH, read these two articles: + - [Disable SSH Password Authentication](/manager/basic-concepts-and-troubleshooting/Disable-SSH-Password-Authentication/) + - [How to change SSH port on your server](/manager/basic-concepts-and-troubleshooting/How-to-change-SSH-port-on-your-server/) diff --git a/docs/manager/installation-and-setup/Quick-Installation-on-Microsoft-Azure.fa.md b/docs/manager/installation-and-setup/Quick-Installation-on-Microsoft-Azure.fa.md new file mode 100644 index 0000000..6ee89a5 --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-Installation-on-Microsoft-Azure.fa.md @@ -0,0 +1,63 @@ +--- +title: نصب سریع و آسان در Microsoft Azure +weight: -50 +--- + + +
+در این مقاله به شما آموزش میدهیم چگونه یک فیلترشکن اختصاصی ایجاد کنید. + + +## ایده کلی +شرکت هایی مثل مایکروسافت و دیجیتال اوشن برای دانشجوها حدود 100 دلار کردیت یکساله رایگان (قابل تمدید) ارائه میکنند + +ما از این کردیت رایگان استفاده میکنیم تا دو پروکسی برای خانواده خود ایجاد کنیم + +- یک پروکسی برای تلگرام +- یک پروکسی برای عبور از فیلتر سایر اپلیکیشن ها و برنامه ها + +## مراحل +### مرحله 1: ایجاد یک اکانت دانشجویی در مایکروسافت Azure + + +ابتدا وارد سایت [Microsoft Azure](https://azure.microsoft.com/en-us/free/students/) شوید +و مراحل زیر را مطابق گیف زیر انجام دهید: + +![](http://hiddify.github.io/assets/create_student_account.gif) + +برای مشاهده میزان اعتبار باقیمانده در حساب کاربری خود از لینک زیر اقدام کنید +[مشاهده اعتبار دانشجویی در azure](https://www.microsoftazuresponsorships.com/Balance) + +### مرحله 2: ساخت یک ماشین مجازی در Azure برای تلگرام + + +بر روی این آیکون + +کنید +و مطابق گیف زیر مراحل را ادامه دهید. + + +![](https://github.com/hiddify/hiddify.github.io/raw/main/assets/azure-auto-deploy.gif) +
و لینک پروکسی تلگرام را از قسمت `output` کپی کنید. فراموش نکنید که این لینک پاک می شود پس آن را در جای امنی ذخیره کنید +
+ + + + + + + +### مرحله 3: ساخت یک ماشین مجازی در Azure برای پروکسی سایت ها و اپلیکیشن ها + + +بر روی این آیکون + +کنید +و مطابق گیف قبل مراحل را ادامه دهید. + +
و لینک پروکسی را از قسمت `output` کپی کنید. فراموش نکنید که این لینک پاک می شود پس آن را در جای امنی ذخیره کنید +
+سپس لینک را باز کرده تا آموزش استفاده از پروکسی نمایش داده شود. + + +
\ No newline at end of file diff --git a/docs/manager/installation-and-setup/Quick-Installation-on-Microsoft-Azure.md b/docs/manager/installation-and-setup/Quick-Installation-on-Microsoft-Azure.md new file mode 100644 index 0000000..54c0a64 --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-Installation-on-Microsoft-Azure.md @@ -0,0 +1,39 @@ +--- +title: Quick and easy installation on Microsoft Azure +weight: -50 +--- + +# Quick Installation on Microsoft Azure + In this article, we will teach you how to create a dedicated VPN server on Azure via HiddifyManager. + + +## General idea +Companies such as Microsoft and Digital Ocean offer free one-year credit (renewable) of about $100 for students. We use this free credit to create a VPN server for our family and friends. +- A Telegram proxy +- A VPN server + +## Installation Steps + +### Step 1: Create a student account on Microsoft Azure +First, log in to the [Microsoft Azure](https://azure.microsoft.com/en-us/free/students/) website and follow the steps according to the gif below: + +![](http://hiddify.github.io/assets/create_student_account.gif) + +To view the amount of credit remaining in your user account, use [this link](https://www.microsoftazuresponsorships.com/Balance). + +### Step 2: Creating a virtual machine in Azure for Telegram +Click on this icon and continue the steps according to the gif below. + +![](https://github.com/hiddify/hiddify.github.io/raw/main/assets/azure-auto-deploy.gif) + +
+And copy the link for Telegram proxy from the `output` section. Don't forget that this link will be deleted, so save it in a safe place. + +### Step 3: Create a virtual machine in Azure to proxy sites and applications +Click on this icon and continue the steps according to the previous gif. + And copy the proxy link from `output` section. Don't forget that this link will be deleted, so save it in a safe place +Then open the link to display the tutorial on how to use the proxy. + +You can finalize the installation using [this link](/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) + +For making the best use of this panel please view this [article](/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/). diff --git a/docs/manager/installation-and-setup/Quick-Installation-on-OVH-Servers.fa.md b/docs/manager/installation-and-setup/Quick-Installation-on-OVH-Servers.fa.md new file mode 100644 index 0000000..a62675d --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-Installation-on-OVH-Servers.fa.md @@ -0,0 +1,29 @@ +--- +title: نصب سریع و آسان در OVH +weight: -55 +--- + +
+ +# نصب سریع و آسان در OVH +فیلم زیر را مشاهده کنید + +[![OVH](https://img.youtube.com/vi/06fMizOb-DE/maxresdefault.jpg)](https://www.youtube.com/watch?v=06fMizOb-DE) + + + +حالا کد زیر را کپی کنید. + +
+ + +{% include 'cloud-init.yml' %} + + +
+ +یادتون نره حداقل 10 دقیقه صبر کنیدا + +حالا باید دامنه را تنظیم کنیم. بر روی [این لینک](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) کلیک کنید تا نصب را نهایی کنید. + +
diff --git a/docs/manager/installation-and-setup/Quick-Installation-on-OVH-Servers.md b/docs/manager/installation-and-setup/Quick-Installation-on-OVH-Servers.md new file mode 100644 index 0000000..39bd968 --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-Installation-on-OVH-Servers.md @@ -0,0 +1,26 @@ +--- +title: Quick and easy installation on OVH Servers +weight: -55 +--- + +
+ + +# Quick Installation on OVH Servers + +In the video below, all the steps are described. This video is in Farsi and if you watch the steps you can handle it. We are considering making some English videos for non-Persian people. Till then you can visit this video or follow the instructions in this article. + +[![OVH](https://img.youtube.com/vi/06fMizOb-DE/maxresdefault.jpg)](https://www.youtube.com/watch?v=06fMizOb-DE) + +# Installation steps +1. copy the following code: + + +{% include 'cloud-init.yml' %} + + +Do not forget to wait at least 10 minutes. + +2. Now we need to setup the domain and finalize the installation. [(visit this article)](/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) + +For making the best use of this panel please view this [article](/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/). diff --git a/docs/manager/installation-and-setup/Quick-Installation-on-Oracle-Cloud.fa.md b/docs/manager/installation-and-setup/Quick-Installation-on-Oracle-Cloud.fa.md new file mode 100644 index 0000000..71db885 --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-Installation-on-Oracle-Cloud.fa.md @@ -0,0 +1,36 @@ +--- +title: نصب سریع و آسان در Oracle Cloud +weight: -60 +--- + + +
+ + +اگر اکانت اوراکل ندارید فیلم زیر از صفر تا صد راه اندازی فیلترشکن در اوراکل را توضیح داده است. + +توجه کنید اگر ایران هستید نمیتوانید سرور اوراکل بگیرید و با فیلترشکن هم نمیتونید ولی اگه خارج هستید میتونید +همینطور نیاز به وارد کردن اطلاعات واقعی و کردیت کارت لازم دارید + +[![oracle](https://img.youtube.com/vi/s1QZD1Ujdds/maxresdefault.jpg)](https://www.youtube.com/watch?v=s1QZD1Ujdds) + + + + + +دکمه زیر فشار دهید: + +[![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/hiddify/hiddify-config/archive/refs/heads/main.zip) + +همه مراحل را next بزنید + +و در پایان لینک را از زیر کپی کنید. توجه کنید باید حداقل 15 دقیقه صبر کنید تا لینک فعال شود. + +![image](https://user-images.githubusercontent.com/114227601/206861477-7967ac8d-ea9f-4742-b414-e848898668c7.png) + + + +یادتون نره حداقل 10 دقیقه صبر کنیدا + +حالا باید دامنه را تنظیم کنیم. بر روی [این لینک](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) کلیک کنید تا نصب را نهایی کنید . +
diff --git a/docs/manager/installation-and-setup/Quick-Installation-on-Oracle-Cloud.md b/docs/manager/installation-and-setup/Quick-Installation-on-Oracle-Cloud.md new file mode 100644 index 0000000..7eac9cd --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-Installation-on-Oracle-Cloud.md @@ -0,0 +1,30 @@ +--- +title: Quick and easy installation on Oracle Cloud +weight: -60 +--- + +
+ +# Quick Installation on Oracle Cloud +If you do not have an Oracle account, the following video explains how to setup from zero to hero Hiddify on Oracle. If you are abroad, you can also need to enter real information and a credit card. This video is in Farsi and if you watch the steps you can handle that. Although We are considering making some English videos for non-Persian people, till then you can visit this or follow the instructions in this article. + +[![oracle](https://img.youtube.com/vi/s1QZD1Ujdds/maxresdefault.jpg)](https://www.youtube.com/watch?v=s1QZD1Ujdds) + +- Press the button below: + +[![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/hiddify/hiddify-config/archive/refs/heads/main.zip) + +* Click next on all steps + +* And at the end, copy the link from below. Note that you have to wait at least 15 minutes for the link to be activated. + +![image](https://user-images.githubusercontent.com/114227601/206861477-7967ac8d-ea9f-4742-b414-e848898668c7.png) + +* Do not forget to wait at least 10 minutes. + +* Now we need to setup the domain and finalize the installation. [(visit this article)](/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) + +* For making the best use of this panel please view this [article](/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/). + + +
diff --git a/docs/manager/installation-and-setup/Quick-installation-on-Hetzner-Servers.fa.md b/docs/manager/installation-and-setup/Quick-installation-on-Hetzner-Servers.fa.md new file mode 100644 index 0000000..80832ff --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-installation-on-Hetzner-Servers.fa.md @@ -0,0 +1,75 @@ +--- +title: نصب سریع و آسان در Hetzner +weight: -70 +--- + + +
+ + + +# نصب خیلی سریع در Hetzner + +
+ + + +
+مراحل نصب: + +- ابتدا وارد اکانت خود شوید و یک سرور جدید درست کنید. +
+ +
+ +![image](https://user-images.githubusercontent.com/114227601/206861285-58832cec-a2a3-441e-91d4-8300d16584d6.png) +
+
+ +- حالا کد زیر را کپی کنید + +
+ + +{% include 'cloud-init.yml' %} + +
+ +- کد بالا را در محل نشان داده در عکس قرار دهید. + +
+ +
+ +![image](https://user-images.githubusercontent.com/114227601/206861304-656682b4-17a3-44c1-89f9-7b0d89566728.png) +
+ +
+ +* پس از حداکثر 10 تا 15 دقیقه سرور شما آماده و پروکسی فعال خواهد بود. مطابق عکس آی پی خود را کپی کنید و در مرورگر باز کنید. + +
+ +
+ +![image](https://user-images.githubusercontent.com/114227601/206861323-1de41700-6ce4-403a-a644-0836e2a22876.png) +
+ +
+ +یادتون نره حداقل 10 دقیقه صبر کنید + +* حالا باید دامنه را تنظیم کنیم. بر روی [این لینک](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) کلیک کنید تا نصب را نهایی کنید. + +برای اینکه حداکثر استفاده را از مزایای این پنل ببرید؛ این [راهنما](/fa/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/) را مطالعه کنید. + +
diff --git a/docs/manager/installation-and-setup/Quick-installation-on-Hetzner-Servers.md b/docs/manager/installation-and-setup/Quick-installation-on-Hetzner-Servers.md new file mode 100644 index 0000000..8dfde95 --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-installation-on-Hetzner-Servers.md @@ -0,0 +1,46 @@ +--- +title: Quick and easy installation on Hetzner Servers +weight: -70 +--- + + +
+ + +# Quick installation on Hetzner Servers + + + +## Installation Steps +- First of all, login to your Hetzner account and click on `ADD SERVER` button. + +
+ +![206861285-58832cec-a2a3-441e-91d4-8300d16584d6](https://user-images.githubusercontent.com/125398461/228821324-f873517a-a977-4370-8d35-fb56116f579f.png) +
+ +- Now copy the following code + +{% include 'cloud-init.yml' %} + +- Put the above code in the place shown in the picture and click on `CREATE & BUY NOW` button. +
+ +![206861304-656682b4-17a3-44c1-89f9-7b0d89566728](https://user-images.githubusercontent.com/125398461/228821370-f99f7091-e65c-45b5-a2da-df33c9103d06.png) +
+- After a maximum of 10 to 15 minutes, your server will be ready and the proxy will be active. Copy your IP according to the picture and open it in the browser. + +
+ +![206861323-1de41700-6ce4-403a-a644-0836e2a22876](https://user-images.githubusercontent.com/125398461/228821397-4c762ea9-9215-4f6b-960f-b14d862c1e0c.png) +
+ +Do not forget to wait at least 10 minutes + +- Now we need to set the domain. Click on [this link](/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) to complete the installation. + +For making the best use of this panel please view this [article](/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/). diff --git a/docs/manager/installation-and-setup/Quick-installation-on-Vultr-Servers.fa.md b/docs/manager/installation-and-setup/Quick-installation-on-Vultr-Servers.fa.md new file mode 100644 index 0000000..7644436 --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-installation-on-Vultr-Servers.fa.md @@ -0,0 +1,30 @@ +--- +title: نصب سریع و آسان در Vultr +weight: -65 +--- + +
+ +## ویدئوی آموزش کامل نصب + +در ویدئوی زیر تمامی مراحل شامل نصب پروکسی و تنظیم دامنه و زیردامنه با جزییات کامل شرح داده شده است. + حتما با فیلترشکن به سایت ولتر مراجعه کنید در غیر این صورت اکانت شما بسته می‌شود. + +[![vultr](https://img.youtube.com/vi/hRRg10BURJI/maxresdefault.jpg)](https://www.youtube.com/watch?v=hRRg10BURJI) + +## مراحل نصب پروکسی + +۱. در مرحله انتخاب سیستم عامل، حتما گزینه Ubuntu 22.04 را انتخاب کنید. + +۲. کد زیر را کپی کنید. + +{% include 'cloud-init.yml' %} + +۳. در قسمت سرور تیک گزینه Enable Cloud-Init User-Data را بزنید و کد کپی شده را در آن قرار دهید. پس از حداکثر ۱۰ تا ۱۵ دقیقه پروکسی شما فعال خواهد بود. + +![Group 1](https://user-images.githubusercontent.com/79760104/221190008-239cd200-4184-4c05-82ea-ff00a47e920e.jpg) + + +۴. حالا باید دامنه را تنظیم کنید. بر روی [این لینک](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) کلیک کنید تا نصب را نهایی کنید. +
+ diff --git a/docs/manager/installation-and-setup/Quick-installation-on-Vultr-Servers.md b/docs/manager/installation-and-setup/Quick-installation-on-Vultr-Servers.md new file mode 100644 index 0000000..4232cf8 --- /dev/null +++ b/docs/manager/installation-and-setup/Quick-installation-on-Vultr-Servers.md @@ -0,0 +1,33 @@ +--- +title: Quick and easy installation on Vultr Servers +weight: -65 +--- + +
+ +# Quick installation on Vultr Servers + + +Complete installation training video + +In the video below, all the steps, including proxy installation and domain and subdomain settings, are described in full detail. This video is in Farsi and if you watch the steps you can get by that. We are considering making some English videos for non-Persian people. Till then you can visit this or follow the instructions in this article. + +For using Vultr site and services please use VPN Connection if you live in countries with sanctions enforced, otherwise your account will be closed. + +[![vultr](https://img.youtube.com/vi/hRRg10BURJI/maxresdefault.jpg)](https://www.youtube.com/watch?v=hRRg10BURJI) + + +# Proxy installation steps + +1. At the operating system selection stage, be sure to select Ubuntu 22.04. + +2. Copy the code below. + +{% include 'cloud-init.yml' %} + + +3. In the server section, check the Enable Cloud-Init User-Data option and put the copied code in it. After a maximum of 10 to 15 minutes, your proxy will be active. + +![Group 1](https://user-images.githubusercontent.com/79760104/221190008-239cd200-4184-4c05-82ea-ff00a47e920e.jpg) + +4. Now you need to set the domain. Click on [this link](/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) to complete the installation. diff --git a/docs/manager/installation-and-setup/guide.fa.md b/docs/manager/installation-and-setup/guide.fa.md new file mode 100644 index 0000000..ae1dce7 --- /dev/null +++ b/docs/manager/installation-and-setup/guide.fa.md @@ -0,0 +1,51 @@ +--- +title: راهنمای نصب اصلی +weight: -90 +--- + + +
+ + +# نصب سریع در اوبونتو + +## قبل از نصب +* اگر اطلاعات مهم یا سرویس مهمی دارید توجه داشته باشید که با نصب این کانفیگ ممکن است با سرویس های دیگر شما تداخل ایجاد شود. لذا خواهشمند است هیچ سرویس خاصی بر روی سرور شما نصب نباشد. + +* این کد صرفا بر روی اوبونتو قابل اجرا هست و صرفا بر روی ورژن 22.04 تست شده است. + +* قبل از نصب شما نیاز به یک سری پیش نیازها دارید که در [این مقاله](/fa/manager/installation-and-setup/Installation-prerequisites/) می‌توانید مطالعه نمایید. + +## فیلم آموزش راهنمای نصب + +
+ +[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/_LYFqrXVupI/0.jpg)](https://www.youtube.com/watch?v=_LYFqrXVupI) + +
+ +## مراحل نصب در اوبونتو + +دستور زیر را در ترمینال کپی کنید و اجرا کنید + +
+ +``` +bash <(curl https://i.hiddify.com/release) +``` + +
+تبریک نصب تمام شد. + +!!! note "نکته" + برای نصب روی داکر [این مقاله](https://hiddify.com/fa/manager/installation-and-setup/Install-Hiddify-using-Docker/) را مطالعه نمایید. + +## بعد از نصب +در پایان لینکی ایجاد می‌شود که لینک تنظیم پروکسی شما است. حالا باید دامنه را تنظیم کنیم. بر روی [این لینک](/fa/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) کلیک کنید تا نصب را نهایی کنید. + + + +> برای استفاده حداکثری از این پنل لطفا [این مقاله](/fa/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/) را مطالعه فرمایید. + + + diff --git a/docs/manager/installation-and-setup/guide.md b/docs/manager/installation-and-setup/guide.md new file mode 100644 index 0000000..9639669 --- /dev/null +++ b/docs/manager/installation-and-setup/guide.md @@ -0,0 +1,48 @@ +--- +title: Main installation guide +weight: -90 +--- + + +
+ +# Quick installation on Ubuntu + +## Before installation + +- If you have important information or an important service, note that installing this configuration may interfere with your other services. Therefore, please do not install any special service on your server. +- It is strongly recommended that **Hiddify only be deployed on a single-use host**. Hiddify's deployment model assumes that the host is dedicated solely to running Hiddify and is not shared with other applications or users. Hiddify is not secure in a multi-user environment and that the server should be treated as a dedicated proxy host. We are working in making it proper for multi-user environment and also provide a docker image. + +- This code is only applicable on Ubuntu and has been tested only on version 22.04. + + +- If not, you need a series of prerequisites which you can read them [here](/manager/installation-and-setup/Installation-prerequisites/). + + + +## Installation video + + + +
+ + +
+ +## Installation steps on Ubuntu +1. Connect to your server through ssh and copy and run the following command in the terminal + +``` +bash <(curl https://i.hiddify.com/release) +``` + +Congratulations, the installation is complete. + +!!! note "Note" + To install using Docker, please refer to [this article](https://hiddify.com/fa/manager/installation-and-setup/Install-Hiddify-using-Docker/). + +2. After installation +At the end, a link will be generated which is the link to setup your proxy. Now we need to set the domain. Click on [this link](/manager/installation-and-setup/Guide-for-setting-up-the-domain-and-finalizing-the-installation/) to complete the installation. + + +> For making the best use of this panel please view this [article](/manager/configuration-and-advanced-settings/How-to-configure-Hiddify-panel-properly/). diff --git a/docs/manager/installation-and-setup/index.fa.md b/docs/manager/installation-and-setup/index.fa.md new file mode 100644 index 0000000..3455c6e --- /dev/null +++ b/docs/manager/installation-and-setup/index.fa.md @@ -0,0 +1,6 @@ +--- +description: مطالب مرتبط با نصب و راه‌اندازی +title: نصب و راه‌اندازی +comments: false +weight: -100 +--- diff --git a/docs/manager/installation-and-setup/index.md b/docs/manager/installation-and-setup/index.md new file mode 100644 index 0000000..c09782e --- /dev/null +++ b/docs/manager/installation-and-setup/index.md @@ -0,0 +1,4 @@ +--- +title: Installation and setup +weight: -100 +--- diff --git a/docs/manager/old-index.fa.md b/docs/manager/old-index.fa.md new file mode 100644 index 0000000..09f2893 --- /dev/null +++ b/docs/manager/old-index.fa.md @@ -0,0 +1,789 @@ +--- +description: به ویکی هیدیفای خوش آمدید +title: راهنمای منیجر +comments: false +weight: -2 +--- + +# راهنمای هیدیفای‌منیجر + +در این صفحه مطالب و ویدئوهای آموزشی مرتبط با هیدیفای‌منیجر به صورت دسته‌بندی شده قرار داده می‌شود. علاوه بر اینکه می‌توانید روی لینک‌های هر مطلب کلیک کنید تا به توضیحات کامل مربوط به هر بخش برسید، برای برخی از این موارد در [کانال یوتیوب](https://www.youtube.com/@hiddify/videos) ما ویدئو وجود دارد که با کلیک روی تصاویر زیر می‌توانید آن‌ها را ملاحظه کنید. + +## آموزش نصب هیدیفای‌منیجر + + + +## پیکربندی و تنظیمات پیشرفته + + + +
+
+ +## دامنه، ورکر، CDN و تانل + +
+
+ image + + + +
+ + + +
+ +
+
+ +## مفاهیم پایه و عیب‌یابی + + + + +## نرم‌افزارهای کلاینت در اندروید + + + + +## نرم‌افزارهای کلاینت در iOS + + + +## نرم‌افزارهای کلاینت در دسکتاپ + + + +## مشارکت در توسعه + + + + + +
+
+ + diff --git a/docs/privacy-policy.fa.md b/docs/privacy-policy.fa.md new file mode 100644 index 0000000..ff81b44 --- /dev/null +++ b/docs/privacy-policy.fa.md @@ -0,0 +1,94 @@ +--- +title: حریم شخصی +weight: 3 +--- + + + +#### خلاصه: + +ما هیچ اطلاعاتی از شما جمع آوری نمی‌کنیم. این برنامه نیاز به سرور خصوصی از جانب شما دارد و ما هیچ سروری فراهم نمی‌کنیم. + +اطلاعات خطا از طریق Sentry (برای اپ Hiddify) یا Crashlytics (برای HiddifyNG) و Google Firebase منتقل می‌شود بدون هیچ اطلاعات حساس. + +#### ۱. جمع‌آوری داده‌ها + +#### ۱.۱. ما اطلاعات حساسی جمع آوری نمی‌کنیم + +ما اطلاعات زیر را جمع نمی‌کنیم و حتی دسترسی به آن نداریم: + +- نام (شامل نام‌های اشتراک‌گذاری، نام‌های کاربری و نام‌های صفحه) +- آدرس‌ها (آدرس‌های اقامتی و تجاری) +- شماره‌های تلفن +- جزئیات پرداخت (شماره کارت اعتباری، اطلاعات حساب بانکی، سوابق صورتحساب) + ما اطلاعات حساس را ذخیره نمی‌کنیم و سیستم‌های مهندسی‌شده از این کار اجتناب می‌کنند. + +هیچ گونه لاگی از فعالیت‌های آنلاین مانند: + +- تاریخچه مرور +- مقصد ترافیک +- محتوای داده +- کوئری‌های DNS + +جمع‌آوری نمی‌شود. + +#### ۱.۲. جمع‌آوری داده‌ها + +این برنامه نیاز به سرور خصوصی از جانب شما دارد و ما هیچ سروری فراهم نمی‌کنیم. بنابراین ما هیچ اطلاعاتی از شما جمع نمی‌کنیم. +اطلاعات خطا از طریق Crashlytics و Google Firebase منتقل می‌شود بدون هیچ اطلاعات حساس. + +**چه اطلاعاتی می‌تواند به سرور خصوصی شما که توسط شما یا دیگران راه‌اندازی شده است، ارسال شود؟** +برای اضافه کردن پیوند سرور به مشتری‌تان، نیاز به پیوند اشتراک دارید. با پیوند اشتراک، سرور شما می‌تواند دسترسی داشته باشد به: + +- آدرس IP شما +- نسخه Hiddify شما + +برای تجربه بهتر، داده‌های ناشناس محدود می‌تواند در سرور شما یا دیگران جمع آوری شود، بعد از اجازه صریح شما. + +این شامل موارد زیر است: + +- آدرس IP مشتری +- نسخه سیستم‌عامل +- نسخه برنامه +- وضعیت اتصال (پینگ TCP) + +#### ۱.۳. مجوزهای برنامه + +برنامه هیچ مجوزی را برای دسترسی به مخاطبین تلفن، موقعیت، شناسه دستگاه، ذخیره‌سازی، میکروفون، دوربین و غیره نیاز ندارد. + +#### ۲. استفاده از داده‌ها + +داده برای: + +- ما هیچ داده‌ای را جمع آوری نمی‌کنیم، بنابراین از آن استفاده نمی‌کنیم :D +- اطلاعات خطا از طریق Crashlytics و Google Firebase بدون هیچ داده‌های حساس منتقل می‌شود. + +#### ۳. به اشتراک گذاشتن و انتقال داده + +هیچ گونه داده‌ای را با هیچ طرف سومی به اشتراک نمی‌گذاریم. + +#### ۴. اقدامات امنیتی + +اقدامات امنیتی قوی برای حفاظت از داده‌ها اجرا شده‌اند. دسترسی کارکنان محدود شده است. + +#### ۵. نگهداری داده‌ها + +ما هیچ داده‌ای را جمع آوری نمی‌کنیم، بنابراین این مورد مربوط به ما نیست. + +#### ۶. حق فراموشی + +ما هیچ + + داده‌ای را جمع آوری نمی‌کنیم، بنابراین این مورد مربوط به ما نیست. + +#### ۷. خدمات طرف سوم + +Hiddify برای استفاده با سرور خودتان طراحی شده است. با این حال، در صورت استفاده از خدمات vpn طرف سوم در برنامه ما، باید سیاست‌های آن‌ها را بررسی کنید. + +#### ۸. تبلیغات + +هیچ تبلیغی نداریم. + +#### ۹. حریم خصوصی کودکان + +والدین تشویق می‌شوند که کودکان را درباره حریم خصوصی آنلاین آموزش دهند. diff --git a/docs/privacy-policy.md b/docs/privacy-policy.md new file mode 100644 index 0000000..d7040e8 --- /dev/null +++ b/docs/privacy-policy.md @@ -0,0 +1,100 @@ +--- +title: Privacy Policy +weight: 3 +--- + +# Privacy Policy + +## Summary: +Services provided by Hiddify are intended for use as is. + +We do not gather any information from you. This app need a private server from you and we do not provide any server. + +Crash Data is transmitted via Sentry In Hiddify Application without any sensitive data. + +# 1. Data Collection + +# VPN DATA +- We DO NOT collect or store any VPN data. +- We DO NOT modify the contents of your VPN data. +- We DO NOT share any sensitive or user-specific data with third parties. + +This app is just a client app for users to connect their own servers. It means this app won’t modify any VPN data and users have complete control and liability over their VPN data. + +## 1.1 We do not Collect Sensitive Information + +We do not gather and even has access to the following information: + +- Names (including subscriber names, usernames, and screen names) +- Addresses (residential and business) +- Telephone numbers +- Payment details (credit card numbers, bank account info, billing records) + We don’t store sensitive data. + +No logs are collected on online activities such as: + +- Browsing history +- Traffic destination +- Data content +- DNS queries + +## 1.2 Data Collection + +This app need a private server from your side and we do not provide any server. So We do not able to have any information from you to gather. +Crash Data is transmitted via Sentry In Hiddify Client Application without any sensitive data. + +**What information can be sent to your private server that is setup by you or any others?** +To add a the server link in your client, you need a subscription link. With the subscription link your server can access: + +- Your IP Address (Similar to all http requests, so be careful to not trust any unknown server) +- Your Hiddify version + +For your best experience, limited anonymous data can be collected in your server or any others, after your explicit permission. +It can includes the following: +- IP Address information of the Client +- Operation System Version +- App Version +- Connection Status (TCP ping) + +## 1.3 App Permissions + +The app does not need any permissions to access your phone’s contacts, location, device id, storage, microphone, camera, etc. +During the QR code scan it may needs your camera permission by explicitly asking this permission. + +# 2. Data Usage + +Data is used for: + +- We do no collect any data, so we do not use it :D +- Crash Data is transmitted via Sentry without any sensitive data. + +# 3. Data Sharing and Transfer + +We do not share any data with the any third parties. The Crash data is transmitted via Sentry without any sensitive data. + +# 4. Security Measures + +Strong security measures implemented to protect data. Staff access limited. + +# 5. Data Retention + +We do no collect any data, so it is not related to us. + +# 6. Right to Be Forgotten + +We do no collect any data, so it is not related to us. + +# 7. Third Party Services + +Hiddify is designed to be used with your own deployed server. However, in case of using third party vpn services in our application, you should check their policies. + +# 8. Advertising + +We do not have any advertising + +# 9. Children’s Privacy + +Parents encouraged to teach children about online privacy. + +# 10. Changes to This Privacy Policy +We may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page. diff --git a/docs/warp/index.fa.md b/docs/warp/index.fa.md new file mode 100644 index 0000000..4f93f7c --- /dev/null +++ b/docs/warp/index.fa.md @@ -0,0 +1,14 @@ +--- +no_title_header: true +headless: true +--- + +# وارپ + + این صفحه برای افزودن کانفیگ تست وارپ به اپ هیدیفای ایجاد شده است. کافیه روی لینک زیر کلیک کنید تا کانفیگ به اپ اضافه شود. + +
+افزودن کانفیگ وارپ به اپ هیدیفای + +!!! tip "نکته" + قبل از کلیک روی لینک بالا، می‌بایست اپ را نصب داشته باشید. اگر نصب ندارید، [اینجا](https://app.hiddify.com) کلیک کنید تا نصب آغاز شود. diff --git a/docs/warp/index.md b/docs/warp/index.md new file mode 100644 index 0000000..bc98d0c --- /dev/null +++ b/docs/warp/index.md @@ -0,0 +1,13 @@ +--- +no_title_header: true +headless: true +--- + +# Warp +This page is created to add the Warp test config to the Hiddify app. Simply click the link below to add the config to the app. + +
+Click to add WARP config to the Hiddify application + +!!! tip "Tip" + Before clicking the link above, you must have the app installed. If you don't have it installed, click [here](https://app.hiddify.com) to start the installation. diff --git a/includes/abbreviations.md b/includes/abbreviations.md new file mode 100644 index 0000000..7e8dee8 --- /dev/null +++ b/includes/abbreviations.md @@ -0,0 +1,3 @@ +*[HTML]: Hyper Text Markup Language +*[W3C]: World Wide Web Consortium + diff --git a/input.css b/input.css new file mode 100644 index 0000000..fab54b8 --- /dev/null +++ b/input.css @@ -0,0 +1,75 @@ +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-Thin.woff2") format("woff2"); + font-weight: 100; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-ExtraLight.woff2") format("woff2"); + font-weight: 200; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-Light.woff2") format("woff2"); + font-weight: 300; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-Regular.woff2") format("woff2"); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-Medium.woff2") format("woff2"); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-SemiBold.woff2") format("woff2"); + font-weight: 600; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-Bold.woff2") format("woff2"); + font-weight: 700; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-ExtraBold.woff2") format("woff2"); + font-weight: 800; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: Vazirmatn RD; + src: url("docs/assets/webfonts/Vazirmatn-RD-Black.woff2") format("woff2"); + font-weight: 900; + font-style: normal; + font-display: swap; +} + +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..74bdca7 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,228 @@ +site_name: Hiddify +site_author: Hiddify.com +site_url: 'https://hiddify.com/' +repo_url: https://github.com/hiddify/Hiddify-Next +repo_name: hiddify/Hiddify-Next +copyright: Copyright © 2024 Hiddify +site_description: The proxy manager platform. +remote_branch: docs +edit_uri: https://github.com/hiddify/hiddify.com/edit/main/docs/ +watch: + - includes + - overrides +theme: + name: material + logo: assets/hiddify-logo.svg + favicon: assets/ic_hiddify.png + custom_dir: overrides + font: + text: Vazirmatn + + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + primary: blue + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: indigo + toggle: + icon: material/brightness-4 + name: Switch to light mode + features: + # - navigation.instant + # - navigation.instant.prefetch + # - navigation.instant.progress + # - navigation.instant.preview + + + - navigation.tracking + - navigation.tabs + - navigation.tabs.sticky + - navigation.sections + + # - navigation.indexes #for overview of section page + - navigation.expand + - navigation.path + + - toc.follow + # - toc.integrate # maybe disable + - navigation.top + # - header.autohide + - content.code.copy + - content.code.select + - content.code.annotate + - content.action.edit + - search.suggest + - search.share + - search.highlight + - announce.dismiss + - navigation.footer + - content.tooltips + + + + + + icon: + # admonition: + # question: material/new-box + edit: material/pencil + view: material/eye + +markdown_extensions: + - abbr + - pymdownx.snippets: + auto_append: + - includes/abbreviations.md + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + - pymdownx.details + - pymdownx.critic + - pymdownx.caret + - pymdownx.keys + - pymdownx.mark + - pymdownx.tilde + - pymdownx.magiclink + - admonition + - attr_list + - md_in_html + - footnotes + - def_list + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.emoji: + # emoji_index: !!python/name:material.extensions.emoji.twemoji + # emoji_generator: !!python/name:material.extensions.emoji.to_svg + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + +extra: + homepage: https://hiddify.com + + social: + - icon: fontawesome/brands/github + link: https://github.com/hiddify/hiddify-manager + generator: false + + alternate: + - name: English + link: / + lang: en + + - name: فارسی + link: /fa/ + lang: fa + tz: 210 + + consent: + title: Cookie consent + description: >- + We use cookies to recognize your repeated visits and preferences, as well + as to measure the effectiveness of our documentation and whether users + find what they're searching for. With your consent, you're helping us to + make our documentation better. Google Analytics needs your consent. + + analytics: + provider: google + property: G-1B5433L63G + feedback: + title: Was this page helpful? + ratings: + - icon: material/emoticon-happy-outline + name: This page was helpful + data: 1 + note: >- + Thanks for your feedback! + - icon: material/emoticon-sad-outline + name: This page could be improved + data: 0 + note: >- + Thanks for your feedback! Help us improve this page by + using our feedback form. +extra_css: + - assets/css/site.css +extra_javascript: + - assets/js/site.js + - assets/js/svginject.js +plugins: + - exclude: + glob: + - app/* + - manager/* + enabled: !ENV [DEV,false] + - rss + - tags + - git-authors + + + # - privacy + - search: + indexing: 'full' #sections + # prebuild_index: true + - include-markdown + + + - mkdocs-nav-weight: + section_renamed: true + index_weight: -1000 + - awesome-pages + - i18n: + docs_structure: suffix + fallback_to_default: true + languages: + - build: true + default: true + locale: en + name: English + + # - name: Help translating + # locale: null + # build: false + # fixed_link: https://github.com/hiddify/docs.hiddify.com/fork + + # - build: true + # default: false + # locale: zh + # name: 简体中文 + # nav_translations: + # Hiddify: Hiddify + + - build: true + default: false + locale: fa + name: Persian + nav_translations: + Hiddify: هیدیفای + + + reconfigure_material: true + reconfigure_search: true + + - git-revision-date-localized: + type: date + fallback_to_build_date: true + - blog: + post_readtime: true + + +nav: #docs/app/install.md + #- Hiddify: index.html + - ... + - privacy-policy.md + diff --git a/overrides/main.html b/overrides/main.html new file mode 100644 index 0000000..254069a --- /dev/null +++ b/overrides/main.html @@ -0,0 +1,59 @@ + +{% extends "base.html" %} + +{% block announce %} + {% if config.theme.language == "fa" %} + لطفا جهت دسترسی به آخرین اخبار ما را دنبال کنید: + {% else %} + Please follow us to keep pace with the latest news: + {% endif %} + + + {% include ".icons/fontawesome/brands/github.svg" %} + + + +   + + {% include ".icons/fontawesome/brands/youtube.svg" %} + + + + +   + + {% include ".icons/fontawesome/brands/instagram.svg" %} + + + + +   + + {% include ".icons/fontawesome/brands/twitter.svg" %} + + + +   + + {% include ".icons/fontawesome/brands/telegram.svg" %} + + + + +{% endblock %} + + +{% block libs %} + + {{ super() }} + + + +{% endblock %} diff --git a/overrides/partials/alternate.html b/overrides/partials/alternate.html new file mode 100644 index 0000000..9ea0ef4 --- /dev/null +++ b/overrides/partials/alternate.html @@ -0,0 +1,107 @@ + + + + +
+
+ {% set icon = config.theme.icon.alternate or "material/translate" %} + +
+
    + {% for alt in config.extra.alternate %} +
  • + + {{ alt.name }} + +
  • + {% if config.theme.language=="en" and alt.lang == "fa" %} + + {%endif%} + {% endfor %} +
+
+
+
+ diff --git a/overrides/partials/comments.html b/overrides/partials/comments.html new file mode 100644 index 0000000..84e84f5 --- /dev/null +++ b/overrides/partials/comments.html @@ -0,0 +1,55 @@ +{% if page.meta.comments != False %} +

{{ lang.t("meta.comments") }}

+ + + + + +{% endif %} + diff --git a/overrides/partials/footer.html b/overrides/partials/footer.html new file mode 100644 index 0000000..e8b1cf6 --- /dev/null +++ b/overrides/partials/footer.html @@ -0,0 +1,167 @@ + + + + diff --git a/overrides/partials/header.html b/overrides/partials/header.html new file mode 100644 index 0000000..d08654f --- /dev/null +++ b/overrides/partials/header.html @@ -0,0 +1,97 @@ + +{% set class = "md-header" %} +{% if "navigation.tabs.sticky" in features %} + {% set class = class ~ " md-header--shadow md-header--lifted" %} +{% elif "navigation.tabs" not in features %} + {% set class = class ~ " md-header--shadow" %} +{% endif %} + + +
+ + + + {% if "navigation.tabs.sticky" in features %} + {% if "navigation.tabs" in features %} + {% include "partials/tabs.html" %} + {% endif %} + {% endif %} +
+ + \ No newline at end of file diff --git a/overrides/partials/source.html b/overrides/partials/source.html new file mode 100644 index 0000000..a569958 --- /dev/null +++ b/overrides/partials/source.html @@ -0,0 +1,3 @@ + +GitHub Org's stars + \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..c755454 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,17 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./docs/**/*.{md,html}"], + theme: { + extend: { + colors: { + primary: "#455FE9", + primaryText: '#212529', + secondaryText: '#495057', + }, + fontFamily: { + lato: ['lato'], + }, + }, + }, + plugins: [], +};