landing page done
|
@ -1,2 +1,3 @@
|
||||||
node_modules
|
node_modules
|
||||||
ip_ranges
|
ip_ranges
|
||||||
|
**/dist
|
|
@ -1,2 +1,3 @@
|
||||||
node_modules
|
node_modules
|
||||||
ip_ranges
|
ip_ranges
|
||||||
|
**/dist
|
|
@ -11,11 +11,16 @@
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@fastify/cors": "^9.0.1",
|
||||||
|
"@fastify/helmet": "^11.1.1",
|
||||||
|
"@fastify/rate-limit": "^9.1.0",
|
||||||
|
"@fastify/static": "^7.0.4",
|
||||||
"axios": "^1.6.8",
|
"axios": "^1.6.8",
|
||||||
"csv": "^6.3.9",
|
"csv": "^6.3.9",
|
||||||
"csv-parser": "^3.0.0",
|
"csv-parser": "^3.0.0",
|
||||||
"csv-writer": "^1.6.0",
|
"csv-writer": "^1.6.0",
|
||||||
"fastify": "^4.27.0",
|
"fastify": "^4.27.0",
|
||||||
|
"gulp": "^5.0.0",
|
||||||
"ip": "^2.0.1",
|
"ip": "^2.0.1",
|
||||||
"ip-address": "^9.0.5",
|
"ip-address": "^9.0.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
|
|
14
server.js
|
@ -2,11 +2,21 @@ import Fastify from "fastify";
|
||||||
import helmet from "@fastify/helmet";
|
import helmet from "@fastify/helmet";
|
||||||
import rateLimit from "@fastify/rate-limit";
|
import rateLimit from "@fastify/rate-limit";
|
||||||
import cors from "@fastify/cors";
|
import cors from "@fastify/cors";
|
||||||
|
import fastifyStatic from "@fastify/static";
|
||||||
|
import path from "path";
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
|
||||||
import { checkIp } from "./checkIp.js";
|
import { checkIp } from "./checkIp.js";
|
||||||
|
|
||||||
const fastify = Fastify();
|
const fastify = Fastify();
|
||||||
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||||
await fastify.register(helmet);
|
await fastify.register(fastifyStatic, {
|
||||||
|
root: path.join(__dirname, "./web/landing/dist"),
|
||||||
|
});
|
||||||
|
await fastify.register(helmet, {
|
||||||
|
contentSecurityPolicy: false,
|
||||||
|
noSniff: false,
|
||||||
|
});
|
||||||
|
|
||||||
await fastify.register(rateLimit, {
|
await fastify.register(rateLimit, {
|
||||||
max: (request) => (request.headers["x-api-key"] ? 100 : 1),
|
max: (request) => (request.headers["x-api-key"] ? 100 : 1),
|
||||||
|
|
After Width: | Height: | Size: 490 KiB |
After Width: | Height: | Size: 428 KiB |
After Width: | Height: | Size: 431 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 281 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 15 KiB |
|
@ -0,0 +1 @@
|
||||||
|
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
After Width: | Height: | Size: 364 KiB |
After Width: | Height: | Size: 126 KiB |
|
@ -0,0 +1,154 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Blog</title>
|
||||||
|
@@include('../meta.html') @@include('../link_deps.html')
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('../nav.html')
|
||||||
|
<div class="flex-grow w-full max-w-4xl px-4 py-10">
|
||||||
|
<h1 class="text-5xl font-bold mb-6 text-base-content">
|
||||||
|
Why Do Data Center IPs Matter?
|
||||||
|
</h1>
|
||||||
|
<img class="mb-6" src="/assets/bot-detection.webp" />
|
||||||
|
|
||||||
|
<p class="mb-6 object-cover text-base-content">
|
||||||
|
Data center IPs are essential components of the internet's
|
||||||
|
infrastructure. For software engineers, understanding the significance
|
||||||
|
of these IPs is crucial for enhancing cybersecurity, improving website
|
||||||
|
performance, and preventing malicious activities. This article explores
|
||||||
|
the importance of data center IPs, their impact on cybersecurity, and
|
||||||
|
the benefits of monitoring and managing them effectively.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
What Are Data Center IPs?
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Data center IPs are IP addresses assigned to servers within data
|
||||||
|
centers. These servers host websites, store data, and run various
|
||||||
|
applications. Managing and monitoring these IP addresses is essential
|
||||||
|
for maintaining the integrity and security of online services.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
The Importance of Bot Detection
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Bots can be beneficial, like search engine crawlers, or harmful, like
|
||||||
|
those used for DDoS attacks and data scraping. Detecting and managing
|
||||||
|
data center IPs is vital for identifying malicious bots and preventing
|
||||||
|
them from causing harm.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Impact on Cybersecurity
|
||||||
|
</h2>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Prevent Data Theft:</strong> Malicious bots often use data
|
||||||
|
center IPs to steal sensitive information. Monitoring these IPs helps
|
||||||
|
identify and block such threats.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Reduce Spam and Fraud:</strong> Bots can generate spam and
|
||||||
|
fraudulent activities. By tracking data center IPs, engineers can
|
||||||
|
reduce spam and protect their systems from fraud.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Improve Website Performance:</strong> Unchecked bots can
|
||||||
|
consume server resources, slowing down website performance. Effective
|
||||||
|
IP management ensures optimal performance by minimizing unwanted
|
||||||
|
traffic.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Benefits of Monitoring Data Center IPs
|
||||||
|
</h2>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Enhanced Security:</strong> Regular monitoring of data center
|
||||||
|
IPs helps in early detection of potential threats, enhancing overall
|
||||||
|
security.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Accurate Traffic Analysis:</strong> Understanding the source
|
||||||
|
of your web traffic allows for better analysis and insights, helping
|
||||||
|
you distinguish between human users and automated bots.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Improved User Experience:</strong> By blocking malicious bots,
|
||||||
|
you can ensure a smoother and more secure user experience on your
|
||||||
|
website.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Practical Insights and Best Practices
|
||||||
|
</h2>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Use IP Detection Tools:</strong> Implement tools and APIs that
|
||||||
|
provide real-time data on data center IPs. These tools can help in
|
||||||
|
quickly identifying and blocking malicious traffic.
|
||||||
|
</li>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
Example: Use services like MaxMind or IP2Location to get detailed
|
||||||
|
information about IP addresses.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Regular Updates:</strong> Ensure that your IP detection
|
||||||
|
databases are regularly updated to include new and removed data center
|
||||||
|
IPs.
|
||||||
|
</li>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
Example: Automate updates to your IP list using cron jobs or
|
||||||
|
scheduled tasks.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Rate Limiting:</strong> Apply rate limiting to control the
|
||||||
|
number of requests from a single IP address, preventing overload from
|
||||||
|
automated scripts.
|
||||||
|
</li>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
Example: Implement rate limiting in your web server configuration
|
||||||
|
(e.g., Nginx, Apache) or using middleware in your application (e.g.,
|
||||||
|
Express.js for Node.js).
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>CAPTCHAs and User Verification:</strong> Use CAPTCHAs and
|
||||||
|
other verification methods to ensure that the requests are coming from
|
||||||
|
legitimate users.
|
||||||
|
</li>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
Example: Integrate Google's reCAPTCHA or hCaptcha to differentiate
|
||||||
|
between human and bot traffic.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Data center IPs are a critical aspect of internet infrastructure,
|
||||||
|
playing a significant role in cybersecurity and website performance. By
|
||||||
|
understanding their importance and implementing effective monitoring and
|
||||||
|
management strategies, software engineers can protect their systems from
|
||||||
|
malicious bots, improve traffic analysis, and enhance user experience.
|
||||||
|
Regularly updating IP databases, using detection tools, and employing
|
||||||
|
best practices like rate limiting and user verification are essential
|
||||||
|
steps in managing data center IPs effectively.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@@include('../price_card.html') @@include('../footer.html')
|
||||||
|
@@include('../script_deps.html')
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,96 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Blog</title>
|
||||||
|
@@include('../meta.html') @@include('../link_deps.html')
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('../nav.html')
|
||||||
|
<div class="flex-grow w-full max-w-4xl px-4 py-10">
|
||||||
|
<h1 class="text-5xl font-bold mb-6 text-base-content">
|
||||||
|
Comparing Bots Detection Methods
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<img class="mb-6" src="/assets/compare.webp" />
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">Static IP Lists</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Static IP lists are one of the simplest methods for detecting data
|
||||||
|
center IPs. They are easy to implement and cost-effective since they can
|
||||||
|
be maintained in-house. However, they require regular updates to stay
|
||||||
|
current, as data centers frequently change their IP addresses. This
|
||||||
|
method can quickly become outdated, leading to limited accuracy and
|
||||||
|
potential scalability issues as the list grows.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Third-Party IP Databases
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Third-party IP databases offer comprehensive coverage and are usually
|
||||||
|
maintained and updated by the provider. This ensures a wider range of IP
|
||||||
|
addresses and more reliable updates than static lists. However, they can
|
||||||
|
be expensive, and you depend on the provider for accuracy and timely
|
||||||
|
updates. There may also be latency in reflecting recent changes in data
|
||||||
|
center IPs.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Machine Learning Models
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Machine learning models are highly advanced and adaptable. They can
|
||||||
|
learn and respond to new patterns and data, offering high accuracy in
|
||||||
|
detecting data center IPs. However, these models require significant
|
||||||
|
expertise to develop and maintain, and they demand substantial
|
||||||
|
computational resources. Additionally, they can be costly to implement
|
||||||
|
and are best suited for situations requiring near-perfect detection.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Real-Time IP Detection APIs (Your API)
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Our Real-Time IP Detection API provides a balanced approach, offering
|
||||||
|
real-time accuracy by reflecting immediate changes in data center IPs.
|
||||||
|
It is easy to integrate with existing systems through simple API calls
|
||||||
|
and scales well to handle large volumes of requests. This method reduces
|
||||||
|
the burden of maintaining IP lists or developing complex models and
|
||||||
|
ensures high accuracy with up-to-date information directly from the
|
||||||
|
source.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Why Choose Our API?
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
While advanced tools like machine learning and fingerprinting offer
|
||||||
|
superior accuracy, they come at a high cost and complexity. If your
|
||||||
|
primary goal is to prevent bots from sending requests to your servers or
|
||||||
|
stealing your content, our API offers more than enough functionality. It
|
||||||
|
is cost-effective, highly accurate for practical purposes, and easy to
|
||||||
|
use, providing real-time updates without the need for complex and
|
||||||
|
expensive solutions.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Selecting the right method for detecting data center IPs depends on your
|
||||||
|
specific needs and budget. Static IP lists and third-party databases are
|
||||||
|
straightforward but struggle with accuracy and maintenance. Machine
|
||||||
|
learning models provide high precision but are resource-intensive and
|
||||||
|
costly.
|
||||||
|
</p>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Our API offers a practical and cost-effective solution, combining
|
||||||
|
real-time accuracy, ease of integration, and scalability. For businesses
|
||||||
|
focused on stopping automated content theft and bot traffic, our API
|
||||||
|
provides the necessary features without the high costs and complexities
|
||||||
|
of more advanced methods.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@@include('../price_card.html') @@include('../footer.html')
|
||||||
|
@@include('../script_deps.html')
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,115 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Blog</title>
|
||||||
|
@@include('../meta.html') @@include('../link_deps.html')
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('../nav.html')
|
||||||
|
<div class="flex-grow w-full max-w-4xl px-4 py-10">
|
||||||
|
<h1 class="text-5xl font-bold mb-6 text-base-content">
|
||||||
|
The Importance of Regular Data Updates IP Detection
|
||||||
|
</h1>
|
||||||
|
<img class="mb-6" src="/assets/daily-update.webp" />
|
||||||
|
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Data centers constantly evolve, adding and removing servers frequently.
|
||||||
|
This dynamic environment means that the IP addresses associated with
|
||||||
|
data centers change regularly. Keeping your IP detection data up-to-date
|
||||||
|
is crucial for accurate identification and response.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
How Data Center Changes Impact IP Detection
|
||||||
|
</h2>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>New Servers:</strong> As data centers add new servers, they
|
||||||
|
acquire new IP addresses. If your IP detection data is outdated, you
|
||||||
|
might miss identifying these new addresses.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Removed Servers:</strong> Data centers also decommission
|
||||||
|
servers, making previously active IP addresses inactive. Outdated data
|
||||||
|
might still flag these IPs, leading to inaccuracies.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Reassigned IPs:</strong> IP addresses can be repurposed and
|
||||||
|
reassigned to different servers or even different data centers.
|
||||||
|
Without regular updates, your detection system might misidentify the
|
||||||
|
current status of an IP.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Benefits of Accurate IP Detection
|
||||||
|
</h2>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Enhanced Security:</strong> Accurate detection helps in
|
||||||
|
identifying and blocking threats from data centers effectively.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Reduced False Positives:</strong> Keeping data current ensures
|
||||||
|
legitimate users aren’t wrongly flagged due to outdated information.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Optimized Performance:</strong> Up-to-date data helps in
|
||||||
|
making informed decisions, improving the overall performance of your
|
||||||
|
security measures.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Implementing Regular Data Updates
|
||||||
|
</h2>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Automated Updates:</strong> Set up automated processes to
|
||||||
|
regularly update your IP detection database.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Reliable Data Sources:</strong> Partner with IP data providers
|
||||||
|
who frequently update their records to reflect changes in data
|
||||||
|
centers.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Continuous Monitoring:</strong> Regularly monitor your IP
|
||||||
|
detection system’s accuracy and adjust your update frequency as
|
||||||
|
needed.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">Use Cases</h2>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>E-commerce:</strong> Protect against fraudulent activities by
|
||||||
|
accurately tracking new and removed data center IPs.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Financial Services:</strong> Enhance security measures by
|
||||||
|
identifying newly added IPs from data centers potentially used for
|
||||||
|
malicious purposes.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Content Platforms:</strong> Prevent content scraping by
|
||||||
|
keeping up-to-date with changes in data center IP allocations.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
The dynamic nature of data centers, with their constant addition and
|
||||||
|
removal of servers, makes regular data updates essential for accurate IP
|
||||||
|
detection. By implementing automated updates, partnering with reliable
|
||||||
|
data sources, and continuously monitoring your system, you can maintain
|
||||||
|
the accuracy of your IP detection, enhance security, and reduce false
|
||||||
|
positives. Stay ahead of potential threats by ensuring your IP data
|
||||||
|
reflects the latest changes in data center infrastructure.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@@include('../price_card.html') @@include('../footer.html')
|
||||||
|
@@include('../script_deps.html')
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,187 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Blog</title>
|
||||||
|
@@include('../meta.html') @@include('../link_deps.html')
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('../nav.html')
|
||||||
|
<div class="flex-grow w-full max-w-4xl px-4 py-10">
|
||||||
|
<h1 class="text-5xl font-bold mb-6 text-base-content">
|
||||||
|
How to Integrate the API Data Center Check with Your Application
|
||||||
|
</h1>
|
||||||
|
<img class="mb-6" src="/assets/how-to-integrate.webp" />
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
You can integrate the API Data Center Check with your application by
|
||||||
|
making an API call to
|
||||||
|
<code>https://ipdatacentercheck.com/api/ip/:ip</code> authorized by
|
||||||
|
<code>x-api-key</code>. Below are examples in different programming
|
||||||
|
languages. The response will include the name of the data center, such
|
||||||
|
as <code>{datacenter: 'AWS'}</code>, if the IP is from a data center, or
|
||||||
|
<code>{datacenter: null}</code> if it is not.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="tabs">
|
||||||
|
<a class="tab tab-lifted tab-active" id="javascript-tab"
|
||||||
|
>JavaScript (Node.js)</a
|
||||||
|
>
|
||||||
|
<a class="tab tab-lifted" id="python-tab">Python</a>
|
||||||
|
<a class="tab tab-lifted" id="ruby-tab">Ruby</a>
|
||||||
|
<a class="tab tab-lifted" id="php-tab">PHP</a>
|
||||||
|
<a class="tab tab-lifted" id="java-tab">Java</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="javascript" class="tab-content">
|
||||||
|
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
|
||||||
|
<code>
|
||||||
|
const axios = require('axios');
|
||||||
|
|
||||||
|
const apiKey = 'your-api-key';
|
||||||
|
const ip = '8.8.8.8'; // Example IP
|
||||||
|
|
||||||
|
axios.get(`https://ipdatacentercheck.com/api/ip/${ip}`, {
|
||||||
|
headers: {
|
||||||
|
'x-api-key': apiKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(response => {
|
||||||
|
console.log(response.data); // {datacenter: 'AWS'} or {datacenter: null}
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error(error);
|
||||||
|
});
|
||||||
|
</code>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="python" class="tab-content hidden">
|
||||||
|
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
|
||||||
|
<code>
|
||||||
|
import requests
|
||||||
|
|
||||||
|
api_key = 'your-api-key'
|
||||||
|
ip = '8.8.8.8' // Example IP
|
||||||
|
|
||||||
|
url = f'https://ipdatacentercheck.com/api/ip/{ip}'
|
||||||
|
headers = {'x-api-key': api_key}
|
||||||
|
|
||||||
|
response = requests.get(url, headers=headers)
|
||||||
|
print(response.json()) // {'datacenter': 'AWS'} or {'datacenter': null}
|
||||||
|
</code>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="ruby" class="tab-content hidden">
|
||||||
|
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
|
||||||
|
<code>
|
||||||
|
require 'net/http'
|
||||||
|
require 'uri'
|
||||||
|
require 'json'
|
||||||
|
|
||||||
|
api_key = 'your-api-key'
|
||||||
|
ip = '8.8.8.8' # Example IP
|
||||||
|
|
||||||
|
uri = URI.parse("https://ipdatacentercheck.com/api/ip/#{ip}")
|
||||||
|
request = Net::HTTP::Get.new(uri)
|
||||||
|
request["x-api-key"] = api_key
|
||||||
|
|
||||||
|
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
|
||||||
|
http.request(request)
|
||||||
|
end
|
||||||
|
|
||||||
|
puts JSON.parse(response.body) # {'datacenter': 'AWS'} or {'datacenter': null}
|
||||||
|
</code>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="php" class="tab-content hidden">
|
||||||
|
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
|
||||||
|
<code>
|
||||||
|
<?php
|
||||||
|
$api_key = 'your-api-key';
|
||||||
|
$ip = '8.8.8.8'; // Example IP
|
||||||
|
$url = "https://ipdatacentercheck.com/api/ip/$ip";
|
||||||
|
|
||||||
|
$options = [
|
||||||
|
"http" => [
|
||||||
|
"header" => "x-api-key: $api_key"
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
$context = stream_context_create($options);
|
||||||
|
$response = file_get_contents($url, false, $context);
|
||||||
|
$data = json_decode($response, true);
|
||||||
|
|
||||||
|
print_r($data); // ['datacenter' => 'AWS'] or ['datacenter' => null]
|
||||||
|
?>
|
||||||
|
</code>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="java" class="tab-content hidden">
|
||||||
|
<pre class="bg-gray-800 text-gray-200 p-4 rounded-lg overflow-auto">
|
||||||
|
<code>
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
try {
|
||||||
|
String apiKey = "your-api-key";
|
||||||
|
String ip = "8.8.8.8"; // Example IP
|
||||||
|
URL obj = new URL(url);
|
||||||
|
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
|
||||||
|
con.setRequestMethod("GET");
|
||||||
|
con.setRequestProperty("x-api-key", apiKey);
|
||||||
|
|
||||||
|
int responseCode = con.getResponseCode();
|
||||||
|
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
||||||
|
String inputLine;
|
||||||
|
StringBuffer response = new StringBuffer();
|
||||||
|
|
||||||
|
while ((inputLine = in.readLine()) != null) {
|
||||||
|
response.append(inputLine);
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
System.out.println(response.toString()); // {'datacenter': 'AWS'} or {'datacenter': null}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</code>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@@include('../price_card.html') @@include('../footer.html')
|
||||||
|
@@include('../script_deps.html')
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
function showTab(language) {
|
||||||
|
const tabs = document.querySelectorAll(".tab-content");
|
||||||
|
tabs.forEach((tab) => tab.classList.add("hidden"));
|
||||||
|
document.getElementById(language).classList.remove("hidden");
|
||||||
|
|
||||||
|
const tabLinks = document.querySelectorAll(".tab");
|
||||||
|
tabLinks.forEach((link) => {
|
||||||
|
link.classList.remove("tab-active");
|
||||||
|
});
|
||||||
|
document
|
||||||
|
.getElementById(`${language}-tab`)
|
||||||
|
.classList.add("tab-active");
|
||||||
|
}
|
||||||
|
|
||||||
|
const tabLinks = document.querySelectorAll(".tab");
|
||||||
|
tabLinks.forEach((link) => {
|
||||||
|
link.addEventListener("click", function () {
|
||||||
|
showTab(link.id.replace("-tab", ""));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,94 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Blog</title>
|
||||||
|
@@include('../meta.html') @@include('../link_deps.html')
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('../nav.html')
|
||||||
|
|
||||||
|
<div class="max-w-md">
|
||||||
|
<h2 class="text-2xl font-bold mt-4 mb-2 text-base-content">Blog Posts</h2>
|
||||||
|
<div class="mt-4">
|
||||||
|
<a href="/blog/bot-detection.html" class="text-primary text-white">
|
||||||
|
<div class="flex items-start space-x-4">
|
||||||
|
<img
|
||||||
|
src="/assets/bot-detection.webp"
|
||||||
|
alt="Blog Post 1 Image"
|
||||||
|
class="w-32 h-32 object-cover rounded-lg"
|
||||||
|
/>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-xl font-bold text-white">
|
||||||
|
Why Do Data Center IPs Matter?
|
||||||
|
</h3>
|
||||||
|
<p class="text-white">
|
||||||
|
Learn the importance of data center IPs, their impact on
|
||||||
|
cybersecurity, and how to manage them effectively.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4">
|
||||||
|
<a href="/blog/compare.html" class="text-primary text-white">
|
||||||
|
<div class="flex items-start space-x-4">
|
||||||
|
<img
|
||||||
|
src="/assets/compare.webp"
|
||||||
|
alt="Blog Post 1 Image"
|
||||||
|
class="w-32 h-32 object-cover rounded-lg"
|
||||||
|
/>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-xl font-bold text-white">
|
||||||
|
Comparing Bots Detection Methods
|
||||||
|
</h3>
|
||||||
|
<p class="text-white">
|
||||||
|
Explore cutting-edge bot detection methods and discover how our
|
||||||
|
Real-Time IP Detection API.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4">
|
||||||
|
<a href="/blog/daily-update.html" class="text-primary text-white">
|
||||||
|
<div class="flex items-start space-x-4">
|
||||||
|
<img
|
||||||
|
src="/assets/daily-update.webp"
|
||||||
|
alt="Blog Post 1 Image"
|
||||||
|
class="w-32 h-32 object-cover rounded-lg"
|
||||||
|
/>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-xl font-bold text-white">
|
||||||
|
The Importance of Regular Data Updates IP Detection
|
||||||
|
</h3>
|
||||||
|
<p class="text-white">
|
||||||
|
Discover why keeping your IP detection data current is vital for
|
||||||
|
security and efficiency.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4">
|
||||||
|
<a href="/blog/how-to-integrate.html" class="text-primary text-white">
|
||||||
|
<div class="flex items-start space-x-4">
|
||||||
|
<img
|
||||||
|
src="/assets/how-to-integrate.webp"
|
||||||
|
alt="Blog Post 1 Image"
|
||||||
|
class="w-32 h-32 object-cover rounded-lg"
|
||||||
|
/>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-xl font-bold text-white">How to use our API</h3>
|
||||||
|
<p class="text-white">
|
||||||
|
Effortlessly integrate API into your application to identify
|
||||||
|
data center origins of IP addresses.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4 w-full">@@include('../price_card.html')</div>
|
||||||
|
@@include('../footer.html') @@include('../script_deps.html')
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,190 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>How to Know If a Request Is Coming from a Server</title>
|
||||||
|
<link
|
||||||
|
href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
href="https://cdn.jsdelivr.net/npm/daisyui@1.14.0/dist/full.css"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
</head>
|
||||||
|
<body
|
||||||
|
class="bg-base-200 flex flex-col items-center min-h-screen"
|
||||||
|
data-theme="light"
|
||||||
|
>
|
||||||
|
<nav class="w-full bg-base-100 shadow-lg py-4">
|
||||||
|
<div class="container mx-auto flex justify-between items-center px-4">
|
||||||
|
<a href="#" class="text-xl font-bold text-base-content"
|
||||||
|
>API Data Center</a
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<a href="#" class="btn btn-ghost text-base-content">Home</a>
|
||||||
|
<a href="#" class="btn btn-ghost text-base-content">Blog</a>
|
||||||
|
<a href="#" class="btn btn-primary ml-2">Sign Up</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div class="flex-grow w-full max-w-4xl px-4 py-10">
|
||||||
|
<h1 class="text-5xl font-bold mb-6 text-base-content">
|
||||||
|
How to Know If a Request Is Coming from a Server
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">Introduction</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Understanding whether a request comes from a server or a typical user is
|
||||||
|
essential for managing web traffic and enhancing your site's security.
|
||||||
|
Server requests, often originating from data centers or automated
|
||||||
|
scripts, can impact your website's performance and may include
|
||||||
|
activities like content scraping or automated attacks. This article
|
||||||
|
explores various methods to detect server requests and offers practical
|
||||||
|
tips for effective implementation.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
IP Address Analysis
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
One of the most straightforward methods to identify server requests is
|
||||||
|
through IP address analysis. Data centers typically have known IP
|
||||||
|
ranges, which can be tracked using up-to-date IP databases.
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>How It Works:</strong> By checking if the IP address of a
|
||||||
|
request belongs to a known data center, you can determine its origin.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Practical Tip:</strong> Use a reliable IP database that is
|
||||||
|
regularly updated to ensure accuracy. Integrating an IP lookup API can
|
||||||
|
streamline this process and provide real-time data.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
User-Agent String Examination
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Another method is to examine the User-Agent string in the HTTP request
|
||||||
|
header. The User-Agent string provides information about the client
|
||||||
|
making the request, including the browser and operating system.
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>How It Works:</strong> Server requests often use generic or
|
||||||
|
default User-Agent strings, making them easier to spot.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Practical Tip:</strong> Implement logic to check for
|
||||||
|
suspicious User-Agent strings that do not match typical user patterns.
|
||||||
|
However, be aware that sophisticated bots can spoof User-Agent
|
||||||
|
strings, so this method should be used in conjunction with others.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Behavioural Analysis
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Behavioural analysis involves monitoring the patterns and behaviours of
|
||||||
|
requests. Automated server requests often show distinct behaviours that
|
||||||
|
differ from human users.
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>How It Works:</strong> Look for high request rates, access at
|
||||||
|
unusual times, or repetitive actions that are indicative of automated
|
||||||
|
scripts.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Practical Tip:</strong> Set up analytics to track request
|
||||||
|
patterns and flag anomalies. Use machine learning models if resources
|
||||||
|
allow, as they can adapt to detect new and evolving patterns over
|
||||||
|
time.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Real-Time Detection APIs
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Using real-time detection APIs can provide a robust solution for
|
||||||
|
identifying server requests. These APIs leverage multiple detection
|
||||||
|
methods, including IP analysis, User-Agent examination, and behavioural
|
||||||
|
patterns.
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>How It Works:</strong> Real-time detection APIs analyze
|
||||||
|
various factors in real-time to determine the origin of a request.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Practical Tip:</strong> Choose an API that offers
|
||||||
|
comprehensive coverage and regular updates. This can significantly
|
||||||
|
reduce the burden of maintaining your detection systems and ensure
|
||||||
|
high accuracy.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">
|
||||||
|
Best Practices for Implementation
|
||||||
|
</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Combining various detection methods and following best practices can
|
||||||
|
enhance the accuracy and effectiveness of identifying server requests.
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-6 text-base-content">
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Integrate Multiple Methods:</strong> Use a combination of IP
|
||||||
|
analysis, User-Agent checks, and behavioural analysis for a more
|
||||||
|
reliable detection system.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Regular Updates:</strong> Ensure your IP databases and
|
||||||
|
detection rules are regularly updated to reflect the latest data
|
||||||
|
center IP ranges and bot behaviours.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Rate Limiting:</strong> Implement rate limiting to control the
|
||||||
|
number of requests from a single IP address within a specific
|
||||||
|
timeframe. This can help mitigate the impact of automated server
|
||||||
|
requests.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>CAPTCHA Implementation:</strong> Use CAPTCHA challenges to
|
||||||
|
verify if the request is from a human user, especially when suspicious
|
||||||
|
activity is detected.
|
||||||
|
</li>
|
||||||
|
<li class="mb-2">
|
||||||
|
<strong>Continuous Monitoring:</strong> Set up continuous monitoring
|
||||||
|
of your web traffic to quickly identify and respond to unusual
|
||||||
|
patterns.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-3xl font-bold mb-4 text-base-content">Conclusion</h2>
|
||||||
|
<p class="mb-6 text-base-content">
|
||||||
|
Effectively detecting whether a request comes from a server is crucial
|
||||||
|
for maintaining your website's performance and security. By utilizing
|
||||||
|
methods like IP address analysis, User-Agent string examination,
|
||||||
|
behavioural analysis, and real-time detection APIs, you can accurately
|
||||||
|
identify and manage server requests. Implementing these strategies and
|
||||||
|
best practices will help protect your site from unwanted automated
|
||||||
|
traffic and provide a better experience for your legitimate users.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<footer class="bg-base-100 w-full py-4">
|
||||||
|
<div class="container mx-auto text-center">
|
||||||
|
<a href="privacy.html" class="text-base-content">Privacy Policy</a>
|
||||||
|
<span class="mx-2">|</span>
|
||||||
|
<a href="terms.html" class="text-base-content">Terms of Service</a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.js"></script>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/daisyui@1.14.0/dist/full.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<footer class="bg-base-100 w-full py-4 mt-10">
|
||||||
|
<div class="container mx-auto text-center">
|
||||||
|
<a href="/privacy.html" class="text-base-content">Privacy Policy</a>
|
||||||
|
<span class="mx-2">|</span>
|
||||||
|
<a href="/terms.html" class="text-base-content">Terms of Service</a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
|
@ -0,0 +1,22 @@
|
||||||
|
const gulp = require("gulp");
|
||||||
|
const fileInclude = require("gulp-file-include");
|
||||||
|
|
||||||
|
gulp.task("html", function () {
|
||||||
|
return gulp
|
||||||
|
.src(["**/*.html"])
|
||||||
|
.pipe(
|
||||||
|
fileInclude({
|
||||||
|
prefix: "@@",
|
||||||
|
basepath: "@file",
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.pipe(gulp.dest("dist"));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task("copy-assets", function () {
|
||||||
|
return gulp
|
||||||
|
.src("assets/**/*", { encoding: false })
|
||||||
|
.pipe(gulp.dest("dist/assets"));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task("default", gulp.series("html", "copy-assets"));
|
|
@ -0,0 +1,253 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Check API Data Center</title>
|
||||||
|
@@include('meta.html') @@include('link_deps.html')
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('nav.html')
|
||||||
|
<div class="flex-grow flex flex-col items-center justify-center">
|
||||||
|
<div class="py-10">
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="text-5xl font-bold mb-5 text-base-content">
|
||||||
|
Check IP Data Center
|
||||||
|
</h1>
|
||||||
|
<p class="text-lg mb-8 text-base-content">
|
||||||
|
Detect and block requests from known data centers to prevent
|
||||||
|
malicious activities.
|
||||||
|
</p>
|
||||||
|
<div class="flex justify-center mb-6">
|
||||||
|
<input
|
||||||
|
id="ip-to-check"
|
||||||
|
type="text"
|
||||||
|
placeholder="Enter API address"
|
||||||
|
class="input input-bordered input-primary w-full max-w-xs"
|
||||||
|
/>
|
||||||
|
<button id="check-btn" class="btn btn-primary ml-2">Check</button>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p class="text-sm text-base-content mb-10">
|
||||||
|
Try it out by entering an API address above.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p id="results" class="text-base-content mb-10"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@@include('price_card.html')
|
||||||
|
<div
|
||||||
|
class="bg-base-100 shadow-lg rounded-lg p-6 mt-10 w-full max-w-md mx-auto"
|
||||||
|
>
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-base-content">
|
||||||
|
Why Use Our API?
|
||||||
|
</h2>
|
||||||
|
<ul class="space-y-4 text-base-content">
|
||||||
|
<li class="flex items-start">
|
||||||
|
<svg
|
||||||
|
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
<span
|
||||||
|
>Reliable and accurate detection of data center IP
|
||||||
|
addresses.</span
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li class="flex items-start">
|
||||||
|
<svg
|
||||||
|
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
<span
|
||||||
|
>High request rate limit to support your application's
|
||||||
|
needs.</span
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li class="flex items-start">
|
||||||
|
<svg
|
||||||
|
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
<span>Easy integration with your existing systems.</span>
|
||||||
|
</li>
|
||||||
|
<li class="flex items-start">
|
||||||
|
<svg
|
||||||
|
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
<span>Affordable pricing with no hidden fees.</span>
|
||||||
|
</li>
|
||||||
|
<li class="flex items-start">
|
||||||
|
<svg
|
||||||
|
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
<span
|
||||||
|
>Expert support to help you get the most out of our API.</span
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li class="flex items-start">
|
||||||
|
<svg
|
||||||
|
class="w-6 h-6 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
<span
|
||||||
|
>Regular updates and improvements based on user feedback.</span
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="bg-base-100 shadow-lg rounded-lg p-6 mt-10 w-full max-w-md mx-auto"
|
||||||
|
>
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-base-content">FAQ</h2>
|
||||||
|
<ul class="space-y-4 text-base-content">
|
||||||
|
<li>
|
||||||
|
<h3 class="font-semibold">
|
||||||
|
How do I integrate the API with my application?
|
||||||
|
</h3>
|
||||||
|
<p>
|
||||||
|
To integrate our API with your application, you need to include
|
||||||
|
the provided x-api-key in your request headers.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3 class="font-semibold">
|
||||||
|
How accurate is the data center detection?
|
||||||
|
</h3>
|
||||||
|
<p>
|
||||||
|
Our data center detection is highly accurate. We maintain an
|
||||||
|
extensive database of IP addresses from major data centers. You
|
||||||
|
can view the full list here.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3 class="font-semibold">
|
||||||
|
What happens if I exceed my request limit?
|
||||||
|
</h3>
|
||||||
|
<p>
|
||||||
|
If you exceed your request limit, your requests will be
|
||||||
|
rejected. We provide response headers x-ratelimit-limit,
|
||||||
|
x-ratelimit-remaining, and x-ratelimit-reset to help you manage
|
||||||
|
your usage.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3 class="font-semibold">Is there a free trial available?</h3>
|
||||||
|
<p>
|
||||||
|
Yes, we offer a free trial that allows you to make 1 request per
|
||||||
|
second.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3 class="font-semibold">What kind of support is included?</h3>
|
||||||
|
<p>
|
||||||
|
Once you create an account, you can access our support team
|
||||||
|
directly through the chat feature in your dashboard.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3 class="font-semibold">How often is the data updated?</h3>
|
||||||
|
<p>
|
||||||
|
Our data is updated daily to ensure accuracy and reliability.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3 class="font-semibold">
|
||||||
|
Can I get a custom plan for higher request rates?
|
||||||
|
</h3>
|
||||||
|
<p>
|
||||||
|
Yes, we offer custom plans for higher request rates. Please
|
||||||
|
contact us to discuss your specific needs and we will tailor a
|
||||||
|
solution for you.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@@include('footer.html') @@include('script_deps.html')
|
||||||
|
<script>
|
||||||
|
const resultsEl = document.getElementById("results");
|
||||||
|
document.getElementById("check-btn").addEventListener("click", () => {
|
||||||
|
const ip = document.getElementById("ip-to-check").value;
|
||||||
|
fetch(`/api/ip/${ip}`)
|
||||||
|
.then((response) => {
|
||||||
|
if (response.ok) {
|
||||||
|
return response.json();
|
||||||
|
}
|
||||||
|
response
|
||||||
|
.json()
|
||||||
|
.then(({ message }) => (resultsEl.innerHTML = message));
|
||||||
|
})
|
||||||
|
.then(({ datacenter }) => {
|
||||||
|
if (datacenter) {
|
||||||
|
resultsEl.innerHTML = `🤖 This IP is from ${datacenter}`;
|
||||||
|
} else {
|
||||||
|
resultsEl.innerHTML = `🧑💻 This IP is not from a datacenter`;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error) => console.log(error));
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<link
|
||||||
|
href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
href="https://cdn.jsdelivr.net/npm/daisyui@1.14.0/dist/full.css"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="180x180"
|
||||||
|
href="/assets/favicon/apple-touch-icon.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="32x32"
|
||||||
|
href="/assets/favicon/favicon-32x32.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="16x16"
|
||||||
|
href="/assets/favicon/favicon-16x16.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="192x192"
|
||||||
|
href="/assets/favicon/android-chrome-192x192.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="512x512"
|
||||||
|
href="/assets/favicon/android-chrome-512x512.png"
|
||||||
|
/>
|
||||||
|
<link rel="shortcut icon" href="/assets/favicon/favicon.ico" />
|
||||||
|
<meta name="theme-color" content="#ffffff" />
|
|
@ -0,0 +1,16 @@
|
||||||
|
<nav class="w-full bg-base-100 shadow-lg py-4">
|
||||||
|
<div class="container mx-auto flex justify-between items-center px-4">
|
||||||
|
<a
|
||||||
|
href="/index.html"
|
||||||
|
class="flex items-center text-xl font-bold text-base-content"
|
||||||
|
>
|
||||||
|
<img src="/assets/logo.png" alt="Logo" class="mr-2 h-6" />
|
||||||
|
<!-- Logo added here -->
|
||||||
|
Ip Data Center Check
|
||||||
|
</a>
|
||||||
|
<div>
|
||||||
|
<a href="/blog" class="btn btn-ghost text-base-content">Blog</a>
|
||||||
|
<a href="/signup" class="btn btn-primary ml-2">Sign Up</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"name": "landing",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "gulpfile.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"gulp": "^5.0.0",
|
||||||
|
"gulp-file-include": "^2.3.0",
|
||||||
|
"http-server": "^14.1.1"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,61 @@
|
||||||
|
<div class="bg-base-100 shadow-lg rounded-lg p-6 w-full max-w-md mx-auto">
|
||||||
|
<div class="text-center mb-4">
|
||||||
|
<p class="text-6xl font-extrabold my-2">
|
||||||
|
$20<span class="text-2xl">/month</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<ul class="text-left mb-6 text-base-content space-y-2">
|
||||||
|
<li class="flex items-center">
|
||||||
|
<svg
|
||||||
|
class="w-5 h-5 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
100 requests/second
|
||||||
|
</li>
|
||||||
|
<li class="flex items-center">
|
||||||
|
<svg
|
||||||
|
class="w-5 h-5 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
Unlimited IP checks
|
||||||
|
</li>
|
||||||
|
<li class="flex items-center">
|
||||||
|
<svg
|
||||||
|
class="w-5 h-5 text-primary flex-shrink-0 mr-2"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
d="M5 13l4 4L19 7"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
Email support
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<button class="btn btn-primary w-full">Get Started</button>
|
||||||
|
</div>
|
|
@ -0,0 +1,163 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Privacy Policy</title>
|
||||||
|
@@include('meta.html') @@include('link_deps.html')
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('nav.html')
|
||||||
|
<div
|
||||||
|
class="flex-grow flex flex-col items-center justify-center w-full max-w-4xl px-4 py-10"
|
||||||
|
>
|
||||||
|
<h1 class="text-5xl font-bold mb-10 text-base-content">Privacy Policy</h1>
|
||||||
|
<div
|
||||||
|
class="bg-base-100 shadow-lg rounded-lg p-6 w-full text-base-content"
|
||||||
|
>
|
||||||
|
<p class="mb-4">
|
||||||
|
Your privacy is important to us. It is API Data Center's policy to
|
||||||
|
respect your privacy regarding any information we may collect from you
|
||||||
|
across our website,
|
||||||
|
<a href="#" class="text-primary">https://www.yourwebsite.com</a>, and
|
||||||
|
other sites we own and operate.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">1. Information We Collect</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
We only collect information about you if we have a reason to do so –
|
||||||
|
for example, to provide our services, to communicate with you, or to
|
||||||
|
make our services better.
|
||||||
|
</p>
|
||||||
|
<p class="mb-4">
|
||||||
|
We collect information in three ways: if and when you provide
|
||||||
|
information to us, automatically through operating our services, and
|
||||||
|
from outside sources. Here is the information we collect:
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-4">
|
||||||
|
<li>Log data</li>
|
||||||
|
<li>Device information</li>
|
||||||
|
<li>IP address</li>
|
||||||
|
<li>Cookies and other tracking technologies</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">2. How We Use Information</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
We use the information we collect in various ways, including to:
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-4">
|
||||||
|
<li>Provide, operate, and maintain our website</li>
|
||||||
|
<li>Improve, personalize, and expand our website</li>
|
||||||
|
<li>Understand and analyze how you use our website</li>
|
||||||
|
<li>Develop new products, services, features, and functionality</li>
|
||||||
|
<li>
|
||||||
|
Communicate with you, either directly or through one of our
|
||||||
|
partners, including for customer service, to provide you with
|
||||||
|
updates and other information relating to the website, and for
|
||||||
|
marketing and promotional purposes
|
||||||
|
</li>
|
||||||
|
<li>Process your transactions and manage your orders</li>
|
||||||
|
<li>Find and prevent fraud</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">3. Sharing Information</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
We do not share your personal information with anyone except to comply
|
||||||
|
with the law, develop our products, or protect our rights.
|
||||||
|
</p>
|
||||||
|
<p class="mb-4">
|
||||||
|
We may share information about you in the following ways:
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-4">
|
||||||
|
<li>
|
||||||
|
With third-party vendors, consultants, and other service providers
|
||||||
|
who need access to such information to carry out work on our behalf
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
To comply with laws or to respond to lawful requests and legal
|
||||||
|
process
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
To protect the rights and property of API Data Center, our agents,
|
||||||
|
customers, and others, including to enforce our agreements,
|
||||||
|
policies, and terms of use
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
In an emergency to protect the personal safety of API Data Center,
|
||||||
|
its customers, or any person
|
||||||
|
</li>
|
||||||
|
<li>With your consent</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">4. Data Retention</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
We will retain your information only for as long as is necessary for
|
||||||
|
the purposes set out in this policy. We will retain and use your
|
||||||
|
information to the extent necessary to comply with our legal
|
||||||
|
obligations, resolve disputes, and enforce our policies.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">5. Security</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
The security of your information is important to us. We use
|
||||||
|
commercially acceptable means to protect your personal information,
|
||||||
|
but remember that no method of transmission over the Internet, or
|
||||||
|
method of electronic storage is 100% secure and reliable, and we
|
||||||
|
cannot guarantee its absolute security.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">6. Your Data Protection Rights</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
Depending on your location, you may have the following rights
|
||||||
|
regarding your personal data:
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-4">
|
||||||
|
<li>
|
||||||
|
The right to access – You have the right to request copies of your
|
||||||
|
personal data.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The right to rectification – You have the right to request that we
|
||||||
|
correct any information you believe is inaccurate or complete
|
||||||
|
information you believe is incomplete.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The right to erasure – You have the right to request that we erase
|
||||||
|
your personal data, under certain conditions.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The right to restrict processing – You have the right to request
|
||||||
|
that we restrict the processing of your personal data, under certain
|
||||||
|
conditions.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The right to object to processing – You have the right to object to
|
||||||
|
our processing of your personal data, under certain conditions.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The right to data portability – You have the right to request that
|
||||||
|
we transfer the data that we have collected to another organization,
|
||||||
|
or directly to you, under certain conditions.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">
|
||||||
|
7. Changes to This Privacy Policy
|
||||||
|
</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
We may update our Privacy Policy from time to time. We will notify you
|
||||||
|
of any changes by posting the new Privacy Policy on this page. You are
|
||||||
|
advised to review this Privacy Policy periodically for any changes.
|
||||||
|
Changes to this Privacy Policy are effective when they are posted on
|
||||||
|
this page.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">8. Contact Us</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
If you have any questions about this Privacy Policy, please contact
|
||||||
|
us.
|
||||||
|
<a href="#" class="text-primary">contact us</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@@include('footer.html') @@include('script_deps.html')
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1 @@
|
||||||
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
@ -0,0 +1,173 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
@@include('meta.html') @@include('link_deps.html')
|
||||||
|
<title>Terms and Conditions</title>
|
||||||
|
</head>
|
||||||
|
<body class="bg-base-200 flex flex-col items-center min-h-screen">
|
||||||
|
@@include('nav.html')
|
||||||
|
<div
|
||||||
|
class="flex-grow flex flex-col items-center justify-center w-full max-w-4xl px-4 py-10"
|
||||||
|
>
|
||||||
|
<h1 class="text-5xl font-bold mb-10 text-base-content">
|
||||||
|
Terms and Conditions
|
||||||
|
</h1>
|
||||||
|
<div
|
||||||
|
class="bg-base-100 shadow-lg rounded-lg p-6 w-full text-base-content"
|
||||||
|
>
|
||||||
|
<h2 class="text-2xl font-bold mb-4">1. Introduction</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
Welcome to API Data Center. These terms and conditions outline the
|
||||||
|
rules and regulations for the use of our website and services.
|
||||||
|
</p>
|
||||||
|
<p class="mb-4">
|
||||||
|
By accessing this website, we assume you accept these terms and
|
||||||
|
conditions. Do not continue to use API Data Center if you do not agree
|
||||||
|
to all of the terms and conditions stated on this page.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">2. License</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
Unless otherwise stated, API Data Center and/or its licensors own the
|
||||||
|
intellectual property rights for all material on API Data Center. All
|
||||||
|
intellectual property rights are reserved. You may access this from
|
||||||
|
API Data Center for your own personal use subjected to restrictions
|
||||||
|
set in these terms and conditions.
|
||||||
|
</p>
|
||||||
|
<p class="mb-4">You must not:</p>
|
||||||
|
<ul class="list-disc list-inside mb-4">
|
||||||
|
<li>Republish material from API Data Center</li>
|
||||||
|
<li>Sell, rent, or sub-license material from API Data Center</li>
|
||||||
|
<li>Reproduce, duplicate, or copy material from API Data Center</li>
|
||||||
|
<li>Redistribute content from API Data Center</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">3. User Content</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
Parts of this website offer an opportunity for users to post and
|
||||||
|
exchange opinions and information in certain areas of the website. API
|
||||||
|
Data Center does not filter, edit, publish or review Comments prior to
|
||||||
|
their presence on the website. Comments do not reflect the views and
|
||||||
|
opinions of API Data Center, its agents and/or affiliates. Comments
|
||||||
|
reflect the views and opinions of the person who post their views and
|
||||||
|
opinions.
|
||||||
|
</p>
|
||||||
|
<p class="mb-4">
|
||||||
|
API Data Center reserves the right to monitor all Comments and to
|
||||||
|
remove any Comments which can be considered inappropriate, offensive,
|
||||||
|
or causes breach of these Terms and Conditions.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">4. Hyperlinking to our Content</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
The following organizations may link to our Website without prior
|
||||||
|
written approval:
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-4">
|
||||||
|
<li>Government agencies</li>
|
||||||
|
<li>Search engines</li>
|
||||||
|
<li>News organizations</li>
|
||||||
|
<li>
|
||||||
|
Online directory distributors may link to our Website in the same
|
||||||
|
manner as they hyperlink to the Websites of other listed businesses
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
System wide Accredited Businesses except soliciting non-profit
|
||||||
|
organizations, charity shopping malls, and charity fundraising
|
||||||
|
groups which may not hyperlink to our Web site
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mb-4">
|
||||||
|
These organizations may link to our home page, to publications or to
|
||||||
|
other Website information so long as the link: (a) is not in any way
|
||||||
|
deceptive; (b) does not falsely imply sponsorship, endorsement or
|
||||||
|
approval of the linking party and its products and/or services; and
|
||||||
|
(c) fits within the context of the linking party’s site.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">5. iFrames</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
Without prior approval and written permission, you may not create
|
||||||
|
frames around our Webpages that alter in any way the visual
|
||||||
|
presentation or appearance of our Website.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">6. Content Liability</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
We shall not be hold responsible for any content that appears on your
|
||||||
|
Website. You agree to protect and defend us against all claims that is
|
||||||
|
rising on your Website. No link(s) should appear on any Website that
|
||||||
|
may be interpreted as libelous, obscene or criminal, or which
|
||||||
|
infringes, otherwise violates, or advocates the infringement or other
|
||||||
|
violation of, any third party rights.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">7. Your Privacy</h2>
|
||||||
|
<p class="mb-4">Please read our Privacy Policy.</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">8. Reservation of Rights</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
We reserve the right to request that you remove all links or any
|
||||||
|
particular link to our Website. You approve to immediately remove all
|
||||||
|
links to our Website upon request. We also reserve the right to amen
|
||||||
|
these terms and conditions and it’s linking policy at any time. By
|
||||||
|
continuously linking to our Website, you agree to be bound to and
|
||||||
|
follow these linking terms and conditions.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">
|
||||||
|
9. Removal of links from our website
|
||||||
|
</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
If you find any link on our Website that is offensive for any reason,
|
||||||
|
you are free to contact and inform us any moment. We will consider
|
||||||
|
requests to remove links but we are not obligated to or so or to
|
||||||
|
respond to you directly.
|
||||||
|
</p>
|
||||||
|
<p class="mb-4">
|
||||||
|
We do not ensure that the information on this website is correct, we
|
||||||
|
do not warrant its completeness or accuracy; nor do we promise to
|
||||||
|
ensure that the website remains available or that the material on the
|
||||||
|
website is kept up to date.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-bold mb-4">10. Disclaimer</h2>
|
||||||
|
<p class="mb-4">
|
||||||
|
To the maximum extent permitted by applicable law, we exclude all
|
||||||
|
representations, warranties and conditions relating to our website and
|
||||||
|
the use of this website. Nothing in this disclaimer will:
|
||||||
|
</p>
|
||||||
|
<ul class="list-disc list-inside mb-4">
|
||||||
|
<li>
|
||||||
|
limit or exclude our or your liability for death or personal injury;
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
limit or exclude our or your liability for fraud or fraudulent
|
||||||
|
misrepresentation;
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
limit any of our or your liabilities in any way that is not
|
||||||
|
permitted under applicable law; or
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
exclude any of our or your liabilities that may not be excluded
|
||||||
|
under applicable law.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mb-4">
|
||||||
|
The limitations and prohibitions of liability set in this Section and
|
||||||
|
elsewhere in this disclaimer: (a) are subject to the preceding
|
||||||
|
paragraph; and (b) govern all liabilities arising under the
|
||||||
|
disclaimer, including liabilities arising in contract, in tort and for
|
||||||
|
breach of statutory duty.
|
||||||
|
</p>
|
||||||
|
<p class="mb-4">
|
||||||
|
As long as the website and the information and services on the website
|
||||||
|
are provided free of charge, we will not be liable for any loss or
|
||||||
|
damage of any nature.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@@include('footer.html') @@include('script_deps.html')
|
||||||
|
</body>
|
||||||
|
</html>
|