V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  photon006  ›  全部回复第 2 页 / 共 25 页
回复总数  497
1  2  3  4  5  6  7  8  9  10 ... 25  
114 天前
回复了 crazyTanuki 创建的主题 Node.js 你们是怎么部署 nodejs 的?
4 ,用 docker-compose 的 scale 语法实现 zero downtime 平滑重启

https://www.tines.com/blog/simple-zero-downtime-deploys-with-nginx-and-docker-compose
@nullico

多折腾一下顺手了也没那么多坑,usb 可以按设备直通不用直通整个 pci 控制器,也不需要外接 usb 扩展卡,一般一台主机 4 、5 个 usb 够用了,可以分给几个 vm 同时使用,鼠标键盘啥的。

磁盘性能问题,nvme 本身速度好几千读写,不直通 pcie 设备直接分配 scsi 给 vm 速度也有几千,损失不大可以接受,消费级主板 2 个 m2 接口也很普及,我前年买的 b550 就 2 个 m2 ,其中一个没啥用跑跑 pcdn 回血,很奇葩的是这张主板居然涨价了。就算没有 m2 ,sata 协议固态性能也挺好,可以直通给 vm ,要知道,就算购买昂贵的云服务器,磁盘也是虚拟的,那 ssd 性能也不咋样。

直通 N 卡给 windows 最多的坑是 43 错误,多折腾一下会解决的。
@keepwalk2020

pve 宿主机监听 8006 端口提供 web 服务,是通过网络传输,不需要接显示器,网页能用,局域网任何一台机器都能远程访问 web gui 。
iommu 分组不难,我就是用 pve 把一台物理机虚拟多台 vm 同时运行当服务器,甚至直通多张显卡,性能没损失,挖矿算力跟物理机一样

https://geili.me/en/all_in_one/

用虚拟化技术有个好处,显卡有时分给 windows 有时分给 linux ,在浏览器点点鼠标就好,一切可以远程操作,不像物理机还要插拔硬件,上面灰尘老多了,嫌弃[doge]
用 minio 自建吧,docker 一行命令的事

流量走服务器带宽,不至于遇到这么坑爹的事。
只要有一端有公网 ip 就能实现异地组网

公司运行 frps ,家里 frpc ,为了安全别用简单的 udp ,用 sudp 模式,visitor 只穿透到公司别把端口暴露到互联网,这样访问公司 10.3.1.100:51820 就等于访问家里 192.168.10.100:51820

在家中 192.168.10.100 这台机器运行 wireguard ,监听 51820/udp 作为服务端对外提供服务,docker 一键部署: https://github.com/wg-easy/wg-easy

在公司主路由 或 旁路由安装 wg client 实现异地组网:

https://i.imgur.com/zcWY5XV.png


我就用这种方法实现了双向异地组网。
小主机推荐极摩客 M5 ,准系统¥ 1099 ,看测评: https://post.smzdm.com/p/a0xkkv4z/

cpu amd 4700u ,8C16T 跑虚拟化足够了,去买云服务器也是别人多核硬件虚拟的子系统,还不如自己 pve 虚拟,vm 整机磁盘备份也方便,管控更彻底。
139 天前
回复了 pctools 创建的主题 OpenWrt Openwrt 固件备份问题
pve ,每天定时备份 openwrt 整机磁盘
142 天前
回复了 photon006 创建的主题 OpenWrt 请问 openwrt 的 wireguard 如何设置?
流量绕远端 peer 的问题解决了

1 、wg 服务端启动时配置隧道允许的 ip

docker run -d \
--name=wireguard \
-e WG_HOST=home.example.com \
-e WG_PORT=54321 \
-e PASSWORD=yourPassword \
-e WG_DEFAULT_DNS=192.168.2.1 \
-e WG_DEFAULT_ADDRESS=10.13.100.x \
-e WG_ALLOWED_IPS=192.168.2.0/24
-e TZ=Asia/Shanghai \
-v /opt/wg-easy:/etc/wireguard \
-p 54321:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy

关键是:WG_ALLOWED_IPS=192.168.2.0/24 ,如果没有这项默认是 0.0.0.0

2 、openwrt 路由器配置 wg 客户端时使用它

https://i.imgur.com/YoYC6Am.png


3 、检测本地网络是否会绕远端 peer

