2022年10月

EA的服务器就像烂番茄,不是在出问题,就是在出问题的路上。
EA三部曲:
1.您的凭据不正确或已过期。请重试或重置您的密码。
2.很抱歉,我们遇到了一些技术难题。请稍后再试。
3.您的认证信息不正确或已过期。请重试或重置密码。
什么?网络有问题?今天你学习强国了吗?乐~~

冷静思考

根据17次登录和重置操作做出猜想:EA可能对登录设备和IP地址进行了对比,如果重置密码时使用了代理,登录时也应当使用相同的IP做代理。一旦使用EA各项服务的过程中多次改换IP地址,就会不断出现“EA三部曲”问题。

似乎密切相关的信息

解决网络原因导致的Origin/EA DESKTOP 您的计算机目前处于离线状态 / Double-Check your connection / 目前不能使用您的账户在本机连接到EA服务器激活————Posted on 2022年1月19日 by 羽翼城|Dogfight360
EA Desktop客户端登录似乎有一个必须的校验服务器,HOST对应关系:
159.153.190.222 proxy.novafusion.ea.com
测试发现国内外可以正确解析IP地址但是完全无法ping通,可能服务器关闭了Ping回复。
CURL请求发现校园网环境下(IP出口为移动宽带)无法正常请求,但代理后以及其他多地服务器测试均可正常请求,猜测可能被本地运营商或学校防火墙阻断。(试过本地运营商的5G流量能打开,没有被阻断,所以后者的可能性更大)
PS C:\Users\xfox> curl https://proxy.novafusion.ea.com
curl : 基础连接已经关闭: 发送时发生错误。
........

校园网....乐.....
Fiddler抓包发现,EA Desktop启动后验证服务与以下域名密切相关密切相关

校园网环境下通过Steam调用EA启动BF1截图2022-10-31T17:56:12.png
confluence.ea.com:80
ratt.juno.ea.com:443
当然这只是开头的一两个,实际登录过程还有很多别的域名,下面会总结以下。
移动5G流量环境下截图2022-10-31T18:19:59.png

顺便,我通过5G移动网络进行了一次登录的测试,第一次毫无疑问依旧出现EA三部曲问题里的问题1,但是在不加代理完成一次更新密码的操作后,EA客户端顺利的完成了一次登录。这佐证了我的猜想,EA确实对帐号登录和密码重置时的客户端IP有严格的校验。

猜想2(尚未证实但是证实了别的)

校园网防火墙限制单个帐号带宽的同时还加强了对特定网站/数据包类型的限制。
使用校园网(移动)出网口Ping ratt.juno.ea.com发现解析到 e16166.e12.akamaiedge.net [23.5.245.219]延迟高达205ms+
而使用移动5G流量解析到了 e16166.e12.akamaiedge.net [223.119.223.211]最短 = 77ms,最长 = 117ms,平均 = 92ms
查询得知前者是美国加利福尼亚圣何塞 Akamai机房,后者是香港移动机房。
显而易见的,不管校园网有没有故意墙端口,都可以发现本地移动宽带在出口线路质量上远不如移动的数据流量。(大概因为后者更贵吧xd)随后我再次切到校园网发现EA客户端快速掉线,Ping ratt.juno.ea.com解析到了 e16166.e12.akamaiedge.net [125.56.150.63] 最短 = 102ms,最长 = 751ms,平均 = 140ms 数据包: 已发送 = 23,已接收 = 17,丢失 = 6 (26% 丢失)
这个丢包率可真行,现在可是凌晨2:48!所以,在我对这些关键域名完成转发之前,我最好老老实实开流量玩。=-=

总结EA客户端启动到登录完成所需域名:

ratt.juno.ea.com
service-aggregation-layer.juno.ea.com
accounts.ea.com
api1.origin.com
pc.ea.com
service-aggregation-layer-subs.juno.ea.com
c.go-mpulse.net
contentful-proxy.juno.ea.com
pin-river.data.ea.com
bam.nr-data.net
storage.googleapis.com
www.google-analytics.com
pin-em.data.ea.com
groups.gameservices.ea.com:443
friends.gs.ea.com:443
sdk.split.io
rtm.tnt-ea.com:8095
achievements.gameservices.ea.com
cdn.mcr.ea.com

Steam调用EA2Link启动BF1请求域名列表

