diff --git a/README.md b/README.md index cb77653..9b8256d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -## 🌐 Say Goodbye to Domain Fees +## 🌐 Welcome to DigitalPlat Domain + +
+ logo +
Welcome to **DigitalPlat FreeDomain**, where we believe everyone deserves a digital identity. Whether you're an individual, or an organization, we’re offering free domain names to bring your ideas to life – no strings attached! @@ -8,7 +12,7 @@ With FreeDomain, you’re free to register a unique domain and host it with your At **DigitalPlat FreeDomain**, we’re on a mission to make the web more accessible. We believe that the cost of a domain shouldn’t hold anyone back from creating a website. Our goal is to make the internet an open space where everyone can have their own place online, regardless of budget. -DigitalPlat is fiscally sponsored by The Hack Foundation, a 501(c)(3) nonprofit (EIN: 81-2908499). +> DigitalPlat FreeDomain is independently designed and maintained by [**Edward Hsing**](https://github.com/EdwardLab), founder of the DigitalPlat Foundation. --- @@ -18,6 +22,7 @@ DigitalPlat is fiscally sponsored by The Hack Foundation, a 501(c)(3) nonprofit - **.US.KG** - **.QZZ.IO** - **.XX.KG** +- **.QD.JE** _(More extensions coming soon!)_ @@ -29,13 +34,13 @@ Jump in and register your domain by visiting our site: ➡️ [DigitalPlat FreeDomain Dashboard](https://dash.domain.digitalplat.org/) -📝 [Read our full tutorial (work in progress)](./documents/tutorial/getting-started/1-register-account.md) +📝 [Read our tutorial](./documents/tutorial/index.md) --- ### 🌟 Trusted by Thousands -With over 350,000 domains already registered, DigitalPlat FreeDomain is a trusted choice for individuals and organizations alike. Join our growing community and claim your own free domain today! +With over 500,000 domains already registered, DigitalPlat FreeDomain is a trusted choice for individuals and organizations alike. Join our growing community and claim your own free domain today! --- @@ -47,17 +52,7 @@ Check [FAQ Page](./documents/domains/faq.md) ### 🤝 Join Our Community! -🆕 Join the official [DigitalPlat FreeDomain Telegram group](https://t.me/digitalplatdomain), [Discord server](https://discord.gg/ma4RZzMmVW) or [GitHub Discussion](https://github.com/DigitalPlatDev/FreeDomain/discussions) today! Be the first to know about the latest updates and happenings! Got questions? Facing challenges? Or simply want to show off your awesome builds? Don’t wait—become part of our community now! 🚀 - ---- - -### 💰 Help Us Keep Domains Free - -DigitalPlat is a nonprofit, and every little bit helps us keep offering free domains to more people. If you’d like to support us, even a $1 donation makes a difference! - -All donations are handled by The Hack Foundation and used strictly for nonprofit purposes, following US IRS regulations under section 501(c)(3). Your support helps us keep the internet open and accessible for everyone. - -[Donate Us Today! (Tax exemption in the US)](https://hcb.hackclub.com/donations/start/digitalplat) +🆕 Join the official [DigitalPlat FreeDomain Telegram group](https://t.me/digitalplatdomain), [Discord server](https://discord.gg/ma4RZzMmVW) today! Be the first to know about the latest updates and happenings! Got questions? Facing challenges? Or simply want to show off your awesome builds? Don’t wait—become part of our community now! 🚀 --- @@ -72,4 +67,14 @@ We might introduce more domain options and free hosting in the future to help as We take domain name abuse seriously and are committed to maintaining a safer and more open internet. Every report is carefully reviewed, and response times may vary from a few hours to several days, depending on the complexity of the case. Email: abusereport@digitalplat.org -Report Form: [Abuse Report Form](https://docs.google.com/forms/d/e/1FAIpQLSdCuhUBFynK4d2YZXptEhV4QHei9-FAk2WhKovrnZRx01lSIQ/viewform) + +--- + +## 🧠 Story + +This started as a small DNS experiment when I was 15, letting a few friends use subdomains. + +Over time, it grew into something people actually rely on, and running it turned out to be much harder than building it. + +I wrote a bit about how it evolved here: +https://dev.to/edwardhsing/i-bought-a-domain-at-15-now-it-powers-400000-users-7ol diff --git a/documents/tutorial/getting-started/1-register-account.md b/documents/tutorial/getting-started/1-register-account.md deleted file mode 100644 index 3207e89..0000000 --- a/documents/tutorial/getting-started/1-register-account.md +++ /dev/null @@ -1,42 +0,0 @@ -# Registering a DigitalPlat Domain Account - -This guide walks you through creating your account — the first step toward managing your free domains. - -## Step 1: Open the Registration Page - -Visit the following link in your browser: - -👉 [https://dash.domain.digitalplat.org/auth/register](https://dash.domain.digitalplat.org/auth/register) - -## Step 2: Fill in Your Account Information - -Complete the registration form with the following details: - -- **Username**: Choose a unique username. It will appear in your dashboard and WHOIS records. Use only alphanumeric characters if possible. -- **Password**: Set a strong password (recommended: at least 12 characters, including uppercase, lowercase, numbers, and symbols). -- **Email Address**: Provide a valid and frequently used email address. This will be used for password recovery, notifications, and WHOIS contact. - ⚠️ Make sure you have access to this email at all times. - -## Step 3: Enter WHOIS Information - -As required by global domain registration standards, you’ll need to submit basic WHOIS data: - -- **Full Name / Organization** -- **Address** -- **Phone Number** - -> 🔒 This information will be shown publicly in WHOIS queries by default. After registration, you can enable WHOIS Privacy Protection to hide it. - -## Step 4: Review and Accept Policies - -Before submitting the form, please **read and agree to** the following: - -- [Terms of Service](https://domain.digitalplat.org/terms-of-service/) -- [Privacy Policy](https://domain.digitalplat.org/privacy-policy) -- [Acceptable Use Policy (AUP)](https://domain.digitalplat.org/acceptable-use-policy/) - -Click **Register** only if you fully understand and accept all policies. - -## Registration Complete ✅ - -Once registered, you’ll be redirected to your dashboard. You're now ready to claim and manage your free domains! diff --git a/documents/tutorial/getting-started/1.1-register-account.md b/documents/tutorial/getting-started/1.1-register-account.md new file mode 100644 index 0000000..d3cbda1 --- /dev/null +++ b/documents/tutorial/getting-started/1.1-register-account.md @@ -0,0 +1,57 @@ +# Creating Your DigitalPlat Domain Account + +This is the first step. Once your account is ready, you’ll be able to claim and manage free domains from the dashboard. + +## Step 1: Open the Registration Page + +Open the registration page in your browser: + +👉 https://dash.domain.digitalplat.org/auth/register + +No login is required at this stage. + +## Step 2: Set Up Your Account + +Fill in the registration form with the following information. + +**Username** + Choose a unique username. This name will appear in your dashboard and in WHOIS records. + Stick to letters and numbers to avoid issues later. + +**Password** + Use a strong password. + At least 12 characters is recommended, including uppercase, lowercase, numbers, and symbols. + +**Email Address** + Use a real, frequently checked email address. + It’s required for password recovery, important notifications, and WHOIS contact. + +Make sure you keep access to this email. Changing it later requires verification. + +## Step 3: Provide WHOIS Information + +Domain registration requires basic WHOIS details. Please enter: + +- Full name or organization name +- Address +- Phone number + +By default, this information is publicly visible in WHOIS lookups. + +You can enable WHOIS Privacy Protection in the dashboard after registration to hide these details. + +## Step 4: Read and Accept the Policies + +Before submitting, make sure you’ve read and agreed to the following documents: + +- Terms of Service +- Privacy Policy +- Acceptable Use Policy + +Only click **Register** if you understand and agree to all of them. + +## Done 🎉 + +After registration, you’ll be redirected to the dashboard. + +Your account is now ready, and you can start claiming and managing your free domains. diff --git a/documents/tutorial/getting-started/1.2-dns-hosting.md b/documents/tutorial/getting-started/1.2-dns-hosting.md new file mode 100644 index 0000000..9c2d14f --- /dev/null +++ b/documents/tutorial/getting-started/1.2-dns-hosting.md @@ -0,0 +1,110 @@ +# DNS Hosting + +After registering your DigitalPlat account, the next step is choosing a DNS hosting provider. + +DigitalPlat works with **any standard DNS provider**, but for beginners, we strongly recommend **Cloudflare**. It’s free, reliable, fast, and easy to use. + +This guide walks you through setting up DNS hosting with Cloudflare. + +## Why Cloudflare? + +Cloudflare is a popular DNS and security platform trusted by millions of websites worldwide. + +It’s a good choice because: + +- Free plan is enough for most users +- Clean and beginner-friendly interface +- Fast global DNS network +- No hidden limits for basic DNS usage + +You can always switch to another provider later. + +## Step 1: Create a Cloudflare Account + +Go to Cloudflare and create an account: + +👉 https://dash.cloudflare.com/sign-up + +![cloudflare-account-register](imgs/cloudflare-account-register.png) + +Use a real email address. You’ll need it to manage your DNS later. + +## Step 2: Add Your Domain to Cloudflare + +After logging in, click **Add a site** and enter your domain name. + +Example: + +``` +example.dpdns.org +``` + +![cloudflare-add-domain](imgs/cloudflare-add-domain.png) + +Select the **Free** plan when asked. + +![cloudflare-choose-plan](imgs/cloudflare-choose-plan.png) + +Cloudflare will automatically scan existing DNS records. + If your domain is new, this list may be empty. That’s fine. + +Continue to the next step. + +## Step 3: Update Nameservers + +Cloudflare will assign two nameservers to your domain, for example: + +``` +alice.ns.cloudflare.com +bob.ns.cloudflare.com +``` + +Go back to the **DigitalPlat dashboard**, open your domain settings, and replace the current nameservers with the Cloudflare ones. + +![cloudflare-setns](imgs/cloudflare-setns.png) + +![digitalplat-register-setns](imgs/digitalplat-register-setns.png) + +Save the changes. + +DNS propagation usually takes a few minutes, but in some cases it may take up to 24 hours. + +## Step 4: Verify DNS Is Active + +Once the nameservers are updated, Cloudflare will automatically detect the change. + +You’ll see your domain status become **Active** in the Cloudflare dashboard. + +At this point, Cloudflare is successfully hosting your DNS. + +## Step 5: Manage DNS Records + +In Cloudflare, open your domain and go to **DNS → Records**. + +![cloudflare-add-record](imgs/cloudflare-add-record.png) + +Here you can add records such as: + +- **A / AAAA** for pointing to an IP address +- **CNAME** for linking to another domain +- **TXT** for verification or services + +Changes usually take effect within seconds. + +## Alternative DNS Providers + +Cloudflare is recommended, but not required. + +If you already use another DNS provider, DigitalPlat also works with: + +- FreeDNS +- Hostry +- Any provider that supports custom nameservers + +Advanced users can even run their own DNS servers. + +## Next Step + +Now that DNS hosting is set up, you’re ready to connect your domain and start using it with services. + +Continue to the next guide to configure domain records and activation. \ No newline at end of file diff --git a/documents/tutorial/getting-started/imgs/cloudflare-account-register.png b/documents/tutorial/getting-started/imgs/cloudflare-account-register.png new file mode 100644 index 0000000..b1efe50 Binary files /dev/null and b/documents/tutorial/getting-started/imgs/cloudflare-account-register.png differ diff --git a/documents/tutorial/getting-started/imgs/cloudflare-add-domain.png b/documents/tutorial/getting-started/imgs/cloudflare-add-domain.png new file mode 100644 index 0000000..daa6ece Binary files /dev/null and b/documents/tutorial/getting-started/imgs/cloudflare-add-domain.png differ diff --git a/documents/tutorial/getting-started/imgs/cloudflare-add-record.png b/documents/tutorial/getting-started/imgs/cloudflare-add-record.png new file mode 100644 index 0000000..cd53a18 Binary files /dev/null and b/documents/tutorial/getting-started/imgs/cloudflare-add-record.png differ diff --git a/documents/tutorial/getting-started/imgs/cloudflare-choose-plan.png b/documents/tutorial/getting-started/imgs/cloudflare-choose-plan.png new file mode 100644 index 0000000..3fd2a81 Binary files /dev/null and b/documents/tutorial/getting-started/imgs/cloudflare-choose-plan.png differ diff --git a/documents/tutorial/getting-started/imgs/cloudflare-setns.png b/documents/tutorial/getting-started/imgs/cloudflare-setns.png new file mode 100644 index 0000000..9465b29 Binary files /dev/null and b/documents/tutorial/getting-started/imgs/cloudflare-setns.png differ diff --git a/documents/tutorial/getting-started/imgs/digitalplat-register-setns.png b/documents/tutorial/getting-started/imgs/digitalplat-register-setns.png new file mode 100644 index 0000000..939142e Binary files /dev/null and b/documents/tutorial/getting-started/imgs/digitalplat-register-setns.png differ diff --git a/documents/tutorial/getting-started/index.md b/documents/tutorial/getting-started/index.md new file mode 100644 index 0000000..7ddbd1b --- /dev/null +++ b/documents/tutorial/getting-started/index.md @@ -0,0 +1,47 @@ +# Getting Started + +This section helps you set up your first DigitalPlat domain from scratch. + +If this is your first time using DigitalPlat, follow the guides below in order. +Each step builds on the previous one. + +## What You’ll Set Up + +By the end of this section, you will have: + +- A DigitalPlat account +- DNS hosting configured for your domain +- Everything ready for domain activation and use + +No prior domain or DNS experience is required. + +## Guides + +### 1. Register a DigitalPlat Domain Account +Create your account and provide the required WHOIS information. + +→ [1.1-register-account.md](./1.1-register-account.md) + +### 2. Set Up DNS Hosting +Choose a DNS provider and configure nameservers. +This guide recommends Cloudflare for beginners. + +→ [1.2-dns-hosting.md](./1.2-dns-hosting.md) + +## Before You Start + +Make sure you have: + +- A valid email address +- Access to a DNS provider (Cloudflare is recommended) +- Basic understanding of what a domain is + +## What’s Next + +After completing these guides, you’ll be ready to: + +- Activate your domain +- Add DNS records +- Use your domain with websites, servers, or services + +Additional guides will be added as DigitalPlat evolves. \ No newline at end of file diff --git a/documents/tutorial/index.md b/documents/tutorial/index.md new file mode 100644 index 0000000..1f49a9f --- /dev/null +++ b/documents/tutorial/index.md @@ -0,0 +1,37 @@ +# Tutorials + +Welcome to the DigitalPlat documentation tutorials. + +These guides walk you through using DigitalPlat step by step, from first registration to advanced usage. + +If you’re new to DigitalPlat, start with **Getting Started**. + +## Getting Started + +This section is for first-time users. + +You’ll learn how to: + +- Create a DigitalPlat account +- Set up DNS hosting for your domain +- Prepare your domain for activation and use + +→ Go to: [Getting Started](./getting-started/index.md) + +(Other sections are working in progress.) + +## Who These Tutorials Are For + +These tutorials are designed for: + +- First-time domain users +- Developers hosting personal or project domains +- Open-source projects and nonprofits + +No prior DNS or domain experience is required. + +## Notes for Advanced Users + +If you already manage your own DNS or infrastructure, you can skip beginner sections and configure DigitalPlat directly. + +DigitalPlat works with any standard DNS provider and does not lock you into a specific platform. \ No newline at end of file diff --git a/opensource/frontend/domain_view.html b/opensource/frontend/domain_view.html index d34a989..08464da 100644 --- a/opensource/frontend/domain_view.html +++ b/opensource/frontend/domain_view.html @@ -5,221 +5,256 @@ Manage Your Domain: {{domain_name}} + {% include "ga.html" %} - - - - - + + + - -
-
-

