MoreRSS

site iconVincent Yang修改

DeepLX作者。2000年,天秤座,美国计算机科学硕士。篮球爱好者,金州勇士队粉丝,喜欢旅行,尤其是海边,Golang编程。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Vincent Yang的 RSS 预览

The worst Apple Store in the world - Apple Taipei 101

2025-08-02 18:12:17

中文

我的好朋友面条都给我想好了这篇文章的链接,看来是不写不行了。

在整个台湾仅有两家 Apple Store,分别是 Apple Taipei 101 和 Apple Xinyi A13。两家店走路仅需 650 米,大约仅需 9 分钟。前段时间刚好飞到了台北。我的 iPhone 16 Pro 因为进水需要使用 AppleCare One 换机。

第一天我预约了 Apple Xinyi A13 的维修,到店之后小哥服务态度挺不错,表示可以帮我看看能不能处理好。后面他拿进去处理了一下之后告诉我可以充电了,拿了一个充电器给我演示了一下,确实可以充电了。他告诉我,台湾这边比较严格,如果镜头没有明显的起雾,还可以充电一般是不会给换机的。我表示理解,就直接回去了。但是一到酒店发现充了一会开始发热,且自动关机了。我又预约了当日的 Apple Taipei 101,因为 Apple Xinyi A13 当日已经预约满了。

到了 Apple Taipei 101 之后,有一个小哥过来,他看了一眼在 Apple Xinyi A13 的 Case 之后,听完我的描述,直接告知我你的手机必须要返厂,需要寄回新加坡,大概需要等待 7-14 天,无法选择店内维修。且告诉我在台湾这边所有的外版设备都必须要返厂。这个时候我就提出了质疑,我问他是不是没有外版设备在店内换机的先例,他说没有,如果你是台版机子可以直接店内换机,外版不行。而我的好朋友 SteveYi 的机子就是日版在台湾售后直接当场换机。他听完之后给我的解释是,他不知道,他说一切都是系统做的判断,他给我展示他的 iPad 无法选择店内维修。我显然并不认可他的解释。后面这个小哥非常不耐烦,让我跟他的主管谈,后面有一个女主管从里面出来和我聊,女主管也是一样的说辞。她说,你的设备刚好被抽中了,必须要返厂,无法做店内维修,我问她 Apple 的售后系统决定设备怎么维修是抽签买彩票的吗?她解释说只是举个例子。最关键的是,我在 Apple Taipei 101 之后,他们甚至都没有做任何的检测,连我的手机都没有碰一下就要我返厂。而按照 Apple 的规定,任何进水的机子是没有维修的必要,只能换机处理,所以所谓的返厂只不过就是强行让你多等两周而已。后面在我的坚持下,女主管说拿进去看一下试纸有没有变色,她说一般 iPhone 会有两个试纸,一个在内部一个在外部,如果有变色说明已经进水。结果折腾一圈回来跟我说你的设备由于没有卡槽,没有外部试纸,所以内部试纸有没有变色也不确定。然后告知我,刚刚测试过了,现在可以充电了。我让她拿个充电器过来试一下,结果刚插上 10-20 秒,就无法充电了,故障已经在她面前清晰复现。她说她再帮我尝试一下能不能申请换机,然后跟我说还是无法店内维修。最搞笑的是,我刚进店描述的故障,第一个工作人员压根没有写到 Case 里面,导致我跟这个主管,以及后来她从里面喊出来的工程师各自描述了一遍,那个女主管说的最搞笑的一句话是,我没有看到这个故障复现,所以你的手机没有问题。到最后,我选择退让一步,我说可以返厂,但是我需要提供备用机,她表示无法提供备用机。我问,返厂之后后面可以让我的朋友 Pick up 吗,她也表示不行。最后就这么不了了之了。直到我走出 Apple Store 的时候,已经是 22:50 了,已经超出了关门时间 50 分钟,他们宁愿跟我来回扯几个小时的谎言,也不愿意换机。

