成功

公共广场

全站推荐
✨ 探索:全站精选动态

无·测文

rss接口调试文章

李的日志
02-02 01:00

失眠症治疗所(三)

白大褂接通电话,佝偻着身躯,方才盯着屏幕的玩味笑意瞬间敛去,语气恭敬得近乎谄媚:“局长,有何指示?”“5023,C 城的周报为什么还没发给我?!”电话那头的语气很是不满。“报告局长,我正在整理数据,马上就通过内网系统……”“行了!你先给我汇报一下大致情况!”“回局长,目前的受试体活跃的数据中没有发现什么异常。”电话那头的声音低沉沙哑,带着不容置疑的威严:“中枢系统那边催得紧,出口算力调试马上就要开始了,加上总统即将签署新的关于税收的行政令,任何岔子都不能出!”“局长放心,一切顺利!这批人里,编号1025的那个——就是之前失眠最严重的那个中年人,大脑活跃度比其他人高出三成,昨晚一整晚的运算量,顶得上三台顶配服务器。而且……” 他顿了顿,瞥了一眼电脑屏幕上定格的画面嘴角勾起一抹隐秘的笑,“他的数据清晰度是目前最高的,第一人称视角的画面,连毛孔都看得一清二楚,没有明显噪点。”“梦境数据?” 局长的声音顿了顿,随即添了几分冷意,“别怪我没提醒你,主次分清!算力是一方面,维稳是核心,那些梦境碎片不过是附加品,别盯着那些男女私情浪费时间!”白大褂心头一惊,收起得意的神情,连忙应声:“是是是,明白!对了局长,如果行政令签署后有民间有异常反应,总统会采取措施吗?”“不该问的别问。” 局长的声音陡然锐利,“你只需要保证,这批‘活体算力’稳定输出,并且不能有任何的负面思想,这个事件平安度过,你的绩效上涨 10%。”电话挂断,白大褂让 AI 整理好数据生成报表,发给了局长,然后关掉视频,靠在椅子上悠闲地幻想:“10%的绩效——那老头,还算有点良心,自己吃肉,还知道给我们留一口汤。”从2025年开始,智囊团就提出了一种新的思路,不过这一切都没有被拿到明面上来说,普通人更不可能了解到内幕。彼时总统看完2024年的政府工作报告,对维稳经费开支很不满意,2024年在他的主导下推行了一系列行政令,即使有大笔的维稳经费支出,在他到访某城时依然遇到了一些不和谐的事件,于是他叫来了智囊团。经过仔细研究和评估,智囊团给出的结果是:以前依靠生活成本倒逼民众加大获取生活资料难度的方法不够可靠。虽然很多人整天都为了生计忙碌,很少有时间静下来思考当前的制度问题,但也有一部分人开始摆烂,追求温饱的同时也在反思制度带来的困境。很显然,这是一个需要极为精准的策略才能玩转的平衡游戏,如果再挤压民众的自主时间,国内的经济并不能得到良好的发展,如果放宽松一些,难免又有“吃饱了撑的”的人会萌发一些不和谐的念头。于是智囊团在年初时就向总统提议,发展人脑移动算力,一方面可以将富余的算力出口获得外汇收入,另一方面,所谓的治疗失眠症的仪器也可以在关键时刻直接影响民众的思想主张,这点成本相较于巨额的经费简直是九牛一毛,这种方法相较于原本的愚民政策,也更加直接和有效。结合近几年极速发展的 AI 技术,国有的某科技公司结合虽不完善但有一定成效的脑机接口,推出了“第二代失眠症治疗仪”。一开始总统对此感到担忧,因为压榨民众的算力不利于他们从事生产劳动,但智囊团把对比数据呈在他桌上后,总统还是签下了这一道秘密行政令。为了出口和外汇,为了中期选举的维稳,为了自己的地位更加稳固,这好像已经是最优解了。

瓦解的生活记事
02-01 13:00

Frp打洞后内网Nginx反代