Manage Your Domain: {{domain_name}}

-
-
-

Your Domain Information:

-
    -
  • Name: {{domain_name}}
  • -
  • Administrator: {{fullname}} ({{username}})
  • -
  • Renew: Always Free, renewal for the next year if there's less than 180 days left until expiry
  • -
  • Registration Date: {{regdate_show}}
  • -
  • Expire Date: {{expdate_show}}
  • -
-
-
-
    -
  • - NS Records -
  • -
  • - Renew -
  • -
  • - WHOIS Privacy Protection -
  • -
  • - Cancel This Domain -
  • -
-
-
-

The DNS server needs to be valid for the resolution to take effect and display correctly; otherwise, it will remain blank. Please allow up to several minutes for the NS records to update and appear after submission.

-
-
- - + +
+
+
+
+
+

Domain Management

+

Manage {{domain_name}}

+

Update nameservers, renew your domain, and control WHOIS privacy.

+
+
+ Owner: {{fullname}} + WHOIS Privacy Status: {{whois_protection_status}} +
+
+
+ +
+
+

Domain overview

+

Quick access to registration details and timelines.

+
+
+
Domain
+
{{domain_name}}
-
- - +
+
Administrator
+
{{fullname}} ({{username}})
-
- - +
+
Registration date
+
{{regdate_show}}
-
- - +
+
Expiration date
+
{{expdate_show}}
- - - -
-
-
- - -
-
-
-