第二天我又去了 Apple Xinyi A13,过了一晚上 iPhone 已经彻底无法开机,但是我不确定是不是没电了。到了 Apple Store 之后,小哥拿出了 MagSafe 无线充电器让我尝试一下是否可以充电。结果充了十几分钟似乎仍然无法开机,应该是真的彻底坏掉了。因为我前一天就已经来过这家店,小哥去询问他的主管应该如何处理。结果这个中年大叔过来直接跟我说,您的设备在台湾无法提供售后服务,我们已经确认过了确实提供不了。我问他依据是什么,他给我找出了美国的 AppleCare 官网的一句小字,“Service coverage outside the country of purchase of your AppleCare plan is not guaranteed.”,他给我翻译说这句话的意思是 您的设备在台湾无法提供售后服务。我让他逐个单词给我翻译哪里写了在台湾无法售后。他说就是这里这样写了,一直就指着这句话,复读 “您的设备在台湾无法提供售后服务,我们已经确认过了确实提供不了”。后面我让他叫一个别的同事过来,给我翻译一下这句话是什么意思。他喊了他的搭班主管过来,那是一个比较年轻的主管,就直接让他给我去处理换机的申请。并且让员工拿出美版换台版部分功能可能不可用的协议签署。后面我和那个年轻的主管聊了很多,他也没有刁难,后面就花了几分钟就解决问题了。

最搞笑的事情是因为我前一天在 Apple Taipei 101 走之前要求他们给个说法。结果第二天我在 Apple Xinyi A13 完成换机之后,Apple Taipei 101 的主管给我回电了,说已经看到我解决了问题,恭喜我在 A13 完成了换机。我反问她为什么 A13 可以直接店内维修完成换机而你们不行,她说她也不知道,确实无法绕过系统限制。我问她你不是说我的设备被抽中了必须要返厂吗。她说她真的不知道,系统让她只能返厂。后面也懒得跟她废话了,真的是满嘴谎言。

后面我和台湾的朋友说起这件事情,他跟我说 Apple Taipei 101 的服务态度特别差,Apple Xinyi A13 就要好一些。他甚至向 行政院消費者保護會線上申訴系統 提交了投诉。最终 Apple 的工作人员回电表示他们的服务没有任何问题,直接挂断了电话,不接受任何多余的沟通。所以,台湾的 Apple Store 不仅是烂,而且是拿它没什么办法,即使是台湾人都拿它没办法,政府机构根本无法监管。而我认为的 Apple Taipei 101 明明是可以为我提供便利,却因为我不是台湾人,硬是要我多等待两周,而 Apple Xinyi A13 的主管也是一样,明明手机的已经进水变成砖块了,硬是要找官网的那句 Not Guaranteed 来搪塞我。我去过大陆地区上海和杭州的多家 Apple Store,我去过美国的多家 Apple Store,也去过日本东京和京都的多家 Apple Store,我从来没有遇到过 Apple 竟然会提供如此差劲的服务。

English

There are only two Apple Stores in all of Taiwan: Apple Taipei 101 and Apple Xinyi A13. The two stores are only about a 9-minute, 650-meter walk apart. I happened to be in Taipei recently when my iPhone 16 Pro needed a replacement under AppleCare+ due to water damage.

On the first day, I made an appointment for repair at Apple Xinyi A13. When I arrived, the staff member who assisted me was quite friendly and said he would see what he could do. After taking my phone to the back for a bit, he returned and told me it could now be charged. He demonstrated with a charger, and indeed, it was charging. He explained that regulations in Taiwan are quite strict; if there’s no obvious fogging in the camera lens and the device can still charge, they generally won’t approve a replacement. I understood and left. However, as soon as I got back to my hotel, the phone started overheating while charging and then shut down automatically. I then booked an appointment for the same day at Apple Taipei 101, as Xinyi A13 was fully booked.

Upon arriving at Apple Taipei 101, a male employee approached me. After glancing at the case file from Xinyi A13 and listening to my description, he immediately informed me that my phone had to be sent back to the factory in Singapore for repair, which would take about 7-14 days, and that an in-store repair was not an option. He also claimed that in Taiwan, all devices purchased abroad must be sent back to the factory. At this point, I questioned him, asking if there was truly no precedent for an internationally purchased device being replaced in-store. He said no, stating that if my device were a Taiwanese model, it could be replaced on the spot, but not for an international one. This contradicted the experience of my good friend SteveYi, whose Japanese-model iPhone was replaced directly in-store in Taiwan. When I mentioned this, his explanation was that he didn’t know and that “the system makes all the decisions.” He even showed me his iPad to prove he couldn’t select the in-store repair option. I was obviously not convinced by his explanation. The employee became very impatient and told me to speak with his manager. A female manager then came out to talk to me, and she repeated the same script. She said my device was “randomly selected” to be sent back to the factory and that an in-store repair was impossible. I asked her if Apple’s repair-determination system was like a lottery. She claimed it was just an example. Most importantly, during my entire time at Apple Taipei 101, they didn’t perform a single diagnostic test—they didn’t even touch my phone before demanding I send it to the factory. According to Apple’s own policy, any water-damaged device is not to be repaired, only replaced. Therefore, the so-called “factory repair” was just a tactic to force me to wait an extra two weeks.

