Tuesday, May 31, 2022

V2EX - 技术

V2EX - 技术


学好英文学会使用英文搜索技术的东西很重要

Posted: 31 May 2022 07:48 AM PDT

这两天打算在自己的云主机上配置 vsftpd 服务,kamatera 不像 GCP 可以直接在网页端上传文件到服务器,所以只能自己搭建个 ftp 是最好的。 前期几次都是看中文网页的文档,写的顺序很乱、逻辑也不清楚,操作很杂 今晚照着一个英文网页搭建,一目了然、一步到位,真香 或许大伙儿可以说我是小白,对,我不是程序员职业,只是自己的一点小喜好小折腾罢了

《黑客与画家》10 年后的重版

Posted: 31 May 2022 07:45 AM PDT

《黑客与画家》时隔 10 年重版出来。 https://book.douban.com/subject/35889905/

10 年前在新华书店买的这本书,印象深刻,因为这书放在「网络安全·黑客攻防」的书架里。 当时是阮一峰的读者,第一时间去买了。时间过得好快啊。

居然卖了 10 万册?不知道阮一峰老师怎么签的翻译合同,如果是版税就好了...

腰出问题了

Posted: 31 May 2022 07:36 AM PDT

早上起床,腰不舒服,下床发现无法站直,酸疼。 赶快去中日友好约了一个 CT 。 哎。

C#爬虫总是只用一个 CPU 核心怎么排查?

Posted: 31 May 2022 07:29 AM PDT

需求是每秒查一次 MySQL ,发现有新任务就开始爬数据,速度要求每分钟 1~2 万个网页(内容有时效性,必须尽快爬完,每个网页的响应速度差别很大),解析出需要的数据后存入 MySQL 。(需要爬取的 URL 在程序运行时动态接收并添加到 MySQL 中,超时 /失败则按 MySQL 中的该域名的指定间隔(大部分是 1 秒,也有一些是 1 小时)重试,达到 MySQL 中的指定次数则在 MySQL 中标记失败不再重试)

目前的做法是 async 异步请求(域名超时和重试次数限制用一个缓存模块自动缓存到 Redis ,失败任务如果设置的重试间隔小于一分钟则 Redis 存下次重试时间,否则存 MySQL ,MySQL 查询任务列表的时候用条件过滤没到时间的)+SemaphoreSlim 限制最大同时执行任务数量为 400 (因为有时候一分钟会添加十几万个网页,同时发这么多请求程序会卡死)。发现爬取速度比较慢,查了下 CPU 有一个核心占用 100%,剩下都不到 1%。带宽因为大部分是下行,阿里云共享不知道多大的下行带宽只用了 18Mbps ,独享 7Mbps 上行带宽只用了 2Mbps 。MySQL 用的是阿里云云数据库。Redis 在本机(指爬数据的服务器上)。

被爬网站均没有限流。

如何用 vim 打开一个 10G 的文本。。。

Posted: 31 May 2022 07:25 AM PDT

其实就想编辑下前几行

请教 Vue 2 有比较完善的跳转定义/调用的插件吗?已安装 Vetur,但不完善。

Posted: 31 May 2022 07:18 AM PDT

我安装了额 Vetur, 在 script 中 确实可以相互跳转 属性 /方法的定义和调用处. 但在 template 中 class 定义 无法跳转 style ,绑定的属性 /方法也无法跳转到 scrip 中的定义. 同样在 style 中的 class 名 也无法跳转刀 Template 的定义.

写了一个无限制视频下载脚本

Posted: 31 May 2022 06:59 AM PDT

在家想下载视频到本地,发现很多视频网站的video标签的src指向了 Blob: http(s)://xxx.xxx.xxx/xxx,直接进这个链接的话会显示链接已禁用。 想法:既然能播放视频,就证明视频到最后一定是被 video 拿到了的.

谷歌一圈后发现了: 1.window.URL.createObjectURL(object)方法会返回该链接