WHOIS Privacy Protection is a service to protect your personal information from being publicly available through the WHOIS database. If you enable this service, your information won't be accessible through WHOIS queries.

-
Current Status: {{whois_protection_status}}
-
- - -
-
- - -
+
+ Free renewals are available within 180 days of expiry. Use a key to extend early by 2 years. +
+
-
-

To free up unused domain names, we're introducing a new feature: you can now cancel domain names that you no longer need (i.e., delete this domain). Once a domain is canceled, your registration limit will be reset, allowing you to register new domains. When you request a cancellation, your domain will be immediately removed from the DNS root. After the global DNS sync completes (typically within 5-30 minutes), the domain name will be available for registration by you or anyone else. Please note that once you cancel a domain name, you will lose all management rights to it. Once released, anyone can register the domain name. Proceed with caution, as we will not be able to help you retrieve the domain name once it is canceled.

- - - -
-
-
-
-
Confirm Domain Cancellation
- -
-
-

To confirm the cancellation of the domain, please enter the domain name {{domain_name}} below:

- -

Warning: This action is irreversible. Once canceled, the domain will be immediately available for registration by others.

-
-
-
- - -
- -
+ +
+
+ + + +
+ +
+

Changes may take a few minutes to propagate.

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+

Use valid nameserver hostnames (e.g., ns1.provider.com).