After I insisted, the female manager said she would take the phone in to check if the liquid contact indicator had changed color. She explained that iPhones typically have two indicators, one internal and one external. A color change would confirm water damage. After a while, she returned and told me that because my device has no SIM card slot, it lacks an external indicator, so they couldn’t be sure if the internal one had been triggered. She then announced, “We just tested it, and it can be charged now.” I asked her to bring a charger to test it. Sure enough, just 10-20 seconds after plugging it in, it stopped charging. The malfunction had clearly reproduced right in front of her. She said she would try again to apply for a replacement but came back saying an in-store repair was still not possible. The most ridiculous part was that the first employee hadn’t even documented the malfunction I initially described in the case file, forcing me to repeat the story to the manager and later to an engineer she called from the back. The manager’s most absurd statement was, “I did not see the malfunction reproduce, so there is no problem with your phone.”

In the end, I decided to compromise. I said I could agree to the factory shipment, but I would need a loaner phone. She refused, stating they couldn’t provide one. I asked if a friend could pick up the phone for me after the repair. She refused that as well. The situation ended in a stalemate. By the time I walked out of the Apple Store, it was 10:50 PM, 50 minutes past their closing time. They would rather spend hours telling me lies than replace my device.

The next day, I went back to Apple Xinyi A13. Overnight, my iPhone had completely died and wouldn’t turn on, though I wasn’t sure if it was just out of battery. At the store, the staff member gave me a MagSafe charger to see if it would charge wirelessly. After more than ten minutes, it still wouldn’t turn on; it was truly dead. Since I had been there the day before, the employee went to ask his manager how to proceed. A middle-aged man came over and told me directly, “We cannot provide after-sales service for your device in Taiwan. We have already confirmed this.” I asked him for the basis of this claim. He pulled up the US AppleCare website on his device and pointed to a line of fine print: “Service coverage may be restricted to the country of purchase.” He translated this for me as, “Your device cannot be serviced in Taiwan.” I asked him to translate, word for word, where it said it couldn’t be serviced in Taiwan. He just kept pointing at the sentence and repeating, “It says right here that we cannot provide service for your device in Taiwan. We have confirmed this.” I then asked him to get another colleague to translate the sentence for me. He called over his fellow manager, a younger man, who immediately proceeded to process the replacement for me. He had an employee bring out a waiver to sign, acknowledging that a US-model replacement might have different features than a Taiwanese one. I had a long chat with the younger manager, who was reasonable and didn’t give me any trouble. The whole issue was resolved in just a few minutes.

The most laughable part came later. Because I had demanded an explanation before leaving Apple Taipei 101 the previous night, their manager called me back the next day after I had already completed the replacement at Xinyi A13. She said she saw that my issue had been resolved and congratulated me on getting the replacement at A13. I asked her why A13 could do an in-store replacement when they couldn’t. She claimed she didn’t know and that she really couldn’t bypass the system’s restrictions. I asked, “Didn’t you say my device was ‘randomly selected’ and had to be sent to the factory?” She just kept saying she truly didn’t know and that the system forced her to choose the factory option. I couldn’t be bothered to argue with her anymore; her words were just a stream of lies.

Later, I told a Taiwanese friend about this. He said that the service at Apple Taipei 101 is notoriously bad, while Apple Xinyi A13 is much better. He had even filed a complaint with the Consumer Protection Committee of the Executive Yuan. In the end, an Apple representative called him back, stated that their service was flawless, and promptly hung up, refusing any further discussion. So, the Apple Stores in Taiwan aren’t just bad; you’re powerless against them. Even local Taiwanese people can’t do anything about it, as government agencies seem unable to regulate them. It’s my belief that Apple Taipei 101 could have easily helped me but deliberately tried to make me wait two weeks simply because I wasn’t Taiwanese. The manager at Apple Xinyi A13 was just as bad, trying to use the “not guaranteed” clause to brush me off even when my phone was a water-damaged brick. I have been to many Apple Stores in mainland China, in cities like Shanghai and Hangzhou, in the United States, and in Tokyo and Kyoto in Japan. I have never encountered such shockingly poor service from Apple.

