Skip to content

Commit

Permalink
Merge pull request #1 from erfjab/dev
Browse files Browse the repository at this point in the history
Up to V2.0.0
  • Loading branch information
erfjab authored Apr 27, 2024
2 parents c20f7c0 + 263a6e7 commit ee0fecd
Show file tree
Hide file tree
Showing 4 changed files with 474 additions and 357 deletions.
89 changes: 74 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
https://github.com/erfjab/ESSL/assets/143827987/148d7fca-2f89-4b81-8715-22e4e9aabf9e


<p align="center">
<a href="./README.md">
English
Expand All @@ -9,29 +12,85 @@
</p>

# What is ESSL?
ESSL (Easy SSL) is a user-friendly script designed to streamline the process of obtaining SSL certificates through various methods. It simplifies the procedure, sparing users from confusing and unnecessary commands. Moreover, ESSL facilitates the segregation of panel domain and users subscription domain within Marzban(a Xray control panel) Currently, ESSL supports the following SSL acquisition options:
- certbot
- acme
ESSL (Easy SSL) is a user-friendly script designed to streamline the process of obtaining SSL certificates through various methods. It simplifies the procedure, sparing users from confusing and unnecessary commands. just copy and paste one line so that everything is done automatically.

### Future's:
- Single domain ssl (sub.domain.com)
- Wildcard domain ssl (*.domain.com)
- Multi-domain ssl (sub1.doamin1.com sub2.domain2.com)
- Renewal ssl (update)
- Revoke ssl (delete)
- Automatic/Custom patch (support all panel's directory)

> [!IMPORTANT]
> More options will be added soon. 🔥
> In the current version, only `certbot` is used.
# How to Use?
Follow these steps to utilize ESSL effectively:

1. Execute the following command in your terminal:
## How to Use?

just copy/paste and enjoy :

```bash
sudo bash -c "$(curl -sL https://github.com/erfjab/ESSL/raw/main/essl.sh)"
```
<details>

<summary>Single Domain</summary>

In single domain after set DNS you only need :
- `domain` (e.g: sub.doamin.com)
- `email`

After receiving ssl, it will show you three path, the first one is for the desired path, the second one is for the border panel path and the third one is for the path of other panels. You received a certificate so easily and easily.
</details>


<details>

<summary>Wildcard Domain</summary>

In wildcard domain after set DNS you only need :
- `domain` (e.g: domain.com)
- `email`

Now it gives you a name and text value, which asks you to set them in text dns format, after a few moments, click set enter.

After receiving ssl, it will show you three path, the first one is for the desired path, the second one is for the border panel path and the third one is for the path of other panels. You received a certificate so easily and easily.
</details>


<details>

<summary>Multi-Domain</summary>

In Multi domain after set DNS you only need :
- `domain's` (in a line with a space e.g: sub1.domain1.com sub2.domain2.com...)
- `email`

After receiving ssl, it will show you three path, the first one is for the desired path, the second one is for the border panel path and the third one is for the path of other panels. You received a certificate so easily and easily.
</details>

<details>

<summary>Renewal</summary>

In renewal you only need :
- `domain` (e.g: *.domain.com (wildcard) sub.domain.com (single))

If it needs to be extended, it will be extended, otherwise it will say that it is not needed yet.
</details>


<details>

2. Enter the required information as prompted:
<summary>Revoke</summary>

In Revoke fi you only need :
- `fullchain.pem path` (e.g: /etc/letsencrypt/live/domain/fullchain.pem)

- **Email**: Provide your email address, which will be utilized for SSL usage.
- **Domain**: Specify the domain for which you wish to obtain SSL.
- **multi-domain**: If you want multi-domain SSL, enter 'y' and provide your additional domain. Otherwise, enter 'n'. ([source](https://github.com/Gozargah/Marzban/discussions/684))
- **Address**: If you are using Marzban, the SSL directory is default. Input 'y'. Otherwise, if you prefer a custom directory, input 'n' and specify your desired directory.
- **Options**: Select the appropriate option by entering its corresponding number.
In revoke, it will first show you the list of domains so you can choose the desired domain and copy/paste the exact address of the domain to be revoked.
</details>

Once completed, the SSL script will acquire the SSL certificate for your domain and place it in the specified folder. Should you encounter any issues or have inquiries, feel free to communicate them in the issue section. Additionally, you can subscribe to my Telegram channel [@ErfJabs](https://t.me/ErfJabs) to receive notifications regarding script updates and news.
## Support project

**Don't Forget ⭐, good luck.**
**We don't need financial support, only Star (⭐) is enough, thank you.**
92 changes: 75 additions & 17 deletions README_fa.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@

https://github.com/erfjab/ESSL/assets/143827987/148d7fca-2f89-4b81-8715-22e4e9aabf9e


<p align="center">
<a href="./README.md">
English
Expand All @@ -6,33 +10,87 @@
<a href="./README_fa.md">
فارسی
</a>

</p>

# ای اس اس ال چیه؟
ای اس اس ال (ESSL یا Easy SSL) یک اسکریپت کاربرپسنده است که برای ساده‌تر کردن فرآیند دریافت گواهی SSL از طریق روش‌های مختلف طراحی شده است. این اسکریپت فرآیند را ساده‌تر می‌کند و کاربران را از دستورات گیج‌کننده و غیرضروری نجات می‌دهد. علاوه بر این، ESSL تفکیک دامنه پنل و دامنه اشتراک کاربران درون Marzban (یک پنل کنترل Xray) را تسهیل می‌کند. در حال حاضر، ESSL از گزینه‌های دریافت SSL زیر پشتیبانی می‌کند:
- certbot
- acme
# اسکرپیت ESSL چیه؟
ای اس اس ال (ESSL یا Easy SSL) یک اسکریپت کاربرپسنده است که برای ساده‌تر کردن فرآیند دریافت گواهی SSL از طریق روش‌های مختلف طراحی شده است. این اسکریپت فرآیند را ساده‌تر می‌کند و کاربران را از دستورات گیج‌کننده و غیرضروری نجات می‌دهد. فقط کپی/پیست کنید و لذت ببرید.

### Future's:
- گواهی تک دامنه (sub.domain.com)
- گواهی همه‌ی ساب‌ها (*.domain.com)
- گواهی مولتی-دامنه (sub1.doamin1.com sub2.domain2.com)
- تمدید گواهی (آپدیت)
- منقضی گواهی (تمدید)
- مسیردهی اتوماتیک/شخصی‌سازی (پیشتیبانی همه‌ی پنل‌ها)

> [!IMPORTANT]
> روش‌های بیشتر به زودی اضافه خواهند شد. 🔥
> نسحه‌ی حال حاضر فقط از `certbot` استفاده میکند.

# چطور استفاده کنیم؟
برای استفاده از ESSL، این مراحل را دنبال کنید:
## نحوه‌ی استفاده؟

فقط کپی/پیست کنید و لذت ببرید:

1. دستور زیر را در ترمینال خود اجرا کنید:
```bash
sudo bash -c "$(curl -sL https://github.com/erfjab/ESSL/raw/main/essl.sh)"
```
<details>

<summary>تک دامنه</summary>

در تک دامنه بعد از تنظیم دی‌ان‌اس ها نیاز به دو چیز داریم:
- `دامنه` (e.g: sub.doamin.com)
- `ایمیل`

بعد از دریافت گواهی به شما سه تا گزینه برای مسیردهی گواهی نمایش میدهد که اولی برای مسیردهی دلخواه دومی برای مسیردهی پنل مرزبان و سومی مسیردهی مناسب سایر پنل‌ها می‌باشد که اتوماتیک انجام میشود.
</details>


<details>

<summary>گواهی همه‌ی ساب‌ها</summary>

در گواهی همه‌ی ساب‌ها بعد از تنظیم دی‌ان‌اس ها نیاز به دو چیز داریم:
- `دامنه` (e.g: doamin.com)
- `ایمیل`

حالا به شما یک اسم و یک text value برای ساخت dns text نمایش میدهد که بعد از ساهت چند ثانیه صبر کنید و enter کلیک کنید تا اسکریپت به کارش ادامه دهد.
بعد از دریافت گواهی به شما سه تا گزینه برای مسیردهی گواهی نمایش میدهد که اولی برای مسیردهی دلخواه دومی برای مسیردهی پنل مرزبان و سومی مسیردهی مناسب سایر پنل‌ها می‌باشد که اتوماتیک انجام میشود.
</details>


<details>

<summary>مولتی-دامین</summary>

در گواهی مولتی-دامین بعد از تنظیم دی‌ان‌اس ها نیاز به دو چیز داریم:
- `دامنه ها` (in a line with a space e.g: sub1.domain1.com sub2.domain2.com...)
- `ایمیل`

بعد از دریافت گواهی به شما سه تا گزینه برای مسیردهی گواهی نمایش میدهد که اولی برای مسیردهی دلخواه دومی برای مسیردهی پنل مرزبان و سومی مسیردهی مناسب سایر پنل‌ها می‌باشد که اتوماتیک انجام میشود.
</details>

<details>

<summary>تمدید</summary>

در هنگام تمدید فقط به یک چیز نیاز داریم:
- `دامنه` (e.g: *.domain.com (wildcard) sub.domain.com (single))

اگر نیاز به تمدید داشته باشد، تمدید خواهد شد. در غیراینصورت به شما در مورد اینکه نیاز به تمدید ندارد پیامی نمایش خواهد داد شد.
</details>


<details>

2. اطلاعات مورد نیاز را وارد کنید:
<summary>منقضی</summary>

در هنگام منقضی فقط به یک چیز نیاز داریم:
- `fullchain.pem مسیر` (e.g: /etc/letsencrypt/live/domain/fullchain.pem)

- **ایمیل**: آدرس ایمیل خود را که برای استفاده از SSL استفاده خواهد شد، وارد کنید.
- **دامنه**: دامنه‌ای که می‌خواهید برای آن SSL بگیرید را مشخص کنید.
- **مولتی-دامنه**: اگر می‌خواهید SSL چند دامنه‌ای بگیرید، 'y' را وارد کرده و دامنه اضافی خود را وارد کنید. در غیر این صورت، 'n' را بزنید. ([منبع](https://github.com/Gozargah/Marzban/discussions/684))
- **آدرس**: اگر از Marzban استفاده می‌کنید، دایرکتوری SSL پیش‌فرض است پس 'y' را وارد کنید. در غیر این صورت، اگر دایرکتوری سفارشی مد نظرتان است، 'n' را وارد کرده و دایرکتوری مورد نظر خود را مشخص کنید.
- **گزینه‌ها**: گزینه دلخواه را با وارد کردن شماره مربوطه انتخاب کنید.
در هنگام منقضی کردن یک دامنه ، اول به شما لیست دامنه ها نمایش داده میشود، سپس از شما سوال می‌شود کدام دامنه را میخواهید منقضی کنید؟ که شما باید از اطلاعات دامنه، مسیر فایل رو طبق الگوی بالا کپی/پیست میکنید تا گواهی منقضی و اطلاعات دامنه حذف شود.
</details>

پس از تکمیل، اسکریپت SSL گواهی SSL برای دامنه شما را دریافت و آن را در پوشه مشخص شده قرار می‌دهد. در صورت بروز مشکل یا سوال، احتمالا می‌توانید آنها را در بخش مشکلات ارسال کنید. علاوه بر این، می‌توانید به کانال تلگرام من (@ErfJabs) جوین شوید تا اطلاعیه‌ها و اخبار مربوط به بروزرسانی‌های اسکریپت را دریافت کنید.
## حمایت پروژه

**⭐ فراموش نکنید، موفق باشید.**
**ما نیاز به حمایت مالی نداریم, فقط استار دادن (⭐) کافیه‌، ممنونیم.**
Binary file added essl.mp4
Binary file not shown.
Loading

0 comments on commit ee0fecd

Please sign in to comment.