浏览器访问 https://www.ip138.com/



命令行执行:curl --location --request GET 'http://www.taobao.com/help/getip.php'
@xwit 确实是,今天解决了这个大问题,感谢。

不用默认 AllowedIPs=0.0.0.0 ,路由就不会默认走远端 peer ,而是优先使用本地网络,完美。
哈哈我们公司网管是配合的,主路由 dhcp 的时候限定范围,比如 2-200 ,还剩几十个给静态 ip 设备,大家互不干扰。
“大多数路由器都支持 ipv4 的 DDNS ,并不支持 IPV6 的 DDNS”

为什么得出这样的结论?

现在随便一个路由器固件都支持 docker 吧

一行命令跑 ipv6 的 ddns:

docker run -d --name=cf-ddns-v6-nas --restart=always -e DNS_SERVER=192.168.2.1 -e INTERFACE=ens18 -e RRTYPE=AAAA -e API_KEY=xxx -e ZONE=example.com -e SUBDOMAIN=nas-ipv6 --network host oznu/cloudflare-ddns
148 天前
回复了 cdswyda 创建的主题 NAS 硬盘 05 标黄了,这个硬盘还能用吗?
警告就不建议放重要数据,放一些无关痛痒的没问题。

当前值、最差值、临界值这三个数值都是硬盘厂家通过特定算法生成的数字,数字没有直接意义。一般看重点项目的当前值(最差值)和临界值之的差值,比如 01 读取错误率、04 启停次数、05 重新分配扇区数等项目,当前值和临界值差值越大越好。

运行一段时间持续监控,如果数值没变化说明稳定,放心用,如果持续恶化则准备报废心理。
153 天前
回复了 bigboss60 创建的主题 Android 手持 PIXEL5 三年了,该换 Pixel8 还是 S23?
为了缓解实体锁屏按键频繁使用造成磨损,我就用 greenify 实现锁屏,把屏幕底部 2 个边缘的上滑操作替换成 hibernate ,废掉原生 android 唤起智能助手。

滑动屏幕也比侧边找按钮再用力按更容易。
155 天前
回复了 BeyondBouds 创建的主题 生活 对于 PDD,不屑---理解---加入---真香
@ily433664

跟其他 app 比起来,拼夕夕那次是真的过分,利用 android 漏洞搜集信息、追踪用户、保活、不让卸载、操控用户手机,这种行为可以列入非法入侵计算机系统罪,在强大的公关后没被追责,且一些自媒体报道这事还被威胁恐吓删贴。

拼多多旗下的跨境电商平台 Temu 就不敢这么玩,在国外很老实。

网友评价:拼多多凭实力扭转我对它山寨便宜的印象,用深不可测的舆论管控能力,刷新我对它实力上限和道德下限的认知。

pdd 打响国际知名度
/t/929485
155 天前
回复了 BeyondBouds 创建的主题 生活 对于 PDD,不屑---理解---加入---真香
@Pandroid

其实有,从那以后 google 提示拼夕夕 app 是恶意软件我就卸了,现在只在微信小程序用。
155 天前
回复了 codingXuw 创建的主题 Apple 为什么现在 iPhone 那么卡
@ixxdanny 这是微信垃圾,同理很多国产 app 都是这幅德行,除了相机这个系统自带应用耗资源其他大厂 app 分为国产、国外,主流国外 app 会比国产 app 流畅很多,也能保活,体验完全不一样,美队(克里斯埃文斯)去年 6 月才把他的 iphone6s 换了,在他们所处的环境用起来没这么多负担,也没有三五秒 app 开屏广告让人心累。
大陆无法访问 chatgpt 接口,同理反代 openai 可以这样:

addEventListener(
"fetch", event => {
const url = new URL(event.request.url);
url.protocol = "https";
url.hostname = "api.openai.com";
url.port = '443';
const request = new Request(url, event.request);
event.respondWith(fetch(request));
}
)
上面代码有问题,要改成这样才能支持 websocket 反代:

addEventListener(
"fetch", event => {
const url = new URL(event.request.url);
url.protocol = "https";
url.hostname = "ipv6.example.com";
url.port = '8443';
const request = new Request(url, event.request);
event.respondWith(fetch(request));
}
)
1  2  3  4  5  6  7  8  9  10 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1225 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.