+ +
+
+
+ +
+
+
+

Free renewal window

+

Available when less than 180 days remain.

+
+ + +
+
+ +
+

Renew early with a KYC key

+

Each key adds 2 years of validity.

+
+ + + + +
+

+ Purchase keys at https://key.register.us.kg/. +

+
+
+

WHOIS Privacy hides your personal info in public WHOIS queries.

+
+ Current status: + {{whois_protection_status}} +
+
+ +
+
+ + +
+ +
+ + +
+
+
-
+
- - - - - - + \ No newline at end of file diff --git a/opensource/frontend/domainmgr.html b/opensource/frontend/domainmgr.html index 491eb78..268f49f 100644 --- a/opensource/frontend/domainmgr.html +++ b/opensource/frontend/domainmgr.html @@ -1,114 +1,127 @@ - - - US.KG Domain Dashboard - - - - - - - + + + Domain Dashboard + {% include "ga.html" %} + - + + - + +
+

Your domains

+

Manage and search through your registered domains.

+
-
-
-
-

Your Domains

+
+
+
+ +
+ + +
+ Showing 0 domains +
+
-
    + +
      {% for domain in domain_list %} -
    • - {{domain}} +
    • + + {{domain}} +
    • {% endfor %}
    + + +
-
+ + - - - + let itemsPerPage = 10; + let currentPage = 1; + let allDomains = []; + + function updateDomainCount() { + const visibleItems = document.querySelectorAll('.domain-item:not(.hidden)').length; + document.getElementById('domain-count').textContent = visibleItems; + } + + function paginateDomains() { + const filtered = allDomains.filter(item => !item.classList.contains('hidden')); + const totalPages = Math.ceil(filtered.length / itemsPerPage); + + filtered.forEach((item, index) => { + item.style.display = (index >= (currentPage - 1) * itemsPerPage && index < currentPage * itemsPerPage) ? '' : 'none'; + }); + + const pagination = document.getElementById('pagination'); + pagination.innerHTML = ''; + for (let i = 1; i <= totalPages; i++) { + const btn = document.createElement('button'); + btn.textContent = i; + btn.className = `mx-1 px-3 py-1 rounded-lg text-sm font-medium ${i === currentPage ? 'bg-slate-900 text-white' : 'bg-slate-100 text-slate-600'} hover:bg-slate-200`; + btn.onclick = () => { + currentPage = i; + paginateDomains(); + }; + pagination.appendChild(btn); + } + } + + function filterDomains() { + const search = document.getElementById('searchInput').value.toLowerCase(); + allDomains.forEach(item => { + const text = item.textContent.toLowerCase(); + item.classList.toggle('hidden', !text.includes(search)); + }); + currentPage = 1; + updateDomainCount(); + paginateDomains(); + } + + function changeItemsPerPage() { + itemsPerPage = parseInt(document.getElementById('perPageSelect').value); + currentPage = 1; + paginateDomains(); + } + + document.addEventListener('DOMContentLoaded', () => { + allDomains = Array.from(document.querySelectorAll('.domain-item')); + updateDomainCount(); + paginateDomains(); + }); + \ No newline at end of file diff --git a/opensource/frontend/domainreg.html b/opensource/frontend/domainreg.html index d9f5535..81dcdb1 100644 --- a/opensource/frontend/domainreg.html +++ b/opensource/frontend/domainreg.html @@ -1,94 +1,87 @@ - - - US.KG Domain Dashboard - - + + + DigitalPlat FreeDomain Dashboard + {% include "ga.html" %} - - - - - - - - + {% include "partials/modern_styles.html" %} - -
+ +
+
+
+

