#777 Edge 浏览器快捷键

2022-05-15
  • Microsoft Edge 中的键盘快捷方式

  • Ctrl + R / F5 刷新

  • Ctrl + Shift + R / Shift + F5 强制刷新
  • Ctrl + Shift + B 隐藏收藏夹栏
  • Ctrl + Shift + N 打开隐私窗口
  • Ctrl + F 在页面上查找
  • Ctrl + H 历史记录
  • Ctrl + J 下载
  • Ctrl + K 搜索
  • Ctrl + Shift + O 收藏夹管理
  • F12
  • Ctrl + 加号 / Ctrl + 减号 / Ctrl + 0 缩放与还原
  • Ctrl + D 聚焦地址栏

#776 CMPP: UDH 头

2022-05-13

中国移动 CMPP 协议中的 UDH 头设计源自 SMPP 协议,SMPP 协议又是参考的 GSM 短信服务的相关标准。

  1. TP_UDHI 字段,1 bit,对应 GSM 协议中的 UDHI,表示短信中是否包含 UDH。

UDH

UDH,User Data Header,定义在 GSM 03.40 / 3GPP 23.040 中。
UDH 是短信中可能包含的一个二进制头部,对短信服务进行拓展。
可以实现以下功能:

  1. 长短信(级联短信):切割成多条,需要通过 UDH 中的总条数和序号来组装。
  2. EMS,增强型消息服务,支持颜色,文件格式,图片,动画,音乐
  3. MMS,彩信
  4. 本地语言转换表(Nation Language Shift Table):在 GSM-7 的框架上支持其他国家的语言。

概念:

  • TP(Transfer Layer Protocol,传输层协议)
  • TP-UD(User Data,用户数据),就是短信的正文部分
  • 如果存在 UDH,那就在 TP-UD 的开头
  • TP-UDHI(User Data Header Indicator,用户数据头指示器)
  • 消息的第六 bit,表示短信中是否存在 UDH

UDHL:UDH Length,UDH 的第一字节,表示 UDH 的长度。
UDH 剩余部分是若干标签 + 长度 + 值的组合。其中标签又叫做 IEI(Information-Element-Identifier,信息元素标识符),占一字节。

例如:05 00 03 5F 03 01

  • 第一字节 05,表示后面还有 5 Byte 是 UDH
  • 第二字节 00,按照下面的 IEI 表,表示级联短信
  • 第三字节 03,表示 IEI Length,也就是说这个 IEI 还有 3 Byte
  • 第四字节 5F,按照级联短信的设计,这个 Byte 是一个随机 int8,避免不同批次短信搞混
  • 第五字节 03,按照级联短信的设计,这个 Byte 表示总短信长度
  • 第六字节 01,按照级联短信的设计,这个 Byte 表示当前短信在这一批次短信中的序号

重点:如果短信采用 GSM-7 编码,则需要对齐到 7 bit,也就是说真正需要的 bit 数是 math.ceil(6 * 8 / 7) * 7
上面这个例子,8 bit _ 6 = 48 bit,需要增加 1 bit,对齐成 7 bit _ 7 = 49 bit。

UDH Information Elements