Traveling from Mainland China to Taiwan

2025-07-20 04:44:15

有段时间没写博客了,本来想着是等我飞完了这一趟台湾的航班再写,仔细想想好像我现在就可以写,到时候再补充就可以了。

在我写这篇文章之前,我希望先明白几个缩写:

  • 大陆居民往来台湾通行证:简称“大通证”。
  • 台湾另纸签证:简称“入台证”。

历史情况

很多年前,前往台湾使用的是另纸签证,你只需要向旅行社申请赴台旅游,就可以获得 A4 纸大小的另纸签证(后面我将简称为 “入台证”)。

获得入台证后,你需要打印之后随身携带,使用中国护照在中国边检出境,在台湾边检使用护照和入台证入境。

后来发生了变化,大陆居民前往需要使用大陆居民往来台湾通行证,这是一张和港澳通行证几乎完全一致的卡片,而背面是用于签注。如果想要顺利前往台湾,你需要获得这张卡片并且获得签注。使用这张卡片仅可以顺利出境中国,在台湾地区往来台湾通行证并非有效的身份证件,因此需要大通证配合入台证入境。(感谢 @im_xiaoxiao 的指正)

然而,事情在 2019 年发生了改变。我在网上尝试寻找信息,但是很遗憾我只在 深圳市公安局 找到了相关信息。

关于暂停办理往来台湾通行证个人旅游签注的通知公告:8 月 1 日起开始暂停办理往来台湾通行证个人旅游签注。

如果这个通告是全国统一的话,在大陆应该已经有 6 年的时间停止办理大通证的旅行签注了。当然这里特别说明一下,大通证的空卡(不含签注)据我所知在全中国的大部分城市(除新疆等敏感地区)还是可以正常办理的。我当时办理护照和港澳通行证的时候,也顺便办理了大通证,当时工作人员就提醒我即使办了也去不了台湾,确定还要办吗。我当时想着签注停发是暂时的事,应该很快就会恢复,没想到这一等就是 6 年,直到 6 年后的今天依然没有恢复。

现在如何去台湾

申请入台证

本篇文章不谈论商务签注,探亲签注或者医疗签注等等,只谈论旅行签注。自从大通证的签注停发后,前往台湾的唯一方式就是通过在海外的台湾驻外机构申请入台证。然后使用护照和入台证入境台湾,比起假医美假商务来说,这应该是最合法的方式了。

申请入台证的门槛是你必须持有海外的长期居留签注,旅行签证不可以。常见的留学签证,工作签证,移民签证等等都可以。以美国为例,工作签证 H1B 和 L1 都可以,留学签证 F1 和陪读签证 F2 都可以,以及绿卡等等。申请的步骤也很简单,仅需在网站上提交你的信息,证明你在海外有长期的居留签证且目前正在这个国家即可,这里不过多赘述。按照我的经验一般不太会刁难,审核速度也非常快,如果是工作时间一般两个小时之内就可以批准,最慢也会在次日批准。但是按照我在美国申请的经验,入台证的申请有严格的领区限制。如果你没有去过台湾,纽约领区不会批准一年多次,仅会批准三个月单次,别的领区我不清楚,但是有朋友直接被批准了一年多次。这里简单补充一下,在美国的每一个台湾驻外机构要求的材料都不一样,签发三个月单次和一年多次的标准也完全不一样,因此只能祝你好运了。

在你被批准入台证之后,请注意千万不要急着交钱。原因是入台证的签发时间是按照缴费当日开始计算的,也就是说如果你不打算马上出发去台湾,你可以等到出发前几天定好机票再缴费。当然最晚的缴费期限是批准后 60 天之内。

飞到台湾

接下来我要着重讲一讲你有入台证之后,怎么飞到台湾的问题。很多朋友可能会说,飞到台湾不是很容易,买张机票不就走了,其实不然。如果你从海外的任何一个地方出发,那当然没有任何问题,买好机票准备好入台证就可以顺利出境你所在的国家和入境台湾。

