


[{"content":"","date":"November 8, 2026","externalUrl":null,"permalink":"/en/tags/love/","section":"Article Tags","summary":"","title":"Love","type":"tags"},{"content":"","date":"November 8, 2026","externalUrl":null,"permalink":"/en/categories/personal-reflections/","section":"Categories","summary":"","title":"Personal Reflections","type":"categories"},{"content":" Introduction # In today\u0026rsquo;s fast-food romance era, finding a partner who is stable, reliable, and steadfast has become increasingly difficult. However, many people overlook the ultimate, most unsung partner right beside them—the pillar inside your home (or any pillar in a building).\nI am not joking.\nWhile a romance that transcends the boundary between physical objects and living beings might sound a bit avant-garde, analyzing it from both rational and emotional perspectives reveals that dating a pillar offers numerous advantages that human partners simply cannot match.\n1. Ultimate Stability and Security # A pillar has a robust body that spends its entire life holding up a piece of the sky for you, giving you an unmatched sense of security.\nRain or Shine: No matter how the external economy declines or how the world changes, it stays standing there quietly. Physical-Grade Security: In critical moments, it is literally a \u0026ldquo;rock-solid support,\u0026rdquo; providing the strongest and most stable force to rely on. 2. Absolute Single-Mindedness and Loyalty: Zero Risk of Cheating # The \u0026ldquo;trust issues\u0026rdquo; that cause so much anxiety in modern relationships are completely non-existent with a pillar.\nZero Flirting with Third Parties: It has no social media accounts, doesn\u0026rsquo;t wander around, and won\u0026rsquo;t talk to anyone else. Single-Minded Devotion: Its world revolves entirely around you. Whenever you need it, it will always be standing right there, never shifting its affection. 3. Strong Hugs Anytime, Anywhere: The Quietest Listener # When you come home exhausted after facing setbacks outside, the pillar is always there waiting for you.\nAlways Available: Lean on it whenever you want, wrap your arms around it whenever you feel like it—no need to read anyone\u0026rsquo;s facial expressions. Zero Emotional Blackmail: It won\u0026rsquo;t complain that you talk too much, nor will it argue with your points. It simply carries all your emotions, feelings, and tears in silence. 4. Zero Communication Costs and Friction: Away from Emotional Burnout # The vast majority of breakups stem from personality clashes or poor communication, none of which will ever happen with a pillar.\nNo Arguments or Cold Wars: It won\u0026rsquo;t get mad at you over different living habits, won\u0026rsquo;t judge your flaws, and certainly won\u0026rsquo;t abandon you for no reason. No Mind Games: It is open, honest, and what you see is what you get, saving you countless hours of suspicion and communication costs. 5. High CP Value and Ultra-Low Maintenance: An Economical Choice # Maintaining a relationship with a human often requires a significant investment of time and money, but a pillar is exceptionally low-maintenance.\nSave on Expenses: No need to buy it birthday or holiday gifts, nor do you need to worry about what it needs—because it needs nothing. Simple Upkeep: You only need to dust it off occasionally or give it a fresh coat of paint every few years, and it will stay by your side for a lifetime without a single complaint. Conclusion and Friendly Reminders # Although dating a pillar comes with countless advantages, this relationship isn\u0026rsquo;t entirely flawless. For example: it feels a bit cold to the touch (it\u0026rsquo;s recommended to put a cozy knitted sweater on it during winter), it can\u0026rsquo;t accompany you on shopping trips (it can\u0026rsquo;t overcome long-distance relationship hurdles), and it isn\u0026rsquo;t very good at chatting—though that is by no means a dealbreaker.\nAlright!\nOverall, a pillar is undeniably the most grounded, deeply affectionate, and durable choice of partner in this day and age!\n\u0026ldquo;If you do not leave, I shall never abandon.\u0026rdquo; —— 柱！\n","date":"November 8, 2026","externalUrl":null,"permalink":"/en/posts/pillar-couple/","section":"Article List","summary":"A comprehensive analysis of the advantages of dating a real, physical ‘pillar’ inside a building. In an era where fast-food romance runs rampant, we break down the ultimate security, zero-cheating risk, and unbeatable cost-performance ratio of choosing a pillar as your partner.","title":"Why a \"Building Pillar\" Is Your Perfect Partner: 5 Major Benefits of Dating a Pillar","type":"posts"},{"content":"","date":"2026年11月8日","externalUrl":null,"permalink":"/tags/%E6%84%9F%E6%83%85/","section":"文章標籤","summary":"","title":"感情","type":"tags"},{"content":"","date":"2026年11月8日","externalUrl":null,"permalink":"/categories/%E6%97%A5%E5%B8%B8%E9%9A%A8%E7%AD%86/","section":"文章分類","summary":"","title":"日常隨筆","type":"categories"},{"content":" What is this website? # Welcome to Aiixi Bear\u0026rsquo;s Digital Backyard! (⁠⁠˘⁠︶⁠˘⁠⁠)⁠.⁠｡⁠*⁠♡\nMy name is Aiixi Bear!\nThis is my personal digital sanctuary crafted within the vast expanse of the internet.\nOn this blog, I will share with you:\n🐧 Free and Open-Source Software (FOSS): Exploring high-quality software, hardware, and philosophies from the community.\n💻 Integrating Tech into Daily Life: How to make digital tools a helpful companion in your everyday routine.\n🐾 My Life Moments: Casual reflections, musings, and exploration experiences.\nCopyright and Licensing # All default original text and article content on this website are released under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.\nIn short, I am delighted to share everything in this digital backyard with everyone! You are free to repost, modify, or share the articles and content from this site as long as you follow two simple rules:\n🏷️ Attribution (BY): When quoting or reposting, please clearly credit the original author as \u0026ldquo;Aiixi Bear\u0026rdquo; and provide a link to the original article on this site. 🔄 ShareAlike (SA): If you remix, transform, or build upon the material from this site, your new contributions must be distributed under the same CC BY-SA 4.0 license. ⚠️ Special Notes and Exceptions # Original Artwork and Illustrations: All artwork, illustrations, drawings, and images created by Aiixi Bear on this site are All Rights Reserved and are NOT covered by the CC license. Unauthorized reposting, commercial use, or derivative works are strictly prohibited without prior written permission. Individual Article Licensing: If a specific article indicates a different license (e.g., CC BY-NC-SA or All Rights Reserved), the license specified on that individual article page shall take precedence. Right to Modify Terms: We reserve the right to modify, update, or terminate this licensing statement at any time. Updated terms will be posted directly to this page without prior notice. Through the spirit of openness and sharing, I hope the philosophy of free and open source spreads even further! Let\u0026rsquo;s make this digital world a better place together! (⁠⁠˘⁠︶⁠˘⁠⁠)⁠.⁠｡⁠*⁠♡\nArticle Comments # At the bottom of each article, there is a Giscus comment section. You can leave comments simply by signing in with your GitHub account. Feel free to share your thoughts, suggestions, discussions, or questions!\nTechnical Stack # Static Site Generator # This site is built with Hugo and uses the Blowfish theme.\nCurrent Status of This Site # Build Information # Hugo Version: 0.164.0\nSite Version: 91a3c55\nLast Build Time: 2026-11-08 23:06:22 (Taipei Time) Running Time # Website launch time: 2025-11-05 18:44:30 (Taipei time)\n00 Days : 00 Hours : 00 Mins : 00 Secs Blog Statistics # 📝 10 Total Articles ✍️ 30,635 words Total Words ⏱️ 103 mins Est. Reading Time 📊 3,063 words Avg. Words per Article Monetization # This website is currently non-profit, meaning there are absolutely no commercial monetization activities (such as ads or sponsored promotions)!\nSubscribe to This Site # RSS (繁體中文版): https://www.aiixi.cc/index.xml\nRSS (English Version): https://www.aiixi.cc/en/index.xml\nReporting Site Issues # Email: aiixi@aiixi.cc, aiixibear@proton.me\nFor more of my contact information, please visit the About Me page.\nPrivacy Policy # For details on visitor data collection and privacy protection on this site, please check the Privacy Policy page!\n","date":"October 31, 2026","externalUrl":null,"permalink":"/en/about-this-site/","section":"Aiixi Bear's Backyard","summary":"","title":"About This Site","type":"page"},{"content":" Introduction # Welcome to Aiixi Bear\u0026rsquo;s Digital Backyard! I place high value on everyone\u0026rsquo;s personal privacy and data security. Therefore, this website is committed to protecting visitor privacy and adheres to the principle of data minimization—collecting only the essential information required to maintain site operations and improve the user experience.\nServer Logs # When you connect to and browse this website, the server automatically records your IP address, browser type, and certain device information. This information is used strictly for maintaining system stability and security.\nWeb Analytics (Google Analytics) # To better understand visitor preferences and improve the browsing experience, this website uses Google Analytics for traffic analysis. Google Analytics collects anonymous visit data through cookies.\nThe collected data is used exclusively to improve website services. I will not share or sell this data to third parties, nor can I use this data to identify your personal identity, so please feel free to browse with ease. (⁠⁠˘⁠︶⁠˘⁠⁠)⁠.⁠｡⁠*⁠♡\nContact Information # If you have any questions regarding this site\u0026rsquo;s privacy policy, please feel free to contact me via email at: aiixi@aiixi.cc, aiixibear@proton.me\n","date":"October 31, 2026","externalUrl":null,"permalink":"/en/privacy/","section":"Aiixi Bear's Backyard","summary":"","title":"Privacy Policy","type":"page"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 大綱：探討戀愛關係中未確認名分卻頻繁釋放親密訊號的現象，從高頻互動、無預警冷卻到溝通斷裂，理解現代曖昧中的典型行為模式與心理落差。 這是文章的開頭喔！ (KAITO) # 這篇文章內容僅供娛樂與心理探討，請勿過分解讀。 在大眾的印象中，所謂感情中的受挫往往與明確的背叛有關。然而，在現代戀愛互動中，更讓人感到困惑與疲憊的，其實是「模糊的親密關係」——一種雙方未給予正式承諾，卻在一段時間內透過高頻率的親密訊號拉近距離，最後卻以「突然拉開距離」與「溝通無果」收場的互動經驗。\n在跨越數月甚至更長的時間歷程中，這類互動往往展現出以下幾種常見的行為軌跡：\n一、 高頻互動與模糊的界線 # 在關係初期，雙方往往能透過「主動關懷」與「專屬感營造」快速建立起信任與依賴。\n符號化專屬感：雙方或其中一方可能會提議更換社群軟體或遊戲中的配對頭像、標記專屬稱呼。這類行為在表面上營造出情侶般的氛圍，但也容易讓雙方對關係的定義產生落差。 界線模糊的言語與互動：在日常生活中，彼此可能會頻繁出現跨越普通朋友界線的關心（如頻繁傳送早晚安、分享生活細節）。在互動過程中，若未明確定位關係，往往會讓投入較多的一方對未來產生較高的期待。 高密度的陪伴與交流：在特定階段內，雙方可能會維持極高的訊息頻率，甚至分享對未來的想像或規劃，讓投入其中一方誤以為關係正在穩健地向前邁進。 二、 突如其來的冷卻與距離拉開 # 當其中一方全心投入、甚至開始為關係付出更多心力時，互動模式卻可能毫無預警地發生轉變。\n數位痕跡的調整：社群平台上的專屬互動、頭像或過往的親密標記可能會突然被撤換或刪除，這種轉變往往讓習慣原本互動模式的一方感到錯愕。 溝通管道的閉塞：當投入較多的一方感到焦慮並試圖坦誠溝通時，對方可能因為不知該如何面對或習慣選擇逃避，而以冷淡或簡短的方式回應，使得對話難以順利進行，進而加深了雙方的內耗與自我懷疑。 三、 認知落差與社交圈的視角差異 # 當關係未能妥善收尾時，往往會衍生出後續的心理與社交困擾：\n觀點的不同解讀：雙方在事後的回憶與認知上可能存在落差，一方認為是「不告而別的傷害」，另一方則可能覺得只是「自然淡出或互不打擾」，這種主觀感受的差異容易在朋友圈中形成不同的說法。 錯失成熟對話的機會：當雙方無法平心靜氣地面對面溝通、好聚好散時，往往會錯過釐清誤會的時機，甚至讓情緒在猜忌中不斷放大。 社群情緒的波及：在缺乏有效溝通的情況下，雙方或周遭的討論有時會帶入過多情緒，甚至影響到彼此的社交邊界與心情。 結語：在互動中學會保護自己 # 一段耗費大量時間與心力維繫的關係，若最後未能如願，難免會讓人感到失落與疲憊。但這也提醒我們，每段感情都是一場認識自我與學習設立界線的過程。\n真正值得被珍惜的，永遠是那個敢於付出真心、同時也懂得在關係中設立健康邊界的人。願我們在每一次的相遇與轉身中，都能更加成熟溫柔，好好照顧自己的心。\n感謝閱讀！！！再次強調：這篇文章內容僅供娛樂與心理分享，請勿過分解讀。\n為了感謝你的閱讀，在這裡放一個特斯拉飛車的影片給各位讀者看：\n","date":"October 29, 2026","externalUrl":null,"permalink":"/en/posts/emotional-game/","section":"Article List","summary":"An exploration of relationships where commitment remains undefined despite frequent signals of intimacy. From intense interaction and sudden withdrawal to communication breakdowns, this article examines common patterns in modern situationships and the emotional mismatch they can create.","title":"Frequent Flirting, Sudden Distance: When Uneven Intimacy Becomes an Emotional Drain","type":"posts"},{"content":"","date":"October 29, 2026","externalUrl":null,"permalink":"/en/tags/interpersonal-relationships/","section":"Article Tags","summary":"","title":"Interpersonal Relationships","type":"tags"},{"content":"","date":"October 29, 2026","externalUrl":null,"permalink":"/en/tags/psychology/","section":"Article Tags","summary":"","title":"Psychology","type":"tags"},{"content":"","date":"2026年10月29日","externalUrl":null,"permalink":"/tags/%E4%BA%BA%E9%9A%9B%E9%97%9C%E4%BF%82/","section":"文章標籤","summary":"","title":"人際關係","type":"tags"},{"content":"","date":"2026年10月29日","externalUrl":null,"permalink":"/tags/%E5%BF%83%E7%90%86%E5%AD%B8/","section":"文章標籤","summary":"","title":"心理學","type":"tags"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 開頭 # 在架設 Hugo 靜態網站時，最讓人頭痛的其中一件事就是：「怎麼加入留言功能呢？」🤔 常見的留言板方案可能需要載入肥大的第三方腳本，而像是 Valine 或 Artalk 等則需要自己額外架設後端伺服器。\n而今天這篇要介紹的 Giscus 簡直就是大救星！它是基於 GitHub Discussions 所打造的留言系統，具備以下超棒的優點：\n完全免費、無廣告：依託 GitHub 平台，不需要額外付費租用伺服器。 資料掌握在自己手上：所有的留言都會同步儲存在您的 GitHub Repository 的 Discussions 中。 第一步：準備 GitHub 倉庫與啟用 Discussions # 可以新建一個專門存放留言的 Repo，也可以使用現有的您的 Hugo 網站原始碼 repo，但：\n該 GitHub Repo 必須是 公開的 (Public)。（如果是 Private 的話訪客會無法讀取與留言唷！） 必須啟用 Discussions 功能： 進入要使用的 GitHub Repo 頁面。 點擊上方導覽列的 Settings。 在左側選單的 Features 區塊中，找到 Discussions 並將其打勾啟用。 第二步：安裝 Giscus GitHub App # 為了讓 Giscus 能夠存取您的 Discussions，需要在倉庫中安裝官方的 GitHub App：\n前往 Giscus 官方網站 進行設定。 在網頁中下方找到 安裝 giscus 應用程式 的連結（或是直接點擊 這裡前往安裝）。 選擇您要授權的 GitHub 帳號或組織，並選擇 Only select repositories，指定您放網站的那個 Repo。 點擊 Install \u0026amp; Authorize 完成安裝！🎉 示範： 第三步：取得 Giscus 配置參數 # 回到 Giscus 官網，往下填寫設定： 倉庫：填入 GitHub用戶名/倉庫名（例如：yourname/my-blog）。 頁面與 Discussions 的對應方式：建議選擇 pathname（網址路徑），這樣每個頁面就會對應到一個獨立的 Discussion，但我是選 title，因為好看啊！ Discussion 分類 (Category)：建議選擇 Announcements。 主題 (Theme)：可以選擇 preferred_color_scheme，但我是選 light ，因為等下的步驟中，我會直接在留言板背景插入一個白色方塊避免顏色被吃掉！ 網頁下方就會自動生成一段專屬於您的 \u0026lt;script\u0026gt; 設定碼，長得會像這樣： \u0026lt;!-- 這只是範例，不要使用這段程式碼，請依照自己拿到的程式碼為準！ --\u0026gt; \u0026lt;script src=\u0026#34;https://giscus.app/client.js\u0026#34; data-repo=\u0026#34;yourname/my-blog\u0026#34; data-repo-id=\u0026#34;R_kgD...\u0026#34; data-category=\u0026#34;Announcements\u0026#34; data-category-id=\u0026#34;DIC_kwD...\u0026#34; data-mapping=\u0026#34;title\u0026#34; data-strict=\u0026#34;0\u0026#34; data-reactions-enabled=\u0026#34;1\u0026#34; data-emit-metadata=\u0026#34;0\u0026#34; data-input-position=\u0026#34;bottom\u0026#34; data-theme=\u0026#34;light\u0026#34; data-lang=\u0026#34;zh-TW\u0026#34; crossorigin=\u0026#34;anonymous\u0026#34; async\u0026gt; \u0026lt;/script\u0026gt; 第四步：整合到 Hugo 佈景主題中 # 接下來要把這段程式碼放進 Hugo 的文章模板裡。不同的佈景主題做法可能略有不同，但一般標準的做法是建立或修改 Partial 模板。\n我使用的是 Blowfish Themes，要修改的檔案位於 themes/blowfish/layouts/partials/article-comments.html，在這裡使用這個檔案示範。\n0. 在設定檔中開啟 showComments 選項 # 在 Hugo 的設定檔，例如 params.toml 等等，打開留言選項。\n# config/_default/params.toml [article] ### 其他設定略 showComments = true 1. 建立留言板 Partial 檔案 # 在您主題資料夾底下的 layouts/partials/ 目錄中，建立一個名為 article-comments.html 的檔案，覆蓋 Blowfish 預設的留言板模版，建立自己的留言板模版：\n{{ if and (strings.HasPrefix .File.Path \u0026#34;posts/\u0026#34;) (.Params.showComments | default (site.Params.article.showComments | default false)) }} {{ if templates.Exists \u0026#34;partials/comments/giscus.html\u0026#34; }} \u0026lt;div class=\u0026#34;pt-8\u0026#34;\u0026gt; \u0026lt;hr\u0026gt; \u0026lt;br\u0026gt; {{/* 標題與說明文字區塊 */}} \u0026lt;div class=\u0026#34;mb-6 flex flex-col gap-1\u0026#34;\u0026gt; {{/* 標題與裝飾圓點 */}} \u0026lt;div class=\u0026#34;flex items-center gap-2\u0026#34;\u0026gt; \u0026lt;h2 class=\u0026#34;mt-8 text-2xl font-extrabold mb-10\u0026#34;\u0026gt; 留言區 \u0026lt;/h2\u0026gt; \u0026lt;span class=\u0026#34;h-2 w-2 rounded-full bg-primary-500 inline-block\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; \u0026lt;/div\u0026gt; {{/* 輔助說明文字 */}} \u0026lt;p class=\u0026#34;text-sm text-neutral-500 dark:text-neutral-400\u0026#34;\u0026gt; 歡迎針對文章內容提出想法或交流！點擊下方按鈕即可載入 Giscus 留言板，使用 GitHub 登入即可留言喔！ \u0026lt;/p\u0026gt; \u0026lt;/div\u0026gt; {{/* 留言載入與按鈕區塊 */}} \u0026lt;div class=\u0026#34;pt-2 flex flex-col items-center justify-center min-h-[120px]\u0026#34; id=\u0026#34;comments-wrapper\u0026#34;\u0026gt; {{/* 載入留言按鈕 */}} \u0026lt;button type=\u0026#34;button\u0026#34; id=\u0026#34;load-comments-button\u0026#34; onclick=\u0026#34;loadGiscusComments()\u0026#34; class=\u0026#34;px-6 py-3 rounded-lg border border-neutral-300 dark:border-neutral-700 bg-neutral-100 dark:bg-neutral-800 text-neutral-700 dark:text-neutral-200 hover:bg-neutral-200 dark:hover:bg-neutral-700 transition-colors font-medium text-base focus:outline-none\u0026#34;\u0026gt; 載入留言板 \u0026lt;/button\u0026gt; {{/* 留言載入容器：設定固定的純白背景與深色文字，不會隨主題變黑 */}} \u0026lt;div id=\u0026#34;comments-container\u0026#34; class=\u0026#34;w-full p-4 rounded-xl bg-white border border-neutral-200 text-neutral-900 shadow-sm\u0026#34;\u0026gt;\u0026lt;/div\u0026gt; {{ partial \u0026#34;comments/giscus.html\u0026#34; . }} \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; {{ else }} {{ warnf \u0026#34;[BLOWFISH] Comments are enabled for %s but no comments partial exists.\u0026#34; .File.Path }} {{ end }} {{ end }} 註：模版中我只允許路徑是 /posts/* 的文章，以及有啟用 showComments，留言板才會顯示。\n註：這裡的 loadGiscusComments() ，我會在下方的 giscus.html 中實作動態插入 \u0026lt;script\u0026gt; 標籤的 JS 邏輯，達到點擊按鈕後才非同步載入 Giscus 的效果～\n小技巧：有些熱門的 Hugo 主題（例如 Hugo PaperMod、DoIt、FixIt 等）本身就在內建設定檔裡原生支援 Giscus 了！您只需要打開主題的 hugo.toml（或 params.toml），找到 [params.giscus] 區塊，把對應的 repo、repo-id、category-id 填進去就可以直接啟用，完全不需要自己手動刻模板唷！因主題而異，可以去檢查看看自己的 Hugo 主題支不支援。\n2. 建立 giscus 專屬模版 # 在 layouts/partials/ 新增一個資料夾 comments，並在裡面加入 giscus.html，注意！這裡並不是直接貼入 giscus 生成的腳本，所以請替換為自己的參數。\n\u0026lt;script\u0026gt; /** * 延遲載入 Giscus 留言系統 */ let giscusLoading = false; let giscusLoaded = false; function loadGiscusComments() { const button = document.getElementById(\u0026#39;load-comments-button\u0026#39;); const container = document.getElementById(\u0026#39;comments-container\u0026#39;); if (!container || giscusLoading || giscusLoaded) { return; } // 防止重複建立 Giscus 腳本 if (document.getElementById(\u0026#39;giscus-script\u0026#39;)) { return; } giscusLoading = true; if (button) { button.disabled = true; button.textContent = \u0026#39;正在載入留言板…\u0026#39;; } const script = document.createElement(\u0026#39;script\u0026#39;); script.id = \u0026#39;giscus-script\u0026#39;; script.src = \u0026#39;https://giscus.app/client.js\u0026#39;; script.async = true; script.crossOrigin = \u0026#39;anonymous\u0026#39;; script.setAttribute(\u0026#39;data-repo\u0026#39;, \u0026#39;請替換\u0026#39;); script.setAttribute(\u0026#39;data-repo-id\u0026#39;, \u0026#39;請替換\u0026#39;); script.setAttribute(\u0026#39;data-category\u0026#39;, \u0026#39;請替換\u0026#39;); script.setAttribute(\u0026#39;data-category-id\u0026#39;, \u0026#39;請替換\u0026#39;); script.setAttribute(\u0026#39;data-mapping\u0026#39;, \u0026#39;title\u0026#39;); script.setAttribute(\u0026#39;data-strict\u0026#39;, \u0026#39;0\u0026#39;); script.setAttribute(\u0026#39;data-reactions-enabled\u0026#39;, \u0026#39;1\u0026#39;); script.setAttribute(\u0026#39;data-emit-metadata\u0026#39;, \u0026#39;0\u0026#39;); script.setAttribute(\u0026#39;data-input-position\u0026#39;, \u0026#39;bottom\u0026#39;); script.setAttribute(\u0026#39;data-theme\u0026#39;, \u0026#39;light\u0026#39;); script.setAttribute(\u0026#39;data-lang\u0026#39;, \u0026#39;zh-TW\u0026#39;); script.onload = function () { giscusLoading = false; giscusLoaded = true; if (button) { button.style.display = \u0026#39;none\u0026#39;; } }; script.onerror = function () { giscusLoading = false; giscusLoaded = false; script.remove(); if (button) { button.disabled = false; button.textContent = \u0026#39;載入失敗，請重試\u0026#39;; } }; container.appendChild(script); } \u0026lt;/script\u0026gt; 第五步：本地測試與部署 # 設定完成後，可以在本地端執行指令來預覽效果：\nhugo server 打開瀏覽器前往文章頁面，捲動到最下方，如果順利看到 Giscus 的登入按鈕與留言輸入框，就代表大功告成啦！\n結尾 # 本部落格一樣有插入 giscus 留言板，在文章頁面最下方，歡迎留言！\n","date":"October 28, 2026","externalUrl":null,"permalink":"/en/posts/hugo-comments-giscus/","section":"Article List","summary":"A complete guide to adding Giscus comments to a Hugo site, covering GitHub repository setup, installing the Giscus app, and integrating it into your theme templates.","title":"Add Giscus Comments to a Hugo Site","type":"posts"},{"content":"","date":"October 28, 2026","externalUrl":null,"permalink":"/en/tags/github/","section":"Article Tags","summary":"","title":"GitHub","type":"tags"},{"content":"","date":"October 28, 2026","externalUrl":null,"permalink":"/en/tags/hugo/","section":"Article Tags","summary":"","title":"Hugo","type":"tags"},{"content":"","date":"October 28, 2026","externalUrl":null,"permalink":"/en/tags/open-source/","section":"Article Tags","summary":"","title":"Open Source","type":"tags"},{"content":"","date":"October 28, 2026","externalUrl":null,"permalink":"/en/categories/technology/","section":"Categories","summary":"","title":"Technology","type":"categories"},{"content":"","date":"October 28, 2026","externalUrl":null,"permalink":"/en/categories/website-building/","section":"Categories","summary":"","title":"Website Building","type":"categories"},{"content":"","date":"2026年10月28日","externalUrl":null,"permalink":"/categories/%E6%9E%B6%E7%AB%99/","section":"文章分類","summary":"","title":"架站","type":"categories"},{"content":"","date":"2026年10月28日","externalUrl":null,"permalink":"/categories/%E8%B3%87%E8%A8%8A%E7%A7%91%E6%8A%80/","section":"文章分類","summary":"","title":"資訊科技","type":"categories"},{"content":"","date":"October 26, 2026","externalUrl":null,"permalink":"/en/tags/code-server/","section":"Article Tags","summary":"","title":"Code-Server","type":"tags"},{"content":"","date":"October 26, 2026","externalUrl":null,"permalink":"/en/tags/linux/","section":"Article Tags","summary":"","title":"Linux","type":"tags"},{"content":"","date":"October 26, 2026","externalUrl":null,"permalink":"/en/tags/tailscale/","section":"Article Tags","summary":"","title":"Tailscale","type":"tags"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 前言 # ☕ 拋開笨重筆電！解鎖戶外寫程式的終極浪漫：Linux + code-server + Tailscale HTTPS + 平板 實戰指南\n想像一下這個畫面：午後微風徐徐，你坐在綠意盎然的戶外咖啡廳，手裡只拿著一台輕便的平板。沒有發熱風扇狂轉的厚重筆電，沒有隨時會沒電的焦慮，但你卻正在遠端使用著強大的 Linux + 你的專案，享受低延遲、流暢的遠端 Coding 體驗！程式碼與開發環境都留在 Linux 伺服器上，平板則透過瀏覽器操作，讓輕便的行動裝置也能擁有完整的開發工作流。\n除此之外，這也很適合外出寫 Hugo 部落格文章，本站是 Hugo 架構，部分文章也是我用平板 + Tailscale 炸出來的！\n要達成這種神仙級的體驗，我們只需要三個神隊友：\n實體或雲端 Linux 電腦：提供強大運算、執行資源、程式碼儲存空間的後盾。 code-server：打造完全自架（Self-Hosted）的網頁版 VS Code！將熟悉的開發環境一手掌控在自己的伺服器上，搬進瀏覽器裡。 Tailscale + HTTPS：提供免公網 IP、免對外開 Port、自動配置 SSL 憑證的安全極速通道。 這套平板寫程式的方案：\nflowchart TD A[平板瀏覽器] --\u003e|Tailscale 私有網路| B[Tailscale Serve HTTPS] B --\u003e C[Linux 主機] C --\u003e D[code-server] D --\u003e E[專案檔案] code-server 的 repo: https://github.com/coder/code-server\n為什麼選擇自架網頁版 VS Code？ # 相較於官方的 vscode.dev 或 GitHub Codespaces，自架 code-server 意味著你擁有 100% 的主導權！所有的程式碼專案、擴充套件（Extensions）、專案環境與擴充空間，甚至連執行的環境，都安安全全地躺在妳自己的伺服器上，完全不受第三方平台的資源限制與收費綁定！(⁠๑♡3♡๑⁠)✨\ncode-server 支援終端機、Git 版本控制及許多 VS Code 擴充套件，也能搭配部分 AI 程式開發工具。不過，擴充套件的相容性、登入方式與功能完整度，仍可能受到發佈平台、版本及授權條件影響，建議依照實際使用需求測試。\n接下來，就讓我們一步一步把這個終極行動開發環境搭建起來吧！(⁠◍⁠\u0026gt;⁠ω⁠\u0026lt;⁠◍⁠)💖\n第一步：部署 code-server，自架專屬的網頁版 VS Code # 首先，請登入你的 Linux 雲端或實體主機（例如 Ubuntu / Debian 系統）。\n1. 一鍵安裝 code-server # 開發者提供了非常方便的安裝腳本，打開終端機執行以下指令：\ncurl -fsSL https://code-server.dev/install.sh | sh 2. 啟動並設定開機自啟 # 安裝完成後，使用 systemctl 讓 code-server 在背景執行並隨開機自動啟動：\n# 設定目前使用者的 code-server 服務開機自啟 sudo systemctl enable --now code-server@$USER 3. 修改設定檔（可選） # 預設情況下，code-server 只會監聽 127.0.0.1:8080，密碼會隨機產生在設定檔中。你可以查看或修改它：\nnano ~/.config/code-server/config.yaml bind-addr: 127.0.0.1:8080 auth: password password: {生成的密碼} cert: false 註：因為我們後續會透過 Tailscale 進行反向代理，這裡保持預設監聽 127.0.0.1:8080 即可，既安全又不需要對外暴露連接埠！\n第二步：設定 Tailscale 打造安全虛擬網域 # Tailscale 是一種基於 WireGuard 的 Mesh VPN 技術，能讓你的平板與遠端 Linux 伺服器建立點對點的安全連線，而且通常流量不會經過 Tailscale 伺服器，他們的伺服器只是幫忙牽線，所以相對安全。\nTailscale 請先註冊、設定、連線好所有所需裝置，這裡不多贅述，網路上都有豐富的教學。\n1. 在 Linux 伺服器安裝 Tailscale # 官方一鍵安裝指令：\ncurl -fsSL https://tailscale.com/install.sh | sh 安裝後啟動 Tailscale 並進行帳號綁定：\nsudo tailscale up 此時終端機會顯示一串驗證網址，打開瀏覽器登入你的 Tailscale 帳號完成認證即可！\n2. 在平板上安裝 Tailscale App # 請至 App Store 或 Google Play 下載 Tailscale。 打開 App 並登入與伺服器相同的 Tailscale 帳號。 啟用 VPN 連線，此時妳的平板與 Linux 伺服器就已經進入同一個安全的私人區域網路囉！(⁠≧⁠▽⁠≦⁠)✨ 第三步：啟用 Tailscale Serve（輕鬆搞定 HTTPS） # code-server 的有些功能、擴充模組會在沒有 https 的連線下無法使用，平板瀏覽器中許多功能（如 PWA 貼上剪貼簿、Websocket 穩定連線、PWA 安裝）都強制要求 HTTPS 環境。所以我們用 Tailscale Serve 反代功能來升級 https。\nTailscale 提供了內建的反向代理的魔法功能（類似 Nginx，但是是在自己的私人網路中），Tailscale 會自己申請 Let\u0026rsquo;s Encrypt，也不用設定複雜的 Nginx！\n1. 開啟 MagicDNS 與 HTTPS 憑證功能 # 前往 Tailscale Admin Console：\n確保 MagicDNS 功能已開啟。 在 HTTPS Certificates 選項中點擊啟用（Enable）。 2. 使用 Tailscale Serve 綁定 code-server # 在 Linux 伺服器上執行以下指令，直接將 code-server 的 8080 連接埠映射到 Tailscale 的安全 HTTPS 網址，為了避免和主機上的其他服務打架，我代理到 5487 端口：\nsudo tailscale serve --bg --https=5487 http://127.0.0.1:8080 執行後，Tailscale 會自動為妳申請好 Let\u0026rsquo;s Encrypt SSL 憑證，並給妳一個專屬網址，例如： https://your-server-name.your-domain.ts.net:5487\n注意！ 這雖然看起來是個公網的網域，但還是只能在你自己的 Tailscale 虛擬網路裡面存取喔！Tailscale Serve 可以讓你在不必直接向公網開放 code-server 連接埠的情況下，透過 Tailnet 存取 HTTPS 服務。實際可存取的裝置與使用者，仍取決於 Tailscale 網路的存取控制設定，以及伺服器本身的安全配置。！\n備註：想關掉反代伺服器請執行：\ntailscale serve --https=5487 off 第四步：平板完美體驗設定與戶外姿勢推薦 # 現在，所有的架設設定都搞定啦！(⁠๑♡3♡๑⁠)🎉\n1. 平板存取與 PWA 化 # 在平板上記得開啟 Tailscale App，連線。 打開平板上的瀏覽器（大部分瀏覽器應該都能正常使用），輸入剛剛獲得的 HTTPS 網址：https://your-server-name.your-domain.ts.net:5487 (這是範例)。 輸入 config.yaml 中的密碼，熟悉的 VS Code 畫面就出來囉！ 加入主畫面 (PWA)：點擊 Safari 的「分享」按鈕，選擇「加入主畫面」。或 Chrome, Firefox 的安裝按鈕。這樣 code-server 就會變成一個獨立的 App，隱藏瀏覽器網址列，全螢幕寫 Code 超舒服！ 2. 戶外寫 Code 最佳姿勢指南 # 輕量化裝備：一台平板 + 輕薄藍牙鍵盤 + 可調角度支架，背包輕盈零負擔！ 避開強光：選擇樹蔭下或戶外咖啡廳陽傘座位，保護眼睛與螢幕可讀性。 快捷鍵優化：搭配 外接鍵盤（如 iPad 外接 Smart Keyboard / Magic Keyboard），VS Code 的快捷鍵（Ctrl+C, Ctrl+V, Command+P 等）都能完美映射！ 3. code-server 使用 # code-server 基本就是 VS Code 的開源自架網頁版，功能、操作都和原版的差不多。\n可以正常安裝大部分模組、正常用 GitHub Copilot (AI) 等等。\ncode-server 中，開啟資料夾是開啟伺服器上的檔案、資料夾喔！而且終端機也是直接用伺服器上的終端機，連 ssh 都免了！\n常見問題與故障排查（FAQ） # 在架設 Linux + code-server + Tailscale 的過程中，偶爾可能會遇到服務無法啟動、HTTPS 網址打不開，或平板操作不如預期等問題。以下整理幾個常見的檢查方式，方便大家快速定位問題！\n1. code-server 網頁打不開，該怎麼辦？ # 首先，確認 code-server 是否正常執行：\nsystemctl status \u0026#34;code-server@$USER\u0026#34; 如果服務沒有正常啟動，可以查看最近的日誌：\njournalctl -u \u0026#34;code-server@$USER\u0026#34; -n 50 --no-pager 接著，確認服務是否能在 Linux 主機本機正常回應：\ncurl -I http://127.0.0.1:8080 如果本機就無法正常連線，應優先檢查 code-server 的服務狀態、設定檔與日誌；如果本機正常，但平板無法開啟，則繼續檢查 Tailscale 與 Serve 的設定。\n2. Tailscale 已經連線，為什麼還是無法開啟網頁？ # Tailscale VPN 已連線，不代表 code-server 的 HTTPS 入口一定正常。\n請先在 Linux 主機執行：\ntailscale status 確認主機已連上 Tailnet，再檢查 Serve 的設定：\ntailscale serve status 確認 HTTPS 入口指向正確的本機服務 127.0.0.1:8080，並且使用的是正確的 HTTPS 網址與連接埠。\n另外，也請確認平板已連上相同的 Tailnet，且該裝置有權限存取這台主機。\n3. HTTPS 網址打不開，或瀏覽器顯示憑證錯誤？ # 請先確認 MagicDNS 與 Tailscale HTTPS 憑證功能已正確設定，並查看 Serve 的實際狀態：\ntailscale serve status 接著，使用指令輸出中顯示的完整 HTTPS 網址開啟網頁，包含必要的連接埠。\n如果使用自訂 HTTPS 連接埠，例如 5487，網址通常需要包含 :5487；如果使用標準 HTTPS 連接埠 443，則一般不需要特別標示。\n若仍然無法連線，請確認憑證申請狀態、DNS 解析、系統時間，以及目前使用的 Tailscale 版本與設定是否正常。\n4. 為什麼平板上的部分功能或快捷鍵無法正常使用？ # code-server 雖然提供網頁版 VS Code 的操作體驗，但瀏覽器、作業系統與外接鍵盤仍可能影響部分功能。\n例如：\niPadOS 或 Android 的系統快捷鍵可能與 VS Code 快捷鍵衝突。 部分瀏覽器功能受到剪貼簿權限或安全來源限制。 某些 VS Code 擴充套件可能不完全支援 Web 環境。 行動裝置的輸入法、虛擬鍵盤與外接鍵盤可能有不同的操作行為。 建議優先使用最新版的相容瀏覽器、確認網址使用有效的 HTTPS 連線，並逐一測試有問題的快捷鍵。\n如果某個快捷鍵經常衝突，也可以在 VS Code 的 Keyboard Shortcuts 設定中調整對應的按鍵組合。\n5. Linux 主機重新啟動後，為什麼無法使用 code-server？ # 請先確認 code-server 是否已設定開機自動啟動：\nsystemctl is-enabled \u0026#34;code-server@$USER\u0026#34; 再查看服務目前的狀態：\nsystemctl status \u0026#34;code-server@$USER\u0026#34; 如果服務沒有執行，請檢查啟動日誌，確認是否有設定錯誤、權限問題或其他啟動失敗原因。\n接著，確認 Tailscale 是否已重新連線：\ntailscale status 最後，檢查 Serve 設定是否仍然存在：\ntailscale serve status 如果 code-server、Tailscale 與 Serve 都正常，但平板仍無法連線，就需要進一步檢查網路、DNS 與裝置存取權限。\n6. 為什麼遠端操作有時會變得很慢？ # Tailscale 不保證每次連線都能建立直接的點對點連線。如果網路環境限制了直接連線，流量可能會透過 DERP 中繼節點傳輸，造成延遲增加。\n可以使用以下指令檢查連線狀態：\ntailscale status 也可以進一步檢查特定裝置的連線路徑：\ntailscale ping \u0026lt;裝置名稱或 Tailscale IP\u0026gt; 如果延遲明顯增加，建議確認平板與伺服器的網路品質、Wi-Fi 或行動網路訊號，以及目前是否使用中繼連線。\n另外，遠端開發的流暢度也會受到伺服器 CPU、記憶體、磁碟效能與專案大小影響，不一定完全是網路造成的。\n7. 忘記 code-server 密碼怎麼辦？ # code-server 的密碼通常可以在目前使用者的設定檔中查看：\nnano ~/.config/code-server/config.yaml 確認自己讀取的是實際執行 code-server 的那個 Linux 使用者的設定檔。\n如果需要修改密碼，請更新 password 設定並依照目前的服務管理方式重新啟動 code-server，再重新登入測試。\n總結 # 透過 Linux + code-server + Tailscale HTTPS 的黃金組合：\n安全性：完全不需要開啟公網 Port，也不用害怕 IP 暴露。 相容性：真正的原生 HTTPS，瀏覽器功能完全解鎖。 自由度：只要有網路、平板，隨處都是你的開發辦公室！ 快帶著充飽電的平板，去戶外享受一邊喝咖啡、一邊寫 Code 的極致浪漫吧～！(⁠≧⁠▽⁠≦⁠)💕\n備註：寫這篇文章時我在聽這首歌：\n征け / ワンダーランズ×ショウタイム × 鏡音リン\n這套方案我的實際體驗 # 很舒服，雖然螢幕比電腦小了點，但是非常方便啊！！！真要說缺點的話，就是平板的某些快捷鍵會打架而已，其他功能都 OK 喔！\n除了寫程式，在平板上用 code-server 寫 Markdown 或 Hugo 這類的部落格框架也很適合，因為：\n本站的「心碎的 635 天：讓人又愛又恨的青春戀情」\n這篇文章裡面有提到：「是我在畢業旅行中，在遊覽車上拿著平板打出來的。我在寫這段文字的同時，我在遊覽車上，她就坐在我後面的座位，距離我不到2公尺。」啊，確實，這篇萬字感情長文，大部分內容是我在平板上用著 code-server 打出來的，所以我也可以很方便的把文章上傳、部署到我的這個 Hugo 架構的網站中。\n高鐵或大眾運輸上的「移動式靈感爆發」\n畫面感：坐在高速行駛的高鐵靠窗座位，窗外風景飛速倒退，突然有一個超棒的專案架構、文章靈感。 高鐵上的折疊小桌板放筆電常常卡得要命，但放一台平板剛剛好！利用行動網路（搭配 Tailscale 的強韌連線），直接在平板上開個終端機把想法刻出來。高鐵還沒到站，新功能已經被 push 上去了，在遠端伺服器默默跑起來了！\n","date":"October 26, 2026","externalUrl":null,"permalink":"/en/posts/code-server-tablet/","section":"Article List","summary":"Create a comfortable mobile development setup for coding outdoors. With code-server and Tailscale HTTPS, you can turn a tablet into a capable coding device without a public IP address or complicated configuration—and enjoy coding wherever you go.","title":"The Joy of Coding Outdoors: A Practical Guide to code-server, Tailscale, and a Tablet","type":"posts"},{"content":"","date":"October 26, 2026","externalUrl":null,"permalink":"/en/tags/vs-code/","section":"Article Tags","summary":"","title":"VS Code","type":"tags"},{"content":"","date":"October 26, 2026","externalUrl":null,"permalink":"/en/tags/cloudflare/","section":"Article Tags","summary":"","title":"Cloudflare","type":"tags"},{"content":"","date":"October 26, 2026","externalUrl":null,"permalink":"/en/tags/google-apps-script/","section":"Article Tags","summary":"","title":"Google Apps Script","type":"tags"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 為什麼要做這個？ # 相信各位在 Instagram 或其他社群上，常常會看到那種「匿名問答箱」（例如 NGL.link 或 Marshmallow-qa 等等） ：丟一條連結給粉絲，大家匿名發送問題或想說的話，你再挑幾則貼到限時動態上回答。\n用起來很方便，沒錯，我自己也用過。但資料都在第三方手上，他們怎麼存、怎麼用、會不會外洩，你完全無法掌控。\n於是我就想：這種東西為什麼不能自己做？\n而且我要的是——\n完全免費（不要為了解鎖什麼特殊留言功能而付月費） 不用自己架伺服器（我不是伺服器管理員的，雖然管理員聽起來很酷） 資料 100% 自己掌控 能一鍵把留言變成好看的圖卡，直接貼 IG 限動 (且包含市面上常見的匿名問答系統有的功能) 這就是這個專案的起點：一個我自己做的、開源、可自主架設的匿名問答系統。\n我這個自製的開源專案的 GitHub 頁面： AiixiBear/aqa_system\n前台公開留言頁面 手機版頁面 後台留言管理面板 留言來源與裝置資訊 密碼保護 特色一覽 # 完全無須架設自己的伺服器，而且免費——靠 Cloudflare Worker 與 Google Sheet + Apps Script 就能跑起來，並且不需要輸入信用卡資訊即可直接使用 Cloudflare Turnstile 驗證防機器人 收集 IP、User-Agent，並透過 ipinfo.io API 解析 IP 所在地（國家 / ASN） 內建篩選後台，可直接查看留言、一鍵生成留言圖卡，貼上 Instagram 限時動態超方便 每一則留言都有專屬辨識碼（例如 AQA-9487），粉絲可以在限動上認出自己的留言 URL 加上 ?tag= 就能標記留言來源，方便分流 資料自己掌控，並且本專案使用 MIT License 開源，你各位想怎麼改就怎麼改 系統怎麼運作？ # 整個架構是 Serverless（無伺服器） 的，可以拆成兩條路徑：\n公開留言路徑：使用者 → 前台網頁 → Cloudflare Worker（驗證 Turnstile）→ Google Apps Script（查 IP、發流水號）→ Google Sheets 後台管理路徑：管理者 → 後台網頁（輸入管理密碼）→ Cloudflare Worker 代理驗證 (帶入 X-Admin-Password 標頭) → 後台 Google Apps Script → Google Sheets → 回傳 JSON → 渲染卡片 (自動計算動態字級) → 前端匯出 PNG 圖卡 有人留言時：\n使用者在前台輸入內容、通過 Turnstile 人機驗證 Cloudflare Worker 檢查欄位、驗證 Turnstile Token 驗證通過後轉送到 Google Apps Script Apps Script 去 ipinfo.io 查 IP 國家與 ASN，用 Lock Service 配發唯一流水號（AQA-0001 這種），最後寫入 Google Sheets 前台顯示這則留言的專屬代碼，粉絲可以複製保存 管理者則是打開後台，用關鍵字、IP、tag、代碼篩選留言，點一下就能匯出成 PNG 圖卡，貼上 IG 限動。\n後台的留言卡片支援一鍵下載圖片，圖卡裡不會包含下載按鈕，看起來就是乾乾淨淨的一張留言圖。\n架構圖 # %% Generated by https://gitdiagram.com/aiixibear/aqa_system flowchart TD subgraph group_public[\"Public submission\"] node_public_page[\"Submission page[index.html]\"] end subgraph group_ingest[\"Verification and routing\"] node_submit_worker[\"Submission Worker[index.js]\"] node_turnstile{{\"Cloudflare Turnstile\"}} end subgraph group_data[\"Storage and enrichment\"] node_write_gas[\"Write Apps Script[main.gs]\"] node_sheet[(\"Google Sheets\")] node_ipinfo{{\"IPinfo lookup\"}} end subgraph group_admin[\"Admin review and export\"] node_admin_page[\"Admin dashboard[index.html]\"] node_admin_worker[\"Admin proxy Worker[index.js]\"] node_read_gas[\"Read Apps Script[main.gs]\"] node_card_export[\"Card rendering and PNG export[index.html]\"] end node_visitor((\"Visitor\")) node_admin_user((\"Administrator\")) node_visitor --\u003e|\"submits message\"| node_public_page node_public_page --\u003e|\"sends submission\"| node_submit_worker node_submit_worker --\u003e|\"verifies token\"| node_turnstile node_submit_worker --\u003e|\"forwards verified message\"| node_write_gas node_write_gas --\u003e|\"looks up source\"| node_ipinfo node_write_gas --\u003e|\"stores numbered message\"| node_sheet node_submit_worker --\u003e|\"returns assigned code\"| node_public_page node_admin_user --\u003e|\"manages messages\"| node_admin_page node_admin_page --\u003e|\"requests messages\"| node_admin_worker node_admin_worker --\u003e|\"proxies retrieval\"| node_read_gas node_read_gas --\u003e|\"reads messages\"| node_sheet node_admin_page --\u003e|\"filters and renders\"| node_card_export click node_public_page \"https://github.com/aiixibear/aqa_system/blob/main/frontend/index.html\" click node_submit_worker \"https://github.com/aiixibear/aqa_system/blob/main/worker/index.js\" click node_write_gas \"https://github.com/aiixibear/aqa_system/blob/main/gas/main.gs\" click node_admin_page \"https://github.com/aiixibear/aqa_system/blob/main/admin_panel/index.html\" click node_admin_worker \"https://github.com/aiixibear/aqa_system/blob/main/admin_panel_worker/index.js\" click node_read_gas \"https://github.com/aiixibear/aqa_system/blob/main/admin_panel_gas/main.gs\" click node_card_export \"https://github.com/aiixibear/aqa_system/blob/main/admin_panel/index.html\" classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554 classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337 classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81 classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a class node_public_page toneBlue class node_submit_worker,node_turnstile toneAmber class node_write_gas,node_sheet,node_ipinfo toneMint class node_admin_page,node_admin_worker,node_read_gas,node_card_export toneRose class node_visitor,node_admin_user toneIndigo 怎麼讓別人來留言？ # 很簡單，跟一般匿名問答箱一樣：把前台網頁的連結傳給粉絲或朋友就行了。\n你也可以在網址後面加上 ?tag= 參數，例如：\nhttps://example.com/?tag=ig-stories 這個 tag 會一起被記錄到留言資料裡，而且只有你（資料庫持有者）看得到，適合用來辨識留言是從哪個管道來的。\n送出留言後，系統會配發一組獨一無二的流水號（像是 AQA-9487）。這組號碼會：\n一起存進 Google Sheets 顯示在後台的留言卡片上 這樣粉絲在你的 IG 限動上看到圖卡時，一眼就能認出「啊！這是我留的那則欸！」。\n架設前的準備 # 這個系統全部都使用免費服務，而且全都不需要輸入信用卡資訊即可直接使用：\nGoogle 帳號：建立 Google Sheets 與部署 Google Apps Script Cloudflare 帳號：部署 Worker 與建立 Turnstile Widget IPinfo Lite API Token：查詢 IP 的國家 / 地區與 ASN（ipinfo.io/lite 註冊） 靜態網頁空間：GitHub Pages、Cloudflare Pages 或任何能託管 HTML 的服務都可以 架設教學：公開留言系統 # 1. Google Sheets # 到 Google Sheets 建立一個空白試算表 在第一列貼上表頭： 接收時間 （台北時間）\t留言\t來源IP\tTags\t來源國家/地區\tAS_Name\tUser-Agent\t唯一辨識碼 記下試算表 URL 與 試算表名稱 2. 寫入用 Google Apps Script # 打開 Google Apps Script 建立新專案 程式碼貼入專案裡的 gas/main.gs 到 ipinfo.io/lite 註冊，取得免費 API Token 在專案的 設定 → 指令碼屬性 填入： 屬性 值 說明 IPINFO_TOKEN 你的 ipinfo.io API Token 剛剛申請的 SHEET_NAME 試算表的名稱 剛剛記下的 SHEET_URL 試算表 URL 剛剛記下的 WRITE_KEY 自訂的隨機密鑰 一串夠長的亂數。Worker 與本專案共用，避免有人繞過 Worker 直灌資料 部署成網頁應用程式，記下部署後的 URL 關於 WRITE_KEY：這是寫入端的門禁。沒有這把鑰匙，就算知道 Apps Script 的網址也無法直接寫入留言。請自己生成一串夠長的亂數字串（例如 32 碼以上），並記好，稍後要填進 Worker。\n3. Cloudflare Worker # 註冊 Cloudflare，前往 運算 → Workers 和 Pages 建立應用程式，先部署 Hello World，記下 Worker 網址 按下編輯代碼，把專案裡的 worker/index.js 整份貼上取代 部署 去註冊一個 Cloudflare Turnstile 小工具，記下 Site Key 與 Secret Key 回到 Worker 的 設定 → 環境變數 (Runtime variables and secrets) 填入： 變數名稱 值 TURNSTILE_SECRET_KEY 你的 Turnstile Secret Key APPS_SCRIPT_URL 剛剛寫入用 Apps Script 的 URL APPS_SCRIPT_WRITE_KEY 剛剛在寫入用 GAS 設定的 WRITE_KEY，必須完全一致 再部署一次 4. 前台網頁 # 前台只有一個 HTML 檔：frontend/index.html，丟到任何靜態網頁空間都行。\n打開檔案，替換這幾個變數：\n名稱 值 說明 YOUR_ICON_URL_HERE 你的 Icon 預設大小 64x64 YOUR_WORKER_URL_HERE 你的 Worker URL YOUR_TURNSTILE_SITE_KEY_HERE 你的 Turnstile Site Key 到這裡，公開留言系統與資料庫就完成了。\n架設教學：留言查看面板（後台） # 1. 後台 Google Apps Script # 再開一個 Google Apps Script 專案 程式碼貼入 admin_panel_gas/main.gs 指令碼屬性填入： 屬性 值 說明 IPINFO_TOKEN 你的 ipinfo.io API Token 可選。若試算表的 IP 地理資料被清掉，可手動執行 repairOldData 補回來 SHEET_NAME 留言資料庫的試算表名稱 SHEET_URL 留言資料庫的試算表 URL TIMEZONE 圖卡顯示的時區 不填預設 Asia/Taipei READ_KEY 自訂的隨機密鑰 後台讀取留言時必須帶上，避免有人拿到後台 GAS 網址就 dump 全部留言與 IP 部署成網頁應用程式（權限設為「所有人」），記下部署後的 URL。 2. 後台 Cloudflare Worker 代理 # 為了不讓後台 GAS 網址直接裸奔在前端，我們用 Worker 來做一層安全代理：\n在 Cloudflare 建立一個新的 Worker（例如命名為 aqa-admin-proxy） 貼入 admin_panel_worker/index.js 程式碼（包含 CORS 與 X-Admin-Password 驗證邏輯） 到 Worker 的 設定 → 環境變數 (Runtime variables) 設定： 變數名稱 值 說明 APPS_SCRIPT_URL 後台 GAS 部署 URL 剛剛步驟 1 記下的網址 ADMIN_PASSWORD 你的後台管理密碼 自訂一組後台登入密碼 儲存並部署，記下 Worker 的 URL。 3. 後台留言查看與卡片圖片產生網頁 # 檔案在 admin_panel/index.html，丟到靜態網頁空間即可。\n打開檔案，替換以下變數：\n變數名稱 值 說明 WORKER_URL 後台 Worker 的 URL 剛剛步驟 2 部署的 Worker 網址 YOUR_CARD_IMAGE_URL_HERE 留言圖卡的背景圖 預設為 bg.jpg，1:1 圖片效果最好 後台密碼登入功能說明：打開後台網頁時會跳出輸入密碼的提示，密碼就是你自己在 Worker 變數 ADMIN_PASSWORD 中設定的密碼，密碼驗證成功後會儲存在 sessionStorage 中。當你關閉瀏覽器分頁時密碼會自動銷毀，下次打開就必須再輸入一次密碼，雖然稍微有點不方便但資安 TOP！\n安全性我做了哪些事？ # 這種「自己架設的匿名留言」系統最怕兩件事：有人亂灌垃圾訊息，以及後台資料外洩等等。這個專案目前有這些防護：\nCloudflare Turnstile：公開留言前必須通過人機驗證 WRITE_KEY：寫入端 GAS 只接受帶有正確金鑰的請求，繞過 Worker 直接打 Apps Script 也寫不進去 READ_KEY：後台 GAS 讀取留言也要金鑰，保護 IP、User-Agent 等資料 Lock Service：配發流水號時使用 Google Apps Script 的互斥鎖，多人同時送出也不會撞號 前端字數限制與冷卻時間：基本的濫用緩衝 Cloudflare Worker 後台安全代理：將真正的後台 GAS API 隱藏在 Worker 後方，外部使用者無法直接存取試算表或 dump 敏感資料 SessionStorage 臨時憑證管理：後台密碼驗證通過後僅暫存於記憶體/分頁 Session 中，當分頁或瀏覽器關閉時自動清空，避免將管理者密碼明文暴露於 localStorage 引發 XSS 竊取風險 動態防爆框與排版保護：前端渲染時透過字數長度動態調整字體大小與 line-height 行高，防止惡意超長字串破壞卡片視覺佈局 當然，這仍然不是「企業級防護」。如果你要拿去做更大型的公開服務，建議再自己加 rate limit、WAF 之類的機制。但以個人使用、粉絲留言這種場景來說，已經比系統直接裸奔好非常多了。\n常見問題與故障排除 (FAQ) # Q1. 自己測試時送出留言時顯示錯誤或「驗證失敗」，該怎麼辦？ # 請依序檢查以下幾點：\nWRITE_KEY 是否一致：請確認 Worker 的環境變數 APPS_SCRIPT_WRITE_KEY 與寫入用 GAS 的指令碼屬性 WRITE_KEY 是否完全相同（包含大小寫與英數拼寫）。 Turnstile 金鑰是否配對：檢查前台 HTML 的 Site Key 與 Worker 環境變數的 TURNSTILE_SECRET_KEY 是否來自同一組 Cloudflare Turnstile 設定。 GAS 部署權限：確認寫入用 GAS 部署時，「誰有權存取」是否有設定為 「所有人 (Anyone)」。 Q2. 打開後台面板抓不到留言資料？ # READ_KEY 是否一致：請確認後台 HTML 裡的 YOUR_READ_KEY_HERE 與後台 GAS 指令碼屬性的 READ_KEY 完全一致。 網址是否填錯：請確認後台 HTML 填入的是後台 GAS 的部署 URL，而不是寫入用 GAS 的 URL。 Q3. 免費配額真的夠用嗎？會不會突然要付費？ # 對個人與一般社群粉絲互動來說完全夠用！\nCloudflare Worker：免費版每日提供 100,000 次請求。 Google Apps Script：一般 Google 帳號每日提供 20,000 次 URL Fetch 呼叫與足夠的試算表寫入額度。 詳情可參考 本專案使用的相關平台定價配額文件\n並且這些免費服務完全不需要輸入信用卡資訊試用，因此不會自動產生任何費用。即使超過額度，服務也只是暫時停止回應。\n結語 # 我的這個專案把「匿名問答箱系統」從第三方手裡拿回來，全部建在免費、常見、可長期使用的服務上：\nCloudflare Worker Google Sheets / Google Apps Script Cloudflare Turnstile 免費靜態網頁託管 不需要伺服器、不需要資料庫、不需要月費，資料自己存、圖卡自己生、想改程式就直接改（因為本專案採用 MIT 授權）。\n還是要提醒一下：上面雖然有提到，Cloudflare Worker 有每天免費 10 萬次請求、Google Apps Script 有相關上限等等，不過對個人使用真的完完全全綽綽有餘。\n如果你也想要一個自己的匿名留言箱，歡迎直接拿去用、去改、去亂搞。\nGitHub：AiixiBear/aqa_system License：MIT 有問題或想法，也歡迎到 GitHub 留 issue。\n本專案使用的相關平台定價配額文件 # Google Apps Script 服務設有的每日配額 文件\nCloudflare Workers 方案定價 文件\n","date":"October 26, 2026","externalUrl":null,"permalink":"/en/posts/aqa-system/","section":"Article List","summary":"I built an open-source, self-hostable anonymous Q\u0026A system at no cost using Cloudflare Workers and Google Sheets, with a serverless architecture. It includes bot verification, source IP lookup, unique IDs for replies, and one-click generation of Instagram Story cards.","title":"I Built a Free, Self-Hosted Anonymous Q\u0026A System with a Serverless Architecture!","type":"posts"},{"content":" Preface # I am Aiixi Bear, h-hello there, welcome to check out my self-introduction!\nFeel free to use the Table of Contents to jump to wherever you\u0026rsquo;d like to see.\nI\u0026rsquo;m a pretty interesting person, though even I don\u0026rsquo;t know why I\u0026rsquo;m interesting.\nA Brief Introduction # Item Content Name Aiixi Bear Aliases Aiixi, Aixi, Aiixibear, あいきくま Pronunciation (KK IPA) /aɪʃi bɛr/ Handle aiixi_bear Birthday October 19 (Libra ♎) MBTI INFJ Favorite Color Cyan (approx. #00FFFF)\nFavorite Editor VS Code PC Specs i3-4130, 8GB DDR3, MSI B85M-P33 V2\n(You read that right ×) OS Windows 11 + Linux Mint About Me, This Strange Creature # My name is Aiixi Bear, I\u0026rsquo;m a bear 🐻, but I look somewhat human.\nThe 2D appearance of Aiixi Bear was drawn by me. She is what I believe I should look like.\nGallery of works below:\nShowcase Wall # Art by: Myself Art by: Myself Fanart by Friends # Art by Instagram ． @_0lennox Art by Instagram ． @7_duchi Things I Like # Cute things Cyan Drawing Anime Manga Sweet and salty food Daydreaming and pondering Scenery viewing Listening to music Making friends and chatting Soft blankets, pillows, and plushies Singing Gaming Exploring technology Appreciating my 2D oshi Things I Dislike # Overly sweet foods and drinks Noise Overly spicy foods Harsh sunlight Heavy rain People who only tell half of what they mean when talking to me My Biggest Flaw (In My Own Eyes) # I tend to overthink certain things, which makes me feel very gloomy, creating mental pressure and affecting my daily life.\nSigh.\nI\u0026rsquo;m trying hard to tell myself not to overthink and to adjust my mindset, hoping to untie myself (?)\nTechnology Side # \u0026ldquo;Ever since I was a child, I\u0026rsquo;ve had a special fondness for technology and have been deeply fascinated by the feeling of mastering and exploring tech.\u0026rdquo;\nI love technology, which is also the catalyst for the birth of this website.\nI enjoy researching how to seamlessly integrate technology into daily life, with a strong preference for open-source, free software, and self-hosted network services, and I am dedicated to bringing them into daily use to gradually replace traditional proprietary software. I\u0026rsquo;m also passionate about contributing Traditional Chinese localization translations for open-source projects, hoping to let more people discover and use high-quality tools.\nSelf-identifying as a hands-on Full Stack Engineer and Geek.\nMy Tech Skills # Frontend Web \u0026amp; Cross-Platform Development\nJavaScript, HTML / CSS\nTailwind CSS, Bootstrap\nHugo, Astro (Static Site Generators)\nFlutter (Cross-Platform App Development)\nWeb Backend Development\nNode.js\nPython\nCloudflare Workers\nCloud Services\nGoogle Cloud Platform (GCP)\nCloudflare\nServer Operations \u0026amp; Network Architecture\nPhysical and Cloud Server Management\nDocker\nHomeLab / NAS Setup\nNginx (Web Server / Reverse Proxy)\nNetworking \u0026amp; Architecture (IP / DNS / VPN Site-to-Site Networking / NAT Traversal)\nOpenWRT Soft Router \u0026amp; Network Setup\nEmbedded Systems \u0026amp; IoT\nRaspberry Pi (Single-Board Computer)\nESP32 / ESP8266 / Linkit 7697\nArduino Series Microcontrollers (MCU)\nHome Assistant (Home IoT)\nHardware Tweaking, Device Modification \u0026amp; Flashing Firmware\nRouter root \u0026amp; custom system flashing\nWearable device cracking and firmware flashing (smartwatches, etc.)\nCustom firmware flashing for IoT devices (Bluetooth thermometers \u0026amp; HA integration, etc.)\nElectronic device disassembly, assembly, and modification (phone teardown for battery/screen replacement, etc.)\nAndroid rooting, bootloader unlocking\nSystems \u0026amp; Operating Systems\nLinux (Arch Linux, Debian), Bash Scripting, Kernel Compilation\nWindows\nDevelopment Platforms \u0026amp; Tools\nVS Code\nGit / GitHub\nPhilosophy on Technology\nPreference for open-source and free software\nContributing Traditional Chinese translations for open-source and free software\nArt \u0026amp; 2D Side # Drawing # I\u0026rsquo;ve loved drawing ever since I was a kid.\nLater on, I got a bit more deeply into it, but my skills are definitely still incomplete. Anyway\u0026hellip; if I think the artwork I draw looks good, then it looks good (no, I\u0026rsquo;m just kidding 🗿).\nBoth traditional (paper) and digital art are within my grasp.\nI love drawing in the middle of the night while playing some anime in the background.\nI like:\nDrawing fanart of 2D characters Designing and drawing my own original characters (OCs) Using my incomplete drawing skills, I drew the 2D appearance of Aiixi Bear.\nDesign # Graphic Design Character Design (Original Character / OC Design) Cover Design Favorite 2D Characters # Nene Kusanagi (草薙寧々) - Project Sekai Mafuyu Asahina (朝比奈まふゆ) - Project Sekai The Herta - Honkai: Star Rail Ayaha Sakayagi (酒寄彩葉) - Ultra Kaguya-hime Doraemon More of my oshi are continuously being updated\u0026hellip;\nVTubers I Watch # Marika Omaimaimaii hololive \u0026amp; hololive English Featured: Hoshimachi Suisei (星街すいせい) Favorite Music Styles \u0026amp; Artists # J-POP Vocaloid Virtual Singers Taiwanese Hokkien Songs Early Republic of China Old Pop Songs English Pop Songs English Ballads Below are a few examples of songs I like (click to expand MV):\nDECO*27 - Cherry Pop feat. Hatsune Miku Hoshimachi Suisei - Bibideba (ビビデバ) bbno$ - 1-800 (ft. ironmouse) Other Aspects # Gaming # \u0026ldquo;I prefer open-world or 2D games (because I want to find some spiritual sustenance, right?)\u0026rdquo;\nFeel free to send a message if you want to add me as a friend!\nProject Sekai (TW Server) Project Sekai (JP Server) Phigros hololive Dreams (Joined on release day) Other rhythm games Roblox Honkai: Star Rail (Joined one month after release) Ananta (Joined one week after release) Arena of Valor (傳說對決) My Portals # My Website # Aiixi Bear\u0026rsquo;s Portal Website My Social Media Profiles # Threads · aiixi_bear Instagram · aiixi_bear X · aiixi_bear GitHub · AiixiBear c7.io · @aiixi Bluesky · @aiixi.cc Matrix Matrix · @aiixi_bear:matrix.org Pinterest · aiixi_bear Email : aiixi@aiixi.cc Backup Email : aiixibear@proton.me ","date":"October 20, 2026","externalUrl":null,"permalink":"/en/about/","section":"Aiixi Bear's Backyard","summary":"","title":"Self introduction","type":"page"},{"content":"","date":"October 17, 2026","externalUrl":null,"permalink":"/en/categories/current-affairs/","section":"Categories","summary":"","title":"Current Affairs","type":"categories"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 前言 # 我今天突然腦洞大開：如果讓自己的網站被俄羅斯搜尋引擎巨頭 Yandex 索引收錄，那感覺一定超酷的吧！\n於是我在 Yandex Webmaster 提交我的網站，讓我的網站被 Yandex 索引收錄，因為我感覺被俄羅斯搜尋引擎巨頭索引這樣的感覺很酷！\n不過呢？人家的數據中心剛好在這幾天被無人機襲擊了啊啊啊！\n連提交 Sitemap 都不行，那些功能都變成 Read-only Mode 了。\n網站上面還有一個橫幅：\n大意就是網站索引可能暫時沒辦法使用，他們的工程師正在修復了。\n詳細事件 # 相關文章 # 附上 Yandex 官方說明文章：«Железное сердце» Яндекса — что происходит с нашими дата-центрами\nBBC News: Ukraine strikes Yandex data centre in third attack on Russian tech giant\nCloudflare Blog: Yandex outage: Data shows that instead of going dark, malicious bots went on the move\n說明 # 根據 Yandex 官方公告，他們位於 薩索沃（Sasovo）、卡盧加（Kaluga）以及弗拉基米爾（Vladimir）的數據中心在 2026 年 10 月上旬遭到烏克蘭的無人機（順帶一提俄語縮寫叫做：BПЛА）攻擊。\n時間軸：\n10 月 7 日至 8 日夜間：位於薩索沃的數據中心因無人機襲擊而嚴重受損，工作已完全停止。 10 月 9 日上午：位於卡盧加的數據中心遭到攻擊，導致部分基礎設施損壞。 10 月 11 日夜間：位於弗拉基米爾的數據中心也遭到襲擊，目前已停止運作。 不過還好還好的是：上述所有地點的員工均未受傷。\n有句話是：Yandex 就是俄羅斯的 Google，因此部分日常民生（包含 Yandex 搜尋引擎相關）、音樂、地圖、影音及企業商務服務都停止運作，給當地科技帶來衝擊。\n目前 Yandex 官方專家正與緊急救援部門全力搶修，但由於基礎設施受損嚴重，具體的設備恢復時間目前仍難以估計。\n而在襲擊發生後，國際上還出現了一段有趣的科技插曲：社群媒體與烏方輿論紛紛振奮傳出，克里姆林宮的「認知作戰網軍」與宣傳機器因這次轟炸遭到實質重創。然而，Cloudflare 隨後發布的官方流量監測數據，卻給了這個傳言一個技術性的闢謠。\n數據顯示，襲擊發生後俄羅斯網路的自動化機器人流量雖然瞬間暴跌逾 50%，但這其實是因為 Yandex 搜尋引擎用來抓取全世界網頁的「合法網頁爬蟲（YandexBot）」因機房被炸而集體停擺。沒錯，這正是為什麼我現在連 Sitemap 都送不進去、功能全變 Read-only 的根本原因！ 至於那些真正從事認知作戰的惡意網軍，專家發現他們或許已迅速轉移到其他俄國本土的雲端空間了。\n結語 # 原本只是想說酷一下，讓自己的（小）網站飄洋過海去被俄羅斯的搜尋引擎收錄，享受一下被俄國搜尋引擎抓取的奇妙感覺，結果沒想到居然誤打誤撞，第一現場見證了地緣政治與實體戰爭對網路科技世界的震撼衝擊！哈哈哈哈哈哈哈！\n看著畫面上那個「Read-only Mode」跟搶修橫幅，真的深刻體會到：我們平常覺得理所當然、看似虛擬的網路服務，背後其實全都是靠著實體的伺服器、數據中心跟工程師在辛苦支撐著呀。\n（我默默的看著我家裡的 HomeLab 伺服器）\n我沒有站在哪一邊！不分烏克蘭還是俄羅斯，我就是希望那邊的人民和工程師們都能平平安安，設施也能早日修復完成，更希望戰爭能快點結束！\n等 Yandex 的 Webmaster 恢復正常之後，我一定要第一時間再去把我的 Sitemap 重新送進去被收錄！（不是）(⁠•̀⁠ᴗ⁠•́⁠)⁠\n","date":"October 17, 2026","externalUrl":null,"permalink":"/en/posts/ukraine-drone-yandex/","section":"Article List","summary":"In early October 2026, Ukrainian drones struck a data center belonging to Russian tech giant Yandex. The attack severely damaged multiple facilities, and three supercomputers used to train AI were taken offline indefinitely. The unexpected incident also affected me as I was trying to get Yandex to index my website.","title":"I Just Wanted a Russian Search Engine to Index My Website—Then Its Data Center Was Hit by Drones...","type":"posts"},{"content":"","date":"October 17, 2026","externalUrl":null,"permalink":"/en/tags/russo-ukrainian-war/","section":"Article Tags","summary":"","title":"Russo-Ukrainian War","type":"tags"},{"content":"","date":"October 17, 2026","externalUrl":null,"permalink":"/en/tags/yandex/","section":"Article Tags","summary":"","title":"Yandex","type":"tags"},{"content":"","date":"2026年10月17日","externalUrl":null,"permalink":"/tags/%E4%BF%84%E7%83%8F%E6%88%B0%E7%88%AD/","section":"文章標籤","summary":"","title":"俄烏戰爭","type":"tags"},{"content":"","date":"2026年10月17日","externalUrl":null,"permalink":"/categories/%E6%99%82%E4%BA%8B/","section":"文章分類","summary":"","title":"時事","type":"categories"},{"content":" 說明： 這是一份關於某人經歷 635 天青春戀愛關係的完整心路歷程，記錄了從熱絡到斷崖式分手、甚至關係結束後的點點滴滴。寫下這些並非為了和對方拉扯，而是希望能為這段又愛又甜又恨的青春戀情，留下一個完美紀錄。 上次編輯此網頁：2026/10/30 （新增 # 所以，為什麼我會那麼難放下她？段落章節）\n狀態：待續\n事先聲明 # 本文包含相當直接的情緒表達，如果讓你感到不舒服，我先說聲抱歉。\n本文所記錄的事件，大多有聊天紀錄、社群紀錄或其他可確認的資料可以佐證；但其中涉及我自身感受、對事件的理解，以及第三人轉述的內容，我會盡可能與可以直接確認的事實分開描述。\n文章中的人物皆為真實存在的人，但我不會公開任何人的真實姓名，也不會提供足以直接辨識對方身分的資訊。\n我寫這篇文章，不是為了毀掉誰的人設，也不是希望別人站在我這邊。\n我只是想替自己留下一份紀錄。\n因為有些事情如果不寫下來，過一段時間之後，我甚至會開始懷疑：\n是不是這一切只有我記得？\n我知道這篇文章的篇幅很長，各位就把它當作一篇小說看吧！哈哈哈哈哈哈哈哈哈！\n出現人物 # 我：就是我。對，就是我。 她/對方：就是那個女人。 一位我們兩個的共同朋友：女的。 班導：我們是同班同學，所以是同一個班導。 前言 # 我先老實說，我也從來沒有想過我會在國中時期談戀愛，因為我覺得我不是那種人，但 我還是談了。\n我曾經以為，「失戀」這種詞離我很遠。\n至少，我從來沒有想過自己會在學生時期，真正體會到這個詞。\n更沒有想過，一段曾經如此親密的關係，會在短短幾個禮拜內，從每天聊天、分享日常、換情頭、互相畫畫，到最後變成幾乎完全不說話。\n更讓我難受的是，我甚至不知道那個真正的轉折點究竟在哪裡。\n如果只是單純的分開，我或許可以慢慢接受。\n可是當一段關係突然結束，而你連「為什麼」都沒有得到一個完整的答案時，你會一直卡在原地。\n你會不斷回想：\n「到底是哪裡出問題？」\n「是那一天嗎？」\n「是我哪一句話嗎？」\n「還是其實早就有什麼事情，只是我完全不知道？」\n簡單來說，就是我正在內耗。\n所以我想把這段故事從頭寫一次。\n我們如何從陌生人走到那裡 # 我們是國中同班同學。\n在上國中以前，我們甚至沒有同校，因此完全不認識。\n現在回頭看，真的很難想像，一個最開始只是因為名字諧音很好笑、偶爾拿來開玩笑的同學，最後會變成我每天都在聊天、分享生活、甚至開始認真思考「我們到底算什麼關係」的人。\n先說一下，幾乎整段感情都是：幾乎所有的曖昧、親密舉動都是她起頭的。這樣的感覺，她真的好主動啊啊啊啊！\n2024/12｜第一次認識 # 我們最開始只是因為她的名字諧音很好笑、偶爾拿來開玩笑的同學。\n就是偶爾會聊個天，看起來就是再普通不過的同班同學。\n2024 年 12 月 12 日晚上 8:41，她傳來了第一則 Instagram 訊息。\n當時的我們真的沒有什麼特別。\n就是有點熟的同班同學。\n那天晚上，我們從一些很普通的話題開始聊天，她問了我《崩壞：星穹鐵道》的角色問題。\n誰知道，這個聊天室後來竟然會留下超過兩萬八千則訊息。\n根據我在 2026/09/23 匯出的 Instagram 資料進行統計：\n總訊息數：28,241 則 對話跨度：635 天 有實際對話的日子：415 天 第一則訊息：2024/12/12 最後一則訊息：2026/09/07 兩萬八千多則訊息。\n635 天。\n415 天真的有在聊天。\n如果只看這些數字，大概就能知道，這不是一段只存在幾個月、甚至幾個禮拜的關係。\n2025/01～2025/03｜普通同學 # 最初幾個月其實非常普通。\n我們就是同班同學。\n偶爾聊天、分享一些東西。\n後來發現彼此都玩《世界計畫》這款音遊，共同話題開始變多。\n那時候的我們，應該都不會想到，這個普通的共同興趣，會變成後來關係越來越近的一個起點。\n2025/04～2025/05｜慢慢變熟 # 2025 年 4 月開始，聊天量明顯增加。\n我們一起聊《世界計畫》，也開始分享更多日常。\n5 月則維持在比較穩定的朋友狀態。\n現在回頭看，我反而覺得真正重要的不是某一天突然發生了什麼。\n而是我們就是這樣，一點一點變熟的。\n2025/06/25｜關係開始出現不一樣的意味 # 我還記得很清楚，6 月中某次午餐時間，我不知道為什麼跪在地上，她突然從後面摸了我的頭。\n而且不是只碰一下。\n是摸了好幾次。\n旁邊甚至有同學開玩笑問：\n「你們是在秀恩愛嗎？」\n當時的我完全沒想那麼多。\n我甚至以為那可能只是她很自然的習慣。\n現在回頭看，只能說：\n我當時到底在幹嘛，她在摸異性的頭欸，欸欸欸，我當時到底在想什麼！！！\n幾天後的6/25，童軍課，因為學期末老師讓我們自由活動，一群人開始玩真心話大冒險。\n輪到她的時候，有人問：\n「好感度最好的異性是誰？」\n她回答：\n「我。」\n這件事情並不是當天就變成正式告白。\n我們也沒有在那一天說：\n「好，現在開始交往。」\n比較像是從那一天開始，我逐漸意識到：\n對方好像已經不只是普通朋友了。\n2025/07～2025/08｜朋友之上 # 暑假開始之後，我們的日常聊天變得更多。\n那段時間，我去奧匈旅行，還特地從維也納帶回了奧地利的 Manner 威化餅，想當作她的生日禮物。\n她的生日是 8/30。\n現在想想，那時候的我大概已經很自然地把她放在一個「我會特別為她準備東西」的位置了。\n2025/09～2025/12｜已經很難只用「普通朋友」解釋 # 2025 年 10 月 3 日，我們第一次有明確的換 (情侶) 頭像紀錄。\n而且是她主動問我：\n「你覺得我要不要換頭像？」\n一開始我以為只是她要換頭像叫我幫她選哪一張好看，沒想到她竟然丟出了配對的頭像給我啊啊啊！！！\n等等，我們都沒任何正式告白，怎麼她就提出就換頭像了，這女人啊，怎麼那麼主動欸欸欸欸。\n她選了《世界計畫》的鳳笑夢與草薙寧寧的同一期卡面 ( 這兩個角色常被玩家搞CP，也就是 EmuNene )，叫我換上寧寧的卡面，雖然畫面中兩人並沒有連在一起貼貼或是甚麼的，可能也不算是情頭，可是這頭像確確實實是她要求我換的。\n12 月 20 日，又有一次 Threads 換頭像的紀錄，同樣是她主動提出。\n這次真的是情頭了！！！\n同樣也是鳳笑夢與草薙寧寧的卡面，但是畫面中她們真的再一起貼貼了啦。\n到了這裡，如果把這件事放回當時整段互動裡看，就很難再把我們單純理解成普通同學。\n甚至有朋友開玩笑對我說：\n「你們只差沒牽手。」\n「她在暗示你。」\n那時候的我雖然沒有正式確認什麼，但心裡其實已經開始知道：\n我們之間的關係真的真的真的不太一樣了！\n2026/01～2026/03｜曖昧持續升溫 # 2026 年 1 月到 3 月，我們每個月都有接近或超過千則訊息：\n1 月：887 則 2 月：1,103 則 3 月：1,281 則 寒假，我到土耳其旅遊。\n1/30 她還傳訊息：「我也喜歡你」跟我疑似告白。\n這裡必須特別說明：\n那是一個便利貼連鎖詐騙遊戲，點讚的就會被連鎖。\n她選的是：「(便利貼) 10 個讚告白」\n後來有真的達到 10 個讚，她全部有按讚她便利貼的都有告白。\n於是就出現了「我也喜歡你」這樣的疑似告白。\n但是我是她唯一告白的異性啊！\n雖然這是個便利貼連鎖詐騙遊戲，不能代表什麼。\n但是除此之外，這段期間仍然有大量日常互動，以及又是由她主動提出的換？？情頭。\n也是世界計畫的 EmuNene 配對頭像。\n所以對我而言，這些感情經歷並不是一點點零碎的而已。\n它們是一件又一件的小事，慢慢累積成了我對這段關係的理解。\n2026/04～2026/06｜關係最親密的時期 # 如果要找一個時間點，說哪幾個月是我們關係最密集的時期，大概就是 2026 年 4 月到 6 月。\n其實，自3月開始，她甚至會主動傳訊息和我說早安晚安、一放學就用貼圖騷擾我等等舉動，這非常明顯超出朋友範圍。\n2026/04｜真正進入最親密的階段 # 4 月的訊息量直接增加到：\n3,190 則。\n除了聊天之外，現實中的互動也越來越親密。\n26/04/05｜高雄 # 我們一起去了高雄夢時代外面的的《世界計畫》4.5 週年活動，也去了高雄火車站地下街的 Animate。\n從上午到下午，我們一起走、一起逛、一起聊天。\n雖然她媽媽在旁邊。\n但那一天看起來，就是兩個很親近的人約出去玩。\n甚至比一般朋友還要靠近。\n26/04/13｜「隔宿摸爆」 # 4/13 晚上，我們聊到隔宿露營分帳篷的事情。\n她提到可以去騷擾他們同帳篷的人、摸她們的頭。\n然後突然對我說：\n「我還沒摸過 Aiixi 的。」\n接著說：\n「隔宿的時候摸爆。」\n後來隔宿露營，她真的摸了我的頭。\n而且不只一次。\n這件事情對我來說很重要，是因為它不是只存在於聊天裡的玩笑，而是真的發生在現實裡。\n除此之外，還有教室裡摸頭、堵門摸頭，以及其他我認為明顯超出普通朋友的互動。\n這些事情全部累積在一起，讓我越來越確定：\n我們之間確實存在某種非常特殊的關係，雖然沒有一個正式的告白或在一起的日期。\n2026/05｜我們甚至開始討論「我們是什麼」 # 5 月的訊息量來到：\n5,250 則。\n26/05/03 | 又有了新的情頭 # 同樣也是她主動提出的。\n也是 EmuNene。\n在 Instagram。\n5/25，我們重新談到了最初的 2025/06/25。\n我問她：\n「當初童軍課那件事情，到底是不是真的？」\n她回答：\n「不然還能是假的嗎。」\n後來我們又談到：\n「那我們是什麼關係？」\n2026/06｜訊息最熱烈的時候 # 6 月是整份 Instagram 紀錄中訊息量最高的一個月。\n一共：\n5,527 則。\n而 6/24 更創下整段紀錄的單日最高：\n551 則訊息。\n如果只看這個時期的紀錄，我大概怎麼都不會想到：\n幾個月後，我們會變成連一句話都不說的兩個人。\n2026/07｜仍然親密 # 暑假，我去了波蘭一個月。\n即使人在不同國家，我們的互動仍然維持相當高的程度。\n這一點也是我後來一直無法理解的地方。\n因為後來我從她朋友 (也就是第三人) 的轉述中得知，她似乎曾以「長期累積的失望」來向她朋友 (或第三人) 描述這段關係的結束。\n但至少從我保存下來的紀錄來看，直到暑假期間，我們仍然有相當明顯的主動互動。\n一個人可以一邊仍然和你維持親密互動，一邊心裡已經開始累積想離開的念頭嗎？\n我覺得，這兩件事情之間明顯存在落差，甚至矛盾。\n2026/08｜一切看起來完全沒有要結束 # 8 月共有：\n1,818 則訊息。\n現在回頭看，這個月發生的很多事情，都變得格外刺眼。\n26/08/17 ｜ 送我畫作 # 晚上，她主動在紙上用鉛筆畫了愛希熊的模樣。\n她畫好後傳了照片給我看，並表示開學後再親自送我。（*註1）\n雖然愛希熊這個角色是我創造的，但是以她的畫風畫起來很魅，我覺得她畫的超美的！和我的畫風是不一樣的感覺。（*註2）\n後來我們好像也一直聊著畫畫的話題吧，一直聊到了隔天半夜，也就是下個段落所記載的。\n註1：她後來當然因為鬧掰了沒有把實體畫作送給我，不過她傳給我的“預覽”照片我還留著呢！\n註2：愛希熊是我親自畫、創造出來的一隻角色，是我的二次元自設，詳見我的自我介紹頁面。\n她 2026/02 時也有用電腦繪圖畫出一個很萌很可愛的愛希熊送給我，也是她主動說想畫的，我至今都還保存著呢！\n26/08/18 ｜ 新的情頭 # （這裡是接續昨天的事件）\n8/18 台灣時間半夜，她主動對我說：\n「我想換頭像。」\n接著又說：\n「跟我換。」\n後來我們一起選了新的情侶配對頭像。\n依舊是《世界計畫》的 EmuNene CP 配對頭像。\n這天的晚上，她又提出要畫一張畫，作為給我的七夕禮物。\n除此之外，暑假期間她也曾主動提出繪畫合作。就是我們兩個和畫一張圖。\n如果只看這些紀錄，我完全沒有理由預期：\n我們很快就會結束。\n至少當時的我，完全不知道。\n2026/08/28｜返校日、生日禮物 # 返校日，我把她之前在7月提過想要的生日禮物送給她。\n是她喜歡的 VOCALOID 虛擬歌手 KAITO 的周邊。\n我花的是自己的零用錢。\n她當下沒有主動向我道謝。\n後來我傳訊息主動問起，她才表示自己喜歡，也向我道謝。\n接著到了星期一，我在 Instagram 限時動態上看到她公開感謝其他人送的生日禮物。\n卻完全沒有提到我送的那一份，一點都沒有。\n我承認。\n看到那個對比，我真的很難受。\n所以我後來用不好的口氣去質問她。\n這部分是我的錯。\n我沒有打算替自己的語氣辯解。\n我確實情緒失控了。\n也確實讓她感到不舒服。\n後來我正式向她道歉。\n而她也表示，當下沒有道謝是她的問題，並接受了我的道歉。\n至少在那個時間點，我原本以為：\n事情已經告一段落了。\n並且她當時給我的感覺就是：\n**「我沒有生氣啦，我原諒你的衝動，而且我當時自己也有做錯。」**的那種感覺。\n2026/09｜突然斷掉 # 然而，事情並沒有像我以為的那樣結束。\n我以為我們會繼續正常的親密互動。\n可是，她開始逐漸不再理我。\n情頭被換掉。\nInstagram 摯友被移除。\n合拍影片被移除。\n簡介裡的 @ 被拿掉。\n原本存在於社群上的各種關係痕跡，一個一個消失。\n而我完全不知道發生了什麼。\n最讓我困惑的是：\n前不久，我們才剛換過情頭。\n才談過繪畫合作。\n才聊過七夕禮物。\n結果沒過多久，這些東西全部消失了。\n對我來說，那就像一條突然被切斷的線。\n假如她真的在生我口氣不好的氣，可是也不太像啊，當時她心情明明就超級好的？\n這段時期我開始陷入無限內耗，每天都在腦中反覆推敲到底哪裡出了問題，甚至出現食慾不振、深夜莫名失眠的情況。\n於是我決定主動寫一篇文章向她詢問到底發生了什麼，並獻上最真誠的道歉。\n2026/09/05｜我試著把話說清楚 # 我們這兩年認識以來，從來沒有吵架或不愉快過。\n所以我真的不知道該怎麼辦。\n我真的真的真的不知道該怎麼辦。\n9/5，我寫下了一篇很長的文字。\n我不是想跟她吵架。\n也不是想逼她原諒我。\n我只是想問：\n到底發生了什麼？\n如果我真的做錯了什麼，我願意聽。\n如果有什麼地方讓她不舒服，我願意知道。\n如果我需要改，我也願意改。\n我最不能接受的，從來不是「你生氣了」。\n而是：\n你什麼都不告訴我。\n因為沒有答案，我只能一直猜。\n2026/09/07｜最後一次溝通 # 9/7，我又寫下了「暫定最後的溝通」，這是第二篇文章。\n我甚至告訴她，如果她需要時間，我可以等。\n我沒有要求她馬上原諒我。\n我只是希望她至少告訴我：\n她到底在生什麼氣？\n當天晚上 22:37～22:38，我傳出了最後的長篇訊息。\n22:40，她回覆：\n「我沒有生氣。」\n「我完全沒有生氣。」\n「就這樣。」\n然後，就結束了。\n從那一天開始，我們在網路上沒有再互動。\n現實裡，也沒有。\n2026/09/16 | 我封鎖了她的 Instagram # 這天，我意外的從她朋友口中得知：\n她和她朋友抱怨了我們的關係，說明我們為什麼分開的理由，但是她的理由非常矛盾且不符合事實，並使用「情緒勒索」等對我不利的說法。\n我想，與其我每天看到她會心情不好、會內耗，那大不如把她從我的視線裡面移除，眼不見為淨嗎？\n2026/09/23｜我寫下正式說明 # 後來，我問了那位她的朋友，假如我沒向你說明，你是不是永遠都會覺得我真的像她說的那麼壞？\n她回應：是。\n我不想她再繼續說這樣所謂的或許是虛假的事實，我內心其實非常的生氣、不爽，但也難過。\n我也不敢把話說死，但我得知的就是這樣，她向她朋友描述我們關係的結束，但闡述的是不是事實的事實，或許中間有誤會吧？我也不知道。\n到了 9/23，我發現我還是根本放不下\u0026hellip;\n我決定把整件事情整理成一份正式說明。\n那女人這樣搞，它確實對我造成了很大的衝擊。\n因為我突然發現：\n我確確實實正在經歷一段關係的結束。\n而在另一個我不知道的地方，可能還存在著另一個版本的她編造的故事。\n於是，我把自己能確認的時間線、聊天紀錄、道歉與後續行為全部整理下來。\n我想說清楚一件事：\n你可以選擇結束一段關係。\n這是你的權利。\n但如果這段關係的結束原因被拿去告訴第三人，我希望至少能夠區分：\n什麼是事實。\n什麼是個人感受。\n什麼是推測。\n什麼是第三人的轉述。\n因為一旦這些東西混在一起，一個人的形象就可能在沒有本人參與的情況下，被慢慢固定成另一個版本。\n2026/10 初 | 我們兩人此時的狀態 # 項目 狀態 說明 誰 校園身分與環境 同班同學 (事實上) 每天坐在同一間教室上課，距離畢業還有將近八個月，即將迎來畢業旅行。 雙方 現實互動狀況 零互動（最熟悉的陌生人） 完全不說話，在教室裡大眼瞪小眼、互相冷漠，失去了走過去對話的理由與身分，這種關係甚至連同班同學都不如。 雙方 社群與通訊關係 數位痕跡清空 (詳見下表) 雙方 心理狀態與訴求 尋求放下與解開心結 寫下近萬字紀錄，期盼能在畢旅（購物中心長椅/美食街）面對面坦誠溝通，至少做回「普通同學」。 作者（愛希） 對外態度與說法 冷處理與背後標籤 對作者稱「完全沒生氣」，私下向朋友抱怨「長期失望」並使用「情緒勒索」等標籤。 對方 但直至此刻，我還是放不下 # 如果事情只停在「我們因為某種理由，正常、和平的分開了」，也許我會慢慢接受。\n因為每個人都有權利結束一段關係。\n真正讓我卡住的，是：\n我一直沒有得到一個具體的答案。\n我知道那次生日禮物事件確實發生過。\n我知道自己當時的語氣不好。\n我也知道自己後來道歉了。\n而對方也曾表示接受我的道歉。\n而且我們這快要兩年的關係、一年多的感情，是確確實實存在的。\n而且我們認識後的這兩年，從來沒吵架過，也沒有其他明顯的不愉快。\n但後來的關係為什麼會突然被切斷？\n我不知道。\n也許她心裡真的還有其他累積的不滿。\n也許她對某些事情的理解，和我的理解完全不同。\n也許我忽略了一些她從來沒有告訴我的感受。\n這些都有可能。\n可是問題就在於：\n我沒有得到能夠確認的答案。\n所以我沒有辦法替她回答「真正的原因」。\n我只能描述我所知道的部分。\n我覺得很不甘心、生氣、難過，我覺得這不應該這樣結束，所以我真的真的真的放不下。\n2026/10/XX | 畢業旅行 Day 1 # 基於隱私，具體日期恕無法寫上。\n各位讀者，你/妳目前正在讀的這個段落，是我在畢業旅行中，在遊覽車上拿著平板打出來的。\n我在各個筆記軟體、通訊軟體裡，零零碎碎地寫下了這將近三萬字的紀錄。但我寫下這些，並不是為了把誰定罪，更不是為了繼續拉扯。\n而且確確實實、不可否認的是：我們經歷了快要一年半那麼甜蜜的關係。我不想要走到最後，發現這一切只留下猜測、背後的傳聞，還有同一間教室裡無限蔓延的冷漠；更不想要以後想起國中生活，第一個浮現的就是她，以及這段讓人又愛又恨的感情。\n岔個話題，我本人現在身體 BMI 適中、視力正常、抽血正常，上次的身體檢查大致也都正常。既然身體這麼健康完美，結果卻在友情、感情上留下了那麼大的破洞，甚至感覺是個永生的破洞。\n我們還有將近八個月才畢業，我不希望我們每天在同一間教室就是大眼瞪小眼、互相冷漠；我也不希望我們在網路上就是互相封鎖對方、把對方當作垃圾一樣看待，就這樣僵持直到畢業。\n如果有機會，我其實很希望能透過我們的共同朋友的牽線，和她坐下來，來一次和平、坦誠的面對面對談。\n我認為此時此刻即將到來的畢業旅行是一個非常非常好的機會，畢旅行程中，我們有夜市與購物中心，我認為這都是一個可以面對面好好談談的場地，我們可以選一個沒有外人、同學在旁邊干擾的場地，而且也不知道之後還有什麼機會了。\n我想像的場景是：\n購物中心的隨便一個長椅上我們倆就坐在對方旁邊，互相談談。 購物中心的美食街，或許可以坐下來一起吃飯，然後互相談談。 或其他 畢業旅行行程中合適的場地，而且只有我們兩人，沒有認識的人干擾的地方就好。 我不需要她向我道歉，也不再幻想彼此能回到過去那樣每天聊到深夜、互相摸頭的親密，當然也沒有要求結果是和她重新建立友誼或復合（？）。我只是希望在沒有螢幕阻隔、可以看著對方的表情、沒有第三方轉述與傳聞扭曲的情況下，當面問清楚那些一直卡在我心裡的疑問：\n我想知道真正的答案：到底哪一件事、哪一句話，讓她感到失望或被勒索？如果我有錯，我想當面向她遞上一句最真誠的道歉，而不是讓錯誤懸在半空。 這不是為了糾纏，而是為了放下。如果她願意談，我會帶著平靜與尊重去聽；如果她依然如此，那至少我已經盡了最後的努力，能坦然地把這段甜甜的過去好好收進回憶裡。\n我希望假如真的經歷了面對面對談後，至少我們可以做回「普通同學」，而不是互相封鎖、互相冷漠的垃圾同學。也順便把我的感情這塊破洞，好好修補起來。\n2026/10/XX | 畢業旅行 Day 2 # 基於隱私，具體日期恕無法寫上。\n我請求我的朋友幫忙牽線了。\n不出意外，她還是那一副乾我屁事的樣子，透過那位朋友的轉述，我知道，她完完全全拒絕了這次的和平面談。\n我沒要求什麼，我就只是想讓我們各自在學校剩下來的八個月都可以好過一點，她不要就算了，就這樣啊，都這樣啊，她真的明顯比我不成熟很多，算了，隨便啦。\n本想說這件事就到此為止，但我突然得知一件事情。\n我覺得這件事情，她真的挺過分的，不管怎麼說，她都不需要做到這麼過分吧。\n在這裡必須強調，是我不小心看到那位牽線的朋友的手機裡面的聊天紀錄的，不然原本我也不會發現這件令人生氣的事情。\n以下是事情經過\n事情經過\n就是昨天 (畢旅 Day 1) 在某個景點的時候，有一位女同學A來找我，說有事情想打電話找老師，想借我的手機打電話。\n結果她竟然在遠方偷拍我們兩個站在一起，然後還發上她的 Instagram 限時動態，並傳給那位我們的共同朋友，說我們兩個很配、可以湊合在一起、我們很好嗑 (CP)，這樣。\n聽到這裡，我徹底不爽了，就算她真的有委屈、有生氣，也不能用這麼過分的行為來對我吧！ 真要說的話，她這已經觸犯到了中華民國民法的侵害人格權；就算只用在校規，她這樣的行為依然是校園霸凌、網路霸凌了，要依照校規記過處分的欸！\n我一直的立場都是，我想和平、我願意談、願意聽、我不會因為不爽而搞妳，結果呢，她竟然可以做出那麼過分的事情。\n沒想到她是這種人啊。\n我請那為我們的共同朋友幫我收集了有關這件事情的證據給我，包含她們的對話截圖、相關照片、Instagram 動態，我要保存起來，因為這對我有利，必要時我可以保護我自己。\n2026/10/XX | 畢業旅行 Day 3 # 基於隱私，具體日期恕無法寫上。\n我實在是覺得她這樣做真的非常過分，而且非常的不舒服，而且是越想越不舒服，而且是非常非常非常不舒服、不爽。\n我想尋求班導的協助。我猶豫了很久，只因這就意味著，我也正式向她宣戰了，我也不想和平解決了，我真的要這要做嗎？可是其實她這樣子的種種行為早就在告訴大家：『我要和 Aiixi 鬧掰啦！』，所以我不想再心軟了，所以最後還是決定尋求班導的協助。\n但我也不是什麼報復心理，我不是為了想看到她被老師罵才去向老師反應的，我是真的對她偷拍、假訊息這件事感到非常的不舒服，我覺得不能再這樣繼續下去了。\n我把我們怎麼開始結束的、為什麼會發生這些事情、她做了什麼事情，都告訴了班導，她聽完我的描述，非常感同身受我此時此刻的感受，她也一直安慰我、幫我以大人的角度看看到底在生什麼氣，並告訴我她偷拍、亂配 CP 並上傳到 Instagram 這件事，是嚴重的，會依照校規處理，班導之後也會找她來談談，看能不能讓我們兩個透過班導一起談談。\n在此特別非常謝謝我的班導，願意花費時間聽我說、安慰我，她也和我分享了一些她的人生經驗，這真的給我很大的幫助，哈哈哈哈哈哈。\n2026/10/08 | 我對她搞的謠言提出嚴正聲明 # 晚上。\n我在 Instagram 限時動態發布了這篇短文：\n# 本人在此呼籲X同學！ 請你立即停止散布並刪除有關畢旅期間偷拍我與同學 A 的照片及亂湊 CP（配對）言論！ 當時同學 A 只是向我借手機連絡老師，妳偷拍並發送『我們兩個很好嗑』等假訊息已嚴重失實。 妳的此行為讓我感到非常非常非常不舒服。 **依據中華民國民法，你的此行為已觸犯了侵害人格權。** 我手邊已完整保存相關對話與截圖，並已向班導反映此行為，**這將會依照校規處理**。 我的立場很清楚，有關於我們這一個月發生的事情，我不想把事情搞的難看。 但妳卻多次拒絕溝通。 **即使妳對我多麼不爽，妳也不能用如此不適當的方式來搞我。** 請妳尊重我的界線，要和我斷絕關係是你的選擇，我也尊重你，但請妳切勿繼續散布非事實內容。 **如果你有收到、看到她發的圖片不要當真！** **請勿轉發，不要讓假訊息繼續散布** 這是老師建議我可以這樣做的。\n雖然我們已經互相封鎖，她看不到我的這則限動，但我相信她的其他朋友看到這則限動或許會截圖給她本人看的。\n不管怎麼樣，我已經起到了警示的作用。\n沒事。沒事。\n2026/10/12 | 此刻的我，心情好複雜 # 好吧！\n我並不是她，我沒辦法為她下定論。不過，不管我們這一年是朋友還是伴侶、不管後面發生了什麼事情，她確確實實帶給我一段非常美好的時光，這大概是我人生中最幸福的一段時期了吧？\n但我也不想把自己寫成完全無辜的人 # 這一點，我想特別留下來。\n因為如果我把整篇文章寫成：\n「我什麼都沒做。」\n「全部都是她的錯。」\n那也不是真實的我。\n生日禮物那件事情，我確實情緒失控。\n我的語氣確實不好。\n我確實在很失望的狀態下，用了讓對方感到壓力的方式去表達自己的情緒。\n這些我承認。\n我也已經為此道歉。\n當然，或許這段關係中還有我不知道的委屈吧？我不知道。\n我為何要寫下這篇萬字文章 # 不是為了挽回。\n不是為了逼她回到我身邊。\n也不是希望她一定要承認誰對誰錯。\n寫下這些的時候，我其實很難受。\n因為我知道一定會有人問：\n「都結束了，為什麼還要寫這麼多？」\n可是對我而言，這不只是糾纏。\n這是在替自己的青春留下一份記錄啊。\n我需要知道：\n我曾經被誰喜歡過。\n我也曾經被誰放下。\n而這些事情，都是真實發生過的。\n最熟悉的陌生人 # 這段關係結束之後，最難熬的其實不是某一天特別想哭。\n而是每天。\n我們還是同班同學。\n同一間教室。\n同一個校園。\n可能還會在同一條路上遇見。\n曾經我們可以很自然地走到彼此旁邊。\n可以隨口聊天。\n可以摸摸頭。\n可以分享剛剛看到的東西。\n可以一直聊到捨不得睡。\n可是現在，這些事情全部突然沒有理由了。\n直至此刻，我甚至還記得一些有關她和我分享的她的趣事：\n她不喜歡汽水（有氣泡的飲料）、汽水糖 她不喜歡太甜的食物 她學校制服外套上有個小破洞是拜拜的時候香不小心燒到的 以及其他類似的趣事等等 現在想起來就是，唉～\n以前那些讓我覺得親密的地方，現在反而變成每天提醒我的場景。\n最難受的不是「你不再是我的朋友」。\n而是：\n妳明明還在那裡，卻已經不能再走過去了。\n這大概就是「最熟悉的陌生人」真正讓人難受的地方。\n幾個月前，我還對這次的畢業旅行有美好的想像的，現在沒了，全沒了。\n所以，為什麼我會那麼難放下她？ # （Written on 2026/10/30）\n各位讀者啊！如果你讀過我的 自我介紹，你可能會發現，我的興趣和那個女人有部分重疊啊 （例如繪畫、二次元、遊戲和喜歡的東西）。\n要遇到一個「真正懂自己」且興趣完全重合的人，真的難如登天嘛！這種怎麼也放不下的執念，其實都是因為這幾個層面狠狠衝擊了我那 幼小的 心靈呀：\n小眾興趣的「極致稀缺感」： 有句話說：『兩個人的相知相遇、兩顆心的相愛相惜，這樣的機率比被雷擊、中頭獎還要低。』 在普通的校園同學交友圈裡，想遇到一個同樣熱愛二次元文化、懂《世界計畫》與 VOCALOID、懂得繪畫創作的人，簡直比被雷打到還要稀有、困難啊！ 當初是她那麼主動地帶著熱情靠近我，甚至對我做出曖昧舉動，那種「被懂、而且是被對方如此主動選擇」的驚喜感，讓原本平靜的我瞬間淪陷，情感緊緊黏了上去……\n滲透日常的「陪伴習慣」： 那整整 635 天的陪伴、高達 28,241 則的訊息，幾乎每一天都是由她那源源不絕的主動分享開啟的。從早到晚她隨手傳來的短片、主動問候的早安晚安、找我玩遊戲聊天、甚至在學校裡那些她主動做出的親密互動……面對這種高密度的甜蜜攻勢，我也漸漸習慣了回應她的熱情，在我心中織成了一張密不透風的感情網啊啊啊啊啊哈哈哈。 當這份習慣被硬生生抽離時，留下來的空白和戒斷症狀，真的很痛捏……\n「靈魂伴侶的錯覺」與「斷崖冷漠」的巨大落差： 最傷人的從來不是不曾擁有，而是 『明明是妳先熱烈地闖進我的世界、主動給我所有親密與偏愛，最後卻只剩我一個人深陷其中。』 。當初是她那麼主動地對我做出超越朋友的親密互動、每天主動找我聊天、甚至換上情頭（EmuNene CP 頭像），甚至在學校裡做出那麼多讓人心動的舉動，才讓我鼓起勇氣為她付出那麼多的。結果這樣由她一手建立起來的親密關係，竟然在瞬間遭遇了無預警的「斷崖式蒸發」……這種「主動把我拉進夢境，卻又獨自把我丟下」的殘酷反差，真的讓我好困惑：當初她那些無比主動的靠近，到底算什麼？😭😭😭😭😭\n「無解懸案」引發的無限內耗： 最讓人難以放下的，往往不是關係的結束，而是「沒有得到一個真實的答案」。當我放下身段想找她坦誠溝通時，得到的卻只有句點式的敷衍與冷漠。這種「明明曾經那麼親密，最後卻連為什麼要被丟下都不知道」的未竟之感，以及每天同在一間教室裡『明明近在咫尺卻只能大眼瞪小眼、一看到她就想起這些破事！』的物理強迫刺激，才是讓這份執念演變成我最近劇烈內耗的真正原因呀…… QAQ\n所以呀……我之所以要花費那麼大的力氣，把聊天室數據通通匯出、好好整理時間線、甚至寫下將近三萬字（快要四萬字了！）的深刻剖析文章，就是因為這份「好不容易找到對的人卻心碎收場」的心碎實在太沉重了。我必須透過這樣極度「理性」梳理，才能一點一滴、強迫自己去接受殘酷的現實，然後在眼淚中尋找真正的解脫呀！\n呱呱呱 \u0026#x1f986;\n我最後想留下的，不只是難過 # 老實說，我這個人談戀愛並不是為了可以和朋友炫耀或什麼的，我是真心、認真在經營這段感情的。\n這就是所謂的：真心換絕情 吧？\n這段關係裡，我當然有很多難過。\n有生氣。\n有委屈。\n有不理解。\n也有很多現在想起來，仍然覺得很珍貴的事情。\n我們曾經每天聊天。\n曾經一起出去。\n曾經換過六次配對頭像。\n曾經牽過手。\n曾經摸過彼此的頭。\n曾經聊到凌晨。\n曾經在單日留下 551 則訊息。\n曾經有一段時間，我們真的非常非常靠近。\n這些都是真的。\n謝謝妳！這真的是我人生中最幸福的兩年了！\n而後來的沉默、切割、失望和痛，也是真的。\n但，我不想因為結局很難看，就否定我們曾經擁有過的那些日子。\n結語 # 我也嚐到了分手／失戀的痛苦。\n它只是讓我第一次很清楚地知道：\n原來被一個人重視，是這種感覺。\n原來每天有人陪我聊天，是這種感覺。\n原來你習慣了一個人的存在之後，突然失去那個人，會是這麼安靜、又這麼煩。\n更讓我知道的是：\n原來關係結束之後，最難放下的有時候不只是那個人。\n而是那個曾經相信「我們會一直這樣下去，永遠不會分開」的我自己。\n謝謝那個帶給我幸福、溫暖的妳。\n妳真的帶給我好多好多幸福的感覺。\n曾經，我們真的很甜。\n至少在那些時刻是真的。\n這段關係從一開始零散的聊天到最後一則關係破裂的訊息，跨越了 635 天。\n中間有過的快樂是真的。\n後來的痛也是真的。\n被她喜歡是真的。\n而且，幾乎所有的曖昧舉動都是她起頭的，她真的好主動啊！\n超好笑 # 最近，我為了她，在鍵盤上敲出了將近三萬字不誇張。\n不管是在手機、平板、電腦；不管在各種筆記軟體、通訊軟體。\n這篇文章，也被我寫出了一萬個字。\n我從來沒寫過這麼長的文章，沒想到第一次寫，就是為了一個女人。\n這已經可以寫論文了吧？\n但我就為了寫文章道歉、和她做溝通、向朋友抱怨、寫說明、甚至寫下這篇部落格文章。\n這真的耗費我非常多的時間，而且花了這些時間，我也不知道有沒有結果。\n我在想，我這個人是不是病了？\n不是啦？對吧？\n應該不是啦？\n整理文章時我才突然想到，我們兩個人的現實中身高差是 4 公分，竟然跟我們換了那麼多次情頭的 EmuNene 身高差（152cm / 156cm）一模一樣！如果這是巧合，那也真的蠻巧合的，哈哈哈哈哈哈哈。\n我好想哭。 哈哈哈哈哈哈哈哈哈！！！\n我在寫這段文字的同時，我在遊覽車上，她就坐在我後面的座位，距離我不到2公尺。\n曾經的我們，可是無話不談的。\n可現在呢，我卻什麼事都沒辦法做，感覺格中間隔著一道隱形的牆壁，誰懂這種感覺啊 QAQ。\nCopyright # © 2026 by Aiixi Bear is licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International\n© 2026 by Aiixi Bear 採用 創用 CC 姓名標示-非商業性-禁止改作 4.0 國際授權條款\n","date":"September 28, 2026","externalUrl":null,"permalink":"/en/posts/87/","section":"Article List","summary":"這是一份關於某人經歷 635 天青春戀愛關係的完整心路歷程，記錄了從熱絡到斷崖式分手、甚至關係結束後的點點滴滴。寫下這些並非為了和對方拉扯，而是希望能為這段又愛又甜又恨的青春戀情，留下一個完美紀錄。","title":"心碎的 635 天：讓人又愛又恨的青春戀情","type":"posts"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 簡介 # 我個人原本一直使用 Google Password Manager，因為它實在太方便了。不過，密碼資料畢竟是由 Google 的掌握，對於資料掌控權與安全性仍然有所顧慮，因此我最後選擇自己架設開源密碼庫。\nVaultwarden 是一個輕量、開源的 Bitwarden 相容密碼管理伺服器，可自行架設來安全管理密碼與機密資料。\nBitwarden 本身就是一個大廠製作的開源密碼管理庫，有提供免費和付費方案，當然因為官方伺服器開源的關係，也可以自己架設官方維護的版本 bitwarden/server ，但官方的版本記憶體要求竟然要驚人的 2GB 至 4GB，而 Vaultwarden 是基於 Bitwarden 開源修改的，採用 Rust 重寫，比原版更輕量，實際記憶體使用量會依使用者數量、資料庫大小與部署環境而有所不同。\nVaultwarden 功能：\n儲存帳號密碼、Passkey、個人資訊與 TOTP 驗證碼 在絕大多數瀏覽器、裝置上自動填入 與 Bitwarden 原版客戶端相容 TOTP 是許多網站使用的雙因素驗證（2FA）驗證碼，Vaultwarden 可以直接儲存 TOTP Secret，在登入網站時自動填入生成的驗證碼。\n基本上功能和市面上大多的 Password Manager 差不多。\nVaultwarden GitHub 頁面： dani-garcia/vaultwarden\nVaultwarden / Bitwarden 安全性 # Vaultwarden / Bitwarden 採用端對端加密與零知識架構，密碼庫資料會以加密形式儲存在伺服器上，伺服器本身並不需要知道使用者的主密碼。不過，這並不代表自架服務「絕對安全」；主密碼強度、備份資料管控以及使用者自己的裝置仍然需要妥善保護。\nVaultwarden 架設教學 # Vaultwarden 對於硬體設備的要求極低，以 Docker 部署的環境要求如下\n任意伺服器上，如需要外網存取需配置良好網路環境 Docker 環境 RAM: 依實際使用量而定，個人使用通常不需要大量記憶體（我的環境跑起來大約只用不到 500MB） 硬碟空間: 100MB 以上 （取決於密碼庫大小） 開始架設 # 建立資料夾環境 mkdir vaultwarden/ nano docker-compose.yml docker-compose.yml 填入設定檔： services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: unless-stopped environment: DOMAIN: \u0026#34;https://example.com\u0026#34; volumes: - ./vw-data/:/data/ ports: - 8787:80 記得替換 DOMAIN: https://example.com 為自己的網域，應設定為使用者實際存取 Vaultwarden 的完整 HTTPS 網址。容器內部端口使用 80，機器端口可以依照自己的環境需求自訂，我用 8787 作為示範。\n啟動伺服器 sudo docker compose up -d 放開防火牆（如果有的話） sudo ufw allow 8787 即可成功在 [你的伺服器]:8787 看到 Vaultwarden 伺服器\n外部安全存取你的密碼庫 # 如果需要在任何地方存取你的自架 Vaultwarden，你可以透過 Nginx 或任何反向代理伺服器配置，這裡不贅述。\n另外，一定要記得完整配置 TLS 憑證、強制https連線，並且設定防火牆，避免透過IP可以直接存取等等，不然後果大家都知道的，如果服務直接暴露在未加密的 HTTP 連線上，登入資訊與其他敏感資料可能在傳輸過程中遭到竊聽或竄改。因此，只要 Vaultwarden 需要透過網際網路存取，就應該使用 HTTPS，並正確配置 TLS 憑證。\n架設後初始化 # 使用電子郵件註冊一個帳號，設定安全的主密碼。\n你的帳號/電子郵件資料只保存在這台伺服器上，電子郵件僅是在這台伺服器上辨識你的身分而已，沒有其他用途，並且跟 Bitwarden 官方伺服器不會有任何關係。\n注意！如果這個密碼庫只有你/你信任的人要使用，則當他們都註冊完成後，在 docker-compose.yml 中的 environment 加入 SIGNUPS_ALLOWED: false 禁止註冊新帳號。\n# docker-compose.yml environment: DOMAIN: \u0026#34;你的 domain\u0026#34; SIGNUPS_ALLOWED: false # 加入這個 如何使用 Bitwarden 官方的客戶端登入自架的 Vaultwarden 密碼庫 # 以 Bitwarden Android App 為例：只需在登入時選擇自架，填入自己伺服器的url即可。\n總結 # Vaultwarden 對於想自行掌控密碼資料的人來說，是一個相當輕量的選擇。透過 Docker 可以快速完成部署，再搭配 HTTPS、反向代理、備份與適當的防火牆設定，就能建立一套方便且具備良好安全性的自架密碼管理服務，還可以免去密碼資料掌握在第三方的困擾。\n","date":"September 13, 2026","externalUrl":null,"permalink":"/en/posts/vaultwarden/","section":"Article List","summary":"A record of setting up my own Vaultwarden password manager, with a basic deployment and usage guide.","title":"Self-Hosted Open-Source Password Manager: Take Control of Your Credentials with Vaultwarden","type":"posts"},{"content":"","date":"September 13, 2026","externalUrl":null,"permalink":"/en/tags/vaultwarden/","section":"Article Tags","summary":"","title":"Vaultwarden","type":"tags"},{"content":"","date":"September 6, 2026","externalUrl":null,"permalink":"/en/tags/android/","section":"Article Tags","summary":"","title":"Android","type":"tags"},{"content":"","date":"September 6, 2026","externalUrl":null,"permalink":"/en/tags/decentralization/","section":"Article Tags","summary":"","title":"Decentralization","type":"tags"},{"content":"","date":"September 6, 2026","externalUrl":null,"permalink":"/en/tags/foss/","section":"Article Tags","summary":"","title":"FOSS","type":"tags"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 我為什麼會喜歡這些東西？ # 對我來說，這些已經不只是「資訊科技領域裡的一些概念」，而是逐漸融入我的日常生活。\n從手機上的安卓與 App，到電腦上的 Linux，再到自己架設的伺服器與網路服務，我都會下意識地尋找更加開放、自由、透明的選擇，並且盡可能自己掌控資料，而不是把所有控制權交給單一公司。\n我使用的作業系統 # 筆電：Linux Mint (和原廠預裝 Windows 保持 dual boot) 手機：刷上類原生 LineageOS 伺服器：Ubuntu Server 我的路由器：小米 AX3000T 刷上 OpenWrt 我選擇 Linux Mint，是因為它以 Ubuntu 為基礎，同時提供了更加傳統、熟悉的桌面體驗。它有自己的開發與社群生態，又能使用大量 Ubuntu 生態系中的軟體與套件，對我來說是一個很舒服的平衡。\n我使用的應用程式 # 瀏覽器： Firefox （試著全平台使用） 密碼管理器：Vaultwarden（Bitwarden 相容的非官方開源伺服器實作，可自行架設） 電子郵件查看： Thunderbird 應用程式商店： F-Droid, Aurora Store （開源的第三方 Google Play 客戶端） 看漫畫：Mihon 社群平台（去中心化）：Mastodon, Misskey 聽音樂：Metrolist (開源的第三方 YT Music 客戶端) 圖片編輯：GIMP 跨平台裝置傳檔案：LocalSend 我自架的開源網路服務 # 密碼管理器：Vaultwarden（Bitwarden 相容的非官方開源伺服器實作，可自行架設，自己的密碼資料自己管） 雲端相簿：Immich （資料自己管） 智慧家庭 IoT 中樞：Home Assistant 異地組網：自架 WireGuard 本站 Misskey 架設教學文章 本站 Vaultwarden 架設教學文章\n刷機、合法破解電子裝置 # 小米 AX3000T 被我刷成 OpenWrt 手機解鎖 bootloader 取得 Root 權限 或 類原生安卓（LineageOS）或幹掉溫控，釋放性能 小米手環刷入自訂表盤、小程序，甚至韌體; 運動資料輸出到外部 小米藍芽溫濕度計 3 刷入自訂韌體，資料導出到 Home Assistant、自訂按鈕功能等等 我的理念 # 我喜歡這些軟體與硬體，並不是因為「開源」這個詞本身很酷，而是因為它們讓我擁有更多選擇。\n我可以選擇使用什麼作業系統、什麼 App，也可以選擇把服務架在哪裡、資料交給誰管理。甚至連購買回來的硬體，我也希望能夠在硬體允許的範圍內，自己決定它應該怎麼運作。\n對我來說，自由不代表所有事情都必須自己完成，而是我希望自己擁有選擇的權利。\n如果一個服務可以自己架，我會想試試看；如果一個 App 有開源替代方案，我會優先考慮；如果一個裝置允許刷入其他系統，我也會想研究看看。\n這些看似零散的選擇，最後慢慢形成了我現在使用科技的方式。\n","date":"September 6, 2026","externalUrl":null,"permalink":"/en/posts/me-with-tech/","section":"Article List","summary":"I love open-source, free, and decentralized software and platforms, as well as self-hosting and installing custom ROMs. These things have become part of my everyday life.","title":"Why I Love Open Source, Free and Decentralized Software, Self-Hosting, and Custom ROMs","type":"posts"},{"content":"Apps Sitemap\nA collection of web applications created by Aiixi Bear when bored—feel free to give them a try!\n📁 apps/ # Text-to-Image with Custom Fonts\nTime-Sync Clock\n25-ji Logo Generator\nModified from: https://github.com/honoka55/25ji-generator/\nReal-time Headcount Estimation using MediaPipe Vision Model in Web Browser\nThis app was mostly built with AI assistance due to my limited development skills, so it is just for personal entertainment. My sincere apologies!\nRun YOLO11n Vision Model in Web Browser (10.74 MB)\nThis app was mostly built with AI assistance due to my limited development skills, so it is just for personal entertainment. My sincere apologies!\nRGB Text Box with Custom Text\nMarquee Banner with Custom Text\nWord Counter\nView My IP and Device Information\nThis app was created with AI assistance due to my limited development skills.\n📁 / # Prank Tools for Trolling Friends ","date":"August 5, 2026","externalUrl":null,"permalink":"/en/apps/","section":"Aiixi Bear's Backyard","summary":"","title":"Apps","type":"page"},{"content":"","date":"November 22, 2025","externalUrl":null,"permalink":"/en/tags/fediverse/","section":"Article Tags","summary":"","title":"Fediverse","type":"tags"},{"content":" Oops! This article is currently only available in Traditional Chinese. English translation is coming soon! 前言 # 在這個資訊像是喝了能量飲爆衝亂竄的年代，每個平台都想把你抓住不放、資料通通塞進自己肚子裡（哼，超討厭～(╯°□°）╯︵ ┻━┻）。但！如果我們能自己搭建一個屬於自己的 聯邦宇宙（Fediverse），那感覺就像是從平台牢籠裡逃脫，穿上閃亮亮披風，在星空裡自由穿梭一樣啊ぁぁ～～(ﾉ*\u0026gt;∀\u0026lt;)ﾉ♡✨\n為什麼要這麼做？因為在自己的宇宙裡—— 你是王、你是神、你是那個站在星際中央比中指說「老子自由啦！」的霸主 ( ͡° ͜ʖ ͡°)✧\n不用再看巨型社群平台臉色，不用擔心某天演算法心情不好就把你的貼文埋進地底室。不爽？你自己改！想加功能？你自己開！想創造一個只有貓貓梗圖與奇怪深夜碎念的星球？拜託快建一個，我會第一個搬進去(///▽///)💕\n搭建自己的聯邦宇宙，不只是技術，更是一種態度： —「世界太無聊了，我要自己造一個更好玩的！」ฅ(^•ω•^)ฅ🌟\n好了\n所以，今天，我想要來架設屬於自己的聯邦宇宙，把我的所有東西都丟進去吧!\n常見的聯邦宇宙實例 # Mastodon 開源 最經典、最廣為人知的微型社交平台（像 X Twutter）。 支援 ActivityPub 協議，所以可以跟其他 Fediverse 平台互聯 因為開源，可以架自己的實例，管理者可以自己訂規則、調整 moderation。 常見實例: mastodon.social Threads (沒錯就是Meta的脆) 聯邦宇宙功能目前在測試版，沒有所有使用者有使用 支援 ActivityPub 協議，所以可以跟其他 Fediverse 平台互聯 雖然是聯邦宇宙，但還是有擺脫不了傳統社交媒體的框架，還是有中心化、審核機制不透明、資料不透明等等問題 不能自己架設實例 Misskey (我接下來要使用的) 開源，比Mastodon更輕巧 官方提供Ubuntu安裝腳本，可以自己架設實例，自己管理實例 支援 ActivityPub 協議，所以可以跟其他 Fediverse 平台互聯 日本人開發者 常見實例: misskey.io 開始架設Misskey # Misskey 甚至還有自己的看板娘，果然是日本\n藍.moe\n伺服器規格建議 # 實體或VPS都可以 OS：Ubuntu 22.04 或更高版本 RAM：至少 4 GB RAM (如果多人使用的話這個很重要) 儲存空間：至少 10 GB (當然實際上看自己的使用量) 可搭配Cloudflare 和 Domain 寫這個文的時候的Misskey最新版本是:Misskey (2025.11.0)\nMisskey的Ubuntu安裝腳本可以用兩種方式安裝， 一種是原生安裝，一種是Docker安裝\n當然它也有純動手來安裝\n確保伺服器系統最新 # 自行斟酌看要不要全系統更新一下\nsudo apt update sudo apt full-upgrade sudo reboot 開始安裝 # 使用官方Ubuntu腳本安裝:\nwget https://raw.githubusercontent.com/joinmisskey/bash-install/main/ubuntu.sh -O ubuntu.sh; sudo bash ubuntu.sh 他會問你要源生安裝還是Docker安裝，本篇文章我用原生安裝\nMisskey auto setup for Ubuntu v3.2.3 Check: Linux; OK. Check: root user; OK. I am root user. Check: arch; x86_64 (amd64) Install Method Do you use systemd to run Misskey?: Y = To use systemd / n = To use docker [Y/n] \u0026gt; Y 這裡選擇來源，默認就可以\nMisskey setting Repository url where you want to install: \u0026gt; https://github.com/misskey-dev/misskey.git 這裡選安裝目錄名稱，一樣默認\nThe name of a new directory to clone: \u0026gt; misskey 這裡選branch，默認即可\nBranch or Tag \u0026gt; master 要建立一個misskey使用者，默認就可以\nEnter the name of user with which you want to execute Misskey: \u0026gt; misskey Misskey要使用的網域，請依照實際情況替換\nEnter host where you want to install Misskey: \u0026gt; example.com 是否安裝 Nginx，這裡的 Nginx 是拿來 Proxy 以及申請 Let’s encrypt 用的，請依照你的情況做選擇。我選 N，因為我會直接用Cloudflare Tunnel來連線 另外此腳本的 Nginx 只負責安裝，並不會設定任何東西，安裝完後須參照官方Wiki來進行設定。\nNginx setting Do you want to setup nginx?: [Y/n] \u0026gt; N Nginx and Let\u0026#39;s encrypt certificate will not be installed. 設定Misskey的port，除非有被占用，不然默認就好 部署完之後，我會直接用Cloudflare tunnel連線，所以這個port要記住\nYou should open ports manually. Misskey port: \u0026gt; 3000 資料庫設定，除密碼自己設定外，其他保持默認\nDatabase (PostgreSQL) setting Do you want to install postgres locally?: (If you have run this script before in this computer, choose n and enter values you have set.) [Y/n] \u0026gt; Y PostgreSQL will be installed on this computer at localhost:5432. Database user name: \u0026gt; misskey Database user password: \u0026gt; enter you password Database name: \u0026gt; mk1 Redis設定，除密碼自行設定以外，其他默認\nRedis setting Do you want to install redis locally?: (If you have run this script before in this computer, choose n and enter values you have set.) [Y/n] \u0026gt; Y Redis password: \u0026gt; enter you password 大功告成，接下來腳本會開始安裝Misskey，大約5分鐘左右就好，很快\nOK. It will automatically install what you need. This will take some time. 安裝完成後的Cloudflare設定 # 因為我的伺服器是放在家裡的那種伺服器，而且網路環境比較特殊，沒辦法讓伺服器拿到public IP，所以用Cloudflare Tunnel連線 請先設定好Cloudflare Zero Trust、把Domain綁到Cloudflare上 請先在伺服器安裝和設定好cloudflared，然後前往:\nCloudflare 控制台 \u0026gt; Zero Trust \u0026gt; 網路-連接器 \u0026gt; Cloudflare Tunnel \u0026gt; 選擇你的伺服器 \u0026gt; 然後會出現下面的畫面\n選擇新增\n我要的domain是nene.bearshen.top，所以填入\nLocalhost是指連接到本身，port要填剛剛Misskey 的Port\n另外Misskey官方有建議，可以關閉Cloudflare Rocket Loader的功能，這樣Misskey在連線時才不會發生問題\n請前往Cloudflare控制台 \u0026gt; 你的domain \u0026gt; 規則 \u0026gt; 新增規則\n填入以下內容(依照實際情況去填寫): 網頁往下滑，找到Rocket Loader，關閉\n儲存規則，完成\n然後輸入你的domain應該就可以正常連接了\n初始化設定 # 初始設定的畫面我忘記截圖了，反正都有中文翻譯，很簡單就可以設定完成\n主要就是設定管理使用者資料、實例相關資料等等，完成之後就可以開始使用Misskey了\u0026#x1f389;\u0026#x1f389;\n開始使用Misskey # 想要和別的聯邦宇宙實例交流，就需要設定中繼(Relay)，Relay就像是一個中心，可以把連線到這個Relay分散在各宇宙的實例都搭建一座橋樑，讓大家可以互相交流。\n目前我推薦的Relay有:\nhttps://relay.nya.one/ https://relay.isle.moe/ 由台灣人管理的Relay:\n可以看看這個Repo，裡面有紀錄台灣人管理的relay https://github.com/ryanho/awesome-fediverse-in-taiwan ryanho/awesome-fediverse-in-taiwan 在台灣或由台灣人建置管理的聯邦宇宙站台與服務 null 32 5 設定完成後就會有一大堆來自其他宇宙的貼文跑進來了，你發的貼文也會跑到其他宇宙去\u0026#x1f389;\n還可以幹嘛? # 可以試著發貼文，和其他宇宙的人交流，或甚至把你的實例開放給別人註冊，這樣你的聯邦宇宙就會越來越熱鬧喔\nMisskey還有很多好玩的功能，這裡就不多贅述，大家可以自己去找相關資料來看看喔。\n順便說一下如果你要找到某一個在其他實例的使用者或別的實例的使用者要找你怎麼辦?\n聯邦宇宙的用戶ID格式是:\n@[使用者名稱]@[你的實例domain]\n所以只要輸入這個ID就可以搜尋到使用者喔\n結尾 # 這Misskey是真的非常好玩，雖然他比現在很流行的Mastodon還輕巧，但花樣還是很多，可能因為是日本人開發的吧，所以他裡面動畫、音效、主題等等一樣都沒有少\n這是Misskey開發者在misskey.io上的帳號:@syuilo@misskey.io 參考資料 # https://avantiblog.tw/misskey/\nhttps://github.com/ryanho/awesome-fediverse-in-taiwan\nhttps://misskey-hub.net/tw/docs/\nhttps://en.wikipedia.org/wiki/Misskey\nhttps://home.gamer.com.tw/artwork.php?sn=5752302\n","date":"November 22, 2025","externalUrl":null,"permalink":"/en/posts/misskey/","section":"Article List","summary":"A record of setting up my own Misskey Fediverse instance, along with a step-by-step setup guide.","title":"How to Set Up Your Own Misskey Fediverse Instance from Scratch","type":"posts"},{"content":"","date":"November 22, 2025","externalUrl":null,"permalink":"/en/tags/misskey/","section":"Article Tags","summary":"","title":"Misskey","type":"tags"},{"content":" Excuse the mess! The English site is still under construction, translation, and fine-tuning. Welcome to Aiixi Bear\u0026rsquo;s Digital Backyard!\nThis is my personal digital sanctuary crafted within the vast expanse of the internet.\nOn this blog, I will share with you: how to integrate technology into daily life, make Free and Open-Source Software (FOSS) a part of your daily routine, and a few of my casual reflections and life moments.\nAbout Aiixi Bear About This Site ","externalUrl":null,"permalink":"/en/","section":"Aiixi Bear's Backyard","summary":"","title":"Aiixi Bear's Backyard","type":"page"},{"content":"This is the Article List page of Aiixi Bear\u0026rsquo;s Digital Backyard.\n","externalUrl":null,"permalink":"/en/posts/","section":"Article List","summary":"","title":"Article List","type":"posts"},{"content":"This is the Article Tags page of Aiixi Bear\u0026rsquo;s Digital Backyard.\n","externalUrl":null,"permalink":"/en/tags/","section":"Article Tags","summary":"","title":"Article Tags","type":"tags"},{"content":"","externalUrl":null,"permalink":"/en/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"This is the Categories page of Aiixi Bear\u0026rsquo;s Digital Backyard.\n","externalUrl":null,"permalink":"/en/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"Welcome to my Friendly Links page! Here is a collection of digital spaces from partners and creators I admire. Feel free to browse around and explore more fascinating ideas and inspiring articles!\nIf you would like to have your website added to this page, please feel free to reach out to me via email!\naiixibear@proton.me aiixi@aiixi.cc 名稱 網址 簡介 XUNYISHI https://www.xunyishi.com 「願世界與你溫柔相待」 Ivon的部落格 https://ivonblog.com/ 分享 GNU/Linux、開源軟體與 3C 科技資訊。探索自由軟體在日常生活中的無限可能！ 十年之约 - 虫洞 https://www.foreverblog.cn/go.html 虫洞是十年之约的一个入口：它会从在约、半年内还在更新的成员博客里挑一个，把你送过去。本站是成員之一。（十年之约） ","externalUrl":null,"permalink":"/en/friends/","section":"Aiixi Bear's Backyard","summary":"This is the Friendly Links page of Aiixi Bear’s Digital Backyard","title":"Friendly Links","type":"page"},{"content":" Search Articles on This Site # Search Method: Site searches rely on external search engines (DuckDuckGo / Google) to retrieve content. Clicking search will open the results in a new tab.\nCan\u0026rsquo;t find newly published articles?: Search results depend on the indexing speed of search engines. Newly published articles may take a few days to appear in search results!\nSubmit (DuckDuckGo) Submit (Google) ","externalUrl":null,"permalink":"/en/search/","section":"Aiixi Bear's Backyard","summary":"Quickly search for articles on this site using external search engines","title":"Search Articles","type":"page"},{"content":"Self-hosting refers to deploying software, websites, or services on servers or hardware under your own control, allowing you to maintain complete sovereignty over your personal data and systems.\nBelow are the articles related to Self-Host on this site:\n","externalUrl":null,"permalink":"/en/categories/self-host/","section":"Categories","summary":"","title":"Self-Host","type":"categories"},{"content":"","externalUrl":null,"permalink":"/en/series/","section":"Series","summary":"","title":"Series","type":"series"}]