ratt.juno.ea.com
accounts.ea.com
api1.origin.com
service-aggregation-layer.juno.ea.com
pc.ea.com
service-aggregation-layer-subs.juno.ea.com
pin-river.data.ea.com
contentful-proxy.juno.ea.com
bam.nr-data.net
www.google-analytics.com
c.go-mpulse.net
pin-em.data.ea.com
storage.googleapis.com
friends.gs.ea.com:443
groups.gameservices.ea.com:443
sdk.split.io
rtm.tnt-ea.com:8095
gateway.ea.com
events.split.io
privacy.xboxlive.com
presence-heartbeat.xboxlive.com

理论上确保这些域名的请求正常响应就可以保证EA客户端正常上线且保活。

更新:校园网连SSH都ban了,已向老师求证

一个字:

前言

自从开始把越来越多的工作生活需求在Gnu/Linux发行版下实现,我一直想要一个可以通过WIFI直连(WIFI Direct)实现PC和安卓的点对点高速协同的软件包,但是网上找了找没找到,绝大多数都是需要局域网实现的,想了想平时经常手机给PC开热点,那其实也就没那么重要了。
昨天折腾了半天,但是PC一直连不上安卓客户端,跑了个Nodejs web服务测试发现局域网也打不开但是ICMP Ping的通,我刚开始以为是自己路由器配置有问题导致出现AP隔离的情况,可是切换到Windows10用KDE-Connect反而能连接上,那显然就不是R3G的OpenWrt配置错了。

顿悟

今天晚上安装OpenShot给室友剪视频,折腾过程中无意间看见设置里有个防火墙,打开一看默认防火墙开着,而且默认传入是拒绝,瞬间就意识到为什么昨天晚上扫描不出来设备,也连不上......

首先把防火墙先关了,接着重新运行昨天的web项目测试,不出意外的正常访问了,那么肯定昨天晚上因为防火墙拦截了传入的流量。

安装KDE-Connect

还好昨天晚上没卸载安卓端....现在apt install kdeconnect即可
经过测试,因为是我的手机开热点,还是扫不出来,可能是客户端默认不会扫描请求路由器的地址,通过host名称也无法识别,但是安卓端写好IP地址马上就出来PC了。
现在我可以愉快的实现文件互传和剪切板内容发送了。

保证安全

显然,我不能总是关闭防火墙,在不安全的网络环境下相当危险。所以去查询以下完成通信需要哪些端口吧,在KDE UserBase Wiki里提到:KDE Connect 在 1714-1764 内的动态端口使用UDP和TCP协议 。
接着我发现,Mint21自带的Gufw Firewall已经内置包括KDE connect在内的超多应用的规则,只需要搜多KDE connect即可选择启用。还能快速选择“语音服务和P2P”以及“全部服务”这样的常用大范围规则,真是人性化:)

这个问题自从我升级Mint21已经碰到过很多次了,原因大概就是apt-key这个命令马上要废弃了(按照惯例也很可能为了兼容一直都不砍掉),以后应该使用trusted.gpg.d 来管理密钥文件,也就是说:现在我们必须自己将密钥文件添加到/etc/apt/trusted.gpg.d/ 文件夹中

如何解决?

以OpenShot为例:
当你打开OpenShot官网试图安装每日构建版本,官方要求你添加PPA并更新存储库缓存,但是你将发现标题里的提示:

xfox@xfox-ThinkPad-E14-Gen-3:~$ sudo add-apt-repository ppa:openshot.developers/libopenshot-daily
[sudo] password for xfox:           
您将添加以下PPA:
 This PPA contains the most recent source code from libopenshot (OpenShot Video Library). These packages are only intended for testers of OpenShot 2.0, as the source code can be highly unstable during active development of libopenshot.

If you are looking for daily builds of OpenShot 1.x, please go here: https://code.launchpad.net/~openshot.developers/+archive/daily
 更多信息: https://launchpad.net/~openshot.developers/+archive/ubuntu/libopenshot-daily
按Enter继续,按Ctrl+C取消

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

Executing: /tmp/apt-key-gpghome.kiOrWySk0O/gpg.1.sh --keyserver hkps://keyserver.ubuntu.com:443 --recv-keys FBA0C227099A5360635E3D9152165BD6B9BA26FA
gpg: key 52165BD6B9BA26FA: public key "Launchpad OpenShot Development PPA" imported
gpg: Total number processed: 1
gpg:  

         imported: 1

根据终端输出,现在你知道了Launchpad OpenShot Development PPA的公钥指纹是:FBA0C227099A5360635E3D9152165BD6B9BA26FA
那么,现在使用GnuPG把这个指纹对应的二进制密钥文件丢进它应该去的位置:

