小天管理 发表的所有内容
-
我目前的硬路由是小米 4A 千兆版,前两天刷了 openwrt 系统,但是 CPU 太弱了,用 vless 或者 trojan 节点一开代理,CPU 就经常飙到 100%然后路由器自动重启。 目前我的需求是,家里有台黑群晖和 PC 希望可以直接前置路由代理然后插网线到黑群晖和 PC 。 最好可以又两个 wifi ,一个是目前小米 4A 千兆版开的正常 wifi 给老婆用,一个是软路由开的代理后的 wifi 用来给其他设备用。 我想的是,目前这个小米 4A 千兆版负责拨号和 ddns 解析以及端口转发。然后再来一个软路由接到小米路由器上。软路由负责代理。 我目前的疑问是软路由能开 wifi 么?软路由的 wifi 稳定么? 这种情况下购买什么比较好? 或者有别的更好的方案吗?
-
本人十多年研发经验,从一线互联网公司到内地创业公司都呆过,主持过两个创始项目的产品研发。 花了几个月时间学习 AI ,从经典机器学习到深度学习,从大模型到 rag 终于,基于自己学习到的高级 rag 技术(非 dify 之类低级 rag ),和对自己之前主持的两个创始项目的商业模式的反思,设计了这个医疗健康某细分领域的项目。相信可以做到商业模式简单,大面积低成本复制。 本人已经攻克关键技术。 目前在跟一个潜在合伙伙伴在谈。想看看有没有更合适的合作伙伴。 期望合作伙伴画像:科技投资者、资深产品经理、懂科技力量的资深市场销售人员、医疗健康行业资深从业者 本人 base 长沙 有意请联系微信:d2VjaGF0OiB3ZW5jYW4=
-
1.科技圈猝死、早逝问题 前几年由 V2EX 网友发起的 996.icu 引起海内外关注,国内互联网企业,特别是大厂也有取消 996 的行为。 然而关于员工猝死、早逝的问题,暂无系统性的分析和梳理。 我们花了 3 周多的时间进行全网搜集、整理,形成了一个研究样本。 2.今晚 8 点直播,欢迎一起探讨 希望加入地区群+直播预约方式 希望直接直播预约方式 3.后面计划 我们计划在 7 月初,在 GitHub 开源这个“科技天堂”数据库。 希望大家不要忘记他们。
-
目前本科毕业在大厂工作三年,现在有一个大厂和二线厂的工作机会,薪资差不多二线厂更轻松,要不要去二线厂躺平还是去大厂再继续卷一卷
-
准备买一个 win 笔记本,最好支持升级内存最大 96g ,双硬盘,目前知道的有 thinkpad14P 和 thinkbook16+符合要求,但前者性价比一般,后者据说做工不行,问题来了,有没有符合上述要求,做工不错甚至堪比 MacBookPro 的 win 笔记本呢?
-
ASeeker是一个Android源码应用系统服务接口扫描工具。 项目已开源: ☞ Github ☜ 如果您也喜欢 ASeeker ,别忘了给我们点个星。 说明 ASeeker 项目是我们在做虚拟化分身产品( 『 空壳 』 )过程中的内部开发工具,目的是为了提升Android系统各版本适配效率。由于产品需支持 Android 9.x ~ Android 14.x,需在应用访问所有的系统服务接口时,将我们关心的参数进行修正和还原。 这导致每个系统版本适配的工作量巨大,且很容易遗漏。因此我们开发了这个源码接口扫描工具,可以快速从Android源码中搜索我们需要的AIDL接口和服务,并安装定制的格式输出。 感谢开源项目com.github.javaparser,因为它的存在才让ASeeker成为可能,这也是我们开源ASeeker的动力。 ASeeker的特点: 完整源码AIDL接口扫描。 支持多目录关联递归类型查找识别。 支持泛型类,内部类和继承类递归查找。 支持匹配配置名单。 支持Android代码语言规范格式化。 支持查找结果的定制输出。 如何使用 # 确保 asseker.jar 和 res 在同一目录下 # aseeker [-options] # -p [SDK version code] [source code path] $ java -jar aseeker.jar -p 33 /Users/abc/android_13.0_r13 输出结果目录:(包含扫描结果和执行过程日志) 输出文件内容:(可自定义输出内容格式) package android.app.os.service; import android.app.os.base.ProxyServiceBase; // source code: /frameworks/base/core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl public class IAccessibilityInteractionConnectionCallback extends ProxyServiceBase { // 10.0 void setFindAccessibilityNodeInfoResult(AccessibilityNodeInfo info, int interactionId);// argument: AccessibilityNodeInfo:info -> CharSequence::mPackageName public static final String sMethod_setFindAccessibilityNodeInfoResult = "setFindAccessibilityNodeInfoResult"; // 10.0 void setFindAccessibilityNodeInfosResult(List<AccessibilityNodeInfo> infos, int interactionId);// argument: List<AccessibilityNodeInfo>:infos -> CharSequence::mPackageName public static final String sMethod_setFindAccessibilityNodeInfosResult = "setFindAccessibilityNodeInfosResult"; } 功能实现 需求 为了实现应用虚拟化,我们需要将应用与系统服务接口通信中包含包名,路径的参数,函数名和返回值的接口进行适配。在访问之前需要修正为安装应用的信息,访问结果需要还原为原应用的信息。 因此,我们需要: 递归查找参数中包含类型为String的名字含包名的接口,如:package,pkg等。 void func(String pkg); void func(ComponentName cn);// 因为 ComponentName 中有成员:mPackageName 递归查找返回值中包含类型为String的名字含包名的接口,如:package,pkg等。 ComponentName getComponentName(); 查找返回值为String但是函数名包含包名的接口。 String getPackageName(); 打印输出找到的具体路径。 // 11.0 boolean enterPictureInPictureMode(IBinder token, PictureInPictureParams params);// argument: PictureInPictureParams:params -> List<RemoteAction>::mUserActions -> PendingIntent::mActionIntent public static final String sMethod_enterPictureInPictureMode = "enterPictureInPictureMode"; 文件预处理 由于javaparser只支持基础的Java类语言规范,对于Android平台定制标签,关键字等不支持,所以需要对目标文件先进行格式化处理,去除这些属性。 // @from: com.ifms.cmpt.aseeker.AidlFormator.java Pattern.compile("(?<![\\w])IN\\s+([a-zA-Z_])"), Pattern.compile("(?<![\\w])in\\s+([a-zA-Z_])"), Pattern.compile("(?<![\\w])OUT\\s+([a-zA-Z_])"), Pattern.compile("(?<![\\w])out\\s+([a-zA-Z_])"), Pattern.compile("(?<![\\w])INOUT\\s+([a-zA-Z_])"), Pattern.compile("(?<![\\w])inout\\s+([a-zA-Z_])"), private static final String PATTERN_AT = "@\\w[\\w.]*\\s*(\\([^)]*\\))?"; // rm @Nullable, @android.app.XXX(xxx) private static final String PATTERN_ABSTRACT = "\\)\\s*=\\s*\\d+\\s*;$";// rm ") = ${number};" private static final String PATTERN_BRIEF = "/\\*.*?\\*/";// rm "/*xxx*/" private static final String ONEWAY = "oneway "; private static final String PARCELABLE = "parcelable "; private static final String UNION = "union "; 类查找 为了可以准确识别类型,需要完整的查找到参数类型。 当前同目录下查找。 当前同工程目录下查找。 framework/base目录下查找。 Android SDK目录下查找(可在config.txt中配置ANDROID_HOME路径)。 个性化配置 1. 全局配置: config.txt # 配置 Android SDK 源码路径 ANDROID_HOME=C:\Users\Administrator\AppData\Local\Android\Sdk # 配置最大递归访问深度,提升效率 MAX_LEVEL=4 2. 忽略类型: ignore.txt byte short int long char float double void boolean 3. 忽略文件: ignore-file.txt 忽略明确不需要关注的接口类,这样不会出现在结果中。 # 系统服务使用 RemoteServiceCallback.aidl # 系统 WiFi 管理模块,需要系统权限 IWifiScanner.aidl 4. 匹配类型: match.txt ApplicationInfo ComponentName PackageInfo ActivityInfo ServiceInfo ProviderInfo 5. 文件映射: mapping.txt 可以定制输出结果文件名。 # rename out file # ${Android source file}=${target file} # such as: IActivityManager=IAMS 6. 输出模板: template.java 定制输出模板可以更好的和我们工程的代码融合,易于代码和结果对比。 package android.app.os.service; import android.app.os.base.ProxyServiceBase; @templateFile@ public class @templateClass@ extends ProxyServiceBase { @templateMethod@ }
-
开发环境没有最好,只有最合适。自己用的顺手就好。开贴只是简单记录一下自己的折腾结果。 关于我自己:全栈开发。主要是 Go ,Vue ,有时有还有一些 C# 和 rust 。Vim 很熟,但是更喜欢用 Jetbrains 全家桶。 我的需求 首先,经常需要开多个 IDE ,对内存有很大的要求。16G 很勉强,32G 基本没问题。 其次,需要一个完整的 Linux 环境。习惯于用 tmux, zsh ,lazygit, etc. 工作中的很多脚本也都是只能跑在 linux 下面。 最后,需要完善的客户端软件生态,尤其是通信软件。微信,QQ ,Telegram ,Slack ,还有一些小众的东西,比如 WebEx ,需要开箱即用,稳定发挥。经常需要共享桌面,甚至是远程协助。不希望因为这方面遇到意外而影响和客户的沟通。 最终选择 - Windows 11 + WSLG Windows 11 有一说一槽点很多,最不爽的就是广告。似乎微软是在不遗余力的推广他们的 Copilot 和 Bing 。 但总体上还是很稳定的,而且微软也暂时还没有突破底线,这些推广都可以关掉。感谢 OFGB 有 AutoHotKey ,所以全局的 Emacs 键位问题也不大。 WSL 提供了相当不错的 Linux 环境。而且 WSLG 可以让我在 Windows 里面无缝打开 Linux 下面的 GUI 软件。 我现在把所有 Jetbrains 都装在 WSL 里面,然后从开始菜单启动它们。WSL 里面的软件打开网页的时候也会自动启动 Windows 的浏览器,非常丝滑。 我还可以偶尔启动一下原神,锦上添花。 为什么不用 Mac 需要买一个 32G 的 Macbook Pro, 感觉性价比太低。如果公司直接发一个,我应该就不会有任何折腾了。
-
基本信息 期望职位 :Java 开发工程师 学校 :二本( 2016-2020 本科全日制 学信网可查) 微信 :anNmc2xhbGE= 电话 :xxxxxxx 邮箱 :Z3VveWI5MTdAMTYzLmNvbQ== 专业 :计算机科学与技术 个人优势 面对复杂的问题 ,有足够的耐心 ,可以冷静分析 ,不急躁 ,快速定位问题 自学能力较强 ,上学期间学校教授的是 python ,工作中的 Java 都是自学的 善于发现 ,热爱编程 ,喜欢从无到有的创造过程。 对自己的代码质量有信心 ,每次上线前 code review 很少需要改动代码 对自己的工作认真 ,负责 ,靠谱 ,会用一切办法去完成工作 善于对内对外沟通 技术能力 熟练使用 Java 基础语法和集合框架 熟练掌握 JVM 内存分布, 垃圾回收机制, 熟知类加载机制, JVM 内存模型 熟练多线程以及 Java 锁机制 熟练掌握 Nginx 以及相应配置 熟练掌握部分设计模式, 如: 策略模式, 模板方法, 单例模式等 熟练掌握 MySQL 数据库以及相应的索引体系, 事务和锁机制, 三大日志, MVCC 机制 熟练使用 IDEA, Maven, Git 等工具 熟练使用 Spring 全家桶和 Dubbo, 并看过部分 Spring 源码 熟练掌握 RocketMQ 熟练使用 xxlJob, 阿里 SchedulerX 定时任务 熟练掌握 Redis 的五大数据结构常用操作命令和 JavaAPI 以及 AOF, RDB 机制, 并熟练使用以 Redis 方式实现的 Redis 锁和 Redisson 熟练使用 ElasticSearch, 搭建过 ELK 了解 K8s 的使用, 熟练使用 docker 命令, 掌握镜像制作 了解 Jenkins 的使用, 掌握批量发布 健康检测等 CICD 流程 了解灰度发布 熟练使用 Linux ,如定时任务 工作经历 某旅游行业小公司 在职时间 职位 2023.12-2024.5.31 Java 开发工程师 负责项目 机票报价系统 描述 : 为各大 OTA 平台(如:携程, 同程, etraveli, traveloka , kiwi, wego 等)提供机票报价以及下单服务,每天订单量在 5 千单左右, 每天的搜索量大概是 4 亿次左右 主要技术:Dubbo, SpringBoot, MySQL, ES, redis, xxljob, docker, Sharding-JDBC 主要职责: 统计服务 配置中心服务 搜索服务 工作内容: 统计服务从 0 到 1 开发 为公司提供了机票的数据看盘,包含接口质量, 生单情况, 价格有效度等图表 配置中心从 0 到 1 开发 为报价系统提供了灵活的高性能的配置功能, 当业务部门有功能变动时, 只需要修改配置即可完成, 无需代码改动 ELK 搭建, 业务报警监控以及服务异常报警搭建 能够及时感知业务以及服务异常的情况, 避免资损 其他功能需求开发 服务器运维工作 服务批量发布、回滚功能搭建 cvm 机器大概 20 台左右, 批量发布回滚可以减少发布时间, 提高效率 某出行公司 在职时间 职位 2022.9-2023.6.30 Java 开发工程师 负责项目 代驾 Sass 系统 描述 :为代驾公司提供司机端, 后台管理系统, 主要的代驾订单来自于高德代驾, 平均每天 10W+代驾订单. 本人所在代驾财务组, 主要为代驾业务提供订单的支付, 司机的充值, 提现, 账单生成以及保险投保等功能 主要技术 :Dubbo, Pandora Boot, MySQL, AnalyticDB, Sharding-JDBC, redis, 阿里 SchedulerX 主要职责 : 负责司机奖励发放业务 资金安全业务 工作内容 : 提现配置由单一配置转为分城市配置 难点在于保证上线兼容性 租户余额, 司机提现余额不足, 司机调账频率, 基础配置变更等业务报警通知 其中有一个报警是多时间点 ,多种情况的报警 ,只用了一个定时任务实现了这个报警 解决租户短信扣费并发失败问题 司机端司机申请解约流程 其他功能需求开发 某销售 saas 软件公司 在职时间 职位 2020.9-2022.6.30 Java 开发工程师 负责项目 毕方 描述 :基于企业微信的一款面向销售人员和营销人员的 scrm 管理系统, 分为企微端和 PC 端, 具有:员工离职继承, sop 任务, 客户群发, 员工业绩以及客户统计, 会话存档, 营销等主要功能 主要技术 :SpringCloudAlibaba, minIo, kafka, ES, Redis, MySQL, xxlJob, DDD 主要工作内容 : 会话存档, 客户统计功能开发 客户自定义字段, 客户标签, 客户公海等产品功能迭代 导出中心功能, OSS 基础服务开发 性能优化 Sql 优化从 10s 优化至 3s 左右(SQL 中 where 条件里的 in 条件有 1W+的数据) 拉取客户会话存档状态定时任务从半小时左右优化至 15 分钟 其他产品功能开发 以上是我的简历,求大佬们帮看看有什么需要改进或者需要学习的地方,跪谢各位大佬,或者哪位大佬要是觉得我还行,帮忙内推一下就更好啦,我可以用 1/4 的月工资作为报答。谢谢
-
安卓上的页面终于变得好看了,功能上用起来没有太大的变化 相关链接: https://community.bitwarden.com/t/about-the-beta-program/39185
-
地址 主要解决:vscode 打开大量的 file ,不易查找!欢迎体验,啊哈哈
-
大局上来说,显然没有。 我们在这 60 多年的历程中,有了不少新的工具和方法,比如结构化设计、面对对象设计、项目管理 WBS 、需求工程,数以千计的计算机语言,瀑布方法和敏捷系列的几十种方法,UML 和相应的软件过程方法,大量的关系数据库和非关系数据库,优良的操作系统。 但是软件危机依然大量存在。 当年提出的软件危机的问题包括: 项目运行超出预算。 项目运行超过时间。 软件质量低落。包括软件通常不符合需求,项目无法管理,且代码难以维护 现在还是这样。 行业的标杆企业微软可以说明很多问题。2000 年前后,微软出版了一批项目管理的书籍,可以让外人看到微软内部的项目状况,我知道很多 MS 的软件都饱受软件危机的折磨。最典型突出的就是 Vista ,历时五年,出来一个广受诟病的 OS ,Vista 被寄以厚望的若干大的特性,都没有发布或者阉割发布。 有赞的白呀说他们的系统做了十年,有 2 万个功能,每一个功能都是需要的。引入一个新的功能,解决了 5%的客户的需求,但是让 95%的用户感到难用。 我知道很多企业也是这样的。 某公司的一个商业软件,从 2011 年开发到 2022 年,已经完全重写 4 次,每 2.5 年重写一次。每一次的理由都是一样的。就是维护不下去了。,每一次都说先赶出来再说,并且每一个功能都是需要的。然后赶出来后就快速的进入报废的循环。 原因很简单,之前维护不下去的产品的原因没有解决,因此就会一再重犯相同的问题。 很多产品代码都存在的大函数,一个函数几千甚至几万行。这样的函数显然缺乏任何的结构化,也没有任何的面向对象化这样的分而治之的方法,和现代程序设计无缘。所有软件危机提出以来,为了解决软件危机而引入的方法,实践在在这样的产品设计中没有任何体现,当然也就不可能度过软件危机。 所以,尽管工业和教育界有不少的发明创造,但是实际上很多项目根本没有利用过这些创新,所以,软件危机继续广泛存在。 或许某天软件行业不存在了,比如被 AI 吃掉了,软件危机才会真的消失。
-
一个任务表,两个线程同时每次取一条数据执行业务逻辑,然后把这条数据标记为完成或暂时放弃,暂时放弃的后面会被再次取出 要求同一条数据不能被多个线程同时取出 求优秀的设计方案
-
#### 薪资范围:15k-25k ,有年终!!该岗位远程办公! #### 岗位职责: 1.统筹数据库架构设计,输出数据库相关技术方案,并持续优化 2.处理线上问题,进行性能分析与优化,建立应急预案并组织演练 3.负责数据库管理维护及日常监控,保证数据库稳定、高效运行,为业务提供高可用、高性能的数据库服务 4.设计并实现数据库自动化运维场景,持续完善数据库自动化运维体系,对数据库服务稳定性负责 5.现有数据库分库分表扩容改造、架构设计,提升业务数据库容量和容灾能力 6.负责数据库开发规范制定、落实 7.日常开发数据库支持,表结构设计优化,慢 SQL 优化等等 #### 岗位要求: 1.5 年以上 DBA 工作经验,具备多个项目系统数据库管理、规划设计、性能调优等工作经验 2.精通 DB2 、MySQL 、Oracle 等大型数据库,熟悉数据库系统架构及常见故障处理方法 3.具有危机意识,能够提前识别风险并预防问题的发生 4.熟悉 Linux 操作系统,了解主流数据库、备份技术,具备安装、配置、故障分析和恢复的能力 5.具备大量数据迁移及架构优化能力 6.至少掌握编程语言中的一种,需具备支付、银行金融科技工作经验!!(必备) #### 加分项: 1.k8s 相关经验 2.熟悉 aws 架构 工作时间:自由安排!双休! 我们是一家专注于全球支付解决方案的创新型公司,致力于为不同国家和地区提供高效、安全、便捷的支付服务。 产品名:starpay ,有意可发简历至: duck.python35@gmail.com ,大胆来投!万一过了呢!
-
8G/256 的,一开始用了雷电 4 外置 ssd ,装了 macos 15beta (因为有 vp 嗯软件反而最新版才正常),没咋用,swap 就 8 个 G 了,有几次确实卡的不动了。后来直接用内置 ssd ,升级到 15 beta ,反而内存表现好很多,3 个 Gswap 时候,内存压力反而是绿的,也不卡。 按说我还测了 ssd 速度,外置的能到 3000mb 每秒,内置只有 1500
-
最近了解到杭州商宽香爆了,想问问大伙有河南郑州的商宽渠道吗?资质这些都有,主要是想要公网 IP 和高一点的上行,性价比又还不错的,有推荐的不? 对运营商没有要求,有公网 IP 和性价比,还要什么自行车(笑,稳定性相对家宽别下降就好了
-
之前一直用同样的方式连接后端服务, 是正常使用的。 如 location ^~/prod-api/ { proxy_pass http://$api_host:$api_port; ...... } 异常情况: 连接 http://$api_host:8877/ws/ 就会异常 server { listen 443 ssl; set $api_host api; .......... location /ws/ { proxy_pass http://$api_host:8877/ws/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_connect_timeout 90s; proxy_send_timeout 120s; proxy_read_timeout 120s; send_timeout 120s; } } 正常情况: 设置 http://api:8877/ws/ 正常 server { listen 443 ssl; set $api_host api; .......... location /ws/ { proxy_pass http://api:8877/ws/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_connect_timeout 90s; proxy_send_timeout 120s; proxy_read_timeout 120s; send_timeout 120s; } } 在 nginx 容器内两种设置的抓包截图: https://imgur.com/a/XzyNFQ6 搞不清楚是什么原因导致这种情况,为什么不能这样配。想请教下大家
-
装了一个 Debian 包,发现只能用终端命令行操作,好像需要用 VI 编辑配置文件,对我这个 Linux 新手来说有点困难。有 GUI 的客户端吗?现在只能暂时用 Clash Verge 了。我用的是 Linux Mint.
-
java code by jadx: public void getUnifiedSign(...) { ... try { ... //This interface cannot be found in the implementation class in Jadx, and it should be in the.so package. HashMap<String, String> securityFactors = this.mUnifiedSign.getSecurityFactors(hashMap3); if (securityFactors != null && !securityFactors.isEmpty()) { return securityFactors; } TBSdkLog.e(...); return null; ... } catch (Throwable th) { TBSdkLog.e("mtopsdk.InnerSignImpl", getInstanceId() + " [getUnifiedSign]get sign failed exception ,appKeyIndex=" + this.mtopConfig.appKeyIndex + ",authCode=" + this.mtopConfig.authCode, th); return null; } } hook.js rpc.exports = { sign:function() { Java.perform(function() { reSign0(); sign0(); }) } }; function reSign0() { //Here, the getUnifiedSign is overridden, and the input and output parameters are printed. } function sign0() { ... let resp = isi.getUnifiedSign(p1, p2, p3, p4, p5, p6); //the resp is null ... } } Frida RCP 调用 getUnifiedSign 总是返回 null ,确认代码已经到达了这个 getSecurityFactors ,但可能直接报错导致返回 null 。但是如果是报错,应该会走到下面的 catch ,并且会输出日志,但是没有日志。日志 hook 已经验证过没有问题,当传一些不正常参数时 hook 的日志能打出来。 敢问如何排查这个问题?和这个鬼杠上了,参考过其它帖子的旧版本弄过但也没成功,还是弄这个最新版的。
-
sentry 开源版本似乎功能很少,只有就基本的报错监控,其它功能都没有? sentry 官网的 我搭建的 sentry 开源版的 各位大佬有用过这个组件的吗?开源版的功能真的这么少的吗?还是我配置问题呢?
-
作为一个软件开发者,经常需要在多个设备之间传输文件和文本,Airdrop 友好的实现了这个功能,但仅限于 Apple 设备,而且传输大文件有时也不太稳定,同时也无法与 Apple 之外的设备( 比如: Windows / Android / Linux )相互传输。 我使用过一些类似的软件,有些无法正常传输,有些操作繁琐,有些功能太多,有些界面过于古老,既然都不满意,那我就自己开发一个,优美的设计,简单的操作。 经过几个月的奋斗,它终于诞生了 - Airclap 极其简单的交互,时尚简约的设计 永久免费下载,免费使用 只需要一步就能完成发送 支持 iOS 、macOS 、Android 、Windows 、 车机( Android )、Linux (开发中)、TV (计划中) 任意文件传输,常用文件格式标识 设备状态(在线/离线)实时更新,离线发送,上线接收 支持 20+国语言,持续新增中... 使用 AES 加密算法,保证数据安全传输 基于 SSDP 深度定制发现协议和 P2P 安全传输协议,利用多链路传输技术,保证数据不丢包, 安全稳定并且高速传输 不联网,仅使用局域网络,不会获取你的任何信息 保证文件完整性,不对文件进行压缩 刚刚在 medium 上发了篇文章,有账号的小伙伴帮忙点个赞 Airclap — Send any file to any device
-
https://nth233.top rss: https://nth233.top/feed.xml