但是如果你从中国大陆出发,那问题就来了。你从中国大陆在边检出境的时候,如果你是前往台湾,必须要出示大通证和有效签注。请注意是 必须。你当然可能会有大通证,但是你并没有签注,因此你无法出境。持有入台证无法出境。

很多朋友可能会问,那我从大陆出发,飞往台湾(不入境),接下来我转机去其他国家,这样总可以了吧。答案是,不完全可以。这种情况只有在昆明,南昌,重庆三个城市出境,并且转机去其他国家,出示联程机票,中国边检会放行。至于为什么是这三个城市,可以参考 财团法人海峡交流基金会 的说明。这里额外补充一下,在我写这篇文章的时候,目前仅有重庆目前仍然还有直飞台北的航班 CA409。当然,如果你的行程是昆明/南昌-香港-台北-海外,应该也是可以顺利出境的。

目前主流的可行的方案,就是通过第三国中转前往台湾,例如香港,东京,首尔或曼谷等等。比如上海-香港-台北是可行的,但是这里又会存在一个问题。你上海飞香港出境的时候使用港澳通行证还是护照?很多朋友可能会想不是都可以吗?港澳通行证和有效的香港签注当然可以顺利出境,但是这会存在很大的问题。我只建议只用护照去出大陆边检去台湾,而不是港澳通行证。使用港澳通行证的后遗症如下:

Q:如果选择从内地陆路前往香港,建议使用护照还是港澳通行证加签注?

A:强烈建议使用护照,不要使用港澳通行证和签注!首先只要不是飞机前往香港,陆路一般也是可以刷自助的。再次如果人工审核的话,只要出示目的地签证即可。最后真的要出示机票的话,也可以准备一个真实可退的备份机票,甚至很多时候深圳的中国边检还会“温馨提示”旅客购买一个别的机票。意思是只要出了中国内地的边检,退不退就随你啦!

如果使用护照,也会存在一定的问题。例如如果使用护照入境香港的条件是必须前往第三国,而即使你真的会飞往台湾,但是你并不能在出中国边检的时候告知你只是在香港转机接下来会飞往台湾。这样中国边检不会让你走。因此,只有两种方案可采用。第一种,购买飞往第三国(除台湾)的机票,例如香港飞往首尔,目前本人已经测试的是 韩亚航空 OZ 可以在 24 小时之内免费退款(无任何手续费),香港飞往首尔的机票在过了中国大陆边检的时候即可操作退票。第二种,使用「中华人民共和国香港特别行政区进入许可」,这是我更推荐的方式,而我本人也正是使用「进入许可」出境中国大陆,以及成功入境离境香港。

实际操作(亲测可行且完美)

机票信息

航空公司 航班号 出发地 目的地 机型
Cathay Pacific CX961 HGH (Hangzhou) HKG (Hong Kong) Airbus A330-300
Cathay Pacific CX400 HKG (Hong Kong) TPE (Taiwan) Airbus A330-300
Cathay Pacific CX461 TPE (Taiwan) HKG (Hong Kong) Airbus A330-300
Cathay Pacific CX964 HKG (Hong Kong) HGH (Hangzhou) Airbus A330-300

值机

如果跟我一样购买的是联程航班(美国信用卡指南说联程航班看运气,但是我亲测完全可行),在中国大陆 check in 的时候,使用护照只 check in 第一段 (HGH -> HKG),第二段千万不要 check in,根据 CX 地勤的说法,如果一旦完成了第二段的 check in,航司会自动上报行程给中国边检,也就是说,你在出境的时候,中国边检已经可以看到你只是在香港转机,最终目的地是前往台北。唯一的缺点就是行李无法直挂到台北,请注意多留一些转机的时间,防止行李无法重新托运。当然对我来说不存在这个问题,我的是 20 寸的 carry on 行李箱,可以选择托运可以选择 carry on。

人工出境

使用护照前往香港,无法使用自助通道,你唯一的选择是走人工通道,这个时候边检会问你去哪里,最终目的地是哪里。这个时候如果你有「进入许可」就说,“我的最终目的地就是香港,我有进入许可,不需要前往第三国”。如果你没有「进入许可」就说,“我的最终目的地就是首尔,我已经买好了香港飞往首尔的机票,要看吗”。

入境香港(可以选择不入境)