你只需要输入密钥指纹的后八位就可以让你的设备识别这个密钥,但是,apt不识别ascii-armored格式的密钥,所以你应该先把它转换成apt支持的二进制格式。
sudo apt-key export B9BA26FA | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/openshot.gpg

值得注意的是,如果你是个没有独立思考能力只会照抄的CSD*的**,请不要把我这里的密钥指纹以及对证书文件的命名粘贴到你的计算机上。如果你这么干了,就别留言问我为什么还报错。

补充说明

如果软件包官方直接提供了二进制公钥文件,你可以直接将公钥丢进/etc/apt/trusted.gpg.d里,当然记得确保他们是二进制格式而不是常见的ASCII Armor格式。
你可以使用如下命令完成

gpg --import $KEY.asc
gpg --export $KEY_FINGERPRINT > $KEY.gpg

gpg [options] --dearmor [file]

使用-o 参数输出到目标路径的文件即可。

参考文章:

OpenPGP 密钥处理
Warning: apt-key is deprecated (SOLVED)
apt-key(8)
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead

这学期来学校后,经过短暂拥有IPv6的惊喜/吓,后续几天的用网体验让我明显觉得校园网网速被人有意限制。

前言

我们的校园网不是运营商自己提供接入而是学校作为第三方提供接入设备和服务器,运营商和我们这届办理校园卡的学生签订的是200Mbps宽带业务,但是我的多次测试证实网速只能达到10~16Mbps。(上学期速度是正常的)

与客服交流

10月20日,和校内的客服线上交流后发现,客服本人对相关网络知识并不了解,但是在我努力解释并纠正他对几个网络速率单位的混淆后,他理解了我的来意。随后我将本人帐号交给客服进行测试后,我和尽可能配合去不同地点测速帮助客服搜集信息,最终客服确定限速问题确实存在,并承诺与校方交涉后将结果告知。
沟通过程中,客服也和我提到,本学期开学后校园网服务器工作异常,多次出现故障宕机。

结果如何?

九天后,终于等到了消息。

客服: 同学,你好,问清楚了,学校把校 园网限速了,不光学生的这样,老 师的也这样,校园网这学期开学后 频繁死机,主要是防火墙出口太
小,用户使用率高,限速后大家都 可以凑合用,要不然撑不到2天就 要死机1次,防火墙还不能去掉, 否则无法监测学生上网行为。
现在学校也在想办法更换防火墙, 但是费用较高,需要给市财政申 请,短期内应该解决不了。

换防火墙居网络中心老师说要60 万左右。 前几天我们去了所有宿舍楼去测 速,然后拿着测速数据去的,学校 给的是这个回复。

这我还能说什么呢>-<

学校还在建新楼,新楼不建好,恐怕这事情也只能不了了之了。但是等新楼一切妥帖,恐怕我也不在这所学校了吧。

设备是我的NAS,通过RDP协议远程访问,并没有外接显示器。
报错内容如下:
xfox@J3160:~/Desktop$ sudo /home/xfox/MyApp/Clash/cfw --no-sandbox
No protocol specified
[3233857:1025/204210.540609:ERROR:ozone_platform_x11.cc(247)] Missing X server or $DISPLAY
[3233857:1025/204210.542359:ERROR:env.cc(226)] The platform failed to initialize.  Exiting.
The futex facility returned an unexpected error code.
已放弃

我在Github上关于puppeteer.js的仓库issue找到了一种解决方案:

xfox@J3160:~/Desktop$ printenv DISPLAY
:10.0
获得$DISPLAY的值后将其添加入当前PATH即可(显而易见,如果你不打算每次登录都写一遍,那就放进crontab里吧!)
export DISPLAY=$HOST_IP:10.0 && /usr/bin/XXXXX

**当然,这不能帮助我解决问题**
**?我好像没有义务必须先告诉你上面的内容是无意义的吧,况且LOG还是有意义的+-+**
## 打破沙锅问到底
Q:为什么我要执行LOG里的那一串命令?
A:因为Service Mode无法正常安装,并提示我:User did not grant permission.
Q:你最终是如何解决问题的?
A:[如下][2]

cd ~./config
rm -r clash
rm -r clahs_win
STOP clash then:
/home/xfox/MyApp/Clash/cfw --no-sandbox


  [1]: https://github.com/puppeteer/puppeteer/issues/8148#issuecomment-1204965369