Setting Up Windows Remote Desktop over IPv6

Introduction

I have a Windows PC at home that I want to access via Remote Desktop. The home network uses IPv6—there’s no public IPv4 address—so the connection must go through IPv6. However, Windows Remote Desktop defaults to IPv4, so some configuration is needed.

Prerequisites

  1. A Windows PC

  2. A domain name

  3. A Cloudflare account

  4. An IPv6-capable network

Pre-checks

  1. Check IPv6 support

    1. Open a browser

    2. Visit IPv6 test site

    3. If the page shows IPv6 support (as shown below), you’re good. If not, contact your ISP. Success indicator

Quick Start Cloudflare DDNS

This article describes the simplest way to quickly get started with Cloudflare DDNS.

We won’t go into detail here; please refer to other tutorials.

  1. Visit https://dash.cloudflare.com/profile/api-tokens
  2. Click “Create Token” and select the “Edit zone DNS” template
  3. Enter any name
  4. Set permissions to edit zone DNS:
    • Zone - Zone - Read
    • Zone - DNS - Edit
  5. For Zone Resources, select the domain for DDNS
  6. Client IP Filter (optional) — leave blank since DDNS uses dynamic IPs
  7. TTL — leave empty

Create token

Self-host Plausible for Static Site Analytics

  • We need an analytics tool to track static website visits.
  • Many users install uBlock, AdBlock, etc., causing many analytics services to miss traffic.

Plausible is an open-source analytics tool for tracking static website visits. Its highlights:

  • Open source under AGPLv3
  • No cookies, no user tracking, no personal data collection
  • Small script size, does not affect page load speed
  • Supports public statistics
  • Supports email subscription for stats

This article uses docker-compose to deploy Plausible with the official Docker image, excluding email-related components.

Kotlin-Native Interop with C/C++

When developing with Kotlin-Native, many libraries are missing in the current version, so we need to supplement with C/C++. This article uses Linux as an example to demonstrate how to use C/C++ in Kotlin-Native.

  • IntelliJ IDEA Community
  • JDK 17
  • CMake
  • Linux

Interoperability with C

Create an app using C Interop and libcurl – tutorial

selcarpa/c_link_demo

└── c_link_demo
    ├── c_link_demo_c
    │   ├── CMakeLists.txt
    │   ├── library.c
    │   └── library.h
    └── c_link_demo_kt
        ├── build.gradle.kts
        ├── gradle
        │   └── wrapper
        │       ├── gradle-wrapper.jar
        │       └── gradle-wrapper.properties
        ├── gradle.properties
        ├── gradlew
        ├── gradlew.bat
        ├── settings.gradle.kts
        └── src
            ├── commonMain
            │   ├── kotlin
            │   │   └── Main.kt
            │   └── resources
            └── nativeInterop
                └── cinterop
                    └── c_lib_demo.def

This example uses a C library.