直接使用护照 + 进入许可入境香港。如果使用进入许可必须要走人工通道,请知悉,否则自助通道仅会给你 7 天的入境小票,会自动识别为转机的免签政策,正常进入许可应该是 14 天逗留。如果使用护照 + 飞往第三国的机票(台湾/首尔)都可以,可以直接走自助通道,会自动给你 7 天的入境小票。请记住使用护照入境之后,千万不要在出境香港返回大陆(例如乘坐东铁线回深圳),否则你可能会被香港敲上 DT 的标签,这是黑历史。如果你像我一样使用的是「进入许可」,可以直接忽略这个风险,因为「进入许可」本身就可以自由无限次进出香港,往返大陆和香港之间。

值机出境香港

值机的时候,香港的航司地勤会要求你出示入台证,一般情况下只需要等她处理就可以,不需要任何多余材料。因为如果你持有的是香港特区护照,也一样需要入台证。因此他们对这一块业务很熟练。

入境台湾

入境台湾的时候,使用护照 + 入台证即可。值得注意的是,如果你持有的是单次的入台证,你无需填写入境卡,如果你持有的是多次的入台证,你需要填写入境卡。另外,如果你想要在你的入台证同时留下「中华民国」入境和出境的章,请记得出境的时候别走自助通道,别问我怎么知道的。

从台湾经香港回大陆

我在 HGH 故意走了人工通道,当然你可以走自助通道。本来还想说会不会被教育,按照美卡指南的说法,2024 年之后很少会有去台湾被教育的案例。我被询问了从哪里回来,我说香港,她问我在香港转机吗,我说就是从香港旅游回来。就没有追问我了。我不确定他们的系统能否看到台湾-香港-杭州这样的行程,因为回来的时候我直接在 TPE check in 了两段行程,行李从 TPE 直挂到了 HGH。

参考资料

WeChat multi-opening on iOS

2025-06-12 12:27:11

在过去写过一篇 「iOS App Self-Signing and Multi-Opening」,在 2025 年的今天,有必要更新一下, 尤其是针对 微信 的多开。现在完全可以支持无后台推送,这是相比过去最大的改进。

关于签名的部分我在这里不会重复赘述,因为之前的文章已经写的非常清楚了。如果你不知道如何签名可以参考之前的文章。我最推荐的签名 App 仍然会是 Esign,它简洁易用无广告完全免费。

当然前段时间 Esign 已经关闭了他们官方签名的服务器,不过没有关系,你完全可以使用我自己写的在线签名服务。

https://sign.missuo.me

你可以使用这个服务来签名 Esign v5.0.2,未签名的 IPA 的下载链接为:

https://github.com/qbap/ONEJailbreak-IPAs/raw/refs/heads/main/esign_5.0.2_unsigned.ipa

WeChat

无后台推送

如果你想要无后台推送,过去只有官替(替换商店版本),不修改 Bundle ID 才能做到。现在不同的是多开也完全可以做到。你只需要把 Bundle ID 改为以下几个:

com.tencent.qy.xin
com.tencent.wx
com.tencent.mm.xin

其中 com.tencent.mm.xin 有些特殊,你必须要使用 Development 证书,而不能够使用 Distribution 证书。我一般只使用 com.tencent.qy.xin

请注意,请必须在 Apple Developer 的 Identifiers 中创建一个不是 wildcard 的 Bundle ID,并且开启以下 Capabilities:

App Groups
Communication Notifications
Extended Virtual Addressing
HealthKit
HealthKit Estimate Recalibration
iCloud
In-App Purchase
Increased Debugging Memory Limit
Increased Memory Limit
Push Notifications

App Groups 至少选择一个。有些 Capabilities 是为了启用消息推送带头像的。我这里就不展开细说了。

为了方便你直接使用,我已经打包好了一个 IPA 文件,你可以从这里下载:

点我下载

你在签名的时候需要注意的是,不要勾选 移除所有插件,不要勾选 移除 mobileprovision。另外,你必须将 Bundle ID 修改为 com.tencent.qy.xin。有的朋友可能会好奇,现在最新的 WeChat Beta 已经是 8.0.61,而正式版也已经来到了 8.0.60,为什么还在坚持使用 8.0.57 呢?不是我不想更新,而是因为大于 8.0.57 的版本模拟 iPad 登录的 UI 会存在问题,如果你只使用 iPhone 模式当然不受影响,但是我日常模拟 iPad 模式,为了完美的体验,我只能使用 8.0.57。