Domain registration

Get a new domain

-

By continuing you agree to our Terms of Service, Privacy Policy and Acceptable Use Policy

-

Let's check if your domain name is available

-
- -
- -
.us.kg
+

Review the policies below and submit your desired domain name.

+
+
+ +
+
+
+
+

Required policy acknowledgements

+

You must read and agree to the following terms to proceed.

+
+ +
+ Terms of Service (TOS) + Privacy Policy + DigitalPlat Privacy Policy + Acceptable Use Policy (AUP) +

Additional policies for US.KG and XX.KG:

+ CCLTD.KG Zone Regulations +

Additional policies for DPDNS.ORG:

+ PIR NGO.ONG Policy + PIR Anti-Abuse Policy +

Additional policies for QZZ.IO:

+ NIC.IO Rules + NIC.IO Terms and Conditions +

Only US.KG and XX.KG require a key.

+
+ + +
+ + + + +
+
- +
- -
-

Domain name unavailable? Have a question? Contact: contact@nic.us.kg
If you encounter any problems, please create a new issue: Issue Report

-
+ + +

+ Please agree to the terms before continuing. +

+
+
+ +
+ + diff --git a/opensource/frontend/error.html b/opensource/frontend/error.html index f29b6d3..a6a0b21 100644 --- a/opensource/frontend/error.html +++ b/opensource/frontend/error.html @@ -4,69 +4,30 @@ - Error! - - + Error - DigitalPlat + {% include "ga.html" %} - - - - - + {% include "partials/modern_styles.html" %} - -
-
-
-
-

Error!

+ +
+
+
+
+ + + +
+

Error

+

Error!

+

{{info}}

+
+ Go Back
-

{{info}}

- Back
-
-
+ +
+ diff --git a/opensource/frontend/info.html b/opensource/frontend/info.html index 3472112..9d5ca88 100644 --- a/opensource/frontend/info.html +++ b/opensource/frontend/info.html @@ -4,70 +4,25 @@ - INFO! - - + Notice - DigitalPlat FreeDomain + {% include "ga.html" %} - - - - - + {% include "partials/modern_styles.html" %} - -
-
-
-
-

Woah

+ +
+
+
+

System notice

+

Notice

+

{{info | safe}}

+
+ Go Back
-

{{info}}

- Back
-
-
+ +
+ diff --git a/opensource/frontend/login.html b/opensource/frontend/login.html index e19bc90..3e7df26 100644 --- a/opensource/frontend/login.html +++ b/opensource/frontend/login.html @@ -3,210 +3,115 @@ - DigitalPlat Domain Registry and Management Authority + DigitalPlat Domain Dashboard Login + {% include "ga.html" %} - - - - - - - - + {% include "partials/modern_styles.html" %} + - -
-
- DigitalPlat Domain Registry and Management Authority -
-
DigitalPlat Domain Registry and Management Authority
-
-
-
-
-
-
- - -
-
- + +
+
+
+
+ Logo +
+

Welcome back

+