IEI (hex) Meaning Classification Length May repeat
00 Concatenated short messages, 8-bit reference number SMS Control 3 no
01 Special SMS Message Indication SMS Control 2 yes
02 Reserved N/A N/A yes
03 Not used to avoid misinterpretation as <LF> character N/A N/A yes
04 Application port addressing scheme, 8 bit address SMS Control 2 no
05 Application port addressing scheme, 16 bit address SMS Control 4 no
06 SMSC Control Parameters SMS Control 1 no
07 UDH Source Indicator SMS Control 1 yes
08 Concatenated short message, 16-bit reference number SMS Control 4 no
09 Wireless Control Message Protocol SMS Control 1-255 yes
0A Text Formatting EMS Control 3-4 yes
0B Predefined Sound EMS Content 2 yes
0C User Defined Sound (iMelody max 128 bytes) EMS Content 2-129 yes
0D Predefined Animation EMS Content 2 yes
0E Large Animation (1616 times 4 = 324 =128 bytes) EMS Content 129 yes
0F Small Animation (88 times 4 = 84 =32 bytes) EMS Content 33 yes
10 Large Picture (32*32 = 128 bytes) EMS Content 129 yes
11 Small Picture (16*16 = 32 bytes) EMS Content 33 yes
12 Variable Picture EMS Content 4-255 yes
13 User prompt indicator EMS Control 1 yes
14 Extended Object EMS Content 7-255 yes
15 Reused Extended Object EMS Control 3 yes
16 Compression Control EMS Control 3-255 no
17 Object Distribution Indicator EMS Control 2 yes
18 Standard WVG object EMS Content 1-255 yes
19 Character Size WVG object EMS Content 1-255 yes
1A Extended Object Data Request Command EMS Control 0-255 no
1B Reserved for future EMS features N/A 0-255 yes
1C Reserved for future EMS features N/A 0-255 yes
1D Reserved for future EMS features N/A 0-255 yes
1E Reserved for future EMS features N/A 0-255 yes
1F Reserved for future EMS features N/A 0-255 yes
20 RFC 822 E-Mail Header SMS Control 1 no
21 Hyperlink format element SMS Control 0-255 yes
22 Reply Address Element SMS Control 1-255 no
23 Enhanced Voice Mail Information SMS Control 0-255 no
24 National Language Single Shift SMS Control 1 no
25 National Language Locking Shift SMS Control 1 no
26 – 6F Reserved for future use N/A 0-255 N/A
70 – 7F (U)SIM Toolkit Security Headers SMS Control 0-255 ?
80 – 9F SME to SME specific use SMS Control 0-255 ?
A0 – BF Reserved for future use N/A 0-255 ?
C0 – DF SC specific use SMS Control 0-255 ?
E0 – FF Reserved for future use N/A 0-255 ?

参考资料与拓展阅读

#775 RocketMQ 安装与使用

2022-05-01

Arch

主要角色:

  1. NameServer:服务发现与配置管理
  2. 服务发现
  3. 路由
  4. 配置信息管理
  5. Broker:
  6. Broker Master
  7. Broker Slave
  8. Producer:生产者
  9. Consumer:消费者

安装

#!/bin/bash

# 下载RocketMQ二进制包(20MB)
wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip

# 解压RocketMQ安装包
unzip rocketmq-all-4.9.4-bin-release.zip
cd rocketmq-all-4.9.4-bin-release/
# ls
# benchmark/  bin/  conf/  lib/  LICENSE  NOTICE  README.md
#
# ls bin conf
# bin:
# cachedog.sh*       mqbroker*            mqnamesrv*      play.sh*       setcache.sh*
# cleancache.sh*     mqbroker.cmd         mqnamesrv.cmd   README.md      startfsrv.sh*
# cleancache.v1.sh*  mqbroker.numanode0*  mqshutdown*     runbroker.cmd  tools.cmd
# dledger/           mqbroker.numanode1*  mqshutdown.cmd  runbroker.sh*  tools.sh*
# mqadmin*           mqbroker.numanode2*  os.sh*          runserver.cmd
# mqadmin.cmd        mqbroker.numanode3*  play.cmd        runserver.sh*
#
# conf:
# 2m-2s-async/  2m-noslave/  dledger/            logback_namesrv.xml  plain_acl.yml
# 2m-2s-sync/   broker.conf  logback_broker.xml  logback_tools.xml    tools.yml

启动

# 启动 NameServer
nohup sh bin/mqnamesrv &
# 验证 NameServer 服务是否正常运行
# tail -f ~/logs/rocketmqlogs/namesrv.log
# # The Name Server boot success...

# 启动 Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 验证 Broker 服务是否正常运行
# tail -f ~/logs/rocketmqlogs/broker.log
# # The broker[broker-a,192.169.1.2:10911] boot success...

