
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>HackingGate</title>
      <link>https://hackinggate.com/blog</link>
      <description>To dream and to build, To fail and to succeed.</description>
      <language>en-us</language>
      <managingEditor>i@hackinggate.com (Tong)</managingEditor>
      <webMaster>i@hackinggate.com (Tong)</webMaster>
      <lastBuildDate>Sun, 23 Mar 2025 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://hackinggate.com/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://hackinggate.com/blog/hosting-multiple-web-servers-behind-a-single-ip-address</guid>
    <title>Hosting Multiple Web Servers Behind a Single IP Address</title>
    <link>https://hackinggate.com/blog/hosting-multiple-web-servers-behind-a-single-ip-address</link>
    <description>A comprehensive guide to hosting multiple web services on the same port of the same IPv4 address using a reverse proxy, managing SSL certificates, and overcoming common home-hosting challenges.</description>
    <pubDate>Sun, 23 Mar 2025 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Network</category><category>web-hosting</category><category>reverse-proxy</category><category>SSL</category><category>self-hosting</category><category>HAProxy</category><category>Nginx</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/forwarding-github-webhook-to-jenkins-behind-cf-tunnel-using-cf-worker</guid>
    <title>Forwarding GitHub webhook to Jenkins behind Cloudflare Tunnel using Cloudflare Worker</title>
    <link>https://hackinggate.com/blog/forwarding-github-webhook-to-jenkins-behind-cf-tunnel-using-cf-worker</link>
    <description>How to set up a Cloudflare Worker to forward GitHub webhooks to a Jenkins server behind Cloudflare Tunnel, enabling automatic builds without exposing Jenkins to the internet.</description>
    <pubDate>Thu, 01 Feb 2024 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Cloudflare</category><category>Jenkins</category><category>GitHub</category><category>Webhook</category><category>CloudflareTunnel</category><category>CloudflareWorker</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/using-jenkins-to-auto-deploy-on-raspberrypi</guid>
    <title>Using Jenkins to auto deploy webservices on Raspberry Pi with Docker</title>
    <link>https://hackinggate.com/blog/using-jenkins-to-auto-deploy-on-raspberrypi</link>
    <description>Setting up Jenkins on a Raspberry Pi for continuous integration and deployment, automating the build and deployment process for web applications with practical configuration examples.</description>
    <pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>RaspberryPi</category><category>Jenkins</category><category>Docker</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/terraforming-existing-cloudflare-configuration</guid>
    <title>Terraforming Existing Cloudflare Configuration</title>
    <link>https://hackinggate.com/blog/terraforming-existing-cloudflare-configuration</link>
    <description>A guide to importing and managing existing Cloudflare configurations using Terraform, covering DNS records, tunnels, and access settings for streamlined infrastructure management.</description>
    <pubDate>Sat, 04 Nov 2023 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Terraform</category><category>Cloudflare</category><category>IaC</category><category>DNS</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/my-gift-a-self-reflecting-journey</guid>
    <title>My Gift - A self-reflecting journey</title>
    <link>https://hackinggate.com/blog/my-gift-a-self-reflecting-journey</link>
    <description>A personal reflection on professional growth, challenges overcome, and lessons learned throughout a software engineering career, with insights on continuous self-improvement and embracing change.</description>
    <pubDate>Fri, 27 Oct 2023 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Gift</category><category>Self-reflecting</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/persisting-real-time-user-data-in-a-golang-project</guid>
    <title>Persisting Real-Time User Data in a Golang Project</title>
    <link>https://hackinggate.com/blog/persisting-real-time-user-data-in-a-golang-project</link>
    <description>Techniques for persisting real-time user data in Go applications, addressing concurrency challenges, data consistency, and efficient storage solutions for modern web applications.</description>
    <pubDate>Sun, 01 Oct 2023 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Golang</category><category>VPN</category><category>Delta</category><category>Database</category><category>Ticker</category><category>Gin</category><category>JSON</category><category>Swift</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/build-openwrt-22-03-for-tl-wr703n-with-16m-flash</guid>
    <title>Build OpenWrt 22.03 for TL-WR703N with 16m flash</title>
    <link>https://hackinggate.com/blog/build-openwrt-22-03-for-tl-wr703n-with-16m-flash</link>
    <description>A guide to building OpenWrt 22.03 for TL-WR703N routers with 16MB flash, including source code modifications, build configuration, and installation instructions.</description>
    <pubDate>Sat, 30 Sep 2023 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>OpenWrt</category><category>tl-wr703n</category><category>ath79</category><category>ar71xx</category><category>16m</category><category>make</category><category>build</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/using-cloudflare-zero-trust-to-expose-services</guid>
    <title>Using Cloudflare Zero Trust to expose services</title>
    <link>https://hackinggate.com/blog/using-cloudflare-zero-trust-to-expose-services</link>
    <description>A practical guide to using Cloudflare Zero Trust and Cloudflare Tunnels to securely expose home services like SSH and HTTP to the internet, with step-by-step instructions for authentication setup and access configuration.</description>
    <pubDate>Fri, 29 Sep 2023 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Cloudflare</category><category>Zero Trust Network</category><category>SSH</category><category>HTTP</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/the-site-is-now-on-nextjs-and-tailwind</guid>
    <title>The site is now on Next.js and Tailwind</title>
    <link>https://hackinggate.com/blog/the-site-is-now-on-nextjs-and-tailwind</link>
    <description>A detailed explanation of migrating from Jekyll to Next.js and Tailwind CSS, with insights on hosting migration from GitLab Pages to Cloudflare Pages, open-source collaboration, and privacy-focused analytics implementation.</description>
    <pubDate>Thu, 28 Sep 2023 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Next.js</category><category>Tailwind</category><category>Cloudflare Pages</category><category>Cloudflare CDN</category><category>GitHub</category><category>umami</category><category>giscus</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/setup-your-fancy-terminal</guid>
    <title>Setup your fancy terminal</title>
    <link>https://hackinggate.com/blog/setup-your-fancy-terminal</link>
    <description>A guide to setting up a stylish and efficient terminal with Zsh, Oh My Zsh plugins, Starship prompt, and Nerd Fonts, complete with instructions for both macOS and Ubuntu.</description>
    <pubDate>Thu, 26 Jan 2023 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>zsh</category><category>oh-my-zsh</category><category>starship</category><category>macOS</category><category>Ubuntu</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/moving-to-new-yubikeys</guid>
    <title>Moving to new Yubikeys</title>
    <link>https://hackinggate.com/blog/moving-to-new-yubikeys</link>
    <description>A guide to migrating GPG keys, FIDO U2F configurations, and other security credentials when switching to new YubiKeys, ensuring secure and smooth transition without compromising security.</description>
    <pubDate>Sun, 05 Dec 2021 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Yubikey</category><category>OpenGPG</category><category>OTP</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/network-layer-ip-address-blocking</guid>
    <title>Network Layer IP Address Blocking</title>
    <link>https://hackinggate.com/blog/network-layer-ip-address-blocking</link>
    <description>Implementing effective IP address blocking at the network layer using iptables and other tools, with strategies for protecting services from malicious traffic and unauthorized access attempts.</description>
    <pubDate>Sun, 15 Aug 2021 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Network</category><category>IP</category><category>DNS</category><category>OpenWrt</category><category>Pi-Hole</category><category>WireGuard</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/started-to-learn-russian</guid>
    <title>Started to learn Russian</title>
    <link>https://hackinggate.com/blog/started-to-learn-russian</link>
    <description>An introductory guide to learning Russian that covers the Cyrillic alphabet, addresses pronunciation challenges, and provides essential resources for embracing Russian language and culture.</description>
    <pubDate>Sun, 28 Mar 2021 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>language</category><category>Russian</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/using-aircrack-ng-with-rtl8814au</guid>
    <title>Using Aircrack-ng with RTL8814AU</title>
    <link>https://hackinggate.com/blog/using-aircrack-ng-with-rtl8814au</link>
    <description>Setting up and using Aircrack-ng wireless security tools with the RTL8814AU chipset on Linux, including driver installation, monitor mode configuration, and practical wireless testing applications.</description>
    <pubDate>Sun, 28 Jul 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Airmon-ng</category><category>Aircrack-ng</category><category>RTL8814AU</category><category>RTL8812AU</category><category>Wi-Fi</category><category>Kali Linux</category><category>Raspberry Pi</category><category>ARM</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/a-pdf-reader-app-for-iOS-11</guid>
    <title>PDF Reader</title>
    <link>https://hackinggate.com/blog/a-pdf-reader-app-for-iOS-11</link>
    <description>A PDF Reader app for iOS 11 with support for Right-to-Left reading mode for Arabic and vertical CJK text, along with iCloud sync for remembering the last viewed page across devices.</description>
    <pubDate>Fri, 12 Jul 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>PDF</category><category>reader</category><category>project</category><category>iOS</category><category>localization</category><category>RTL</category><category>CJK</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/gnu-linux-tar-command-cheat-sheet</guid>
    <title>GNU/Linux Tar Command Cheat Sheet</title>
    <link>https://hackinggate.com/blog/gnu-linux-tar-command-cheat-sheet</link>
    <description>A comprehensive cheat sheet for the GNU/Linux tar command, covering essential options for archiving and compression operations with gzip, bzip2, and xz formats, with practical examples for both basic and advanced usage.</description>
    <pubDate>Wed, 10 Jul 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Tar</category><category>GNU</category><category>Linux</category><category>Archive</category><category>Compress</category><category>gzip</category><category>bzip2</category><category>xz</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/using-gpg-to-encrypt-messages</guid>
    <title>Using GPG to Encrypt Messages</title>
    <link>https://hackinggate.com/blog/using-gpg-to-encrypt-messages</link>
    <description>A practical guide to using GNU Privacy Guard (GPG) for encrypting and signing messages, managing keys, and protecting sensitive communications in an increasingly privacy-conscious digital world.</description>
    <pubDate>Tue, 09 Jul 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>GPG</category><category>PGP</category><category>Encryption</category><category>Security</category><category>GitHub</category><category>Keybase</category><category>Key Server</category><category>Pub Key</category><category>Private Key</category><category>SSH</category><category>Git</category><category>Linux</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/upgrade-to-raspbian-buster-debian-10-for-raspberry-pi</guid>
    <title>Upgrade to Raspbian Buster (Debian 10) for Raspberry Pi</title>
    <link>https://hackinggate.com/blog/upgrade-to-raspbian-buster-debian-10-for-raspberry-pi</link>
    <description>A step-by-step guide to upgrading Raspberry Pi systems to Raspbian Buster (Debian 10), including preparation, the upgrade process, and post-upgrade configuration to ensure a smooth transition.</description>
    <pubDate>Mon, 24 Jun 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Raspberry Pi</category><category>Raspbian</category><category>Debian</category><category>Buster</category><category>Linux</category><category>macOS</category><category>SSH</category><category>DDNS</category><category>Cloudflare</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/apps-fail-to-get-wi-fi-info-on-ios-13</guid>
    <title>Apps Fail to Get Wi-Fi Info on iOS 13</title>
    <link>https://hackinggate.com/blog/apps-fail-to-get-wi-fi-info-on-ios-13</link>
    <description>How iOS 13 changes Wi-Fi information access requiring location permissions, affecting apps like Seven-Eleven Multicopy, and a solution for developers to adapt to these privacy changes.</description>
    <pubDate>Wed, 12 Jun 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>iOS 13</category><category>Wi-Fi</category><category>Privacy</category><category>Location</category><category>iOS</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/inspect-the-view-hierarchy-of-any-ios-apps-on-ios-12</guid>
    <title>Inspect the View Hierarchy of Any iOS Apps in 2019</title>
    <link>https://hackinggate.com/blog/inspect-the-view-hierarchy-of-any-ios-apps-on-ios-12</link>
    <description>How to inspect and explore the view hierarchy of any iOS application on iOS 12 using Reveal, a powerful tool for UI debugging without requiring source code access.</description>
    <pubDate>Tue, 11 Jun 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>iOS</category><category>Reveal</category><category>Jailbreak</category><category>iOS 12</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/resign-ipas-with-fastlane-for-jailbreak</guid>
    <title>Resign IPAs with Fastlane for Jailbreak</title>
    <link>https://hackinggate.com/blog/resign-ipas-with-fastlane-for-jailbreak</link>
    <description>A comprehensive guide to resigning iOS IPA files using Fastlane for jailbreaking devices, covering certificate creation, provisioning, app modification, and installation.</description>
    <pubDate>Mon, 10 Jun 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>IPA</category><category>Jailbreak</category><category>iOS</category><category>fastlane</category><category>Xcode</category><category>Apple</category><category>Developer</category><category>Certificate</category><category>Provisioning Profile</category><category>App ID</category><category>Apple Configurator 2</category><category>Undecimus</category><category>Electra</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/deploy-jekyll-blog-on-gitlab-pages-with-cloudflare-origin-ca</guid>
    <title>Deploy Jekyll blog on GitLab Pages with Cloudflare Origin CA</title>
    <link>https://hackinggate.com/blog/deploy-jekyll-blog-on-gitlab-pages-with-cloudflare-origin-ca</link>
    <description>A guide to migrating from GitHub Pages to GitLab Pages with Cloudflare Origin CA certificates for end-to-end encryption, overcoming GitHub Pages limitations with custom certificates and GitLab CI.</description>
    <pubDate>Sun, 09 Jun 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Jekyll</category><category>GitLab</category><category>Cloudflare</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/macos-mojave-s-dark-mode-for-jekyll-default-theme-minima</guid>
    <title>macOS Mojave&#39;s Dark Mode for Jekyll default theme minima</title>
    <link>https://hackinggate.com/blog/macos-mojave-s-dark-mode-for-jekyll-default-theme-minima</link>
    <description>Implementing macOS Mojave&#39;s Dark Mode support for Jekyll sites using the Minima theme, with CSS customizations that respect the user&#39;s system preference for a better reading experience.</description>
    <pubDate>Sun, 31 Mar 2019 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>macOS</category><category>Mojave</category><category>Dark Mode</category><category>Jekyll</category><category>minima</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/started-to-learn-korean</guid>
    <title>Started to learn Korean</title>
    <link>https://hackinggate.com/blog/started-to-learn-korean</link>
    <description>An introduction to the Korean language (Hangul), explaining its alphabet structure, pronunciation rules, and basic concepts for beginners learning Korean, with insights on vowel and consonant combinations.</description>
    <pubDate>Wed, 24 Jan 2018 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>language</category><category>Korean</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/how-to-download-xcode-with-aria2c</guid>
    <title>How to download Xcode with aria2c</title>
    <link>https://hackinggate.com/blog/how-to-download-xcode-with-aria2c</link>
    <description>Using aria2c to download Xcode faster and more reliably than Apple&#39;s default download methods, with step-by-step instructions and performance optimization tips for developers.</description>
    <pubDate>Thu, 01 Oct 2015 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Xcode</category><category>aria2</category><category>Mac</category><category>Apple</category><category>Cookie</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/helloworld-docker-on-osx-without-boot2docker</guid>
    <title>Helloworld docker on OS X without boot2docker</title>
    <link>https://hackinggate.com/blog/helloworld-docker-on-osx-without-boot2docker</link>
    <description>Running Docker containers on macOS without Boot2Docker, demonstrating a simpler approach to containerization on OS X with a Hello World example and step-by-step configuration.</description>
    <pubDate>Wed, 16 Sep 2015 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>osx</category><category>linux</category><category>docker</category><category>virtualbox</category><category>boot2docker</category><category>docker-machine</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/xcode-project-build-number-use-svn-revision</guid>
    <title>Xcode project build number use svn revision</title>
    <link>https://hackinggate.com/blog/xcode-project-build-number-use-svn-revision</link>
    <description>How to automatically set your Xcode project&#39;s build number using SVN revision numbers, ensuring consistent version tracking and simplifying the iOS app release management process.</description>
    <pubDate>Thu, 03 Sep 2015 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>Xcode</category><category>SVN</category><category>build number</category><category>script</category>
  </item>

  <item>
    <guid>https://hackinggate.com/blog/remap-keys-in-os-x-tutorial-for-emacs-lovers</guid>
    <title>Remap keys in OS X tutorial for Emacs lovers</title>
    <link>https://hackinggate.com/blog/remap-keys-in-os-x-tutorial-for-emacs-lovers</link>
    <description>A comprehensive guide to remapping keyboard keys in macOS for Emacs users, improving productivity with custom key bindings and modifiers that provide a more ergonomic editing experience.</description>
    <pubDate>Mon, 31 Aug 2015 00:00:00 GMT</pubDate>
    <author>i@hackinggate.com (Tong)</author>
    <category>osx</category><category>emacs</category><category>keybinding</category>
  </item>

    </channel>
  </rss>