A File, Blob, or MediaSource object to create an object URL for.( https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL

2.window.URL.revokeObjectURL(objectURL),禁用上面返回的链接

A string representing a object URL that was previously created by calling createObjectURL().( https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL)

尝试:

1.hook 了window.URL.revokeObjectURL(objectURL)来忽略禁用请求,结果没用,依旧被禁用。

2.换个方法,直接 hook 二进制流,你缓存多少,我给你复制多少。查了下MediaSource, 他结合上面的createObjectURL(object)可以分片的方式加载视频,大概就是看多少,就加多少。 其中的音频和视频分别放在两个 sourceBuffer 中,直接 hook 住SourceBuffer.appendBuffer()就能实现视频流的截取了。再将每个分片以数组的方式保存下来,最后等视频缓存完后 new Blob(video/audio bufferArray)这样就实现了视频和音频的保存。

3.由于播放的时候,视频和音频分在两个 SourceBuffer 中,所以最后会得到两个文件。又是一番谷歌,有如下命令:

ffmpeg -i video.mp4 -i audio.mp4 -c:v copy -c:a aac -strict experimental output.mp4 

可以将其合并为一个视频。

4.想过用 ffmpeg 的 wasm 库来在线合并,最后输出的,发现 ffmpeg-core 初始化时所需要的文件在国内下载不下来导致报错,从而导致适用的用户可能有点少,所以就没加,可能是我使用方法不对,以后有时间可以改改。

5.发现有些网站的视频是在iframe标签下的,并且加了sandbox属性,而有该属性的话就会导致最后的下载被拦截,于是,我使用了如下代码来将页面中的所有frame替换成无sandbox属性的:

 (function (that) {           let removeSandboxInterval = setInterval(() => {              if (that.document.querySelectorAll('iframe')[0] !== undefined) {                 that.document.querySelectorAll('iframe').forEach((v, i, a) => {                    let ifr = v;                    ifr.removeAttribute('sandbox');                    const parentElem = that.document.querySelectorAll('iframe')[i].parentElement;                    a[i].remove();                    parentElem.appendChild(ifr);                 });                 clearInterval(removeSandboxInterval);              }           }, 1000);        })(window); 

于是有了如下油猴脚本:

英文名:Unlimited_downloader

https://greasyfork.org/en/scripts/445751-unlimited-downloader

Ps: 都是谷歌翻译成英文的,因为英文是个通用语言,所以不同地方的人看起来可能要方便点。

简短说明:

原理:直接 hook 媒体二进制流,换句话说就是你能看到,你就能下载,你能缓存多快,你就能下载多快。

使用方法:安装后,打开任意有视频或音频的网站,等视频缓存条加载完后会自动下载下来。

也可以自己手动开 16 倍速加速缓存,控制台输入:document.querySelector('video').playbackRate = x

最后,免责声明:请在合法范围内使用脚本,请勿用作任何非法用途,后果与作者无关。

2022 安卓备用机选择

Posted: 31 May 2022 06:50 AM PDT

目前用的 iPhone ,想再买个安卓的备用机,一般用来听歌看剧,屏幕大,不打游戏,正常使用不卡就行,要支持 LDAC 的。有什么合适的选择呢?

预算不超过 3000 ,越低越好

目前比较看好华为、荣耀、小米这三个牌子

proxmox VE 的 web 登录安全性

Posted: 31 May 2022 06:49 AM PDT

好像默认是 root 登录,这样在公网会不会不安全呀 可以加二次认证,但是担心离线时间不对又登录不上会很麻烦

请问如何实现数据对比呢?

Posted: 31 May 2022 06:14 AM PDT

服务器中每天会上传一个 txt 格式的人员清单(应该每天就几万条),为了和数据库中的人员保持一致,需要按行逐一读取与数据库对比,比如数据重复,数据不存在等。。。 个人感觉逐一对比这种方式过于复杂,每读取一行就要遍历一次用户表的数据,请问还有其他效率更高,更简单的方法处理吗?

为了你的脊椎,程序员都应该使用双屏

Posted: 31 May 2022 05:57 AM PDT

有时候些代码投入的时候一两个小时,脖子都不动一动,但是如果使用双屏。我们就会不自觉的转动脖子左右转动,

大家说是不是这个道理

📝 一个 React Hook,让开发调试更加便捷

Posted: 31 May 2022 05:56 AM PDT

如今 React 生态圈已经逐渐接受 hook 生态,一个组件里包括数十个 hooks ,例如原生 hooks ( useState/useRef/useEffect…)、数据请求( useSWR/useFetch/useQuery…)、状态管理( Jotai/Recoil/Zustand/Vailto…)、UI 管理( React Spring/…)已经变成新常态。

在 class component 时代,render 的触发源只有 state 和 prop ,对于开发者来说更显而易见。不论是优化性能,还是调试状态,都轻松很多。

但当 function component 趋于复杂时,每一个 hook 都是潜在的 render 触发源,(而且它们可以相互挂钩,产生不可预测的影响 (;´༎ຶД༎ຶ) !)。我越来越觉得难以调试:为什么这个组件重渲染了?什么东西变了?

基于这个动机,我做了一个辅助调试的 hook:useTilg

import useTilg from 'tilg'  function MyButton() {   useTilg()   return <button>Click me</button> } 

基础效果是显示组件名字、生命周期。也有更复杂的功能,显示 props 、每次渲染中变化的量、调试信息:

import { useState } from 'react' import useTilg from 'tilg'  function Counter() {   const [count, setCount] = useState(0)      useTilg()`count = ${count}`      return <button onClick={() => setCount(count + 1)}>{count}</button> } 

还有其他功能和 demo ,详见项目地址: https://github.com/shuding/tilg

构建海外支付程序需要的手续

Posted: 31 May 2022 05:48 AM PDT

如果要提供支付服务,目标客户是海外用户,比如美国。

让海外的客户可以通过网上付款。

需要办理哪些手续或者条件了?

Win 11 PowerShell 的 ls 也看不到文件时间的秒数了吗

Posted: 31 May 2022 05:46 AM PDT

微软就那么讨厌秒数吗 😂

请教下这个大概是什么技术栈开发的应用?

Posted: 31 May 2022 04:37 AM PDT

最近要接手一个维护任务,主要是改改前端界面,但是说后端也让我看看
过几天会把后端源码也给我
我只懂一点基础的 java web ,所以希望大家别笑话我

目前只给了服务器,进去里面看是这个样子的,我大概知道是 spring
但不知道是 springboot 还是老的那种 SSM,SSH

想趁机学习下 springboot ,希望大家给我指个方向,下面是 tomcat 应用截图:



这是需求是不是蠢到妈都不认识了?

Posted: 31 May 2022 04:16 AM PDT

领导非要实现这么一个需求:

需要提供一个接口,用户发送个人私钥、消息实体等一系列数据,让我使用特定算法完成签名,然后需要提供另一个接口,这个接口实现对签名的验证,然后将签名验证成功的消息发送给我的下游。 流程为:A 将数据发送给我->我完成签名->我自己调用验证接口验证该签名->将消息(不包含签名)发送给 B ,所有接口均走内网。 我这一步岂不是多余?自己签名自己验证,B 也不会去验证任何东西。还要求签名和验证分别部署,请问这样做真的有意义吗?

请教一下 gorm 怎么查某个表的多条记录的指定几个字段,每个字段的值返回一个切片

Posted: 31 May 2022 03:46 AM PDT

例如一个 user 表有 id 、name 、sex 、desc 四个字段,我想查最后 10 条记录,将十条记录的 name 、sex 、desc 各返回一个切片给我,请问有什么简便的方式嘛,我看官网有 Pluck 可以用,但是只能返回单个字段的切片

希望大中小厂的 Android 程序员和技术经理适配一下 Adaptive Icons

Posted: 31 May 2022 03:32 AM PDT

作为 Android O 推出的特性,最基础的内容,APP 的门面,还是希望重视一下奥。

现在手机上一些图标,就是割裂严重… 求求了。

这里是文档,可以参考一下: https://developer.android.google.cn/guide/practices/ui_guidelines/icon_design_adaptive?hl=zh-cn


现在我手机上没有适配的 APP:

网易新闻,米家,微信听书,拼多多,大众,小米运动健康

Android 手机使用随机 Mac 地址连接公司 Wifi,公司还能知道我是谁吗?

Posted: 31 May 2022 02:49 AM PDT

公司的 Wifi 账号一人一个的,不敢用,但还有一个 guest wifi ,是随便连的,Android 手机修改手机名称、连接 Wifi 时使用随机 Mac ,公司能分析出是我吗?

如何跑满千兆下载

Posted: 31 May 2022 02:43 AM PDT

我的环境是老掉牙的 1037u, 系统是 5.2.内存 4GB.这个环境从 2015 年就搞好了,没怎么动,除了换硬盘。现在家里有千兆宽带,群晖自带的 download station PT 下载只能跑到 65MB.top 看 cpu loading, 发现 download station 集成的 transmission cpu loading 在 45%-50%浮动。因为是双核的,所以这个表示其中一个核已经吃满。这个还有提升空间吗?网上有人说群晖的 download station 有问题,要更换其他客户端。是有这回事吗?如果要更换,看起来好多其他客户端可能不支持 5.2 了。

另外我在 chiphell 问过一个网友,他用的是 e3 1220L V3 ,自己装的 transmission 说能跑满千兆。我从 www.cpubenchmark.net 查看 cpu 跑分,似乎这颗 cpu 比我的 1037u 单核还差 100 多分(777 vs 914 )难道真的是 download sation 有问题?但群晖这么大企业,集成个 transmission 都会出现这么大的性能问题吗?

顺便说一下,

1.download station 中的 BT 预览要关掉,否则会看到 ffmpeg 进程占用很多 cpu,下载更上不去.

2.配置 download_bt_cache_limit="XX", 从默认的 32 调到 256 也没啥用

(vue)失去焦点自动保存不能自动格式化代码了

Posted: 31 May 2022 02:10 AM PDT

vue 项目,设置的是失去焦点自动保存文件和保存文件时自动格式化代码,包括 eslint 自动修复错误。 更新到最新版后,失去焦点依然可以自动保存,但是自动格式化和自动修复失效了,必须手动按一下 ctrl+s 才会格式化+修复。 以前是正常的,是 vsc 的问题吗? 谢谢。

三四千的 [安卓机] 有推荐吗

Posted: 31 May 2022 02:04 AM PDT

看来看去已经挑花眼了

[发现]-貌似觉得 Vim 的输入方式或者是 HHKB 的键盘 Layout 对于单手用户更加友好

Posted: 31 May 2022 01:54 AM PDT

前几天因为一场意外自己的右小臂被划伤并切断了肌腱以及部分无名指和小拇指的神经术后 5 天出院 2 号之后需要继续工作 突然觉得 Vim 的输入方式貌似在于对选中行和批处理是非常不错的对于选中个别单词和指针跳入到行头和行尾非常方便 这里不仅想到了自己在闲鱼买的 HHKB Lite 2 薄膜键盘...

大家都是在哪里了解新的云原生产品

Posted: 31 May 2022 01:48 AM PDT

比如最近看到 zadig ,感觉还有很多这些类似的产品,但是苦于没有了解途径,各位都是在哪里关注的

有没有学习 xposed 框架的教程

Posted: 31 May 2022 01:33 AM PDT

本人就懂一点点 java ,但又不希望从零开始学安卓

(如图)请问有知道这个 web 向导是用什么 app 搭建的?

Posted: 31 May 2022 01:20 AM PDT

请问有知道这个 web 向导是用什么 app 搭建的?
如图
https://youjb.com/image/cNp

大佬们, Linux 下(无桌面环境)如何实现任意 U 盘插拔自动挂载?

Posted: 31 May 2022 12:49 AM PDT

看了网上的教程, 1.修改 /etc/fstab ,这个方法好像只能实现固定某一个 U 盘的自动挂载。不符合任意 U 盘的需求 2.添加 udev 规则,测试不生效,df -h 查看根本没有挂载成功。规则如下:

sudo vim /etc/udev/rules.d/10-usbstorage.rules

KERNEL!="sd*", GOTO="mnt_by_label_auto_mount_end" SUBSYSTEM!="block",GOTO="mnt_by_label_auto_mount_end" IMPORT{program}="/sbin/blkid -o udev -p %N" ENV{ID_FS_TYPE}=="", GOTO="mnt_by_label_auto_mount_end" ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k" ACTION=="add", ENV{mount_options}="relatime,sync" ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", RUN+="/bin/mkdir -p /mnt/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /mnt/%E{dir_name}" ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/%E{dir_name}", RUN+="/bin/rmdir /mnt/%E{dir_name}" LABEL="mnt_by_label_auto_mount_end"

我发现 mkdir 创建临时挂载点成功了,但是 mount 却没有成功,有点不解。请问 linux 大佬,这个怎么解决?或者有没有其它自动挂载方法,最好是经过验证可以使用的。小弟虚心请教学习。

什么时候能出一款 ssd 或者 m2 的 nas

Posted: 31 May 2022 12:29 AM PDT

什么时候能出一款 ssd 或者 m2 的 nas ,这样不就更 mini 了么

vivo iqoo 怎么将特定通知常驻(防止被划走)

Posted: 31 May 2022 12:25 AM PDT

系统是 origin os 1.0

我刚用这系统不久,总体还行,但有件事挺烦,就是几乎所有通知都能被划走,包括一些应用中打开"前台服务"之后在通知栏中创建的持久性通知,照样能被划走,这就要了命了。
所以就想问问,有没有什么法子能把那些不想被划掉的通知"锁住"。

简单做了一个 react 的仿 iPadOS shortcuts guide

Posted: 31 May 2022 12:25 AM PDT

不知道市面上有没有类似的,所以就自己糊了一个。

HRE5J2F

repo: https://github.com/Innei/react-shortcut-guide

说页面命中监管下发涉诈类样本模型?但不提供具体命中的内容。云厂商有啥苦衷吗?

Posted: 31 May 2022 12:23 AM PDT

收到云厂商的站内信,说我们有两个网址命中监管下发涉诈类样本模型

这两个网址是提供给小程序的接口,小程序是工具型应用,怎么可能涉诈?真没搞懂。

然后提工单咨询,想知道具体是什么内容涉诈?但一直避开我的问题不回答。

给的解决方案是让我们删除这两个网址,加班把小程序的接口换了个二级域名。

但是不知道什么内容涉诈,这治标不治本啊。

如果是监管的样本模型有问题,不是会误杀很多吗?

朋友们,你们有遇到过这个问题吗?

因当前页面命中监管下发涉诈类样本模型。请提供相关资质( ICP 备案资质 /增值电信运营许可证+营业执照,优先提供 ICP 备案资质+营业执照),否则无法解除不予备份。阿里云禁止从事任何违法违规内容,否则将导致服务不可用。

Imgur

弄了个 wireguard 补丁,求熟悉 Linux kernel 协议栈的大神帮忙完善。。。。

Posted: 30 May 2022 11:56 PM PDT

如题,补丁主要解决多 wan 下 wireguard 始终只使用最小跃点数的 wan 作为源 ip 的问题,本人不太熟悉 kernel 的网络协议栈,so 写出来的补丁比较 low ,求大神帮忙完善。

具体的始末可参考我在 github 的 issue:https://github.com/openwrt/packages/issues/9538

补丁如下:

diff -uNr linux-5.15.12_orig/drivers/net/wireguard/socket.c linux-5.15.12_wg/drivers/net/wireguard/socket.c --- linux-5.15.12_orig/drivers/net/wireguard/socket.c	2021-12-29 19:29:03.000000000 +0800 +++ linux-5.15.12_wg/drivers/net/wireguard/socket.c	2022-05-27 15:27:40.000000000 +0800 @@ -17,6 +17,12 @@  #include <net/udp_tunnel.h>  #include <net/ipv6.h>   +static u32 dst_addr; +static u32 src_addr; + +int receive = 0; +int send = 0; +  static int send4(struct wg_device *wg, struct sk_buff *skb,  		 struct endpoint *endpoint, u8 ds, struct dst_cache *cache)  { @@ -37,6 +43,13 @@    	rcu_read_lock_bh();  	sock = rcu_dereference_bh(wg->sock4); +     +	if ((receive) && (!send) || (send) && (!receive)) { +		src_addr = dst_addr; +	} +	else { +		src_addr = 0; +	}    	if (unlikely(!sock)) {  		ret = -ENONET; @@ -52,9 +65,11 @@  		security_sk_classify_flow(sock, flowi4_to_flowi_common(&fl));  		if (unlikely(!inet_confirm_addr(sock_net(sock), NULL, 0,  						fl.saddr, RT_SCOPE_HOST))) { -			endpoint->src4.s_addr = 0; -			endpoint->src_if4 = 0; -			fl.saddr = 0; +			endpoint->src4.s_addr = src_addr; +			endpoint->src_if4 = src_addr; +			fl.saddr = src_addr; +			send = 1; +			receive = 0;  			if (cache)  				dst_cache_reset(cache);  		} @@ -62,9 +77,11 @@  		if (unlikely(endpoint->src_if4 && ((IS_ERR(rt) &&  			     PTR_ERR(rt) == -EINVAL) || (!IS_ERR(rt) &&  			     rt->dst.dev->ifindex != endpoint->src_if4)))) { -			endpoint->src4.s_addr = 0; -			endpoint->src_if4 = 0; -			fl.saddr = 0; +			endpoint->src4.s_addr = src_addr; +			endpoint->src_if4 = src_addr; +			fl.saddr = src_addr; +			send = 1; +			receive = 0;  			if (cache)  				dst_cache_reset(cache);  			if (!IS_ERR(rt)) @@ -77,8 +94,12 @@  					    wg->dev->name, &endpoint->addr, ret);  			goto err;  		} -		if (cache) +		if (cache) { +			if (receive) { +				fl.saddr = src_addr; +			}  			dst_cache_set_ip4(cache, &rt->dst, fl.saddr); +		}  	}    	skb->ignore_df = 1; @@ -315,6 +336,11 @@  static int wg_receive(struct sock *sk, struct sk_buff *skb)  {  	struct wg_device *wg; +	struct iphdr *ip_header = (struct iphdr *)skb_network_header(skb); + +	dst_addr = ip_header->daddr; +	receive = 1; +	send = 0;    	if (unlikely(!sk))  		goto err; 

补丁主要的核心就是通过读取 kernel skb_buff 中的目的地址,并把该地址应用到 wireguard 的源地址上,补丁我自己测试貌似没啥大问题,只是考虑到我本人的编程水平,求大神帮忙完善。

ps:wireguard 官方貌似不认为这是 bug 。。。

IKVM 发布新版

Posted: 30 May 2022 10:32 PM PDT

reddit .com/r/dotnet/comments/v0mh69/ikvm_is_back_now_with_net_core/

"IKVM is a Java Virtual Machine for .NET. It lets you run Java code in the form of JARs or class files on the .NET virtual machine. Byte code is translated either up front (static compilation) or on the fly. With a single command (usually) you can convert a .jar file into a .dll file for .NET. Or you can just new up a URLClassLoader from directly within .NET code and load a JAR."

有没有什么好用的 gsi 系统推荐

Posted: 30 May 2022 09:57 PM PDT

elk-auth-casdoor: 基于 casdoor 的 ELK 开源登录认证解决方案

Posted: 30 May 2022 09:38 PM PDT

前言

ELK 的一大缺点就是这东西最初是没有登录机制的,只要拿到了 url 地址,kibana 看板谁都可以访问一下。后来 ELK 自带了一套 xpack 进行登录认证,可是除了账户名密码登录这种最原始的方法,剩下的高级功能,比如 oauth, oidc, ldap ,统统都是收费的.....总不能给每个人都专门搞一个 kibana 账户名密码吧......

所以呢,这里有一个基于 casdoor 的 elk 鉴权解决方案,不要钱,开源的,还有人维护呢~。Casdoor 是一个基于 OAuth 2.0 / OIDC 的 UI 优先集中认证 / 单点登录 (SSO) 平台,而 casdoor/elk-auth-casdoor 这套解决方案,则是一个反向代理,他可以拦截所有未经登录的前往 elk 的 http 访问流量,并且引导未登录用户进行登录,而且这个反向代理对已登录用户是完全透明的。

仓库地址 https://github.com/casdoor/elk-auth-casdoor

QQ 群:645200447

如果您有更多相关的特殊需求可以加群,我们会有专人对接~ (可以联系 ComradeProgrammer )

casdoor 是什么

Casdoor 是一个基于 OAuth 2.0 / OIDC 的 UI 优先集中认证 / 单点登录 (SSO) 平台,简单点说,就是 Casdoor 可以帮你解决 用户管理 的难题,你无需开发用户登录注册等与用户鉴权相关的一系列功能,只需几个步骤,简单配置,与你的主应用配合,便可完全托管你的用户模块,简单省心,功能强大。

仓库地址: https://github.com/casbin/casdoor

演示地址: https://door.casbin.com/

官网文档: https://casdoor.org/

QQ 群:645200447

Casdoor 还支持 ldap ,saml 等诸多功能.....

Casdoor 目前作为 Casbin 社区项目统一使用的鉴权平台,项目已开源,希望得到大家的一些建议和 Star~,我们会及时跟进反馈并改正问题哒

Casdoor 又有哪些特性?

  • 支持普通的账户密码注册登录,也支持各种常见的第三方认证,例如 GitHub 、Facebook 、Google 、Wechat 、QQ 、LinkedIn 等等,截止目前共 9 个平台,并在不断听取用户建议对更多的平台提供支持。
  • 管理方便。Casdoor 内部将模块分为了 5 大类,Organization 、User 、Application 、Token 和 Provider 。可以同时接入多个组织,组织下有不同应用,用户可以通过应用或组织分类,单独管理任何组织、应用或用户的 Token 令牌,轻松管理复杂系统,目前已部署在 Casbin 社区各种系统当作鉴权平台。
  • 自定义程度高。Casdoor 可以随意修改登录方式,例如是否允许密码或第三方登录,自定义应用的注册项数量,是否启用两步验证,以及是否允许各个 Provider 登录、注册等等,高度可插拔。
  • 具备 Swagger API 文档。清晰的 API 介绍,无需阅读源代码即可直接方便调用各个 API 接口,提供定制化功能。
  • 前后端分离架构,部署简单。作为统一认证平台,除了性能,稳定性,新特性之外,易用性也是考量的重要标准,Casdoor 后端使用 Golang 语言开发,前端使用 React.js 框架,使用者只需启动后端服务,并将前端工程文件打包,即可直接使用,操作简单,上手难度低。 ...

为什么剪映在 windows 和 macbook 上剪辑出来的文件,一个变小了,一个反而变大了?

Posted: 30 May 2022 09:37 PM PDT

macos 是 8G 内存, 剪映 3.0.0

windows 是 32G 内存,剪映 2.8.5

说真的,我用很多其他的剪辑软件,在 macbook 都是体积反而变大了,从 mov 格式到 mp4 ,还有压缩,体积变大了

在 windows 上用剪映 2.8.5 ,是第一次视频品质肉眼看不出变化的情况下,也是 mov 到 mp4 ,文件显著变小

参数都一样,mov 到 mp4 ,H264 压缩,30fps

有人遇到类似的问题吗?

输出巴比特的周刊为 RSS,期望更高效地跟踪区块链、元宇宙的行业动态

Posted: 30 May 2022 07:54 PM PDT

1 、数据源 https://www.8btc.com/search?keyword=%E5%91%A8%E5%88%8A&type=article

2 、用 feed43 抓取巴比特的「周刊」搜索结果,内容提取规则为

<div class="article-info"{*}><a href="{%}"{*}><h3{*}>{%}</h3></a>{*}<div class="article-content"{*}>{%}<div class="article-extra"  

得到 RSS 地址https://node2.feed43.com/8871825637357418.xml

3 、用 pyrsshub 过滤掉非周刊文章,得到过滤后的 RSS 地址

https://pyrsshub.vercel.app/filter/?feed=https://node2.feed43.com/8871825637357418.xml&include_title=%E5%91%A8%E5%88%8A 

请教一下大家,有没有类似 plantuml 工具,但是可以做数据筛选,动态选择显示的业务的。

Posted: 30 May 2022 07:52 PM PDT

运维场景下业务关系比较多,多个业务之间关联比较多,如果可以做到一张图里面,根据不同业务来显示想看的,其他业务隐藏掉,那就很好了。

敏捷测试象限,你用对了吗?

Posted: 30 May 2022 06:46 PM PDT

"我不会推荐敏捷测试象限,那就像是一个字典,没什么大用!"

"敏捷测试象限是乙方视角,其中有些测试是要自证质量才会引入的实践!"

"敏捷测试象限,只对敏捷开发适用,我们不做敏捷,跟我没关系……"

真的是这样吗?

敏捷测试象限,你用对了吗?

Mint 下 Kinto 改键 Rofi 似乎不能改用 Super 按键

Posted: 30 May 2022 03:41 PM PDT

本来想用 Super+J/K 切换 Rofi 的 mode 但是貌似行不通。

kinto define_keymap(re.compile("rofi", re.IGNORECASE),{     K("RC-J"): K("M-J"),     K("RC-K"): K("M-K"), }, "rofi") 
rofi configuration {   show-icons:         true;   icon-theme:         "Papirus";   modi: "run,drun,calc";   kb-mode-next:       "Alt-j";   kb-mode-previous:   "Alt-k";   kb-accept-entry:    "Return,KP_Enter";   font: "mono 18"; }  

有人有配置成功的经验吗

No comments:

Post a Comment