Skip to content

Commit

Permalink
safe internal server
Browse files Browse the repository at this point in the history
  • Loading branch information
sarinaesmailzadeh committed Apr 15, 2024
1 parent f679a22 commit f438a0f
Show file tree
Hide file tree
Showing 3 changed files with 508 additions and 1 deletion.
253 changes: 252 additions & 1 deletion docs/Internal_Server.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,48 @@
3. [ریورس پروکسی grpc / معکوس تمام سایت](https://www.youtube.com/watch?v=QBEnXWTyQwE)


## ReverseTlsTunnel

تونل معکوس: فرقش با تونل عادی اینه که کانکشن را سرور خارج آغاز میکنه مثل یک بازدید کننده خارجی از یه سایت ایرانی که سرور شما باشه و بعد از اتصال ؛ دیتا مثل تونل عادی رد و بدل میشه ؛ این روش از تونل های عادی که سرور ایران به خارج کانکشن رو شروع میکنه از نظر دیتکت شدن؛ میشه گفت بهتره چون عموما یه سرور کانکشن به جایی شروع نمی کنه (برای مدت طولانی و تعداد کانکشن همزمان بالا!) .


[Ptechgithub](https://github.com/Ptechgithub/ReverseTlsTunnel)


[ آموزش تانل معکوس - Reverse TLS Tunnel | اتصال به سرور خارج حتی اگر فیلتر شده! ](https://www.youtube.com/watch?v=lkH-IP7-Jag)

# NginxReverseProxy

این اسکریپت برای نصب و پیکربندی NGINX Reverse Proxy بر روی سرورهای لینوکسی استفاده می‌شود. با اجرای این اسکریپت، می‌توانید به سرعت و به صورت خودکار یک سرور وب را به عنوان یک پروکسی برای مسیردهی ترافیک به برنامه‌های دیگر (سرویس‌های GRPC و WebSocket) پیکربندی کنید. گواهی ssl بگیرید و یک قالب سایت رایگان نصب کنید.


[NginxReverseProxy](https://github.com/Ptechgithub/NginxReverseProxy)


# آموزش کامل FallBack در X-UI و دور زدن فیلترینگ با Nginx

اگه قبلا ویدیو کامل آموزش پنل X-UI رو دیدید که حدودا بالای 1 ساعت هستش نیاز نیست این آموزش رو ببینید. با آموزش کامل FallBack در X-UI و دور زدن فیلترینگ با Nginx در خدمت شما هستم.

[ آموزش کامل FallBack در X-UI و دور زدن فیلترینگ با Nginx ](https://www.youtube.com/watch?v=sXKK0rCrm8s)

[config](https://t.me/iaghapour/292)


# فریب دادن ربات فیلترینگ با Fallback و Nginx

توی این ویدیو، به نحوه نصب و استفاده از سرور Nginx در کنار پنل X-UI از طریق پنل Alireza0 میپردازیم. از ابتدا با نصب و راه‌اندازی پنل X-UI شروع می‌کنیم و سپس با استفاده از یک اسکریپت PHP و Nginx، یک سرویس جعلی رو روی سرور ایجاد می‌کنیم.

[ فریب دادن ربات فیلترینگ با Fallback و Nginx ](https://www.youtube.com/watch?v=gdYJTtXwfGc&t=186s)


# همه کانفیگ ها + پنل مرزبان روی پورت 443 ! تک پورت کردن پنل مرزبان با fallback و HAProxy


توی این آموزش با هم یادمیگیریم که چطور توی پنل مرزبان با استفاده از haproxy همه کانفیگ ها و حتی پنل مرزبان رو روی یک پورت مثلا پورت 443 بالا بیاریم و حتی اگه از قبل پنل رو روی پورت دیگه ای مثلا پورت 8080 بالا آوردیم بتونیم درخواست هایی که به اون پورت میاد رو هم بفرستیم به تنظیمات جدیدمون تا کاربرا دچار مشکل نشن. توی این آموزش از پنل مرزبان استفاده میکنیم .
.

[ همه کانفیگ ها + پنل مرزبان روی پورت 443 ! تک پورت کردن پنل مرزبان با fallback و HAProxy ](https://www.youtube.com/watch?v=CX8bXLD69G0)

## RATHOLE

[آموزش تانل RATHOLE روی پنل3x-ui به روش آزومی](https://www.youtube.com/watch?v=xRGROvccDIc)
Expand Down Expand Up @@ -120,4 +162,213 @@ wget -qO- bench.sh | bash

ا دامنه ی فیلتر شده ی خودتون کانفیگ بسازین و بتونین به اینترنت آزاد وصل بشین

[OPENVPN](https://www.youtube.com/watch?v=z1XecNzLlG0)
[OPENVPN](https://www.youtube.com/watch?v=z1XecNzLlG0)


# آموزش تانل IPSEC روی پنل 3x-ui ثنایی-SIXTININELEARN

سلام رفقا توی این ویدیو قراره بهتون یاد بدم چجوری خیلی راحت با استفاده از تانل گاست تانل IPSEC بین سرور ایران و خارجتون برقرار کنین به همراه ساخت IPV6.

[ آموزش تانل IPSEC روی پنل 3x-ui ثنایی-SIXTININELEARN ](https://www.youtube.com/watch?v=K2W9tq3yKcc)


# ساخت تانل با nginx و تنها یک پورت و فرگمنت و DNS

برای آماده سازی سرور این اقدامات رو انجام دهیم:

تغییر پورت سرور

```
echo "Port 42327" >> /etc/ssh/sshd_config
systemctl restart sshd
service ssh restart
sudo ufw allow 42327
```

تغییر پسورد اصلی
```
sudo passwd root
```

نصب ابزار مانیتورینگ
```
#instal monitoring
apt-get update
apt-get install nload
apt-get install htop
apt-get install iftop
apt-get install vnstat
apt-get install speedtest-cli
apt-get install net-tools
apt-get install git
apt-get install cron
apt-get install curl tar unzip jq -y
apt-get install -y jq
```

افزایش سرعت سرور
```
echo "net.ipv4.tcp_fastopen = 3" | sudo tee -a /etc/sysctl.conf
echo "net.core.default_qdisc = fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.conf
sysctl -p
```

میزان نگه داری لاگ ها
```
journalctl --vacuum-time=10d
‍‍‍```
تنظیم ساعت سرور
```
#set timezone
timedatectl set-timezone UTC
timedatectl
echo "UTC" | sudo tee /etc/timezone
cat /etc/timezone
```
```
#set timezone
timedatectl set-timezone Asia/Tehran
timedatectl
echo "Asia/Tehran" | sudo tee /etc/timezone
cat /etc/timezone
```
دامنه خود را روی کلود فلیر ست کنید
ابتدا در CDN خود مثلا Cloudflare یک A record بسازید و دامین یا ساب دامین خود را به آی پی سرور اشاره بدید و تیک پروکسی هم روشن کنید.
در بخش تنظیمات Network تیک گزینه ی GRPC را فعال کنید.
در بخش SSL/TLS encryption mode گزینه ی Full را انتخاب کنید.
نصب NGINX Reverse Proxy Installer
با این اسکریپت، می‌توانید به صورت خودکار یک سرور وب را به عنوان یک پروکسی برای مسیردهی ترافیک به (سرویس‌های GRPC و WebSocket) پیکربندی کنید. گواهی ssl بگیرید و یک قالب سایت از میان 170 قالب رایگان نصب کنید.
(ابزار مخفی ساز)
```
bash <(curl -fsSL https://raw.githubusercontent.com/Ptechgithub/NginxReverseProxy/main/install.sh)
```
مسیر nginx
‍‍‍```
cd /etc/nginx/sites-available/
```


وب سایت فیک نصب نکنید باگ دارد.


نصب ظاهر
```
cd /var/www/
git clone https://github.com/learning-zone/website-templates.git /var/www/website-templates
```

اگر خواستید پاک کنید به صورت دستی
```
rm -rf /etc/letsencrypt > /dev/null 2>&1
rm -rf /var/www/html/* > /dev/null 2>&1
# Remove NGINX configuration files
find /etc/nginx/sites-available/ -mindepth 1 -maxdepth 1 ! -name 'default' -exec rm -rf {} +
find /etc/nginx/sites-enabled/ -mindepth 1 -maxdepth 1 ! -name 'default' -exec rm -rf {} +
# Restart NGINX service
systemctl restart nginx
```



ادرس سرتیفیکت

```
/etc/letsencrypt/live/domain/fullchain.pem
/etc/letsencrypt/live/domain/privkey.pem
```


تا اینجا باید یک وب سایت روی دامنه داشته باشد.

## download xray

نصب xray
```
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install --beta -u root
```

## close ports

بستن پورت ها
```
sudo ufw app list
sudo ufw allow 22
sudo ufw allow 443
sudo ufw deny 80
sudo ufw deny 80/tcp
sudo ufw allow 42327
sudo ufw deny 8443
sudo ufw deny 10808
sudo ufw enable
sudo ufw status
```


روی کلود فلیر CDN را خاموش کنید

## nginx configuration

مشاهده کانفیگ nginx
```
cd /etc/nginx/sites-available
tail -f /var/log/nginx/domain.access.log
```

نمونه کانفیگ در فولدر tunnel موجود است

restart nginx


```
sudo systemctl restart nginx
```

## xray configuration

حالا کافی هست که کانفیگ xray بسازیم
نمونه کانفیگ در فولدر tunnel موجود است

xray رو با دستور زیر در tmux اجرا کنید

```
xray -x xray_config.json
```

نمونه کانفیگ برای کلاینت

```
trojan://[email protected]:443?security=tls&sni=mammad.com&type=grpc&serviceName=your_custom_path%2F8443%2F&mode=gun#mammad
```

## proxychain

vi /etc/proxychains.conf


اضافه کردن
```
socks5 127.0.0.1 10808
```
proxychains curl ip-api.com
53 changes: 53 additions & 0 deletions tunnel/nginx_confix
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
server {
root /var/www/html;
grpc_read_timeout 1h;
grpc_send_timeout 1h;
grpc_set_header X-Real-IP $remote_addr;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;


server_name your_domain_دامنه;

# for logs
access_log /var/log/nginx/domain.access.log;
error_log /var/log/nginx/domain.error.log;


location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# GRPC configuration
location ~ ^/your_custom_path/(?<port>\d+)/(.*)$ {
if ($content_type !~ "application/grpc") {
return 404;
}
set $grpc_port $port;
client_max_body_size 0;
client_body_buffer_size 512k;
grpc_set_header X-Real-IP $remote_addr;
client_body_timeout 1w;
grpc_read_timeout 1w;
grpc_send_timeout 1w;
grpc_pass grpc://127.0.0.1:$port;
}

listen [::]:443 ssl http2 ipv6only=on; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/your_domain_دامنه/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/your_domain_دامنه/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = your_domain_دامنه) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name your_domain_دامنه;
return 404; # managed by Certbot
}
Loading

0 comments on commit f438a0f

Please sign in to comment.