效果

如果权限正常,你看到的应该是这样的:

20250612uIIZrH

如果一切顺利,你收到的消息推送应该是这样的:

20250612tyY7ck

I applied for Real ID

2025-05-10 21:56:40

2023 年刚来美国的时候,申请了 State ID,这样就不需要护照就可以坐飞机了,包括在美国的几乎 99% 需要出示身份证件的场合都可以使用。比较害怕护照随身携带丢失,所以我一般情况下只会随身携带 State ID。后来因为想拿 Driver’s License,还参加了 Pennsylvania 的笔试拿到了 Permit。但是后来放弃了路考,原因是路考需要自己准备车,按照官方的说法,从租车公司租的车应该还不符合要求。再加上 PA 的规定,DL/State ID 的有效期严格与身份挂钩,最长只能能到 I-20 到期后两个月整。

2024 年得知,原来在 New Jersey 可以直接用中国驾照换取 NJ DL,并且更吸引人的是 NJ DL 并不与身份挂钩,默认给到四年后的生日。经过一般研究,我成功在 2025 年花了一些时间去 NJ 办理了 NJ DL。感兴趣的可以参考 这篇文章。其实有很多小坑,比如同样的材料并不是所有的 MVC 都能成功 waive 路考的。

目前遇到的问题是,在 2025 年 5 月 7 日,Real ID 法案真的在美国生效了。你要知道这个法案从 2005 年就开始提出了,在疫情那会本来要开始执行了,结果又推迟到了 2025 年。本来以为这个法案应该没办法执行,原因是所有的美国居民都需要重新申请身份证件,这对任何人来说都是很大的一笔成本。

Real ID 法案生效之后,也就是我无法使用不是 Real ID 的身份证件坐飞机了。当然截止到我写这篇文章的时候,我不太确定 TSA 是否已经严格开始执行。因为才刚开始三天,我猜可能开始会放水,毕竟大部分人都没有 Real ID。

申请 Real ID

PA 的 PennDOT 是不需要预约的,直接 walk in 即可办理。别的州可以自行打电话询问。

由于 Real ID 相当严格,需要准备的材料也很多。

  • 两份地址证明(我用了水电费账单和银行账单)
  • 护照 + 美签
  • 有效的 I-20
  • SSN
  • I-94

20250510NXY9af

20250510Cb71Yi

实际测试下来,如果你的 I-20 是带 OPT 的版本,会给到你 OPT 到期的那一天。如果你的 I-20 没有 OPT 的话,会给到你 I-20 到期后的 60 天,也就是会覆盖 Grace Period。

申请过程其实非常顺利,也没什么需要问你的,就是填表签字拍照。最后就是等 15 天 Real ID 寄到你家。

值得吐槽的一点是,这个 Real ID 非常贵,Real ID 是 $30,再加上 Renew State ID 的费用是 $42.5,总共是 $72.5。

目前持有的证件

  • PA State ID (Real ID):用于坐飞机和日常带出门
  • NJ Driver’s License (with IDP):用于在美国和全世界开车

为什么不把 NJ DL 换成 PA DL (Real ID)?

因为这样会大大缩短我的 DL 的有效期。

不与身份挂钩的 DL

顾名思义,DL 的有效期与你的身份无关。众生平等,任何人都会有相同的有效期,例如 NJ 即使你是没有身份的非法移民,DL 的有效期也是到四年后的生日。当然 Real ID 的法案比较严格,如果你希望获得更长的有效期,不建议申请 Real ID。

  • New York (4 years)
  • Maryland (8 years)
  • New Jersey (4 years)
  • Washington (6 years)

以上信息来自 usdrive.org

Know ShadowTLS too late

2025-05-05 22:10:28

正如标题写的那样,ShadowTLS 相见恨晚

偶然在 Mihomo 的 Issue 里面看到作者说 ShadowTLS 还很稳,所以没必要支持 XHTTP。看了一下 ShadowTLS 的作者竟然是我关注了很久的大佬 ihc

看了一下 GitHub 的文档,发现部署 ShadowTLS 其实非常简单。我尝试在日本 IIJ 的服务器上部署了一下,发现速度很不错。并且 Surge 和 Shadowrocket 都支持 ShadowTLS。之前一直在用 Snell,但是苦于 Snell 必须要依赖 Surge,很难分享给没有 Surge 的朋友使用。ShadowTLS 刚好解决了这个问题。