Photo by Alex Cheung / Unsplash 家里这台NAS从24年10月开组,系统用的飞牛OS,最开始用无线网卡出过几次问题,后来换成有限网卡后趋于稳定。不过官方最近报了个oday漏洞出来炸了锅,不过我情绪还算比较稳定,在期初系统选型时就在黑裙、OMV、truenas、飞牛之间犹豫了很久,最后还是选择了拿安全换方便。机器从最开始的3D打印机箱+闲置硬盘上手,到后面的疾风知N52机箱+两块4T硬盘上手,后续为了「一步到位」换了10盘位的机箱+陆续上到了7块硬盘,那时的我还不知道短短一年多时间,当时买的这些硬盘能翻上好几倍变成了理财产品。因为电信不给申请公网服务,所以选择了Frp+中继服务器打洞,当时图方便直接使用了Frp自带的转发服务,但随着玩机的深入,部署的容器服务也从此前的几个增长到了几十个,Frp转发服务的一些问题逐渐暴露出来,如:个别服务需要用到WebSocket服务,但是Frp转发服务没法自定义这些配置,不能对域名下的不同路径转发做处理性能较差,我的体验是看影视资源经常要等个四五秒才能开始播放每个服务一个配置项,管理不方便所以昨天花了一两个小时从原来的Frp转发服务切换到了Nginx反代。Frp的修改原来Frps上设置了vHost相关配置需要取消掉bindAddr = "0.0.0.0" bindPort = 8010 quicBindPort = 8010 subDomainHost="test.com" auth.method = "token" auth.token = "" transport.tls.certFile = "" transport.tls.keyFile = "" transport.tls.trustedCaFile = ""Frpc部分的修改则是备份一下原来的配置文件,把所有转发都删除掉,只留下一个TCP通道serverAddr = "frpsip" serverPort = 8010 auth.method = "token" auth.token = "" transport.protocol = "tcp" transport.tls.certFile = "client.crt" transport.tls.keyFile = "client.key" transport.tls.trustedCaFile = "ca.crt" [[proxies]] name = "web-raw" type = "tcp" localIP = "192.168.0.12" # NAS 本机 Nginx 监听地址 localPort = 14433 # NAS 本机 Nginx 监听端口 remotePort = 4433 # 对应请求 frps 的附带的 remote_portNginx配置因为站点比较多,希望用一个简短好管理的方式来维护站点,所以这里和AI搏斗了很久,最后用一个map来管理服务列表,一个通用server来代理所有服务,如果有特殊设置的服务则单独写一个server块明确指定ServerName来进行设置。# 2. 核心路由映射 (已去重并分类) map $host $upstream { hostnames; # 启用主机名匹配模式,性能更好 # 常用服务 1.test.com https://192.168.0.12:31111; 2.test.com http://192.168.0.12:31112; aria.test.com http://192.168.0.12:31113; default http://192.168.0.12:31110; } # 4. 特殊配置:是否开启代理缓冲 (解决 SSE 或长连接卡顿) map $host $proxy_buff { hostnames; ~^deeplx\. off; # 流式翻译建议关闭缓冲 default on; } # -------------------------------------------------- # 独立 Server 通过明确指定server_name提高优先级 # -------------------------------------------------- server { listen 14433 ssl http2; listen 4433 ssl http2; server_name aria.test.com; ssl_certificate frp.crt; ssl_certificate_key frp.key; include ssl_security.conf; #独立的ssl配置文件 client_max_body_size 0; # 允许 BT 大文件 proxy_request_buffering off; # 实时上传进度 proxy_buffering off; # SSE / WebSocket 不缓冲 # ---------- 公共头 ---------- proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 86400s; # ---------- JSON-RPC 入口 ---------- location = /jsonrpc { proxy_pass http://192.168.0.12:6800/jsonrpc; } # ---------- AriaNg 等静态面板 ---------- location / { proxy_pass http://192.168.0.12:31113; } } # -------------------------------------------------- # 兜底 Server # -------------------------------------------------- server { listen 14433 ssl; listen 4433 ssl; http2 on; server_name *.test.com; ssl_certificate frp.crt; ssl_certificate_key frp.key; include ssl_security.conf; # 应用动态变量 client_max_body_size 0; proxy_buffering on; # 默认开启缓冲提升性能 proxy_request_buffering off; # 建议关闭请求缓冲,方便大文件上传进度实时显示 # 公共 Proxy 配置模板 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 86400s; # 通用路由 location / { proxy_pass $upstream; } }且因为使用了Nginx,可以回家在连局域网时搭配Smartdns直接将解析指向NAS服务器,Nginx上同时监听4433实现局域网访问。目前可以通过一个比较简短的conf文件维护二十几个docker服务,还算是比较方便,性能也更好。这个方法如果有什么问题希望各位大佬指正。

1900的灯泡店
02-01 12:21

在《HackHub》中成为世界首富