DigitalPlat Domain Dashboard

+

Sign in to manage your domains.

-
-
- account_circle -

- Edit + + +
+
+ {{notice | safe}} +
+
+ + +
+
-
- - + +
+
+ account_circle +

+ +
+
+ + +
+
+
- -
-
- + +
+

Don't have an account? Sign up

+

Forgot password? Reset Password

+ + +
+ + Google Sign in with Google +
-
- Don't have an account? Sign up now!
- Forgot password? Reset Password -
- -
- - Google sign-in - Sign in with Google - -
-
-
-
- - By continuing you agree to our Terms of Service, Privacy Policy, and Acceptable Use Policy.
- If you encounter any problems, please create a new issue: Issue Report
- The 'Sign in with Google' is currently only accessible for accounts registered with Gmail -
+ +
+

+ By continuing you agree to our + Terms, + Privacy, and + AUP. +

+

Issues? Report here

+ +
-
- - +document.getElementById('email').addEventListener('keypress', function(event) { + if (event.key === 'Enter') { + event.preventDefault(); + nextStep(); + } +}); + diff --git a/opensource/frontend/panel.html b/opensource/frontend/panel.html index f72235a..e9c0bc5 100644 --- a/opensource/frontend/panel.html +++ b/opensource/frontend/panel.html @@ -4,46 +4,62 @@ - DigitalPlat Domain Panel - + DigitalPlat Domain Dashboard + {% include "ga.html" %} - + - + - + +
-
-
- USKG LOGO - DigitalPlat FreeDomain Panel -
+
+
+
+ USKG LOGO +
+ DigitalPlat + Domain Dashboard +
+
+
- Dashboard + Overview My Domains @@ -209,6 +257,9 @@ Domain Registration + + More slots - Redeem Key + My Account @@ -224,8 +275,8 @@ Need more domains? - - US.KG NIC + + DigitalPlat Domain Logout @@ -234,11 +285,16 @@
-
- US.KG +
Domain List Register + Redeem Key My Account + Open in New Tab +
-
-
- US.KG Panel Open in New Tab Fullscreen -
-
- - - - - - + let lastIframePath = null; + + function pollIframeURL() { + const iframe = document.getElementById('content-frame'); + + try { + const currentPath = iframe.contentWindow.location.pathname; + + if (currentPath !== lastIframePath) { + lastIframePath = currentPath; + + history.pushState({ url: currentPath }, '', '?page=' + encodeURIComponent(currentPath)); + } + } catch (err) { + console.warn('Cannot access iframe URL due to cross-origin:', err); + } + } + + setInterval(pollIframeURL, 5000); + + + + + + \ No newline at end of file diff --git a/opensource/frontend/partials/modern_styles.html b/opensource/frontend/partials/modern_styles.html new file mode 100644 index 0000000..7a47df6 --- /dev/null +++ b/opensource/frontend/partials/modern_styles.html @@ -0,0 +1,98 @@ + + diff --git a/opensource/frontend/register.html b/opensource/frontend/register.html index 57fb55a..404bfa3 100644 --- a/opensource/frontend/register.html +++ b/opensource/frontend/register.html @@ -1,161 +1,100 @@ - - - - DigitalPlat FreeDomain - Register - - - - - - - - - - - + + +DigitalPlat FreeDomain - Register + +{% include "ga.html" %} + +{% include "partials/modern_styles.html" %} + - -
-
- DigitalPlat Domain Registry and Management Authority -
-
DigitalPlat Domain Registry and Management Authority
-
-
-
-
- - - -
-
- - Once registered, the legal full name cannot be edited! Please ensure it matches the name on the KYC documents you upload after registration, otherwise, KYC verification will fail! - - + +
+
+
+ DigitalPlat Logo +
+

Create an account

+

DigitalPlat Domain Registry

+

Register once and manage all your free domains.

-
- - WARNING: Starting from October 22, 2024, if your email domain is on the following list, you can continue using GitHub's free KYC option. The approved domains are: +
+
- gmail.com, - zoho.com, - outlook.com, - yahoo.com, - yandex.com, - hotmail.com, - icloud.com, - 163.com, - 126.com, - qq.com, - To use our services for free and prevent misuse, please try to use email addresses with these domains. - - - -
-
- - Please make sure your phone number is correct, we may contact you via SMS - - -
-
- - - -
-
- - - The password must be more than 8 characters long and include uppercase and lowercase letters as well as numbers. It must not include &, *, ', ", <, >, \, /, or spaces. -
-
- - - -
- -
- Please ensure that the information provided is genuine and valid. Each individual/organization is strictly limited to a maximum of one account. -
- +
+
+
+
+

Create your free domain account

+

Please ensure all information is genuine. Only one account per person or organization.

+
+ + +
+
+ + + +
+ +
+ +

Your full legal name, you can't edit after registration.

+ + +
+ +
+ + + +
+ +
+ +

Format: +1-3100000000