由于 老刘没有提供 Snell Server 的 Docker Image,我在 geekdada/snell-server-docker 的基础上改进了一下,支持了 Github Actions 的自动构建,并且支持了更多的环境变量。

如何部署

本文只介绍如何使用 Docker Compose 部署 ShadowTLS + Shadowsocks 和 ShadowTLS + Snell。

https://github.com/missuo/snell-server-docker

ShadowTLS + Shadowsocks

# Create directory and navigate to it
mkdir shadowtls-shadowsocks
cd shadowtls-shadowsocks

# Download compose file
wget -O compose.yaml https://raw.githubusercontent.com/missuo/snell-server-docker/refs/heads/master/compose-shadowsocks.yaml

# Generate random password for enhanced security
openssl rand -base64 32

# Edit the compose file with your configuration
nano compose.yaml

# Start the containers
docker compose up -d

# Check logs
docker compose logs

ShadowTLS + Snell

# Create directory and navigate to it
mkdir shadowtls-shadowsocks
cd shadowtls-shadowsocks

# Download compose file
wget -O compose.yaml https://raw.githubusercontent.com/missuo/snell-server-docker/refs/heads/master/compose-shadowsocks.yaml

# Generate random password for enhanced security
openssl rand -base64 32

# Edit the compose file with your configuration
nano compose.yaml

# Start the containers
docker compose up -d

# Check logs
docker compose logs

其中我提供的 compose 文件使用的是 ShadowTLS V3 (Strict Mode)。

PostgreSQL Master-Slave Synchronization

2025-05-04 13:43:07

本来一直在用 Supabase,但是苦于 Free Plan 只能创建两个 Database,所以不得不寻找其他方案。

最初的想法是,在我美国的不同地区的 Servers 上部署 PG Instance,并且实现 HA (High Availability) 和 Replication。但是我发现如果要实现 HA,至少需要三个 Servers,而且需要保证三个 Servers 之间的优秀的网络。我又没有那么多 Servers,所以最后放弃了 HA。仅保留了主从 Replication,也就是说只要我在 Master 上创建了 Database,那么从数据库也会自动创建一个相同的 Database,并且自动同步数据。

我找到了一个相对来说比较简单的方案,就是使用 bitnami/postgresql 这个 Docker Image。

部署

Master Instance

services:
  postgres-primary:
    image: bitnami/postgresql:latest
    env_file:
      - .env
    restart: always
    volumes:
      - ./data/primary:/bitnami/postgresql
    ports:
      - "5432:5432"
# .env
POSTGRESQL_REPLICATION_MODE=master
POSTGRESQL_REPLICATION_USER=replicator
POSTGRESQL_REPLICATION_PASSWORD=password_hard_to_guess
POSTGRESQL_USERNAME=postgres
POSTGRESQL_PASSWORD=password_hard_to_guess
POSTGRESQL_DATABASE=mydb

Slave Instance

services:
  postgres-replica:
    image: bitnami/postgresql:latest
    env_file:
      - .env
    restart: always
    volumes:
      - ./data/replica:/bitnami/postgresql
    ports:
      - "5433:5432"
POSTGRESQL_REPLICATION_MODE=slave
POSTGRESQL_REPLICATION_USER=replicator
POSTGRESQL_REPLICATION_PASSWORD=password_hard_to_guess
POSTGRESQL_MASTER_HOST=master_instance_public_ip
POSTGRESQL_MASTER_PORT_NUMBER=5432
POSTGRESQL_USERNAME=postgres
POSTGRESQL_PASSWORD=password_hard_to_guess
POSTGRESQL_DATABASE=mydb

其中 Slave Instance 的 Port 其实可以不用映射到公网,因为 Slave 只负责同步数据,不负责对外提供服务。当然,我暴露 5433 是为了连接 Slave Instance 测试是否能实现自动同步。

我的 Master Instance 部署在 Los Angeles, CA,然而 Slave Instance 部署在 Pittsburgh, PA 家里的 PVE 的 Debian VM 上,实际测试下来效果非常好,能否实现几乎无延迟的同步。

优化

  • 使用 TLS 加密所有 Postgres 连接。
  • 计划实现真正的高可用性 (例如 Patroni 或 pg_auto_failover) 。