From 0bda186500325be941d18d4f9a8a0c3a4ac19384 Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Fri, 12 Jul 2024 16:04:59 +0800
Subject: [PATCH 01/13] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 65987eb..f868836 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-# SafeLine, make your webserver secure
+# SafeLine, make your web app secure default
From 70c3820e5a5e950b0f93bebeb834c309a549f589 Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Tue, 16 Jul 2024 10:16:54 +0800
Subject: [PATCH 02/13] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index f868836..df4f941 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ It defenses for all of web attacks, such as sql injection, code injection, os co
-
+
From 9c76cdd002bcd7be0d061d5a01eab8a514778bca Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Fri, 19 Jul 2024 19:05:06 +0800
Subject: [PATCH 03/13] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index df4f941..57cdc97 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ It defenses for all of web attacks, such as sql injection, code injection, os co
-
+
From 8a22751adee907acbf56dcf966432876055f82d5 Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Fri, 19 Jul 2024 19:05:57 +0800
Subject: [PATCH 04/13] Update README.md
---
README.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/README.md b/README.md
index 57cdc97..75ab527 100644
--- a/README.md
+++ b/README.md
@@ -16,8 +16,6 @@ It defenses for all of web attacks, such as sql injection, code injection, os co
-
-
From 61302eb1838df38ac9ae088a940f60ef9170c04b Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Mon, 22 Jul 2024 14:49:55 +0800
Subject: [PATCH 05/13] Update README.md
---
README.md | 79 +++++++++++++++++--------------------------------------
1 file changed, 24 insertions(+), 55 deletions(-)
diff --git a/README.md b/README.md
index 75ab527..e8329eb 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-# SafeLine, make your web app secure default
+# SafeLine, make your web apps secure
@@ -19,9 +19,22 @@ It defenses for all of web attacks, such as sql injection, code injection, os co
+# Table of Contents
+
+- [Introduction](#Intruction)
+- [Screenshots](#Screenshots)
+- [How It Works](.#How-It-Works)
+- [Security Features](#Security-Features)
+- [Quickstart](#Quickstart)
+- [Community](#Community)
+- [More Informations](#More-Informations)
+
# Screenshots
-
+|
|
|
+| ------------------------------------------------ | ------------------------------------------------ |
+|
|
|
+
# How It Works
@@ -35,54 +48,18 @@ SafeLine is developed based on nginx, it serves as a reverse proxy middleware to
- IP-based rate limiting
- Web Access Control List
-# Installation
+# Security Features
+
+
+# Quickstart
**中国大陆用户安装国际版可能会导致无法连接云服务,请查看** [中文版安装文档](https://docs.waf-ce.chaitin.cn/zh/%E4%B8%8A%E6%89%8B%E6%8C%87%E5%8D%97/%E5%AE%89%E8%A3%85%E9%9B%B7%E6%B1%A0)
-## Automatic Deploy
+## Installing
-> 👍Recommended
+Information on how to install SafeLine can be found in the [Install Guide](https://docs.waf.chaitin.com/en/tutorials/install)
-Use the following command to start the automated installation of SafeLine. (This process requires root privileges)
-
-```bash
-bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/setup.sh)"
-```
-
-After the command is executed, it means the installation is successfully. Please go to "Use Web UI" directly.
-
-
-## Mannually Deploy
-
-to see [Documentation](https://docs.waf.chaitin.com/en/tutorials/install)
-
-# Usage
-
-## Login
-
-Open the web console page `https://:9443/` in the browser, then you will see below.
-
-
-
-Execute the following command to get administrator account
-
-```bash
-docker exec safeline-mgt /app/mgt-cli reset-admin --once
-```
-
-After the command is successfully executed, you will see the following content
-
-> Please must remember this content
-
-```text
-[SafeLine] Initial username:admin
-[SafeLine] Initial password:**********
-[SafeLine] Done
-```
-
-Enter the password in the previous step and you will successfully logged into SafeLine.
-
-## Protecting a website
+## Protecting Web Apps
Log into the SafeLine Web Admin Console, go to the "Site" -> "Website" page and click the "Add Site" button in the upper right corner.
@@ -102,9 +79,9 @@ Then you can access the website protected by the SafeLine through the domain nam
-## Try to attack your website
+## Attack Simulation
-Now, your website is protected by SafeLine, let’s try tp attack it and see what happens.
+Now, your website is protected by SafeLine, let’s try to attack it and see what happens.
If https://chaitin.com is a website protected by SafeLine, here are some test cases for common attacks:
@@ -118,14 +95,6 @@ Replace `chaitin.com` in the above cases with your website domain name and try t
-Check the web console of SafeLine to see the attack list
-
-
-
-To view the specific details of the attack, click "detail"
-
-
-
## Star History
From 82a1cacd309325c8c8b7d988b23b571cf5172e12 Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Mon, 22 Jul 2024 16:06:48 +0800
Subject: [PATCH 06/13] Update README.md
---
README.md | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index e8329eb..303272b 100644
--- a/README.md
+++ b/README.md
@@ -95,11 +95,21 @@ Replace `chaitin.com` in the above cases with your website domain name and try t
-## Star History
+# More Informations
-
-
-
+## Is SafeLine Production-Ready?
+
+Yes, SafeLine is production-ready.
+
+- Over 180,000 installations worldwide
+- Protecting over 1,000,000 Websites
+- Handling over 30,000,000,000 HTTP Requests Daily
+
+## Pro Version
+
+## Stargazers Over Time
+
+
## Related Repo
From 1b642fd9c4d78bbdb9264e66b609a0665372e053 Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Mon, 22 Jul 2024 16:18:19 +0800
Subject: [PATCH 07/13] Update README.md
---
README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 52 insertions(+), 11 deletions(-)
diff --git a/README.md b/README.md
index 303272b..7291618 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
-SafeLine is a web security gateway to protect your websites from attacks and exploits.
+SafeLine is a self-hosted web application firewall to protect your websites from attacks and exploits.
It defenses for all of web attacks, such as sql injection, code injection, os command injection, CRLF injection, ldap injection, xpath injection, rce, xss, xxe, ssrf, path traversal, backdoor, bruteforce, http-flood, bot abused and so on.
@@ -23,7 +23,7 @@ It defenses for all of web attacks, such as sql injection, code injection, os co
- [Introduction](#Intruction)
- [Screenshots](#Screenshots)
-- [How It Works](.#How-It-Works)
+- [How It Works](#How-It-Works)
- [Security Features](#Security-Features)
- [Quickstart](#Quickstart)
- [Community](#Community)
@@ -50,6 +50,50 @@ SafeLine is developed based on nginx, it serves as a reverse proxy middleware to
# Security Features
+## Web Attacks
+
+SafeLine uses a non-rule detection algorithm based on syntax analysis, and uses the context-free grammar commonly used in programming languages to replace the regular grammar used by traditional WAFs, which greatly improves the accuracy and recall rate of the detection algorithm.
+
+<这里是演示视频>
+
+## Rate Limiting
+
+Defend your applications and APIs against abuse by throttling traffic that exceeds defined limits
+
+Rate Limiting protects against denial-of-service attacks, brute force login attempts, traffic surges, and other types of abuse targeting APIs and applications.
+
+Choose IP-based Rate Limiting to protect unauthenticated endpoints, limit the number of requests from specific IP addresses, and handle abuse from repeat offenders.
+
+<这里是演示视频>
+
+## Captcha Challenge
+
+CAPTCHA challenges to protect your website from bot attacks, humen users will be allowed, crawlers and bots will be blocked.
+
+<这里是演示视频>
+
+## **Authentication Challenge**
+
+when athentication turned on, visitors need to enter the username and password information you configured below, users who do not hold the password will be blocked.
+
+<这里是演示视频>
+
+## Dynamic Protection
+
+When dynamic protection turned on, the html and javascript codes in your website will be dynamically encrypted into different random result each time you visit, it could effectively block crawlers and attack automated exploit programs.
+
+<这里是演示视频>
+
+After the html code passes through SafeLine's dynamic protection, it will be randomly encrypted and decrypted automatically when used in the browser. Please see the example below.
+
+The left side is before encrypted, and the right side is after encrypted.
+
+
+
+
+
+## Web ACL
+
# Quickstart
@@ -83,17 +127,14 @@ Then you can access the website protected by the SafeLine through the domain nam
Now, your website is protected by SafeLine, let’s try to attack it and see what happens.
-If https://chaitin.com is a website protected by SafeLine, here are some test cases for common attacks:
+There are some testcases for common attacks:
-- SQL Injection: `https://chaitin.com/?id=1+and+1=2+union+select+1`
-- XSS: `https://chaitin.com/?id=
`
-- Path Traversal: `https://chaitin.com/?id=../../../../etc/passwd`
-- Code Injection: `https://chaitin.com/?id=phpinfo();system('id')`
-- XXE: `https://chaitin.com/?id=`
+- SQL Injection: `https://example.com/?id=1+and+1=2+union+select+1`
+- XSS: `https://example.com/?id=
`
+- Path Traversal: `https://example.com/?id=../../../../etc/passwd`
+- Code Injection: `https://example.com/?id=phpinfo();system('id')`
-Replace `chaitin.com` in the above cases with your website domain name and try to access it.
-
-
+Replace `example.com` in the above cases with your website domain name and try to access it. Then you will see that these attacks will be blocked by SafeLine.
# More Informations
From 5917c2f1849487dd48fdf8d38264cdd81ff0ebb4 Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Mon, 22 Jul 2024 16:20:09 +0800
Subject: [PATCH 08/13] Update README.md
---
README.md | 5 -----
1 file changed, 5 deletions(-)
diff --git a/README.md b/README.md
index 7291618..2444241 100644
--- a/README.md
+++ b/README.md
@@ -64,26 +64,21 @@ Rate Limiting protects against denial-of-service attacks, brute force login atte
Choose IP-based Rate Limiting to protect unauthenticated endpoints, limit the number of requests from specific IP addresses, and handle abuse from repeat offenders.
-<这里是演示视频>
## Captcha Challenge
CAPTCHA challenges to protect your website from bot attacks, humen users will be allowed, crawlers and bots will be blocked.
-<这里是演示视频>
## **Authentication Challenge**
when athentication turned on, visitors need to enter the username and password information you configured below, users who do not hold the password will be blocked.
-<这里是演示视频>
## Dynamic Protection
When dynamic protection turned on, the html and javascript codes in your website will be dynamically encrypted into different random result each time you visit, it could effectively block crawlers and attack automated exploit programs.
-<这里是演示视频>
-
After the html code passes through SafeLine's dynamic protection, it will be randomly encrypted and decrypted automatically when used in the browser. Please see the example below.
The left side is before encrypted, and the right side is after encrypted.
From 2a549cae19be855eebdf60fdc4edd4be6cf9b715 Mon Sep 17 00:00:00 2001
From: safe1ine <140062425+safe1ine@users.noreply.github.com>
Date: Mon, 22 Jul 2024 16:56:03 +0800
Subject: [PATCH 09/13] Add files via upload
---
images/screenshot-1.png | Bin 0 -> 1382451 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 images/screenshot-1.png
diff --git a/images/screenshot-1.png b/images/screenshot-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..f94671d767a86d19871c20249571a13f40f3affb
GIT binary patch
literal 1382451
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
8m&UtR}4eE
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