PageSourceSearch

https://www.realtong.com/blog/paying-is-a-vote

html realtong.com collected 2026-10-02 01:40:39 UTC 69,908 bytes, 146 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="ibm_plex_sans_2fc5a022-module__JHRiQG__variable ibm_plex_mono_713c6c8d-module__75UuTG__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" href="/_next/static/immutable/media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/immutable/media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/immutable/media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/immutable/media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2" as="image"/><link rel="stylesheet" href="/_next/static/immutable/chunks/1n52p3i6wh5pj.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/immutable/chunks/1j01aqemxoe8r.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/immutable/chunks/2a_sxg_vpc_1h.js"/>
1<script src="/_next/static/immutable/chunks/2_xl72tj661tt.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2r0c718oc2dd7.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3ocv6ijp-6j87.js" async=""></script>
1<script src="/_next/static/immutable/chunks/051dx_qsop44z.js" async=""></script>
1<script src="/_next/static/immutable/chunks/turbopack-233mhza8siebm.js" async=""></script>
1<script src="/_next/static/immutable/chunks/27g9oux6dwrju.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/3_qgw_9bvn4kx.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/04lquq5--gall.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/14_m7a4atjt7f.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/3p62-ekrbkyny.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/23t3giusxswod.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/1n-ycw8jqkr_6.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/07029rwvijbkk.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/1fx-yfpwp2-ll.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/1hilr3upi2xuw.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/2pirs534ejurx.js" async="" crossorigin=""></script>
1<meta name="theme-color" content="#ffffff"/><title>我对盗版有了不一样的态度 | RealTong</title><meta name="description" content="我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。"/><link rel="author" href="https://realtong.com"/><meta name="author" content="RealTong"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="keywords" content="realtong, coinglass, cloudflare workers, airdrop hunter, reverse engineer"/><meta name="creator" content="RealTong"/><link rel="canonical" href="https://realtong.com/blog/paying-is-a-vote"/><link rel="alternate" type="text/markdown" href="https://realtong.com/blog/paying-is-a-vote.md"/><meta property="og:title" content="我对盗版有了不一样的态度 | RealTong"/><meta property="og:description" content="我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。"/><meta property="og:url" content="https://realtong.com/blog/paying-is-a-vote"/><meta property="og:image" content="https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="我对盗版有了不一样的态度"/><meta property="og:type" content="article"/><meta property="article:published_time" content="2026-07-22T00:00:00.000Z"/><meta property="article:modified_time" content="2026-07-22T00:00:00.000Z"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="我对盗版有了不一样的态度 | RealTong"/><meta name="twitter:description" content="我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。"/><meta name="twitter:image" content="https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2"/><link rel="icon" href="https://assets.realtong.cn/images/favicon.ico" sizes="any"/><link rel="icon" href="https://assets.realtong.cn/images/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="https://assets.realtong.cn/images/apple-touch-icon.png" type="image/png" sizes="180x180"/><meta name="next-size-adjust" content=""/>
1<script src="/_next/static/immutable/chunks/0c0hxoamwjsbw.js" noModule=""></script>
1</head><body><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1<style>
2:root {
3  --bprogress-color: var(--color-info);
4  --bprogress-height: 2px;
5  --bprogress-spinner-size: 18px;
6  --bprogress-spinner-animation-duration: 400ms;
7  --bprogress-spinner-border-size: 2px;
8  --bprogress-box-shadow: 0 0 10px var(--color-info), 0 0 5px var(--color-info);
9  --bprogress-z-index: 99999;
10  --bprogress-spinner-top: 15px;
11  --bprogress-spinner-bottom: auto;
12  --bprogress-spinner-right: 15px;
13  --bprogress-spinner-left: auto;
14}
15
16.bprogress {
17  width: 0;
18  height: 0;
19  pointer-events: none;
20  z-index: var(--bprogress-z-index);
21}
22
23.bprogress .bar {
24  background: var(--bprogress-color);
25  position: fixed;
26  z-index: var(--bprogress-z-index);
27  top: 0;
28  left: 0;
29  width: 100%;
30  height: var(--bprogress-height);
31}
32
33/* Fancy blur effect */
34.bprogress .peg {
35  display: block;
36  position: absolute;
37  right: 0;
38  width: 100px;
39  height: 100%;
40  box-shadow: var(--bprogress-box-shadow);
41  opacity: 1.0;
42  transform: rotate(3deg) translate(0px, -4px);
43}
44
45/* Remove these to get rid of the spinner */
46.bprogress .spinner {
47  display: block;
48  position: fixed;
49  z-index: var(--bprogress-z-index);
50  top: var(--bprogress-spinner-top);
51  bottom: var(--bprogress-spinner-bottom);
52  right: var(--bprogress-spinner-right);
53  left: var(--bprogress-spinner-left);
54}
55
56.bprogress .spinner-icon {
57  width: var(--bprogress-spinner-size);
58  height: var(--bprogress-spinner-size);
59  box-sizing: border-box;
60  border: solid var(--bprogress-spinner-border-size) transparent;
61  border-top-color: var(--bprogress-color);
62  border-left-color: var(--bprogress-color);
63  border-radius: 50%;
64  -webkit-animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite;
65  animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite;
66}
67
68.bprogress-custom-parent {
69  overflow: hidden;
70  position: relative;
71}
72
73.bprogress-custom-parent .bprogress .spinner,
74.bprogress-custom-parent .bprogress .bar {
75  position: absolute;
76}
77
78.bprogress .indeterminate {
79  position: fixed;
80  top: 0;
81  left: 0;
82  width: 100%;
83  height: var(--bprogress-height);
84  overflow: hidden;
85}
86
87.bprogress .indeterminate .inc,
88.bprogress .indeterminate .dec {
89  position: absolute;
90  top: 0;
91  height: 100%;
92  background-color: var(--bprogress-color);
93}
94
95.bprogress .indeterminate .inc {
96  animation: bprogress-indeterminate-increase 2s infinite;
97}
98
99.bprogress .indeterminate .dec {
100  animation: bprogress-indeterminate-decrease 2s 0.5s infinite;
101}
102
103@-webkit-keyframes bprogress-spinner {
104  0%   { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
105  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
106}
107
108@keyframes bprogress-spinner {
109  0%   { transform: rotate(0deg); }
110  100% { transform: rotate(360deg); }
111}
112
113@keyframes bprogress-indeterminate-increase {
114  from { left: -5%; width: 5%; }
115  to { left: 130%; width: 100%; }
116}
117
118@keyframes bprogress-indeterminate-decrease {
119  from { left: -80%; width: 80%; }
120  to { left: 110%; width: 10%; }
121}
122</style><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><header data-affix="false" class="sticky inset-0 top-0 z-50 max-w-screen overflow-x-hidden bg-background px-2 pt-2 data-[affix=true]:shadow-[0_0_16px_0_black]/8 dark:data-[affix=true]:shadow-[0_0_16px_0_black]/80 not-dark:data-[affix=true]:**:data-header-container:after:bg-border transition-shadow duration-300"><div class="screen-line-before screen-line-after mx-auto flex h-12 items-center justify-between gap-2 border-x border-edge px-2 after:z-1 after:transition-[background-color] sm:gap-4 md:max-w-3xl" data-header-container="true"><div class="flex-1"></div><nav class="flex items-center gap-4 max-sm:hidden"><a class="text-sm font-medium text-muted-foreground transition-all duration-300 hover:text-foreground" href="/">Home</a><a class="text-sm font-medium transition-all duration-300 hover:text-foreground text-foreground" href="/blog">Blog</a><button type="button" id="radix-_R_535uhjb_" aria-haspopup="menu" aria-expanded="false" data-state="closed" data-slot="dropdown-menu-trigger" class="inline-flex items-center gap-1 text-sm font-medium text-muted-foreground transition-all duration-300 outline-none hover:text-foreground">More<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-3 w-3" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></nav><div class="flex items-center gap-2"><button data-slot="button" class="inline-flex items-center justify-center text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;
122size-&#x27;])]:size-4 h-8 gap-1.5 rounded-full border bg-zinc-50 px-2.5 text-muted-foreground select-none hover:bg-zinc-50 dark:border-zinc-700/80 dark:bg-zinc-900 dark:hover:bg-zinc-900"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true"><path d="M10.278 11.514a5.824 5.824 0 1 1 1.235-1.235l3.209 3.208A.875.875 0 0 1 14.111 15a.875.875 0 0 1-.624-.278l-3.209-3.208Zm.623-4.69a4.077 4.077 0 1 1-8.154 0 4.077 4.077 0 0 1 8.154 0Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><span class="font-sans text-sm/4 font-medium">Search</span><kbd class="pointer-events-none h-5 min-w-6 items-center justify-center gap-1 rounded-sm bg-black/5 px-1 font-sans text-[13px] font-normal text-muted-foreground shadow-[inset_0_-1px_2px] shadow-black/10 select-none dark:bg-white/10 dark:shadow-white/10 dark:text-shadow-xs [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3 hidden tracking-wider sm:flex">Ctrl K</kbd></button><button data-slot="button" class="inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 border border-input bg-background hover:bg-accent hover:text-accent-foreground size-8" data-cuelume-hover="chime"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon-star hidden [html.dark_&amp;]:block" aria-hidden="true"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun hidden [html.light_&amp;]:block" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><span class="sr-only">Toggle Theme</span></button><button data-slot="dropdown-menu-trigger" class="items-center justify-center rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground size-8 group/toggle flex flex-col gap-1 sm:hidden" type="button" id="radix-_R_7j5uhjb_" aria-haspopup="menu" aria-expanded="false" data-state="closed"><span class="flex h-0.5 w-4 transform rounded-[1px] bg-foreground transition-transform group-data-[state=open]/toggle:translate-y-[3px] group-data-[state=open]/toggle:rotate-45"></span><span class="flex h-0.5 w-4 transform rounded-[1px] bg-foreground transition-transform group-data-[state=open]/toggle:translate-y-[-3px] group-data-[state=open]/toggle:-rotate-45"></span><span class="sr-only">Toggle Menu</span></button></div></div></header><main class="max-w-screen overflow-x-hidden px-2"><div class="mx-auto border-x border-edge md:max-w-3xl"><div class="h-8 px-2 screen-line-after before:absolute before:-left-[100vw] before:-z-1 before:h-full before:w-[200vw] before:bg-[repeating-linear-gradient(315deg,var(--pattern-foreground)_0,var(--pattern-foreground)_1px,transparent_0,transparent_50%)] before:bg-size-[10px_10px] before:[--p
122attern-foreground:var(--color-edge)]/56"></div>
122<script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"我对盗版有了不一样的态度","description":"我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。","image":"https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2","url":"https://realtong.com/blog/paying-is-a-vote","datePublished":"2026-07-22T00:00:00.000Z","dateModified":"2026-07-22T00:00:00.000Z","author":{"@type":"Person","name":"RealTong","identifier":"@realtong","image":"https://assets.realtong.cn/images/avatar.jpg"}}</script>
122<div class="flex items-center justify-between p-2 pl-4"><a data-slot="button" class="inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 underline-offset-4 hover:underline h-8 px-0 text-muted-foreground" href="/blog"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left" aria-hidden="true"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Blog</a><div class="flex items-center gap-2"><a data-slot="button" class="inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 bg-secondary text-secondary-foreground hover:bg-secondary/80 size-8" href="/blog/dji-care-refresh-pocket3"><span class="sr-only">Next</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div data-slot="prose" class="prose prose-sm max-w-none font-mono text-foreground prose-zinc dark:prose-invert prose-headings:font-sans prose-headings:font-semibold prose-headings:text-balance prose-h2:border-b prose-h2:border-edge prose-h2:pb-2 prose-h2:text-2xl prose-lead:text-base prose-a:font-medium prose-a:break-words prose-a:text-foreground prose-a:underline prose-a:underline-offset-4 prose-code:rounded-md prose-code:border prose-code:bg-muted/50 prose-code:px-[0.3rem] prose-code:py-[0.2rem] prose-code:text-sm prose-code:font-normal prose-code:before:content-none prose-code:after:content-none prose-hr:border-edge px-4"><h1 class="screen-line-before screen-line-after mb-6 font-semibold">我对盗版有了不一样的态度</h1><p class="lead mt-6 mb-6">我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。</p><div data-state="closed" class="not-prose rounded-lg bg-code font-sans"><button type="button" aria-controls="radix-_R_3dbsnpfknl5uhjb_" aria-expanded="false" data-state="closed" class="group/toc inline-flex w-full items-center justify-between px-4 py-3 text-sm font-medium">Table of Contents<div class="shrink-0 text-muted-foreground [&amp;_svg]:size-4" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevrons-down-up hidden group-data-[state=open]/toc:block" aria-hidden="true"><path d="m7 20 5-5 5 5"></path><path d="m7 4 5 5 5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevrons-up-down hidden group-data-[state=closed]/toc:block" aria-hidden="true"><path d="m7 15 5 5 5-5"></path><path d="m7 9 5-5 5 5"></path></svg></div></button><div data-state="closed" id="radix-_R_3dbsnpfknl5uhjb_" hidden="" class="overflow-hidden duration-300 data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down"></div></div><div><p><img src="https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2" alt="我对盗版有了不一样的态度"/></p>
123<p>中学时代我经常逛吾爱破解、葫芦侠、各种娱乐网之类的网站,在里面找破解软件、主题、免流。后来上了å¤
123§å­¦å¼€å§‹å­¦ç¼–程,也逐渐开智,我开始有意识地为使用的软件付费、为流媒体付费——有的买断、有的订阅、有的合租,几乎没再用过盗版软件。除了 Adobe 全家桶,但后来买了 Final Cut Pro、用上了 Figma,也就没怎么碰过了。</p>
124<h2 class="flex flex-row items-center gap-2" id="我是怎么变成正版用户的"><a href="#我是怎么变成正版用户的" class="peer not-prose">我是怎么变成正版用户的</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-4 shrink-0 text-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
125<p>学生时代我觉得最贵的软件是 JetBrains 全家桶:是真的好用,也是真的贵。当时的 Community 版本功能很少,王牌功能都没有。但 JetBrains 和 GitHub 有开源计划,审核条件很宽松,我就这么用上了正版;上班以后也自己买了正版。虽然现在 vibe coding 多了,JetBrains 几乎不打开了,但它至少有一点好——买断的东西,永远是我的。</p>
126<p>那时候我是真心觉得:好软件值得付费,付费是应该的。</p>
127<h2 class="flex flex-row items-center gap-2" id="直到-surge-恶心到我"><a href="#直到-surge-恶心到我" class="peer not-prose">直到 Surge 恶心到我</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-4 shrink-0 text-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
128<p>最近发生了一件让我觉得很恶心的事。</p>
129<p>起因是 Surge 6.7.0 更新了 Tailscale 支持,可以把 Surge 加入 Tailscale 网络。我兴冲冲去更新,然后发现——我的订阅到期了。</p>
130<p>6.7.0 是 2026 年 7 月 15 日发布的,我的订阅到期时间是 2026 年 7 月 14 日。仅仅相差一天,我就无法使用这个新功能。想用?再掏 29.99 美金续订。</p>
131<p>这还不是最气人的。我正在想怎么这么巧的时候,突然记起来:2025 年几乎同一时间,Surge 宣布转为买断 + 订阅制,当时还更新适配了 macOS 的 Liquid Glass UI。我想着支持开发者,就订阅了。</p>
132<p>然后我翻了翻 Surge 的 changelog,好家伙,一年就一个大更新:</p>
133<ul>
134<li>2025 年,新 UI;</li>
135<li>2026 年,Tailscale。</li>
136</ul>
137<p>中间全是无关痛痒的小更新。</p>
138<p>合着 30 美金一年,就买一个 feature?</p>
139<p>要知道代理鼻祖小火箭 Shadowrocket,买断只要 2.99 美金,适配新协议比 Surge 快,WireGuard 和 Tailscale 的支持也比它早,在 Apple Silicon 上同样跑得完美。Surge 比小火箭,除了 UI 好看还有什么优势?买断 69.99,每年还要再缴 30 美金——你又不是做底层协议的,一个套壳工具,敢这么收费。合着 Surge 是逮着付费用户往死里割啊。</p>
140<p>但国内这个网络环境,该用还得用:开源的 Clash Meta 在 macOS 上的 DNS 处理一直有 bug,小火箭在 Mac 上改配置又不那么方便。</p>
141<p>既然你不仁,别怪我不义。所以我找了开心版 Surge——安装简单,所有功能全解锁,用起来没有一点区别。</p>
142<h2 class="flex flex-row items-center gap-2" id="付费是投票不是义务"><a href="#付费是投票不是义务" class="peer not-prose">付费是投票,不是义务</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-4 shrink-0 text-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
143<p>用上开心版的那天,我想了想,我对盗版的态度确实变了,但不是&quot;变回去了&quot;。</p>
144<p>我依然愿意为软件付费。JetBrains 我买了,Final Cut Pro 我买了,流媒体我一直在订。这些年我付出去的每一笔钱,本质上都是投票:投给认真做产品的人,投给尊重用户的定价。付费ä
144»Žæ¥ä¸æ˜¯æˆ‘的义务,而是我对开发者的尊重——前提是,对方也尊重我。</p>
145<p>当一个开发者把付费用户当韭菜,一年憋一个功能、卡着到期日让老用户再掏一次钱,那付费就不再是支持,而是被拿捏。这时候,盗版就成了用户手里唯一的议价手段。</p>
146<p>我没有回到盗版。是 Surge 把我推回去的。</p></div></div><div class="screen-line-before h-4 w-full"></div><!--$--><!--/$--></div></main><footer class="max-w-screen overflow-x-hidden px-2"><div class="screen-line-before mx-auto border-x border-edge pt-4 md:max-w-3xl"><div class="screen-line-before screen-line-after flex w-full before:z-1 after:z-1 bg-[repeating-linear-gradient(315deg,var(--pattern-foreground)_0,var(--pattern-foreground)_1px,transparent_0,transparent_50%)] bg-size-[10px_10px] [--pattern-foreground:var(--color-edge)]/56"><div class="mx-auto flex items-center justify-center gap-3 border-x border-edge bg-background px-4"><a class="flex font-mono text-xs font-medium text-muted-foreground" href="https://realtong.com/llms.txt" target="_blank" rel="noopener noreferrer">llms.txt</a><div class="flex h-11 w-px bg-edge"></div><a class="flex font-mono text-xs font-medium text-muted-foreground" href="https://realtong.com/blog/paying-is-a-vote.md" target="_blank" rel="noopener noreferrer">/blog/paying-is-a-vote.md</a><div class="flex h-11 w-px bg-edge"></div><a class="flex items-center text-muted-foreground transition-colors hover:text-foreground" href="https://realtong.com/rss" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rss size-4" aria-hidden="true"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg><span class="sr-only">RSS</span></a></div></div></div><div class="pb-[env(safe-area-inset-bottom,0px)]"><div class="flex h-2"></div></div></footer><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
146<script src="/_next/static/immutable/chunks/2a_sxg_vpc_1h.js" id="_R_" async=""></script>
146<script>(self.__next_f=self.__next_f||[]).push([0])</script>
146<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1661,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"Providers\"]\n3:I[339756,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"default\"]\n4:I[837457,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"default\"]\n5:I[522016,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\",\"/_next/static/immutable/chunks/2pirs534ejurx.js\"],\"\"]\n6:I[310768,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"SoundEffects\"]\n7:I[794169,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\"],\"SiteHeaderWrapper\"]\n8:I[838970,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\"],\"DesktopNav\"]\n15:I[168027,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"default\",1]\n:HL[\"/_next/static/immutable/chunks/1n52p3i6wh5pj.css\",\"style\"]\n:HL[\"/_next/static/immutable/chunks/1j01aqemxoe8r.css\",\"style\"]\n:HL[\"/_next/static/immutable/media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/immutable/media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/immutable/media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/immutable/media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n13:X\n0:{\"P\":null,\"c\":[\"\",\"blog\",\"paying-is-a-vote\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(app)\",{\"children\":[\"(docs)\",{\"children\":[\"blog\",{\"children\":[[\"slug\",\"paying-is-a-vote\",\"d\",[]],{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/1n52p3i6wh5pj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/1j01aqemxoe8r.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"async\":true,\"nonce\":\"$undefined\"}
146],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"ibm_plex_sans_2fc5a022-module__JHRiQG__variable ibm_plex_mono_713c6c8d-module__75UuTG__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center h-screen\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"mt-8 mb-6 text-8xl font-medium\",\"children\":\"404\"}],[\"$\",\"$L5\",null,{\"href\":\"/\",\"children\":[\"Go to Home\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}]],\"data-slot\":\"button\",\"className\":\"inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-foreground underline-offset-4 hover:underline h-8 px-4\",\"ref\":null}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L6\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[[\"$\",\"$L7\",null,{\"className\":\"sticky inset-0 top-0 z-50 max-w-screen overflow-x-hidden bg-background px-2 pt-2 data-[affix=true]:shadow-[0_0_16px_0_black]/8 dark:data-[affix=true]:shadow-[0_0_16px_0_black]/80 not-dark:data-[affix=true]:**:data-header-container:after:bg-border transition-shadow duration-300\",\"children\":[\"$\",\"div\",null,{\"className\":\"screen-line-before screen-line-after mx-auto flex h-12 items-center justify-between gap-2 border-x border-edge px-2 after:z-1 after:transition-[background-color] sm:gap-4 md:max-w-3xl\",\"data-header-container\":true,\"children\":[[\"$\",\"div\",null,{\"className\":\"flex-1\"}],[\"$\",\"$L8\",null,{\"items\":[{\"title\":\"Home\",\"href\":\"/\"},{\"title\":\"Blog\",\"href\":\"/blog\"},{\"title\":\"Use\",\"href\":\"/use\"},{\"title\":\"Projects\",\"href\":\"/projects\"},{\"title\":\"Burn\",\"href\":\"/burn\"},{\"title\":\"Books\",\"href\":\"/books\"},{\"title\":\"Media\",\"href\":\"/media\"},{\"title\":\"Map\",\"href\":\"/map\"}]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[\"$L9\",\"$La\",\"$Lb\"]}]]}]}],\"$Lc\",\"$Ld\",\"$Le\"]]}],{\"children\":[\"$Lf\",{\"children\":[\"$L10\",{\"children\":[\"$L11\",{\"children\":[\"$L12\",{}
146,null,false,null]},null,false,\"$13\"]},null,false,\"$13\"]},null,false,null]},null,false,null]},null,false,null],\"$L14\",false]],\"m\":\"$undefined\",\"G\":[\"$15\",[\"$L16\",\"$L17\"]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"FCwJgCZhHGno62KlniyY5\"}\n18:I[111719,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\"],\"CommandMenu\"]\n19:I[168923,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\"],\"ToggleTheme\"]\n1a:I[392553,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\"],\"MobileNav\"]\n1b:I[658068,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\"],\"SiteFooter\"]\n1c:I[36068,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\"],\"ScrollTop\"]\n1e:I[897367,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"OutletBoundary\"]\n1f:\"$Sreact.suspense\"\n21:I[897367,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"ViewportBoundary\"]\n23:I[897367,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"MetadataBoundary\"]\n9:[\"$\",\"$L18\",null,{\"posts\":[{\"slug\":\"paying-is-a-vote\",\"metadata\":{\"title\":\"我对盗版有了不一样的态度\",\"category\":\"$undefined\"}},{\"slug\":\"dji-care-refresh-pocket3\",\"metadata\":{\"title\":\"给 Pocket 3 换新了\",\"category\":\"$undefined\"}},{\"slug\":\"let-it-go\",\"metadata\":{\"title\":\"有些事,放过它\",\"category\":\"$undefined\"}},{\"slug\":\"site-agent\",\"metadata\":{\"title\":\"realtong.com 现在有自己的 Agent 了\",\"category\":\"$undefined\"}},{\"slug\":\"someone-who-was-good-to-me\",\"metadata\":{\"title\":\"我没有好好对待一个曾经对我很好的人\",\"category\":\"$undefined\"}},{\"slug\":\"my-favorite-things\",\"metadata\":{\"title\":\"我的好物推荐清单\",\"category\":\"$undefined\"}},{\"slug\":\"apple-arcade-balatro-save-browser\",\"metadata\":{\"title\":\"把 Balatro 存档从 Apple Arcade 里救出来\",\"category\":\"$undefined\"}},{\"slug\":\"agent-memory-gbrain\",\"metadata\":{\"title\":\"我最后把 Agent 记忆交给了 gbrain\",\"category\":\"$undefined\"}},{\"slug\":\"regrets-and-gratitude\",\"metadata\":{\"title\":\"一些后悔,也一些庆幸\",\"category\":\"$undefined\"}},{\"slug\":\"homelab-gitops-agent\",\"metadata\":{\"title\":\"我的 Homelab 现在由 Agent 运维\",\"category\":\"$undefined\"}},{\"slug\":\"moving-to-shenzhen\",\"metadata\":{\"title\":\"搬到深圳后ï¼
146Œæˆ‘重新设计了自己的生活\",\"category\":\"$undefined\"}},{\"slug\":\"rime-ice-input-method\",\"metadata\":{\"title\":\"我把输入法换成了自己养的 Rime\",\"category\":\"$undefined\"}},{\"slug\":\"geo-guide\",\"metadata\":{\"title\":\"GEO guide\",\"category\":\"$undefined\"}},{\"slug\":\"my-homelab\",\"metadata\":{\"title\":\"我的混合云 Homelab\",\"category\":\"$undefined\"}},{\"slug\":\"wireguard-on-macos\",\"metadata\":{\"title\":\"WireGuard on macOS\",\"category\":\"$undefined\"}},{\"slug\":\"balatro\",\"metadata\":{\"title\":\"小丑牌红蓝黄全通关!(末尾有彩蛋)\",\"category\":\"$undefined\"}},{\"slug\":\"osaka-2024-08-26-trip\",\"metadata\":{\"title\":\"2024-08-26 大阪 \u0026 奈良\",\"category\":\"$undefined\"}},{\"slug\":\"yubikey-guide\",\"metadata\":{\"title\":\"YubiKey 使用\",\"category\":\"$undefined\"}},{\"slug\":\"hongkong-trip\",\"metadata\":{\"title\":\"香港之行\",\"category\":\"$undefined\"}},{\"slug\":\"deploy-wireguard\",\"metadata\":{\"title\":\"Deploy WireGuard VPN\",\"category\":\"$undefined\"}}]}]\na:[\"$\",\"$L19\",null,{}]\nb:[\"$\",\"$L1a\",null,{\"className\":\"sm:hidden\",\"items\":\"$0:f:0:1:1:children:0:props:children:1:0:props:children:props:children:1:props:items\"}]\nc:[\"$\",\"main\",null,{\"className\":\"max-w-screen overflow-x-hidden px-2\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center h-screen\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"mt-8 mb-6 text-8xl font-medium\",\"children\":\"404\"}],[\"$\",\"$L5\",null,{\"href\":\"/\",\"children\":[\"Go to Home\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}]],\"data-slot\":\"button\",\"className\":\"inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-foreground underline-offset-4 hover:underline h-8 px-4\",\"ref\":null}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]\nd:[\"$\",\"$L1b\",null,{}]\ne:[\"$\",\"$L1c\",null,{}]\nf:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"div\",null,{\"className\":\"mx-auto border-x border-edge md:max-w-3xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-8 px-2 screen-line-after before:absolute before:-left-[100vw] before:-z-1 before:h-full before:w-[200vw] before:bg-[repeating-linear-gradient(315deg,var(--pattern-foreground)_0,var(--pattern-foreground)_1px,transparent_0,transparent_50%)] before:bg-size-[10px_10px] before:[--p
146attern-foreground:var(--color-edge)]/56\"}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]]}]\n10:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex h-[calc(100svh-5.5rem)] flex-col items-center justify-center\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"mt-8 mb-6 text-8xl font-medium\",\"children\":\"404\"}],[\"$\",\"$L5\",null,{\"href\":\"/\",\"children\":[\"Go to Home\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}]],\"data-slot\":\"button\",\"className\":\"inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-foreground underline-offset-4 hover:underline h-8 px-4\",\"ref\":null}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n11:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n12:[\"$\",\"$1\",\"c\",{\"children\":[\"$L1d\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/2pirs534ejurx.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1e\",null,{\"children\":[\"$\",\"$1f\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@20\"}]}]]}]\n14:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L21\",null,{\"children\":\"$L22\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L23\",null,{\"children\":[\"$\",\"$1f\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L24\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n16:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/1n52p3i6wh5pj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n17:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/1j01aqemxoe8r.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n13:C\n1d:[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"我对盗版有了不一样的态度\\\",\\\"description\\\":\\\"我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。\\\",\\\"image\\\":\\\"https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2\\\",\\\"url\\\":\\\"https://realtong.com/blog/paying-is-a-vote\\\",\\\"datePublished\\\":\\\"2026-07-22T00:00:00.000Z\\\",\\\"dateModified\\\":\\\"2026-07-22T00:00:00.000Z\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"RealTong\\\",\\\"identifier\\\":\\\"@realtong\\\",\\\"image\\\":\\\"https://assets.realtong.cn/images/avatar.jpg\\\"}}\"}}],[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between p-2 pl-4\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/blog\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
146:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-left\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1l729n\",{\"d\":\"m12 19-7-7 7-7\"}],[\"$\",\"path\",\"x3x0zl\",{\"d\":\"M19 12H5\"}],\"$undefined\"]}],\"Blog\"],\"data-slot\":\"button\",\"className\":\"inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 underline-offset-4 hover:underline h-8 px-0 text-muted-foreground\",\"ref\":null}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[null,[\"$\",\"$L5\",null,{\"href\":\"/blog/dji-care-refresh-pocket3\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"Next\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}]],\"data-slot\":\"button\",\"className\":\"inline-flex items-center justify-center gap-2 rounded-full text-sm font-medium whitespace-nowrap transition-[color,background-color] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-secondary text-secondary-foreground hover:bg-secondary/80 size-8\",\"ref\":null}]]}]]}],[\"$\",\"div\",null,{\"data-slot\":\"prose\",\"className\":\"prose prose-sm max-w-none font-mono text-foreground prose-zinc dark:prose-invert prose-headings:font-sans prose-headings:font-semibold prose-headings:text-balance prose-h2:border-b prose-h2:border-edge prose-h2:pb-2 prose-h2:text-2xl prose-lead:text-base prose-a:font-medium prose-a:break-words prose-a:text-foreground prose-a:underline prose-a:underline-offset-4 prose-code:rounded-md prose-code:border prose-code:bg-muted/50 prose-code:px-[0.3rem] prose-code:py-[0.2rem] prose-code:text-sm prose-code:font-normal prose-code:before:content-none prose-code:after:content-none prose-hr:border-edge px-4\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"screen-line-before screen-line-after mb-6 font-semibold\",\"children\":\"我对盗版有了不一样的态度\"}],[\"$\",\"p\",null,{\"className\":\"lead mt-6 mb-6\",\"children\":\"我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。\"}],\"$L25\",\"$L26\"]}],\"$L27\"]\n28:I[107308,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\",\"/_next/static/immutable/chunks/2pirs534ejurx.js\"],\"Collapsible\"]\n29:I[107308,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029r
146wvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\",\"/_next/static/immutable/chunks/2pirs534ejurx.js\"],\"CollapsibleTrigger\"]\n2a:I[107308,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\",\"/_next/static/immutable/chunks/3p62-ekrbkyny.js\",\"/_next/static/immutable/chunks/23t3giusxswod.js\",\"/_next/static/immutable/chunks/1n-ycw8jqkr_6.js\",\"/_next/static/immutable/chunks/07029rwvijbkk.js\",\"/_next/static/immutable/chunks/1fx-yfpwp2-ll.js\",\"/_next/static/immutable/chunks/1hilr3upi2xuw.js\",\"/_next/static/immutable/chunks/2pirs534ejurx.js\"],\"CollapsibleContent\"]\n25:[\"$\",\"$L28\",null,{\"className\":\"not-prose rounded-lg bg-code font-sans\",\"children\":[[\"$\",\"$L29\",null,{\"className\":\"group/toc inline-flex w-full items-center justify-between px-4 py-3 text-sm font-medium\",\"children\":[\"Table of Contents\",[\"$\",\"div\",null,{\"className\":\"shrink-0 text-muted-foreground [\u0026_svg]:size-4\",\"aria-hidden\":true,\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevrons-down-up hidden group-data-[state=open]/toc:block\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"13a0gw\",{\"d\":\"m7 20 5-5 5 5\"}],[\"$\",\"path\",\"1kwcof\",{\"d\":\"m7 4 5 5 5-5\"}],\"$undefined\"]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevrons-up-down hidden group-data-[state=closed]/toc:block\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1hf1tw\",{\"d\":\"m7 15 5 5 5-5\"}],[\"$\",\"path\",\"sgt6xg\",{\"d\":\"m7 9 5-5 5 5\"}],\"$undefined\"]}]]}]]}],[\"$\",\"$L2a\",null,{\"className\":\"overflow-hidden duration-300 data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down\",\"children\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col px-4 pb-3 text-sm text-muted-foreground\",\"children\":[[\"$\",\"li\",\"#我是怎么变成正版用户的\",{\"className\":\"flex py-1\",\"style\":{\"paddingInlineStart\":0},\"children\":[\"$\",\"a\",null,{\"className\":\"underline-offset-4 transition-colors hover:text-accent-foreground hover:underline\",\"href\":\"#我是怎么变成正版用户的\",\"children\":\"我是怎么变成正版用户的\"}]}],[\"$\",\"li\",\"#直到-surge-恶心到我\",{\"className\":\"flex py-1\",\"style\":{\"paddingInlineStart\":0},\"children\":[\"$\",\"a\",null,{\"className\":\"underline-offset-4 transition-colors hover:text-accent-foreground hover:underline\",\"href\":\"#直到-surge-恶心到我\",\"children\":\"直到 Surge 恶心到我\"}]}],[\"$\",\"li\",\"#付费是投票不是义务\",{\"className\":\"flex py-1\",\"style\":{\"paddingInlineStart\":0},\"children\":[\"$\",\"a\",null,{\"className\":\"underline-offset-4 transition-colors hover:text-accent-foreground hover:underline\",\"href\":\"#付费是投票不是义务\",\"children\":\"付费是投票,不是义务\"}]}]]}]}]]}]\n26:[\"$\",\"div\",null,{\"children\":\"$L2b\"}]\n27:[\"$\",\"div\",null,{\"className\":\"screen-line-before h-4 w-full\"}]\n22:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#ffffff\"}]]\n2c:I[27201,[\"/_next/static/immutable/chunks/27g9oux6dwrju.js\",\"/_next/static/immutable/chunks/3_qgw_9bvn4kx.js\",\"/_next/static/immutable/chunks/04lquq5--gall.js\",\"/_next/static/immutable/chunks/14_m7a4atjt7f.js\"],\"IconMark\"]\n20:null\n24:[[\"$\",\"title\",\"0\",{\"children\":\"我对盗版有了不一样的态度 | RealTong\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。\"}],[\"$\",\"link\",\"2\",{\"rel\":\"author\",\"href\":\"https://realtong.com\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"RealTong\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"5\",{\"name\":\"keywords\",\"content\":\"realtong, coinglass, cloudflare workers, airdrop hunter, reverse engineer\"}],[\"$\",\"meta\",\"6\",{\"name\":\"creator\",\"content\":\"RealTong\"}],[\"$\",\"link\",\"7\",{\"rel\":\"canonical\",\"href\":\"https://realtong.com/blog/paying-is-a-vote\"}],[\"$\",\"link\",\"8\",{\"rel\":\"alternate\",\"type\":\"text/markdown\",\"href\":\"https://realtong.com/blog/paying-is-a-vote.md\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:title\",\"content\":\"我对盗版有了不一样的态度 | RealTong\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:description\",\"content\":\"我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:url\",\"content\":\"https://realtong.com/blog/paying-is-a-vote\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:alt\",\"content\":\"我对盗版有了不一样的态度\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"17\",{\"property\":\"article:published_time\",\"content\":\"2026-07-22T00:00:00.000Z\"}],[\"$\",\"meta\",\"18\",{\"property\":\"article:modified_time\",\"content\":\"2026-07-22T00:00:00.000Z\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:title\",\"content\":\"我对盗版有了不一样的态度 | RealTong\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:description\",\"content\":\"我曾经从盗版少年变成正版用户,直到 Surge 卡着订阅到期日让我为一年一个的功能再掏 29.99 美金。我没有回到盗版,是它把我推回去的——付费是投票,不是义务。\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2\"}],[\"$\",\"link\",\"23\",{\"rel\":\"icon\",\"href\":\"https://assets.realtong.cn/images/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"https://assets.realtong.cn/images/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"25\",{\"rel\":\"apple-touch-icon\",\"href\":\"https://assets.realtong.cn/images/apple-touch-icon.png\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L2c\",\"26\",{}]]\n"])</script>
146<script>self.__next_f.push([1,":HL[\"https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2\",\"image\"]\n2b:[[\"$\",\"p\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://assets.realtong.cn/images/blog-assets/paying-is-a-vote/hero.png?v2\",\"alt\":\"我对盗版有了不一样的态度\"}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"中学时代我经常逛吾爱破解、葫芦侠、各种娱乐网之类的网站,在里面找破解软件、主题、免流。后来上了大学开始学编程,也逐渐开智,我开始有意识地为使用的软件付费、为流媒体付费——有的买断、有的订阅、有的合租,几乎没再用过盗版软件。除了 Adobe 全家桶,但后来买了 Final Cut Pro、用上了 Figma,也就没怎么碰过了。\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"flex flex-row items-center gap-2\",\"id\":\"我是怎么变成正版用户的\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#我是怎么变成正版用户的\",\"className\":\"peer not-prose\",\"children\":\"我是怎么变成正版用户的\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-4 shrink-0 text-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"学生时代我觉得最贵的软件是 JetBrains 全家桶:是真的好用,也是真的贵。当时的 Community 版本功能很少,王牌功能都没有。但 JetBrains 和 GitHub 有开源计划,审核条件很宽松,我就这么用上了正版;上班以后也自己买了正版。虽然现在 vibe coding 多了,JetBrains 几乎不打开了,但它至少有一点好——买断的东西,永远是我的。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"那时候我是真心觉得:好软件值得付费,付费是应该的。\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"flex flex-row items-center gap-2\",\"id\":\"直到-surge-恶心到我\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#直到-surge-恶心到我\",\"className\":\"peer not-prose\",\"children\":\"直到 Surge 恶心到我\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-4 shrink-0 text-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"最近发生了一件让我觉得很恶心的事。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"起因是 Surge 6.7.0 更新了 Tailscale 支持,可以把 Surge 加入 Tailscale 网络。我兴冲冲去更新,然后发现——我的订阅到期了。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"6.7.0 是 2026 å¹´ 7 月 15 日发布的,我的订阅到期时间是 2026 å¹´ 7 月 14 日。仅仅相差一天,我就无法使用这个新功能。想用?再掏 29.99 美金续订。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"这还不是最气人的。我正在想怎么这么巧的时候,突然记起来:2025 年几乎同一时间,Surge 宣布转为买断 + 订阅制,当时还更新适配了 macOS 的 Liquid Glass UI。我想着支持开发者,就订阅了。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"然后我翻了翻 Surge 的 changelog,好家伙,一年就一个大更新:\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"2025 年,新 UI;\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"2026 年,Tailscale。\"}],\"\\n\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"中间全是无关痛痒的小更新。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"合着 30 美金一年,就买一个 feature?\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"要知道代理鼻祖小火箭 Shadowrocket,买断只要 2.99 美金,适配新协议比 Surge 快,WireGuard 和 Tailscale 的支持也比它早,在 Apple Silicon 上同样跑得完美。Surge 比小火箭,除了 UI 好看还有什么优势?买断 69.99,每年还要再缴 30 美金——你又不是做底层协议的,一个套壳工具,敢这么收费。合着 Surge 是逮着付费用户往死里割啊。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"但国内这个网络环境ï¼
146Œè¯¥ç”¨è¿˜å¾—用:开源的 Clash Meta 在 macOS 上的 DNS 处理一直有 bug,小火箭在 Mac 上改配置又不那么方便。\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"既然你不仁,别怪我不义。所以我找了开心版 Surge——安装简单,所有功能全解锁,用起来没有一点区别。\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"flex flex-row items-center gap-2\",\"id\":\"付费是投票不是义务\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#付费是投票不是义务\",\"className\":\"peer not-prose\",\"children\":\"付费是投票,不是义务\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-4 shrink-0 text-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],\"\\n\",\"$L2d\",\"\\n\",\"$L2e\",\"\\n\",\"$L2f\",\"\\n\",\"$L30\"]\n"])</script>
146<script>self.__next_f.push([1,"2d:[\"$\",\"p\",null,{\"children\":\"用上开心版的那天,我想了想,我对盗版的态度确实变了,但不是\\\"变回去了\\\"。\"}]\n2e:[\"$\",\"p\",null,{\"children\":\"我依然愿意为软件付费。JetBrains 我买了,Final Cut Pro 我买了,流媒体我一直在订。这些年我付出去的每一笔钱,本质上都是投票:投给认真做产品的人,投给尊重用户的定价。付费从来不是我的义务,而是我对开发者的尊重——前提是,对方也尊重我。\"}]\n2f:[\"$\",\"p\",null,{\"children\":\"当一个开发者把付费用户当韭菜,一年憋一个功能、卡着到期日让老用户再掏一次钱,那付费就不再是支持,而是被拿捏。这时候,盗版就成了用户手里唯一的议价手段。\"}]\n30:[\"$\",\"p\",null,{\"children\":\"我没有回到盗版。是 Surge 把我推回去的。\"}]\n"])</script>
146</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.