echo "RocketMQ installed successfully."

停止/重启服务

sh bin/mqshutdown broker
sh bin/mqshutdown namesrv

调整配置

  1. 限制内存使用

Systemd

vim /etc/systemd/system/rocketmq-namesrv.service
vim /etc/systemd/system/rocketmq-broker.service
# 配置启动命令、环境变量、工作目录、限制资源使用、设置启动顺序、依赖关系等选项
systemctl daemon-reload

然后就可以执行 start, stop, restart, status, reload, enable, disable 等操作了。

控制台(Web UI)

可以通过官方的 rocketmq-dashboard(SpringBoot + React)管理。

最简单的方式就是运行在 Docker 中:

docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest

集群

https://cloud.tencent.com/developer/article/1857491

#773 ReactOS: 开源版的 Windows

2022-04-29

我对开发者十分佩服,几十年如一日的开发这样一个现阶段明显没有盈利可能的系统。等这个项目稳定下来之后,或许很多古老的遗留系统可以收益。

相关的镜像可以在 SourceForge 上取得, 最新的版本是 03/31 发布的 0.4.14 release 19,可以下载 LiveCD 体验。
PS:完整的 ISO 只有 110M,Live 版 80M。
PS:最新版完整镜像的下载链接: https://sourceforge.net/projects/reactos/files/latest/download

项目介绍

1995 年,FreeWin95 项目
1998 年,ReactOS 项目启动

主要用 C 编写。目标是完全不采用 Windows 代码的前提下,对 x86/amd64 平台的 Windows NT 5.2 (Windows Server 2003) 兼容。
代码审核非常严格,曾经由于被怀疑用了反编译 Windows 的代码而自行开展大规模的代码审查。
研发团队规模有限。

GitHub 地址: https://github.com/reactos/reactos
stars watchers forks
license commit freq

推荐的硬件配置:

  1. CPU: x86/amd64 兼容处理器
  2. 内存:256MB (最小 64MB)
  3. 硬盘:IDE/SATA,主分区至少 350MB
  4. 显卡:2MB VGA
  5. CD-ROM,普通键鼠

体验感受

VirtualBox 4C1G 虚拟机,起最新版 Live 镜像,大概 2 分钟后进入桌面(Installing devices 这一步太久了)。
选的 Chinese (RPC) 语言,然后 US 键盘。Run ReactOS Live CD 进来之后,中文都是小方框。
然后重启,选择安装 (Install ReactOS),提示需要插入安装媒体。
然后还是换成 English (United States) 语言, 可以进入桌面,但是感觉不怎么流畅。

参考资料与拓展阅读

#772 杂事

2022-04-28

请赐予我力量,全力改变那些可以改变的事情,平静接受那些无能为力的事情,拥有智慧区分这两者。

  1. 2022 年已经过去三分之一,希望今年的年度计划能够落实。年初定的五个主要目标:

  2. 深挖现有技术栈

  3. 公司业务熟稔于心
  4. Golang 达到和 Python 相同的掌握程度
  5. 英语和数学,达到大学时期要求的水平就行
  6. 个人项目

目前全部毫无进展。要是再不抓紧,年底又会觉得一年过去啥事都没有做成。

  1. 技术债越积越多, 不知道何年何月能补齐。难道是退休的时候?
    要是我可以不工作也有工资拿, 半年时间, 应该够了吧。
    总结已有知识,查漏补缺,然后对想要了解的方向进行一个全面深入的学习。
    顶多一年...应该可以了吧...也许。
    如果工作中学不到什么,单靠挤一点空闲时间自学确实有压力。
  2. 希望收入跑赢通胀, 然后房价便宜一点。
    不贪心, 打个七折 (➘ 30%) 就够了。
  3. 二胎计划
  4. 希望新冠能在今年夏天结束。
  5. 我想要工作中能有更多机会锻炼自己的表达能力。
    我思考过这个表达能力的培养问题,其实质应该是应急情况下的思维能力问题,我习惯于安静的环境思考问题。
    在向别人阐述自己观点,或者一般的技术交锋过程中,需要思维能够更加活跃,跟上话题发展的节奏。