《HackHub》,大概是一款等了些个年头的游戏,终于进入 EA 阶段,首发购入体验了一番。 作为黑客模拟器,对于尝鲜来说的确做到了相当程度的拟真,但如果要较真起来,讨论沉浸感,那我对于游戏整体或许会得出游玩体验不佳的结论,甚至觉得不列出几页测试反馈清单,都显得游玩的时间有些缺乏价值。 不讨论剧情内容,讲讲我遇到的其中一个「设计」,并稍稍探索了一下逃课方法。 主线中,需要向某个账号转账 $100 以完成任务。 由于游戏中的转账是一个开放操作,金额及转入账户都需要自己填写,且似乎只做了基础的有效性检验。于是,趁着这次「数值变动」,我试图增加自己的游戏货币,并针对这个任务目标简单做个测试。 打开 Cheat Engine,向对方账户转账 $1,但并未检测到该数值在内存中的存储位置,分别以不同金额尝试了多次依旧不成功。最后,稍有不耐烦,把剩下正好到 $100 的数额全部转了过去,这下好了,内存没扫出来,任务也没有完成。 得试试邪道。 游戏使用 Electron 开发,从 Steam 打开游戏文件目录,可以看到 resources 下包含一个 app.asar.unpacked 目录以及一个 app.asar 文件。 安装 asar 解包 app.asar 得到 app 文件夹: pnpm install -g asar asar extract app.asar app this.classList.remove("code-copied"), 1500)"> 或许因为还在 EA 阶段,Fuse 机制暂未启用,将 app.asar 重命名为备份名称后,游戏将优先读取 app 目录下的内容。因此,直接修改 app 中的代码,效果就会直接反应在游戏中。 app 目录包含 dist 和 dist-electron 两个目录,前者是前端代码,后者是 Electron 主进程代码。在 dist/assets 下的大量 JavaScript 文件中,搜索 account balance amount - 等关键词,就可以找到转账相关的代码,最后发现位于 dist/assets/index-BhK6uC38.js 的第 81685 行。 代码经过压缩混淆,美化后如下: /** * 转账功能函数 * @params state - 全局状态 * @params action - 转账动作相关数据 */ function addBankTransaction(state, action) { // 根据发送方的 IBAN 查找账户索引 const fromAccountIndex = state.accounts.findIndex(account => account.IBAN === action.payload.from.IBAN); // 根据接收方的 IBAN 查找账户索引 const toAccountIndex = state.accounts.findIndex(account => account.IBAN === action.payload.to); // 将交易记录存入历史 state.transactions.push(action.payload); // 减少发送方余额 if (fromAccountIndex >= 0) { state.accounts[fromAccountIndex].balance -= action.payload.amount; } // 增加接收方余额 if (toAccountIndex >= 0) { state.accounts[toAccountIndex].balance += action.payload.amount; } return state; } account.IBAN === action.payload.from.IBAN); // 根据接收方的 IBAN 查找账户索引 const toAccountIndex = state.accounts.findIndex(account => account.IBAN === action.payload.to); // 将交易记录存入历史 state.transactions.push(action.payload); // 减少发送方余额 if (fromAccountIndex >= 0) { state.accounts[fromAccountIndex].balance -= action.payload.amount; } // 增加接收方余额 if (toAccountIndex >= 0) { state.accounts[toAccountIndex].balance += action.payload.amount; } return state; }" class="code-copy-button" aria-hidden="" onclick="navigator.clipboard.writeText(this.attributes.data.value);this.classList.add("code-copied");window.setTimeout(() => this.classList.remove("code-copied"), 1500)"> 可以看到转出账户通过 -= action.payload.amount 的语句扣款,那么修改这一步就能实现钱越转越多。 起初我只是将 -= 改为 +=,但是这样余额的增速还不够快,于是在句末加上了 * 1000。多进行这样的几次操作后,账户中的余额足够在游戏里横着走了。 同样,代码体现出对方也存在账户,转账并不是虚空的数值变换,那么也可以相同操作,直接将转出语句改为 state.accounts[toAccountIndex].balance = 0,把泼出去的钱收回来(坏心眼魅力时刻🤧)。

記緒漂流
01-31 22:52

巫师三玩了一会儿

孩子放假,二宝白天有空就是学习,wife给他布置了一堆任务,不能玩游戏,有空可以看看非游戏的视频。 晚上都睡了,我用电脑偷偷装了巫师3,安装了半小时,从nas拷过来,然后解压 然后运行。 设置乘中文的。 然后开始主觉在木桶里面泡澡,正舒服着呢,一只龙虾还是蝎子顺着木桶外沿爬进桶里,不知道会发生什么,视角已转,一个女子全身赤裸,正在看书,然后男主角抓住那个龙虾,说不要 打扰他泡澡,女子说话说还有训练任务云云,男主角从木桶里面站起的时候,扫遍背部全是刀疤,正面也是,间距相仿似乎 也有意为之,男主角要走了,女子拉住他一吻,然后你可以控制男主在房间里走动,熟悉按键操作,去找另一个学员,从城楼的阳台上能看到正在练武的另一个小女孩,没看出来有什么特别,风景不错,可以看到外面的雪山松树等。 走下楼梯,画面一转,那个练武的小女孩,在悬崖边上的梅花桩上,蒙着眼睛练习剑法,那个钟摆一样木桩来回摆动,小女孩就这样在梅花桩上左右腾挪,前后闪避,突然失误,木剑被木桩上的一个凸起金属部分格挡,从手动脱落,快要掉下悬崖的一刹那,用脚点了一下木剑,木剑又接了回来。 你为啥不看食尸鬼与巨食尸鬼这本书,你可以 选择如何提问,对结局可能有影响,但是不知道,估计没有人记录问题都选择一或者 都选择2 或者交替选择看看结局的不同吧。 然后他们去一起 翻越一些障碍等去找那个老师学习剑法。他们都是猎魔人。会一些魔法,主角和老师 直接真刀练习,如果砍伤鲜血飞溅,系统提示你一些闪避进攻等一些技能,打了一会想把老师打残血但是没有做到,自己倒是没了一管血,然后自动充满继续。 画面又一转回到了1275年。主角头发也是银发了。估计开幕是20.30年前的他。他们在寻找什么,过去的画面和现在的画面交替出现,挺有电影的感觉的,最后发现开幕这一切是主角的梦境。 寻找是他们真的在寻找一个人。

ACEVS
01-31 16:15