+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+ +
+ + +
- -
-
-
- - By continuing you agree to our Terms of Service, Privacy Policy, and Acceptable Use Policy.
- If you encounter any problems, please create a new issue: Issue Report
-
+
+ +
+ By continuing you agree to our + Terms of Service, + Privacy Policy, and + Acceptable Use Policy. +
+ Problems? Submit an issue.
+
- - - - diff --git a/opensource/frontend/reset_password.html b/opensource/frontend/reset_password.html index 91b1e99..e4e7112 100644 --- a/opensource/frontend/reset_password.html +++ b/opensource/frontend/reset_password.html @@ -3,161 +3,88 @@ - DigitalPlat Domain Registry and Management Authority - - + DigitalPlat Domain Password Reset + {% include "ga.html" %} - - - - - + {% include "partials/modern_styles.html" %} - - - -
-
- DigitalPlat Domain Registry and Management Authority -
-
DigitalPlat Domain Registry and Management Authority
-
-
-
-
- - + +
+
+
+
+ Logo +
+

Account recovery

+

Reset password

+
-
- - - The password must be more than 8 characters long and include uppercase and lowercase letters as well as numbers. -
- -
-
- -
-
- Don't have an account? Sign up -
- -
-
-
- - By continuing you agree to our Terms of Service, Privacy Policy, and Acceptable Use Policy.
- If you encounter any problems, please create a new issue: Issue Report
- The 'Sign in with Google' is currently only accessible for accounts registered with Gmail -
+ +
+
+ + +
+ +
+ + +

Password must be at least 8 characters and contain uppercase, lowercase and a number.

+
+ +
+ + + +
+

Don't have an account? Sign up

+
+
+ +
+

By continuing you agree to our + Terms, + Privacy, and + AUP.

+

Problems? Report here

+
-
- - - - - + resetButton.disabled = !isValid; + } +}); + diff --git a/opensource/frontend/success.html b/opensource/frontend/success.html index 72b1458..ce25e4b 100644 --- a/opensource/frontend/success.html +++ b/opensource/frontend/success.html @@ -4,69 +4,30 @@ - Successful! - - + Success - DigitalPlat + {% include "ga.html" %} - - - - - + {% include "partials/modern_styles.html" %} - -
-
-
-
-

Successful!

+ +
+
+
+
+ + + +
+

Success

+

Success!

+

{{info}}

+
+ Go Back
-

{{info}}

- Back
-
-
+
+
+ diff --git a/opensource/frontend/usermgr.html b/opensource/frontend/usermgr.html index 3e3e9ba..7f8d294 100644 --- a/opensource/frontend/usermgr.html +++ b/opensource/frontend/usermgr.html @@ -4,139 +4,92 @@ US.KG Account Management System - - + {% include "ga.html" %} - - - - - + {% include "partials/modern_styles.html" %} - - - -
-
- Current full name: {{fullname}}
- Current username: {{username}}
- Current E-Mail: {{email}}
- Current phone: {{phone}}
- Current address: {{address}} -
-
-
- - - + +
+
+
+

Account settings

+

Manage your profile

+

Review and update your account details.

-
- - - -
-
- - Using a temporary email may result in the suspension of your account. - -
-
- - - -
-
- - - -
-
- - - The password must be more than 8 characters long and include uppercase and lowercase letters as well as numbers. -
-
- +
+ +
+
+
+

Current account details

+
+
+
Full name
+
{{fullname}}
+
+
+
Username
+
{{username}}
+
+
+
E-mail
+
{{email}}
+
+
+
Phone
+
{{phone}}
+
+
+
Address
+
{{address}}
+
+
+
+ +
+

Update account

+

Some fields are locked for security reasons.

+ + +
+ + + +
+
+ + + +
+
+ +

Using a temporary email may result in the suspension of your account.

+ +
+
+ + + +
+
+ + + +
+
+ + + The password must be more than 8 characters long and include uppercase and lowercase letters as well as numbers. +
+
+ +
+ +
- +
-
-
- - By continuing you agree to our Terms of Service, Privacy Policy, and Acceptable Use Policy.
- If you encounter any problems, please create a new issue: Issue Report
-
-
-
- - - - - + + +DigitalPlat FreeDomain WHOIS Lookup +{% include "ga.html" %} + +{% include "partials/modern_styles.html" %} - -
-
- US.KG WHOIS Lookup + +
+
+
+

WHOIS tools

+

WHOIS Lookup

+

Search for domain ownership and registration details.

-
-
-
-
- -
.us.kg
+ + +
+
+
+ +
+ + +
+ +
+ +
+
-
- -
- -
-
-
-
-
Query WHOIS via command line (CLI)
-

When querying WHOIS via command line, even though US.KG adheres to the RFC 2782 WHOIS server lookup standard, many clients may not support or accept it. This is because, in most cases, you cannot directly query WHOIS by using 'whois example.us.kg'. We are currently working on or preparing to submit support for WHOIS server lookup to mainstream WHOIS clients (such as RFC 1036 WHOIS clients). Until WHOIS clients directly support it, please search for WHOIS information for US.KG domains by specifying the WHOIS server (for example, in RFC 1036 WHOIS clients, you can search by adding the '-h' parameter to specification the 'whois.us.kg' server, like this: 'whois -h whois.us.kg example.us.kg').

-

