β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ Optimize your build configuration
t.me/UndercodeTesting
π¦ Follow these tips to improve the build speed of your Android Studio project.
1) Keep your tools up-to-date
2) The Android tools receive build optimizations and new features with almost every update, and some tips on this page assume you're using the latest version. To take advantage of the latest optimizations, keep the following up to date:
π¦ Android Studio and SDK tools
> The Android plugin for Gradle
> Create a build variant for development
> Many of the configurations you need when preparing your app for
release are not required while developing your app. Enabling unnecessary build processes slows down your incremental and clean builds, so configure a build variant that keeps only the build configurations you need while developing your app. The following sample creates a "dev" flavor and a "prod" flavor (for your release version configurations):
π¦android {
...
defaultConfig {...}
buildTypes {...}
productFlavors {
// When building a variant that uses this flavor, the following configurations
// override those in the defaultConfig block.
dev {
// To avoid using legacy multidex when building from the command line,
// set minSdkVersion to 21 or higher. When using Android Studio 2.3 or higher,
// the build automatically avoids legacy multidex when deploying to a device running
// API level 21 or higherβregardless of what you set as your minSdkVersion.
minSdkVersion 21
versionNameSuffix "-dev"
applicationIdSuffix '.dev'
}
prod {
// If you've configured the defaultConfig block for the release version of
// your app, you can leave this block empty and Gradle uses configurations in
// the defaultConfig block instead. You still need to create this flavor.
// Otherwise, all variants use the "dev" flavor configurations.
}
}
}
3) If your build configuration already uses product flavors to create different versions of your app, you can combine the "dev" and "prod" configurations with those flavors by using flavor dimensions. For example, if you already configure a "demo" and "full" flavor, you can use the following sample configuration to create combined flavors, such as "devDemo" and "prodFull":
android {
...
defaultConfig {...}
buildTypes {...}
// Specifies the flavor dimensions you want to use. The order in which you
// list each dimension determines its priority, from highest to lowest,
// when Gradle merges variant sources and configurations. You must assign
// each product flavor you configure to one of the flavor dimensions.
flavorDimensions "stage", "mode"
productFlavors {
dev {
dimension "stage"
minSdkVersion 21
versionNameSuffix "-dev"
applicationIdSuffix '.dev'
...
}
prod {
dimension "stage"
...
}
demo {
dimension "mode"
...
}
full {
dimension "mode"
...
}
}
}
π¦ Optimize your build configuration
t.me/UndercodeTesting
π¦ Follow these tips to improve the build speed of your Android Studio project.
1) Keep your tools up-to-date
2) The Android tools receive build optimizations and new features with almost every update, and some tips on this page assume you're using the latest version. To take advantage of the latest optimizations, keep the following up to date:
π¦ Android Studio and SDK tools
> The Android plugin for Gradle
> Create a build variant for development
> Many of the configurations you need when preparing your app for
release are not required while developing your app. Enabling unnecessary build processes slows down your incremental and clean builds, so configure a build variant that keeps only the build configurations you need while developing your app. The following sample creates a "dev" flavor and a "prod" flavor (for your release version configurations):
π¦android {
...
defaultConfig {...}
buildTypes {...}
productFlavors {
// When building a variant that uses this flavor, the following configurations
// override those in the defaultConfig block.
dev {
// To avoid using legacy multidex when building from the command line,
// set minSdkVersion to 21 or higher. When using Android Studio 2.3 or higher,
// the build automatically avoids legacy multidex when deploying to a device running
// API level 21 or higherβregardless of what you set as your minSdkVersion.
minSdkVersion 21
versionNameSuffix "-dev"
applicationIdSuffix '.dev'
}
prod {
// If you've configured the defaultConfig block for the release version of
// your app, you can leave this block empty and Gradle uses configurations in
// the defaultConfig block instead. You still need to create this flavor.
// Otherwise, all variants use the "dev" flavor configurations.
}
}
}
3) If your build configuration already uses product flavors to create different versions of your app, you can combine the "dev" and "prod" configurations with those flavors by using flavor dimensions. For example, if you already configure a "demo" and "full" flavor, you can use the following sample configuration to create combined flavors, such as "devDemo" and "prodFull":
android {
...
defaultConfig {...}
buildTypes {...}
// Specifies the flavor dimensions you want to use. The order in which you
// list each dimension determines its priority, from highest to lowest,
// when Gradle merges variant sources and configurations. You must assign
// each product flavor you configure to one of the flavor dimensions.
flavorDimensions "stage", "mode"
productFlavors {
dev {
dimension "stage"
minSdkVersion 21
versionNameSuffix "-dev"
applicationIdSuffix '.dev'
...
}
prod {
dimension "stage"
...
}
demo {
dimension "mode"
...
}
full {
dimension "mode"
...
}
}
}
4) Enable single-variant project sync
> Syncing your project with your build configuration is an important step in letting Android Studio understand how your project is structured. However, this process can be time-consuming for large projects. If your project uses multiple build variants, you can now optimize project syncs by limiting them to only the variant you have currently selected.
5) You need to use Android Studio 3.3 or higher with Android Gradle Plugin 3.3.0 or higher to enable this optimization. The optimization is enabled by default on all projects.
6) To enable this optimization manually, click File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle on a Mac) and select the Only sync the active variant checkbox.
> Syncing your project with your build configuration is an important step in letting Android Studio understand how your project is structured. However, this process can be time-consuming for large projects. If your project uses multiple build variants, you can now optimize project syncs by limiting them to only the variant you have currently selected.
5) You need to use Android Studio 3.3 or higher with Android Gradle Plugin 3.3.0 or higher to enable this optimization. The optimization is enabled by default on all projects.
6) To enable this optimization manually, click File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle on a Mac) and select the Only sync the active variant checkbox.
7) Avoid compiling unnecessary resources
Avoid compiling and packaging resources that you aren't testing (such as additional language localizations and screen-density resources). You can do that by only specifying one language resource and screen density for your "dev" flavor, as shown in the following sample:
android {
...
productFlavors {
dev {
...
// The following configuration limits the "dev" flavor to using
// English stringresources and xxhdpi screen-density resources.
resConfigs "en", "xxhdpi"
}
...
}
}
8) Disable Crashlytics for your debug builds
If you don't need to run a Crashlytics report, speed up your debug builds by disabling the plugin as follows:
android {
...
buildTypes {
debug {
ext.enableCrashlytics = false
}
}
You also need to disable the Crashlytics kit at runtime for debug builds by changing the way you initialize support for Fabric in your app, as shown below:
KOTLIN
JAVA
// Initializes Fabric for builds that don't use the debug build type.
Crashlytics.Builder()
.core(CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build()
.also { crashlyticsKit ->
Fabric.with(this, crashlyticsKit)
}
Avoid compiling and packaging resources that you aren't testing (such as additional language localizations and screen-density resources). You can do that by only specifying one language resource and screen density for your "dev" flavor, as shown in the following sample:
android {
...
productFlavors {
dev {
...
// The following configuration limits the "dev" flavor to using
// English stringresources and xxhdpi screen-density resources.
resConfigs "en", "xxhdpi"
}
...
}
}
8) Disable Crashlytics for your debug builds
If you don't need to run a Crashlytics report, speed up your debug builds by disabling the plugin as follows:
android {
...
buildTypes {
debug {
ext.enableCrashlytics = false
}
}
You also need to disable the Crashlytics kit at runtime for debug builds by changing the way you initialize support for Fabric in your app, as shown below:
KOTLIN
JAVA
// Initializes Fabric for builds that don't use the debug build type.
Crashlytics.Builder()
.core(CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build()
.also { crashlyticsKit ->
Fabric.with(this, crashlyticsKit)
}
9) Disable automatic build ID generation
If you want to use Crashlytics with your debug builds, you can still speed up incremental builds by preventing Crashlytics from updating app resources with its own unique build ID during every build. Because this build ID is stored in a resource file that is referenced by the manifest, disabling automatic build ID generation also allows you to use Apply Changes alongside Crashlytics for your debug builds.
To prevent Crashlytics from automatically updating its build ID, add the following to your build.gradle file:
android {
...
buildTypes {
debug {
ext.alwaysUpdateBuildId = false
}
}
10) Enable offline mode
If you are on a slow network connection, your build times may suffer when Gradle attempts to use network resources to resolve dependencies. You can tell Gradle to avoid using network resources by using only the artifacts that it has cached locally.
To use Gradle offline when building with Android Studio, proceed as follows:
Open the Preferences window by clicking File > Settings (on Mac, Android Studio > Preferences).
In the left pane, click Build, Execution, Deployment > Gradle.
Check the Offline work checkbox.
Click Apply or OK.
If you're building from the command line, pass the --offline option.
11) Create library modules
Look for code in your app that you can convert into an Android library module. Modularizing your code this way allows the build system to compile only the modules you modify and cache those outputs for future builds. It also makes parallel project execution more effective (when you enable that optimization).
@undercodeTesting
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
If you want to use Crashlytics with your debug builds, you can still speed up incremental builds by preventing Crashlytics from updating app resources with its own unique build ID during every build. Because this build ID is stored in a resource file that is referenced by the manifest, disabling automatic build ID generation also allows you to use Apply Changes alongside Crashlytics for your debug builds.
To prevent Crashlytics from automatically updating its build ID, add the following to your build.gradle file:
android {
...
buildTypes {
debug {
ext.alwaysUpdateBuildId = false
}
}
10) Enable offline mode
If you are on a slow network connection, your build times may suffer when Gradle attempts to use network resources to resolve dependencies. You can tell Gradle to avoid using network resources by using only the artifacts that it has cached locally.
To use Gradle offline when building with Android Studio, proceed as follows:
Open the Preferences window by clicking File > Settings (on Mac, Android Studio > Preferences).
In the left pane, click Build, Execution, Deployment > Gradle.
Check the Offline work checkbox.
Click Apply or OK.
If you're building from the command line, pass the --offline option.
11) Create library modules
Look for code in your app that you can convert into an Android library module. Modularizing your code this way allows the build system to compile only the modules you modify and cache those outputs for future builds. It also makes parallel project execution more effective (when you enable that optimization).
@undercodeTesting
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
Forwarded from TARJETAS PRO UNDER CARDING
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from TARJETAS PRO UNDER CARDING
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from TARJETAS PRO UNDER CARDING
This media is not supported in your browser
VIEW IN TELEGRAM
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦SPEEDUP WINDOWS 10 FAST TIPS
T.me/UndercodeTesting
1) Restart your PC. While this may seem an obvious step, many users
2) keep their machines running for weeks at a time. ...
3) Updates
4) Check startup apps.
5) Run Disk Cleanup.
6) Remove unused software.
7) Disable special effects.
8) Disable transparency effects.
9) Upgrade your RAM.
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦SPEEDUP WINDOWS 10 FAST TIPS
T.me/UndercodeTesting
1) Restart your PC. While this may seem an obvious step, many users
2) keep their machines running for weeks at a time. ...
3) Updates
4) Check startup apps.
5) Run Disk Cleanup.
6) Remove unused software.
7) Disable special effects.
8) Disable transparency effects.
9) Upgrade your RAM.
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ 2020 CVE VERIFIED BY UNDERCODE
> Pisay Online E-Learning System 1.0 - Remote Code Executio
> Pisay Online E-Learning System 1.0 - Remote Code Executio
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ FRESH PREMIUM PROXIES 2020 :
pinterest.com/undercode_Testing
125.94.44.129 1080 1 hour ago
5110 ms 7% (80) cn China Elite -
159.8.114.37 80 1 hour ago
452 ms 96% (46) fr France - Clichy Elite -
159.8.114.34 8123 1 hour ago
623 ms 100% (45) fr France - Clichy Elite -
218.204.153.156 443 1 hour ago
3201 ms 28% (74) cn China Elite -
34.92.94.5 8123 1 hour ago
937 ms 40% (10) us United States Elite -
36.75.130.126 80 1 hour ago
1387 ms 96% (21) id Indonesia Elite -
52.161.188.146 80 1 hour ago
202 ms 100% (42) us United States - Cheyenne Elite -
52.161.188.147 80 1 hour ago
204 ms 100% (47) us United States - Cheyenne Elite -
60.251.40.84 1080 1 hour ago
696 ms 48% (70) tw Taiwan - Keelung Elite -
62.213.14.166 8080 1 hour ago
3421 ms 25% (82) ru Russia - Samara Elite -
169.57.157.148 8123 1 hour ago
564 ms 23% (72) br Brazil - SΓ£o Paulo Elite -
182.138.160.189 8118 1 hour ago
2029 ms 17% (72) cn China Elite -
183.64.239.19 8060 1 hour ago
2298 ms 17% (74) cn China - Chongqing Elite -
182.191.84.39 80 1 hour ago
4028 ms 18% (75) pk Pakistan - Mardan Elite -
195.110.6.30 8118 1 hour ago
1224 ms 5% (66) ua Ukraine - Simferopol Elite -
190.210.8.70 8080 1 hour ago
3160 ms 6% (77) ar Argentina - Buenos Aires Elite -
200.106.55.125 80 1 hour ago
2564 ms 100% (16) pe Peru - Lima Elite -
103.242.44.80 8080 1 hour ago
3271 ms 33% (64) mn Mongolia Elite -
112.111.77.95 9999 1 hour ago
2010 ms 2% (96) cn China - Fuzhou Elite -
105.247.171.202 8080 1 hour ago
3787 ms 14% (84) za South Africa - Durban Elite -
159.8.114.37 8123 1 hour ago
455 ms 96% (47) fr France - Clichy Elite -
125.162.229.74 8080 1 hour ago
2615 ms 26% (31) id Indonesia Elite -
140.227.174.216 1000 1 hour ago
2648 ms 17% (79) jp Japan Elite -
144.76.214.159 1080 1 hour ago
3321 ms 43% (57) de Germany Elite -
197.216.2.14 8080 1 hour ago
951 ms 86% (56) ao Angola Elite -
213.96.26.189 8080 1 hour ago
1175 ms 96% (44) es Spain Elite -
47.113.108.233 8080 1 hour ago
1907 ms 37% (57) cn China Elite -
5.196.255.171 3128 1 hour ago
4094 ms 10% (81) fr France Elite -
101.37.118.54 8888 1 hour ago
1130 ms 70% (49) cn China - Hangzhou Elite -
18.163.28.22 1080 1 hour ago
1607 ms 68% (53) hk Hong Kong Elite -
118.89.91.108 8888 1 hour ago
1959 ms 33% (58) cn China - Beijing Elite -
119.206.222.160 80 1 hour ago
755 ms 59% (60) kr South Korea - Incheon Elite -
121.17.210.114 8060 1 hour ago
2745 ms 38% (8) cn China Elite -
125.59.223.27 8380 1 hour ago
759 ms 16% (79) hk Hong Kong Elite -
123.194.231.55 8197 1 hour ago
777 ms 25% (73) tw Taiwan - Taipei Elite -
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ FRESH PREMIUM PROXIES 2020 :
pinterest.com/undercode_Testing
125.94.44.129 1080 1 hour ago
5110 ms 7% (80) cn China Elite -
159.8.114.37 80 1 hour ago
452 ms 96% (46) fr France - Clichy Elite -
159.8.114.34 8123 1 hour ago
623 ms 100% (45) fr France - Clichy Elite -
218.204.153.156 443 1 hour ago
3201 ms 28% (74) cn China Elite -
34.92.94.5 8123 1 hour ago
937 ms 40% (10) us United States Elite -
36.75.130.126 80 1 hour ago
1387 ms 96% (21) id Indonesia Elite -
52.161.188.146 80 1 hour ago
202 ms 100% (42) us United States - Cheyenne Elite -
52.161.188.147 80 1 hour ago
204 ms 100% (47) us United States - Cheyenne Elite -
60.251.40.84 1080 1 hour ago
696 ms 48% (70) tw Taiwan - Keelung Elite -
62.213.14.166 8080 1 hour ago
3421 ms 25% (82) ru Russia - Samara Elite -
169.57.157.148 8123 1 hour ago
564 ms 23% (72) br Brazil - SΓ£o Paulo Elite -
182.138.160.189 8118 1 hour ago
2029 ms 17% (72) cn China Elite -
183.64.239.19 8060 1 hour ago
2298 ms 17% (74) cn China - Chongqing Elite -
182.191.84.39 80 1 hour ago
4028 ms 18% (75) pk Pakistan - Mardan Elite -
195.110.6.30 8118 1 hour ago
1224 ms 5% (66) ua Ukraine - Simferopol Elite -
190.210.8.70 8080 1 hour ago
3160 ms 6% (77) ar Argentina - Buenos Aires Elite -
200.106.55.125 80 1 hour ago
2564 ms 100% (16) pe Peru - Lima Elite -
103.242.44.80 8080 1 hour ago
3271 ms 33% (64) mn Mongolia Elite -
112.111.77.95 9999 1 hour ago
2010 ms 2% (96) cn China - Fuzhou Elite -
105.247.171.202 8080 1 hour ago
3787 ms 14% (84) za South Africa - Durban Elite -
159.8.114.37 8123 1 hour ago
455 ms 96% (47) fr France - Clichy Elite -
125.162.229.74 8080 1 hour ago
2615 ms 26% (31) id Indonesia Elite -
140.227.174.216 1000 1 hour ago
2648 ms 17% (79) jp Japan Elite -
144.76.214.159 1080 1 hour ago
3321 ms 43% (57) de Germany Elite -
197.216.2.14 8080 1 hour ago
951 ms 86% (56) ao Angola Elite -
213.96.26.189 8080 1 hour ago
1175 ms 96% (44) es Spain Elite -
47.113.108.233 8080 1 hour ago
1907 ms 37% (57) cn China Elite -
5.196.255.171 3128 1 hour ago
4094 ms 10% (81) fr France Elite -
101.37.118.54 8888 1 hour ago
1130 ms 70% (49) cn China - Hangzhou Elite -
18.163.28.22 1080 1 hour ago
1607 ms 68% (53) hk Hong Kong Elite -
118.89.91.108 8888 1 hour ago
1959 ms 33% (58) cn China - Beijing Elite -
119.206.222.160 80 1 hour ago
755 ms 59% (60) kr South Korea - Incheon Elite -
121.17.210.114 8060 1 hour ago
2745 ms 38% (8) cn China Elite -
125.59.223.27 8380 1 hour ago
759 ms 16% (79) hk Hong Kong Elite -
123.194.231.55 8197 1 hour ago
777 ms 25% (73) tw Taiwan - Taipei Elite -
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
Pinterest
UnderCode TESTING (UNDERCODE_TESTING) - Profile | Pinterest
UnderCode TESTING | πππππ£βπ ππ πππ€π₯πππ βπ ππ‘πππͺ:
Programming, Web & Applications makers, Host, bugs fix, Satellite Reicivers Programming..
Started Since 2011
Programming, Web & Applications makers, Host, bugs fix, Satellite Reicivers Programming..
Started Since 2011
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ HOW SECURE YOUR PSN ACCOUNT ?
T.me/UndercodeTesting
π¦ How to ensure the security of the account as much as possible?
Create passwords that are not easily cracked.
1) If the password is too simple, others may be able to guess the password and log in to your account. If you have disclosed the password to others and let the other party know your account details, it also means that your account is not secure. If someone else can log in to your account, they can change your PlayStation Network password and / or login ID so that you cannot log in. They can also use any saved payment method in their account to recharge the e-wallet.
2) The password of the PSN account is case sensitive and special characters are allowed. When choosing a password, we recommend that you pay attention to the following points as much as possible:
Make sure that the password will not be duplicated with your other passwords. Use a different password for each online service you use to avoid you entering these authentication information on an unsecured website.
3) Use numbers and capital letters.
4) Us e symbols (such as "$" or "%").
5) Don't use dictionary to find words, please use randomly combined characters.
6) If you want to use a dictionary to find words, use symbols instead of letters. Don't use obvious alternatives. For example, replacing the English letter "O" with the number 0 is very common, so it is easy to guess.
7) The longer the password, the better.
8) make sure that the password does not contain any part of the PSN account. For example, the password must never contain words or numbers similar to your online ID or other account details.
9) Never tell anyone the account details. Even your best friend or someone who claims to be a PlayStation employee is the same.
10) Save password and log
in automatically For convenience, you can save the account password on your device and enable automatic login to PlayStation Network. However, if other users can use your console, they can log in to the PlayStation Network and PlayStation Store through your account. If you want to save the password or enable automatic login, you can enable
the function of entering the password before payment , so that unless the purchaser knows the password, otherwise the amount in the electronic wallet cannot be spent.
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ HOW SECURE YOUR PSN ACCOUNT ?
T.me/UndercodeTesting
π¦ How to ensure the security of the account as much as possible?
Create passwords that are not easily cracked.
1) If the password is too simple, others may be able to guess the password and log in to your account. If you have disclosed the password to others and let the other party know your account details, it also means that your account is not secure. If someone else can log in to your account, they can change your PlayStation Network password and / or login ID so that you cannot log in. They can also use any saved payment method in their account to recharge the e-wallet.
2) The password of the PSN account is case sensitive and special characters are allowed. When choosing a password, we recommend that you pay attention to the following points as much as possible:
Make sure that the password will not be duplicated with your other passwords. Use a different password for each online service you use to avoid you entering these authentication information on an unsecured website.
3) Use numbers and capital letters.
4) Us e symbols (such as "$" or "%").
5) Don't use dictionary to find words, please use randomly combined characters.
6) If you want to use a dictionary to find words, use symbols instead of letters. Don't use obvious alternatives. For example, replacing the English letter "O" with the number 0 is very common, so it is easy to guess.
7) The longer the password, the better.
8) make sure that the password does not contain any part of the PSN account. For example, the password must never contain words or numbers similar to your online ID or other account details.
9) Never tell anyone the account details. Even your best friend or someone who claims to be a PlayStation employee is the same.
10) Save password and log
in automatically For convenience, you can save the account password on your device and enable automatic login to PlayStation Network. However, if other users can use your console, they can log in to the PlayStation Network and PlayStation Store through your account. If you want to save the password or enable automatic login, you can enable
the function of entering the password before payment , so that unless the purchaser knows the password, otherwise the amount in the electronic wallet cannot be spent.
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
Forwarded from PRIVATE UNDERCODE
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ How to Install Nginx on Ubuntu :
t.me/UndercOdeTesting
π¦ ππΌππ πππΈβπ :
1) Install Nginx on Your Ubuntu Server
Nginx is available in the Ubuntu package repositories simple. First, update the apt cache with the following command:
sudo apt update
and install Nginx by issuing:
sudo apt install nginx
Once the installation is completed Nginx will be automatically started.
You can make sure that Nginx service is running with the following command:
sudo systemctl status nginx
The output should look like below:
β nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-03-31 01:50:44 CDT; 8s ago
Main PID: 716 (nginx)
CGroup: /system.slice/nginx.service
ββ716 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
ββ717 nginx: worker process
ββ718 nginx: worker process
ββ719 nginx: worker process
ββ720 nginx: worker process
2) Open Firewall Ports
If you are using ufw you need to open HTTP port 80 and/or HTTPS port 433. Ufw comes with profiles based on the default ports of most common daemons and programs.
To open both Nginx ports run the following command:
sudo ufw allow 'Nginx Full'
To verify the change run:
sudo ufw status
The output should look like below:
Status: active
To Action From
-- ------ ----
Nginx Full ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
You can now open your browser, enter your server IP address into your browser address bar and you should see the default Nginx page.
3) Managing Nginx Service
You can manage the Nginx service same as any other systemd unit.
Start the nginx service with the following command:
sudo systemctl start nginx
Stop the service with:
sudo systemctl stop nginx
Restart the service with:
sudo systemctl restart nginx
Check the status of the service with:
sudo systemctl status nginx
Enable the service on system boot with:
sudo systemctl enable nginx
Disable the service on system boot with:
sudo systemctl disable nginx
4) Create a New Server Block
The default Nginx installation will have one server block enabled with a document root set to /var/www/html.
In this guide, we will create a new server block for the domain example.com and set the document root to /var/www/example.com.
First, create the domain document root with the following command:
sudo mkdir -p /var/www/example.com
and then create an index.html file with the following content:
sudo vim /var/www/example.com/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>example.com</title>
</head>
<body>
<h1>example.com server block</h1>
</body>
</html>
Next, create a new server block with the following content:
sudo vim /etc/nginx/sites-available/example.com.conf
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Activate the server block by creating a symbolic link :
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
5) Restart Nginx
Test the Nginx configuration and restart nginx:
sudo nginx -t
sudo systemctl restart nginx
6) Now if you enter example.com into your browser address bar you should see example.com server block.
this post Powered by Wiki
Tested by UndercOde on Lastest Version of Ubuntu
e n j o y
@UndercOdeOfficial
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ How to Install Nginx on Ubuntu :
t.me/UndercOdeTesting
π¦ ππΌππ πππΈβπ :
1) Install Nginx on Your Ubuntu Server
Nginx is available in the Ubuntu package repositories simple. First, update the apt cache with the following command:
sudo apt update
and install Nginx by issuing:
sudo apt install nginx
Once the installation is completed Nginx will be automatically started.
You can make sure that Nginx service is running with the following command:
sudo systemctl status nginx
The output should look like below:
β nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-03-31 01:50:44 CDT; 8s ago
Main PID: 716 (nginx)
CGroup: /system.slice/nginx.service
ββ716 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
ββ717 nginx: worker process
ββ718 nginx: worker process
ββ719 nginx: worker process
ββ720 nginx: worker process
2) Open Firewall Ports
If you are using ufw you need to open HTTP port 80 and/or HTTPS port 433. Ufw comes with profiles based on the default ports of most common daemons and programs.
To open both Nginx ports run the following command:
sudo ufw allow 'Nginx Full'
To verify the change run:
sudo ufw status
The output should look like below:
Status: active
To Action From
-- ------ ----
Nginx Full ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
You can now open your browser, enter your server IP address into your browser address bar and you should see the default Nginx page.
3) Managing Nginx Service
You can manage the Nginx service same as any other systemd unit.
Start the nginx service with the following command:
sudo systemctl start nginx
Stop the service with:
sudo systemctl stop nginx
Restart the service with:
sudo systemctl restart nginx
Check the status of the service with:
sudo systemctl status nginx
Enable the service on system boot with:
sudo systemctl enable nginx
Disable the service on system boot with:
sudo systemctl disable nginx
4) Create a New Server Block
The default Nginx installation will have one server block enabled with a document root set to /var/www/html.
In this guide, we will create a new server block for the domain example.com and set the document root to /var/www/example.com.
First, create the domain document root with the following command:
sudo mkdir -p /var/www/example.com
and then create an index.html file with the following content:
sudo vim /var/www/example.com/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>example.com</title>
</head>
<body>
<h1>example.com server block</h1>
</body>
</html>
Next, create a new server block with the following content:
sudo vim /etc/nginx/sites-available/example.com.conf
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Activate the server block by creating a symbolic link :
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
5) Restart Nginx
Test the Nginx configuration and restart nginx:
sudo nginx -t
sudo systemctl restart nginx
6) Now if you enter example.com into your browser address bar you should see example.com server block.
this post Powered by Wiki
Tested by UndercOde on Lastest Version of Ubuntu
e n j o y
@UndercOdeOfficial
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
Forwarded from PRIVATE UNDERCODE
β β β ο½ππ»βΊπ«Δπ¬πβ β β β
π¦ Securing ubuntu server System
Setting up the Firewall
instagram.com/UnderCodeTesting
π¦ Reference: "IPTables :
1) Linux has a built-in Firewall called netfilter, which works via the iptables tool. It uses 3 so-called iptables:
the filter table for filtering the IP packets,
the nat table for network address translation, and
the mangle table for modifying the IP packets.
2) Each table contains a set of chains. Each chain has rules.
3) For the filter table, there are 3 chains (of rules): INPUT (applied to incoming packets), OUTPUT (applied to the outgoing packets), and FORWARD (applied to incoming packets destined for another system). You can list all the current filter rules via the following command:
$ sudo iptables -L // -L to list the current filtering rules.
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
// The filter table has 3 chains with no rules
4) The iptables tool is complex. But, we are only concerned about the incoming IP packets, i.e., the INPUT chain of the filter table. To setup incoming packet-filtering via Webmin:
5) Goto "Webmin" β "Networking" β "Linux Firewall" β Select the option "Allow all traffic" and check "Enable firewall at boot time" β "Setup Firewall".
6) Select the iptable "Packet filtering (filter)". On a fresh installation, there shall be no rules under all the 3 chains: INPUT, OUTPUT and FORWARD.
}
7) Add the following rules, which are necessary for proper operations of the network interface.
8) Under "Incoming packets (INPUT)":
"Add Rule" β Set "Action to take" to "Accept" β For "Connection states", select "Equals" for both "Established" and "Related" β "Create".
9) This rule is necessary to allow incoming packets that are part of an already established IP connection. We will set the rules for new connection later.
10 ) The corresponding Unix command is:
$ sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
// -A INPUT: append this rule to the INPUT chain
// -m conntrack:
// -ctstate ESTABLISHED,RELATED: connection state
// -j ACCEPT: accept the packet
11) "Add Rule" β Set "Action to take" to "Accept" β For "Network protocol", select "Equals" for "ICMP" β "Create".
12) This rule allows incoming packets for ICMP diagnostics such as ping and traceroute.
13) "Add Rule" β Set "Action to take" to "Accept" β For "Incoming interface", select "Equals" for "lo" (local) β "Create".
14) This rule allows incoming packets for local loopback interface (or, localhost).
15)Next, create rules for each of the protocol services that are permitted to access the server. This depends on your specific environment.
Under "Incoming packets (INPUT)":
16) To allow incoming SSH connection, which runs on TCP port 22 by default: "Add Rule" β Set "Action to take" to "Accept" β For "Network protocol", select "Equals" for "TCP" β For "Destination TCP or UDP port", select "Equals" and set "Port(s)" to 22 β For "Connection states", select "Equals" for "NEW".
17) The corresponding Unix command is:
$ sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
// -A INPUT: append this rule to INPUT chain
// -p tcp: network protocol of tcp
// --dport ssh: ssh default port number (22)
// -j ACCEPT: accept the packet
π¦ Securing ubuntu server System
Setting up the Firewall
instagram.com/UnderCodeTesting
π¦ Reference: "IPTables :
1) Linux has a built-in Firewall called netfilter, which works via the iptables tool. It uses 3 so-called iptables:
the filter table for filtering the IP packets,
the nat table for network address translation, and
the mangle table for modifying the IP packets.
2) Each table contains a set of chains. Each chain has rules.
3) For the filter table, there are 3 chains (of rules): INPUT (applied to incoming packets), OUTPUT (applied to the outgoing packets), and FORWARD (applied to incoming packets destined for another system). You can list all the current filter rules via the following command:
$ sudo iptables -L // -L to list the current filtering rules.
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
// The filter table has 3 chains with no rules
4) The iptables tool is complex. But, we are only concerned about the incoming IP packets, i.e., the INPUT chain of the filter table. To setup incoming packet-filtering via Webmin:
5) Goto "Webmin" β "Networking" β "Linux Firewall" β Select the option "Allow all traffic" and check "Enable firewall at boot time" β "Setup Firewall".
6) Select the iptable "Packet filtering (filter)". On a fresh installation, there shall be no rules under all the 3 chains: INPUT, OUTPUT and FORWARD.
}
7) Add the following rules, which are necessary for proper operations of the network interface.
8) Under "Incoming packets (INPUT)":
"Add Rule" β Set "Action to take" to "Accept" β For "Connection states", select "Equals" for both "Established" and "Related" β "Create".
9) This rule is necessary to allow incoming packets that are part of an already established IP connection. We will set the rules for new connection later.
10 ) The corresponding Unix command is:
$ sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
// -A INPUT: append this rule to the INPUT chain
// -m conntrack:
// -ctstate ESTABLISHED,RELATED: connection state
// -j ACCEPT: accept the packet
11) "Add Rule" β Set "Action to take" to "Accept" β For "Network protocol", select "Equals" for "ICMP" β "Create".
12) This rule allows incoming packets for ICMP diagnostics such as ping and traceroute.
13) "Add Rule" β Set "Action to take" to "Accept" β For "Incoming interface", select "Equals" for "lo" (local) β "Create".
14) This rule allows incoming packets for local loopback interface (or, localhost).
15)Next, create rules for each of the protocol services that are permitted to access the server. This depends on your specific environment.
Under "Incoming packets (INPUT)":
16) To allow incoming SSH connection, which runs on TCP port 22 by default: "Add Rule" β Set "Action to take" to "Accept" β For "Network protocol", select "Equals" for "TCP" β For "Destination TCP or UDP port", select "Equals" and set "Port(s)" to 22 β For "Connection states", select "Equals" for "NEW".
17) The corresponding Unix command is:
$ sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
// -A INPUT: append this rule to INPUT chain
// -p tcp: network protocol of tcp
// --dport ssh: ssh default port number (22)
// -j ACCEPT: accept the packet