<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Open Source on Toothbrush's Blog</title><link>https://www.tianhao.me/en/tags/open-source/</link><description>Recent content in Open Source on Toothbrush's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>牙刷刷</copyright><lastBuildDate>Thu, 12 Nov 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://www.tianhao.me/en/tags/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>ECG Lab: An Interactive Electrocardiogram Learning Platform</title><link>https://www.tianhao.me/en/posts/ecg-lab-intro/</link><pubDate>Thu, 12 Nov 2026 10:00:00 +0800</pubDate><guid>https://www.tianhao.me/en/posts/ecg-lab-intro/</guid><description>&lt;img src="https://www.tianhao.me/uploads/ecg-lab-screenshot.png" alt="Featured image of post ECG Lab: An Interactive Electrocardiogram Learning Platform" /&gt;&lt;h2 id="project-background"&gt;Project Background&#10;&lt;/h2&gt;&lt;p&gt;ECG interpretation is a core clinical skill, but traditional learning methods often rely on static images and lengthy text, presenting several pain points:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;📱 Grid lines are hard to see on mobile devices, making waveform measurement difficult&lt;/li&gt;&#10;&lt;li&gt;📚 Practice and learning are disconnected, with no immediate feedback after studying theory&lt;/li&gt;&#10;&lt;li&gt;🎯 Emergency procedures can only be memorized through videos, lacking interactive training&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;ECG Lab&lt;/strong&gt; was created to solve these problems.&lt;/p&gt;&#10;&lt;h2 id="core-features"&gt;Core Features&#10;&lt;/h2&gt;&lt;h3 id="-systematic-learning"&gt;📚 Systematic Learning&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;238 chapters&lt;/strong&gt;: Covering electrophysiology, leads &amp;amp; vectors, atrial/ventricular hypertrophy, ischemia &amp;amp; infarction, electrolytes &amp;amp; medications, and more&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Interactive ECG waveforms&lt;/strong&gt;: 500 Hz sampling rate, supporting rhythm strips/12-lead display, loop/continuous scrolling, annotation and hover measurement&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Bilingual support&lt;/strong&gt;: All content available in Chinese and English&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="-practice-exercises"&gt;✍️ Practice Exercises&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Systematic interpretation training&lt;/strong&gt;: Six-step reading (rate→rhythm→axis→intervals→ST-T→conclusion) with step-by-step feedback&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;2000+ practice questions&lt;/strong&gt;: Covering 42 diagnoses, with chapter filtering and multi-select support&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Three game modes&lt;/strong&gt;: Classic interpretation, Speed 60s, Combo survival&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Adaptive spaced repetition&lt;/strong&gt;: Error log tracks confused options, with 1→3→8→20 day intervals&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="-simulation-tests"&gt;🎯 Simulation Tests&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;ACLS emergency simulation&lt;/strong&gt;: 12 server-side state machine scenarios, CPR quality, defibrillation/cardioversion, drug timing training&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ECG viewer&lt;/strong&gt;: Supports zoom, measurement and annotation, analyzing real ECGs like in clinical practice&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="-laboratory"&gt;🔬 Laboratory&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Cardiac Vector Lab&lt;/strong&gt;: P/QRS/T 3D vector loops, hexaxial and limb lead projections, precordial lead positioning&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Electrolyte Lab&lt;/strong&gt;: K⁺/Ca²⁺/Mg²⁺ sliders with real-time waveform changes&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Daily Challenge&lt;/strong&gt;: 10 site-wide questions, continuous check-in calendar&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="tech-stack"&gt;Tech Stack&#10;&lt;/h2&gt;&lt;h3 id="backend"&gt;Backend&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;PHP 8.4&lt;/strong&gt; (no framework, native implementation)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;MySQL 8+&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PDO MySQL&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;AES-256-GCM tokens&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;WebAuthn Passkey&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="frontend"&gt;Frontend&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Native ES Modules&lt;/strong&gt; (zero build tools)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Canvas / SVG&lt;/strong&gt; waveform rendering&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Service Worker&lt;/strong&gt; (PWA offline support)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="highlights"&gt;Highlights&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;Zero build for frontend and backend, no webpack/vite dependencies&lt;/li&gt;&#10;&lt;li&gt;Teaching-first design, all waveforms marked as &amp;ldquo;educational illustrations&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;BYOK (Bring Your Own Key) AI integration support&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-highlights"&gt;Project Highlights&#10;&lt;/h2&gt;&lt;h3 id="-interactive-design"&gt;🎨 Interactive Design&#10;&lt;/h3&gt;&lt;p&gt;Traditional ECG learning is &amp;ldquo;look at pictures and talk&amp;rdquo;, ECG Lab lets you &lt;strong&gt;operate hands-on&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Drag sliders to change electrolyte concentrations, observe waveform changes in real-time&lt;/li&gt;&#10;&lt;li&gt;Click anywhere on the waveform to measure intervals and amplitudes&lt;/li&gt;&#10;&lt;li&gt;Rotate 3D cardiac vector loops to understand spatial projections&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="-intelligent-assessment"&gt;📊 Intelligent Assessment&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;XP level system&lt;/strong&gt;: Lv.1-20, unlocking different difficulty levels&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Ability radar chart&lt;/strong&gt;: Visualize mastery of each chapter&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Error analysis&lt;/strong&gt;: AI explains differential points for wrong options (unlocked at Lv.10)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="-open-source--free"&gt;🌍 Open Source &amp;amp; Free&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;Code licensed under &lt;a class="link" href="https://github.com/AndroidOL/ecg-academy" target="_blank" rel="noopener"&#10; &gt;MIT&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Educational content under CC BY-SA 4.0&lt;/li&gt;&#10;&lt;li&gt;Full access without login required&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="user-experience"&gt;User Experience&#10;&lt;/h2&gt;&lt;p&gt;🔗 &lt;strong&gt;Live Demo&lt;/strong&gt;: &lt;a class="link" href="https://ecg.tianhao.me" target="_blank" rel="noopener"&#10; &gt;ecg.tianhao.me&lt;/a&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Desktop and mobile responsive&lt;/li&gt;&#10;&lt;li&gt;PWA installable to home screen, offline capable&lt;/li&gt;&#10;&lt;li&gt;Dual themes (light/dark), Chinese/English interface switching&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="project-screenshots"&gt;Project Screenshots&#10;&lt;/h2&gt;&lt;p&gt;&lt;img alt="ECG Lab Homepage" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.tianhao.me/uploads/ecg-lab-home.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;System learning interface: Course map and chapter navigation&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="ECG Interaction" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.tianhao.me/uploads/ecg-lab-ecg.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Interactive waveforms: Zoom, measure, annotate&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Vector Lab" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.tianhao.me/uploads/ecg-lab-vectors.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Cardiac Vector Lab: 3D vector loop visualization&lt;/em&gt;&lt;/p&gt;&#10;&lt;h2 id="future-roadmap"&gt;Future Roadmap&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;📱 WFDB/SCP format adaptation for real ECG data&lt;/li&gt;&#10;&lt;li&gt;🎓 CME (Continuing Medical Education) assessment system&lt;/li&gt;&#10;&lt;li&gt;🤖 Enhanced AI tutor supporting more clinical scenario Q&amp;amp;A&lt;/li&gt;&#10;&lt;li&gt;📊 Waveform annotator for custom key point marking&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="summary"&gt;Summary&#10;&lt;/h2&gt;&lt;p&gt;ECG Lab is my exploration in medical education, attempting to solve traditional ECG learning pain points with modern web technologies. The project uses a zero-build native tech stack, focusing on interactivity and teaching experience, hoping to provide medical students and clinicians with an efficient and engaging learning tool.&lt;/p&gt;&#10;&lt;p&gt;Welcome to try it and provide feedback!&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a class="link" href="https://github.com/AndroidOL/ecg-academy" target="_blank" rel="noopener"&#10; &gt;github.com/AndroidOL/ecg-academy&lt;/a&gt;&lt;br&gt;&#10;&lt;strong&gt;Live Site&lt;/strong&gt;: &lt;a class="link" href="https://ecg.tianhao.me" target="_blank" rel="noopener"&#10; &gt;ecg.tianhao.me&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Next-Terminal: A Secure Access Solution for Home Networks</title><link>https://www.tianhao.me/en/posts/nt-web-assets/</link><pubDate>Fri, 11 Jul 2025 19:43:25 +0800</pubDate><guid>https://www.tianhao.me/en/posts/nt-web-assets/</guid><description>&lt;img src="https://www.tianhao.me/uploads/f47ac10b-58cc-4372-a567-0e02b2c3d479.jpg" alt="Featured image of post Next-Terminal: A Secure Access Solution for Home Networks" /&gt;&lt;h1 id="a-new-secure-access-approach-for-home-networks-next-terminal-in-practice"&gt;A New Secure Access Approach for Home Networks: Next-Terminal in Practice&#10;&lt;/h1&gt;&lt;p&gt;With the rapid spread of information technology, more and more home users are building their own servers, mini NAS systems, and home automation centers. At the same time, how to &lt;strong&gt;securely, efficiently, and cost-effectively&lt;/strong&gt; access these devices from the public internet has become an urgent issue to solve.&lt;/p&gt;&#10;&lt;p&gt;The open-source project &lt;a class="link" href="https://github.com/dushixiang/next-terminal" target="_blank" rel="noopener"&#10; &gt;Next-Terminal&lt;/a&gt; (abbreviated as NT) offers an elegant solution for home users. It’s not only open-source and free, but also extremely lightweight (only around 200MB) and highly performant. It can be easily deployed on public nodes such as Alibaba Cloud, Tencent Cloud, or other lightweight cloud instances, serving as the single entry point for all traffic. NT securely forwards requests to various services in the home network, achieving &lt;strong&gt;unified management of secure proxy and access control&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="1-security-risks-of-exposing-home-networks-to-the-internet"&gt;1. Security Risks of Exposing Home Networks to the Internet&#10;&lt;/h2&gt;&lt;h3 id="11-common-ways-of-home-network-exposure"&gt;1.1 Common Ways of Home Network Exposure&#10;&lt;/h3&gt;&lt;p&gt;Suppose you’ve set up a website or NAS device at home and want to access it remotely. Common approaches include:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Port forwarding on the home router&lt;/strong&gt; (using a public IP);&lt;/li&gt;&#10;&lt;li&gt;Domain name resolution to a dynamic home IP (Dynamic DNS);&lt;/li&gt;&#10;&lt;li&gt;Direct connection using IPv6 address.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="12-potential-security-risks-from-public-exposure"&gt;1.2 Potential Security Risks from Public Exposure&#10;&lt;/h3&gt;&lt;p&gt;Regardless of whether you use DDNS or IPv6, exposing your device to the public internet means:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;A significantly increased chance of being scanned by attackers;&lt;/li&gt;&#10;&lt;li&gt;Anyone who knows your IP can try to connect;&lt;/li&gt;&#10;&lt;li&gt;If there are any vulnerabilities (e.g., outdated NAS, PHP flaws), attackers might compromise your internal network.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;In IPv4, NAT allows many internal devices to access the internet using one public IP. However, with IPv6, &lt;strong&gt;each device can have its own public IP&lt;/strong&gt;, which facilitates direct communication but introduces new threats:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Predictable addresses — attackers can guess address ranges based on a known /60 prefix;&lt;/li&gt;&#10;&lt;li&gt;Every device at home (router, NAS, cameras, smart TVs) has its own IPv6 address;&lt;/li&gt;&#10;&lt;li&gt;Knowing one server address could allow inference of the entire network prefix;&lt;/li&gt;&#10;&lt;li&gt;Despite the vast IPv6 space, &lt;strong&gt;targeted scans and brute force attacks are still feasible&lt;/strong&gt;;&lt;/li&gt;&#10;&lt;li&gt;Many home devices lack strict IPv6 firewall configurations, meaning open ports might be directly accessible.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;Security Alert&lt;/strong&gt;: The global reachability of IPv6 makes home devices more vulnerable to targeting and attacks.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="2-how-does-next-terminal-help-solve-these-problems"&gt;2. How Does Next-Terminal Help Solve These Problems?&#10;&lt;/h2&gt;&lt;p&gt;Next-Terminal uses a &amp;ldquo;unified entry proxy + fine-grained access control&amp;rdquo; approach with key features such as:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;No exposure of internal ports to the public internet&lt;/strong&gt;;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Ports open only to trusted entry points&lt;/strong&gt;;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Supports fine-grained access control and login authentication&lt;/strong&gt;;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Auditable, manageable, and authorizable access to your services&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR&#10; A[User] --&gt; B[NT Public Node]&#10; B --&gt; C[Home Gateway]&#10; C --&gt; D[Internal Services]&lt;/pre&gt;&lt;h3 id="scenario-securely-exposing-a-home-website-to-the-internet"&gt;Scenario: Securely Exposing a Home Website to the Internet&#10;&lt;/h3&gt;&lt;p&gt;Suppose you have a website at &lt;code&gt;http://192.168.1.100:8080&lt;/code&gt; on your home network and want to access it from outside — but don’t want anyone to be able to connect directly.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Traditional method&lt;/strong&gt;: Port forwarding — risky&lt;br&gt;&#10;&lt;strong&gt;Improved method&lt;/strong&gt;: Use NT for &lt;strong&gt;reverse proxy + authentication&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h3 id="steps-with-public-ip"&gt;Steps (With Public IP):&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;Deploy Next-Terminal on a public server (e.g., Alibaba Cloud);&lt;/li&gt;&#10;&lt;li&gt;Configure your home firewall to &lt;strong&gt;only allow the public server’s IP to access relevant ports&lt;/strong&gt;;&lt;/li&gt;&#10;&lt;li&gt;Add internal assets (like your home website) and configure port mapping;&lt;/li&gt;&#10;&lt;li&gt;Enable authentication and authorization (multi-factor authentication, passkeys, etc.);&lt;/li&gt;&#10;&lt;li&gt;External users access via NT’s web interface — requests are proxied to your internal service after verification.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="steps-without-public-ip"&gt;Steps (Without Public IP):&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;Deploy Next-Terminal on a public server;&lt;/li&gt;&#10;&lt;li&gt;Deploy NT secure gateway in your home (e.g., container or mini host);&lt;/li&gt;&#10;&lt;li&gt;Register the NT gateway with the NT platform;&lt;/li&gt;&#10;&lt;li&gt;Add internal assets to be accessed;&lt;/li&gt;&#10;&lt;li&gt;Enable authentication and authorization;&lt;/li&gt;&#10;&lt;li&gt;External users access through NT — the public server proxies requests to the NT gateway, which forwards to internal services.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;img alt="NT Architecture" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.tianhao.me/uploads/f47ac10b-58cc-4372-a567-0e02b2c3d479.jpg"&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="3-firewall-strategy-trust-only-the-public-server-reject-everything-else"&gt;3. Firewall Strategy: Trust Only the Public Server, Reject Everything Else&#10;&lt;/h2&gt;&lt;p&gt;To further enhance security, configure firewall rules on your home router or soft router:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Only allow the NT public server’s IP&lt;/strong&gt; (e.g., Alibaba Cloud) to access specific ports (like NAS port 8080);&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Block all other IPs from accessing these ports&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This ensures &amp;ldquo;&lt;strong&gt;only trusted servers can access your home network&lt;/strong&gt;&amp;rdquo;, preventing connections even if your public IP is known.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;span class="lnt"&gt;4&#10;&lt;/span&gt;&lt;span class="lnt"&gt;5&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Example firewall rule (assuming home gateway uses iptables)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Allow access from Alibaba Cloud IP to port 8080&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iptables -A INPUT -p tcp -s &amp;lt;NT_Public_IP&amp;gt; --dport &lt;span class="m"&gt;8080&lt;/span&gt; -j ACCEPT&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Drop access from all other IPs to port 8080&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iptables -A INPUT -p tcp --dport &lt;span class="m"&gt;8080&lt;/span&gt; -j DROP&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;&lt;img alt="Firewall Configuration" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.tianhao.me/uploads/550e8400-e29b-41d4-a716-446655440000.png"&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="4-comparison-with-traditional-vpn-and-frp-solutions"&gt;4. Comparison with Traditional VPN and FRP Solutions&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Feature&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;VPN&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;FRP&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;NextTerminal ✅&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Security&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;High (requires hardware)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Medium (requires setup)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;High (granular control)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Usability&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Requires client&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Complex config&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Web-based access&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Deployment Difficulty&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Easy (hardware)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Moderate&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Easy (container deployment)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;User Access Control&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅ Supported&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌ Not supported&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅ Supported&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Logging &amp;amp; Audit&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Hard to query&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌ Not supported&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅ Supported&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Internal Service Proxy&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅ Auto config&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Manual port mapping&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅ Auto proxy&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="5-extended-use-cases-more-than-just-website-access"&gt;5. Extended Use Cases: More Than Just Website Access&#10;&lt;/h2&gt;&lt;p&gt;NextTerminal can proxy not only websites, but also:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Remote SSH access to home Linux machines;&lt;/li&gt;&#10;&lt;li&gt;RDP access to Windows desktops;&lt;/li&gt;&#10;&lt;li&gt;NAS directory browsing (e.g., via WebDAV);&lt;/li&gt;&#10;&lt;li&gt;Access to camera admin panels;&lt;/li&gt;&#10;&lt;li&gt;Connect to HomeAssistant, Aria2, Transmission, and other home services.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;All with a unified entry point and unified identity authentication.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="a-note-to-developers-dont-let-open-source-go-unnoticed"&gt;A Note to Developers: Don’t Let Open Source Go Unnoticed&#10;&lt;/h2&gt;&lt;p&gt;Next-Terminal is a free, open-source secure ops platform developed by a Chinese developer and maintained actively on GitHub. Whether you&amp;rsquo;re a developer, ops engineer, or home user, it&amp;rsquo;s strongly recommended to:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Try deploying and using the platform yourself;&lt;/li&gt;&#10;&lt;li&gt;Give the project a ⭐️ Star;&lt;/li&gt;&#10;&lt;li&gt;Share it in your blog or community;&lt;/li&gt;&#10;&lt;li&gt;Suggest features or contribute docs to help improve it!&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-references-and-recommended-links"&gt;📘 References and Recommended Links&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Project: &lt;a class="link" href="https://github.com/dushixiang/next-terminal" target="_blank" rel="noopener"&#10; &gt;https://github.com/dushixiang/next-terminal&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Docs: &lt;a class="link" href="https://next-terminal.dushixiang.com/" target="_blank" rel="noopener"&#10; &gt;https://next-terminal.dushixiang.com&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;IPv6 Security (Google Research Paper): &lt;a class="link" href="https://research.google/pubs/pub46246/" target="_blank" rel="noopener"&#10; &gt;https://research.google/pubs/pub46246/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Home Security Setup Guide (Zhihu): &lt;a class="link" href="https://zhuanlan.zhihu.com/p/620203743" target="_blank" rel="noopener"&#10; &gt;https://zhuanlan.zhihu.com/p/620203743&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="conclusion"&gt;Conclusion&#10;&lt;/h2&gt;&lt;p&gt;Next-Terminal is not just a great enterprise remote ops platform — it’s also &lt;strong&gt;perfect for home users&lt;/strong&gt;. By building a unified and secure access point, you no longer have to worry about public internet attacks, deal with complex VPN setups, or risk exposing your internal network.&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;The security of home IT infrastructure is something every tech enthusiast should care about. Start today by deploying Next-Terminal and level up your network security.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;</description></item></channel></rss>