whois -h whois.us.kg "domainname"

+ +
+

Query WHOIS via Command Line (CLI)

+

+ Although US.KG follows the RFC 2782 WHOIS server lookup standard, many clients may not yet support it. + Queries like whois example.us.kg may not work directly. +

+

+ Until mainstream WHOIS clients support this, please manually specify the WHOIS server. For RFC 1036 clients, use the -h flag like this: +

+

+ whois -h whois.digitalplat.org "domainname" +

-
-
- - Enter a domain name to query -
- If you encounter any problems, please create a new issue: Issue Report
-
-
- - - - +
+
diff --git a/opensource/readme.md b/opensource/readme.md index 9f45351..653561d 100644 --- a/opensource/readme.md +++ b/opensource/readme.md @@ -1,6 +1,12 @@ # DigitalPlat FreeDomain Open Source -This folder contains portions of the front-end and back-end code we’ve made open-source. +This folder contains selected parts of our front-end and back-end code that are currently open-sourced. -DigitalPlat is a nonprofit charitable organization that supports open-source and free software. While we fully embrace the principles of transparency and community collaboration, we’ve taken a cautious approach by not yet fully open-sourcing our back-end code. This decision is based on security considerations and the need to mitigate potential vulnerabilities and hacking risks. +DigitalPlat is a nonprofit organization dedicated to supporting open-source and free software. We strongly believe in transparency and community collaboration. However, due to limited engineering resources and the lack of comprehensive security audits, our back-end codebase has not yet been fully open-sourced. + +At the current stage, fully opening the back-end without sufficient review and maintenance capacity could introduce avoidable security risks. For this reason, we are taking a cautious, phased approach to open-sourcing, prioritizing safety and long-term sustainability. + +We plan to gradually open-source more components as audits are completed and additional engineering capacity becomes available. The files in this folder represent the portions of the project that are safe and ready for public release at this time. + +DigitalPlat Domain Home Website front-end open-source code is available at: + https://github.com/DigitalPlatDev/digitalplat-domain-website -However, we are committed to gradually open-sourcing more of our codebase over time. This will help us optimize the project and foster greater community involvement. The files in this folder represent the parts of the project that are currently open to the public. \ No newline at end of file diff --git a/opensource/static/config/cookieconsent-config.js b/opensource/static/config/cookieconsent-config.js new file mode 100644 index 0000000..c065e12 --- /dev/null +++ b/opensource/static/config/cookieconsent-config.js @@ -0,0 +1,73 @@ +import 'https://cdn.jsdelivr.net/gh/orestbida/cookieconsent@3.1.0/dist/cookieconsent.umd.js'; + +CookieConsent.run({ + guiOptions: { + consentModal: { + layout: "bar inline", + position: "bottom", + equalWeightButtons: true, + flipButtons: false + }, + preferencesModal: { + layout: "bar", + position: "left", + equalWeightButtons: true, + flipButtons: false + } + }, + categories: { + necessary: { + readOnly: true + }, + functionality: {}, + analytics: {} + }, + language: { + default: "en", + translations: { + en: { + consentModal: { + title: "We value your privacy", + description: "We use cookies to provide essential website functions, enhance your browsing experience, improve our website and analyze our traffic. By clicking Accept All, you consent to our use of cookies.", + acceptAllBtn: "Accept all", + acceptNecessaryBtn: "Only allow necessary", + showPreferencesBtn: "Manage preferences", + footer: "Privacy Policy Cookie Policy" + }, + preferencesModal: { + title: "Manage Cookie Preferences", + acceptAllBtn: "Accept all", + acceptNecessaryBtn: "Reject all", + savePreferencesBtn: "Save preferences", + closeIconLabel: "Close modal", + serviceCounterLabel: "Service|Services", + sections: [ + { + title: "About Cookies", + description: "We use cookies to make our site work properly, provide essential features, personalize your experience, and gather anonymous statistics about website usage." + }, + { + title: "Strictly Necessary Cookies Always Enabled", + description: "These cookies are necessary for core functionalities such as domain registration, account login, and security. You cannot disable them.", + linkedCategory: "necessary" + }, + { + title: "Functionality Cookies", + description: "These cookies allow us to remember your preferences and enhance website functionality. Disabling them may impact your experience.", + linkedCategory: "functionality" + }, + { + title: "Analytics Cookies", + description: "Analytics cookies help us understand how visitors interact with our site, so we can improve and offer a better service. Data collected is anonymized and never shared with third parties for advertising.", + linkedCategory: "analytics" + }, + { + title: "More Information", + description: "For any inquiries about our privacy and cookie practices, please refer to our Privacy Policy or Cookie Policy." + } + ] + } + } + } + } +}); \ No newline at end of file diff --git a/opensource/static/img/completed.png b/opensource/static/img/completed.png new file mode 100644 index 0000000..9b29c8f Binary files /dev/null and b/opensource/static/img/completed.png differ diff --git a/opensource/static/img/logo.jpg b/opensource/static/img/logo.jpg new file mode 100644 index 0000000..46db05a Binary files /dev/null and b/opensource/static/img/logo.jpg differ