PS: 我说的表达能力就是普通的语言能力,不是社交能力。我对社交并不热衷,也没想过那么活蹦乱跳。作为一个技术人员,做好分内工作就行,其他事情爱咋咋地。

#770 GitHub RPC 相关项目

2022-04-26

C++

  1. protocolbuffers/protobuf shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    Protocol Buffers - Google's data interchange format
  2. aria2/aria2 shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
  3. google/flatbuffers shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    FlatBuffers: Memory Efficient Serialization Library
  4. apache/incubator-brpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Industrial-grade RPC framework used throughout Baidu, with 1,000,000+ instances and thousands kinds of services. "brpc" means "better RPC".
  5. RPCS3/rpcs3 shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    PS3 emulator/debugger
  6. TarsCloud/Tars shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.
  7. capnproto/capnproto shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    Cap'n Proto serialization/RPC system - core tools and C++ library
  8. idealvin/cocoyaxi shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    A go-style coroutine library in C++11 and more.
  9. baidu/sofa-pbrpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    A light-weight RPC implement of google protobuf RPC framework.
  10. zeroc-ice/ice shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more.
  11. Tencent/phxrpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    A simple C++ based RPC framework.
  12. FISCO-BCOS/FISCO-BCOS shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    FISCO BCOS 是由微众牵头的金链盟主导研发、对外开源、安全可控的企业级金融区块链底层技术平台。 单链配置下,性能 TPS 可达万级。提供群组架构、并行计算、分布式存储、可插拔的共识机制、隐私保护算法、支持全链路国密算法等诸多特性。 经过多个机构、多个应用,长时间在生产环境中的实践检验,具备金融级的高性能、高可用性及高安全性。FISCO BCOS is a secure and reliable financial-grade open-source blockchain platform. The platform provides rich features including group architecture, cross-chain communication protocols, pluggable consensus mechanisms, privacy protection algorithms, OSCCA-approved (Office of State Commercial Cryptography Administration) cryptography algorithms, and distributed storage. Its performance, usability, and security have been testified by many institutional users and successful business applications in a live production environment.
  13. rpclib/rpclib shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    rpclib is a modern C++ msgpack-RPC server and client library
  14. sogou/srpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    High performance, low latency, lightweight enterprise-level RPC system. Supports Baidu bRPC, Tencent tRPC, thrift protocols.

Go

  1. asim/go-micro shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    A Go microservices framework
  2. chai2010/advanced-go-programming-book shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    :books: 《Go 语言高级编程》开源图书,涵盖 CGO、Go 汇编语言、RPC 实现、Protobuf 插件实现、Web 框架实现、分布式系统等高阶主题(完稿)
  3. zeromicro/go-zero shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    A web and RPC framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
  4. grpc/grpc-go shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    The Go language implementation of gRPC. HTTP/2 based RPC
  5. geektutu/7days-golang shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    7 days golang programs from scratch (web framework Gee, distributed cache GeeCache, object relational mapping ORM framework GeeORM, rpc framework GeeRPC etc) 7 天用 Go 动手写/从零实现系列
  6. smallnest/rpcx shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚 有 𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠 有 𝐫𝐩𝐜𝐱! build for clound!
  7. roadrunner-server/roadrunner shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    🤯 High-performance PHP application server, load-balancer and process manager written in Golang
  8. twitchtv/twirp shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    A simple RPC framework with protobuf service definitions
  9. cloudwego/kitex shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    A high-performance and strong-extensibility Golang RPC framework that helps developers build microservices.
  10. davyxu/cellnet shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    High performance, simple, extensible golang open source network library
  11. hashicorp/go-plugin shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Golang plugin system over RPC.
  12. TarsCloud/TarsGo shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    A high performance microservice framework in golang. A linux foundation project.

Java

  1. doocs/advanced-java shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
  2. apache/dubbo shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Apache Dubbo is a high-performance, java based, open source RPC framework.
  3. redisson/redisson shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...
  4. dianping/cat shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC 框架,RPC 框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
  5. grpc/grpc-java shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    The Java gRPC implementation. HTTP/2 based RPC
  6. nathanmarz/storm shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Distributed and fault-tolerant realtime computation: stream processing, continuous computation, distributed RPC, and more
  7. weibocom/motan shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.
  8. line/armeria shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
  9. sofastack/sofa-rpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    SOFARPC is a high-performance, high-extensibility, production-level Java RPC framework.

Python

  1. crossbario/autobahn-python shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    WebSocket and WAMP in Python for Twisted and asyncio
  2. quantmind/pulsar shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Event driven concurrent framework for Python
  3. lgandx/PCredz shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    This tool extracts Credit card numbers, NTLM(DCE-RPC, HTTP, SQL, LDAP, etc), Kerberos (AS-REQ Pre-Auth etype 23), HTTP Basic, SNMP, POP, SMTP, FTP, IMAP, etc from a pcap file or from a live interface.
  4. Thriftpy/thriftpy shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Thriftpy has been deprecated, please migrate to https://github.com/Thriftpy/thriftpy2
  5. tomerfiliba-org/rpyc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    RPyC (Remote Python Call) - A transparent and symmetric RPC library for python
  6. samuelcolvin/arq shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Fast job queuing and RPC in python with asyncio and redis.
  7. arskom/spyne shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    A transport agnostic sync/async RPC library that focuses on exposing services with a well-defined API using popular protocols.
  8. jgarzik/python-bitcoinrpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Python interface to bitcoin's JSON-RPC API
  9. Pyrlang/Pyrlang shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Erlang node implemented in Python 3.5+ (Asyncio-based)
  10. Thriftpy/thriftpy2 shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Pure python approach of Apache Thrift.
  11. kevinhwang91/rnvimr shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Make Ranger running in a floating window to communicate with Neovim via RPC
  12. hakril/PythonForWindows shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    A codebase aimed to make interaction with Windows and native execution easier
  13. joshmarshall/jsonrpclib shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    A Python JSON-RPC over HTTP that mirrors xmlrpclib syntax.
  14. CiscoDevNet/yang-explorer shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    An open-source Yang Browser and RPC Builder Application
  15. phunt/avro-rpc-quickstart shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Apache Avro RPC Quick Start.
  16. pavlov99/json-rpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    🔁 JSON-RPC 1/2 transport implementation. Supports python 2/3 and pypy.
  17. progrium/duplex shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Full duplex modern RPC
  18. maxcutler/python-wordpress-xmlrpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Python library for WordPress XML-RPC integration
  19. studio-ousia/mprpc shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w
    A fast Python RPC library
  20. Ananto30/zero shields.io:github/stars shields.io:github/languages/code-size shields.io:github/commit-activity/w shields.io:github/license
    Zero: A simple, fast, high performance and low latency Python framework (RPC + PubSub) for building microservices or distributed servers

#769 墨菲安全 CLI

2022-04-25

OSCHINA 上听说墨菲安全, 是一个 Golang 写的 cli 工具, 收集项目的依赖信息提交到服务器端, 查询可能的安全风险。
根据官方文档,目前支持 Java(maven,gradle),Golang(go mod),Node(npm,yarn),Python(pip)语言。

本文档就是简单的试用一下。

总结:我感觉挺好的,一般来说对于依赖我们都不上心,其实是有很大安全风险在里面。我觉得应该对线上业务的依赖都应该有严格的审查。
如果是安全方面的需求没有那么强烈,用这个工具可以为依赖的管理提供一些帮助。
可以考虑和 CI/CD 继承,如果有安全风险就发出告警信息。