有了这个免费的全家桶,你的 Mac 隐私安全不再是问题了

Netiquette:网络监控器 网络礼节 Netiquette是专为macOS设计的轻量级开源网络监视器。 通过其简单直观的用户界面,您可以快速: 查看所有网络连接 发现所有监听套接字 过滤并导出网络信息 说明文件: 完整的详细信息和使用说明可在找到。 建立: 在项目目录中运行,运行: carthage update --platform macOS 在Xcode中构建 Netiquette应该在Xcode中干净利落地构建(尽管您将必须删除代码签名约束,或者用您自己的Apple开发人员代码签名证书替换)。 跑步: 只需运行应用程序: Netiquette.app 支持: :red_heart: 喜欢这个产品还是想要支持它? 请查看我的:) 玛哈洛! 以下“ Objective-See的朋友”支持该产品: SecureMac 立即下载

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

程序员用Mac的人比较多,分享一篇保护隐私的Mac App清单,希望对大家有帮助~

来自:少数派

链接:https://www.tuicool.com/articles/IBV3iiB

前阵子和朋友了聊到 Setapp 的时候,他说他有点担心这个工具,主要是因为它请求的权限比较多。既要监控各 app 的使用时长,又会频繁地连接服务器,万一呢?

他顺便推荐了 Objective-See.com 这个网站,上面的工具都是围绕 Mac 安全的方方面面开发的。所有的工具都是开源的,源码都可以在 Github 上找到。

下面列举的所有 app 都可以通过 brea cask 安装:

  • Lulu:阻止向外访问的防火墙

  • Do Not Disturb:防止武力入侵的工具

  • KnockKnock:监测 macOS 上各类 app 权限的工具

  • TaskExplorer:类似于 Activity Monitor 的全局任务管理工具

  • ReiKey:键盘记录监测工具

  • Netiquette:监测当前所有连接的工具

  • BlockBlock:监测所有反复安装/执行的工具

  • RansomWhere?:监测 ransomware 的工具

  • OverSight:监测摄像头/麦克风开启情况的工具

  • What's Your Sign?:监测软件签名的工具

LuLu

Lulu 在夏威夷方言里,意味着“保护,盾牌”,它是一款免费的防火墙,它的定位是阻止 Mac 上未经授权的 app 访问外部的服务器。目前很多 app 都会集成各类 SDK 将用户的使用数据上传到自己或者第三方的服务器,用以分析用户的使用行为。当然不少有害软件也会趁机把用户的数据窃取后发回自己的服务器。而 Lulu 的定位就是阻止类似的访问外部行为,至于入侵的有害数据,则不是它关心的方面(macOS 内置的防火墙可以阻止入侵,所以两者相辅相成)。

安装后,Lulu 会询问是否白名单之前已经安装的 app 和 Apple 官方的 app,我们可以根据自己的需求来选择。

在 System Preferences 里授予 Lulu 权限之后,它就会自动工作。任何未授权的访问外部行为发生之后,它都会提醒你是否放行,如果我们选择拒绝的话,它就会把这一行为添加到黑名单里;反之则放入白名单。

在 Lulu 的页面内,我们可以看到所有授权的汇总情况,可以根据具体需求对每个授权做调整。

Do Not Disturb

主要监测 MacBook Pro 和 MacBook Air 之类的笔记本被武力入侵,可以和 iOS 上的 Do Not Disturb Companion 绑定。一旦有物理入侵(开盖)发生,DND 会作出以下回应:

  1. 在本地发出警告;

  2. 像 iOS 上的 companion app 发出报警;

  3. 监测本地的入侵行为;

  4. 执行用户指定的操作

DND 的安装很简单,现在电脑上安装,然后在 iPhone 上下载指定的 app,然后通过一个二维码即可配对。

一旦有开盖的物理入侵发生,DND 就会按照指定的步骤执行相应操作,比如像下面一样拍照:

KnockKnock

有害软件经常自动安装,比如国内臭名昭著的全家桶安装,A 自动安装 B,B 自动安装 C。KnockKnock 正是为了防止类似的行为而开发的。安装完 KnockKnock 之后,可以用它扫描 macOS 上各种系统权限的请求情况,比如系统启动项等,它会结合外部的有害软件数据库对此作出判断。

如果你喜欢的话,也可以在命令行里使用 KnockKnock:

\$ ./KnockKnock.app/Contents/MacOS/KnockKnock -h

KnockKnock 在启动时,会连接 Objective-see 官网检查是否有更新,并不会向外发送数据。这一行为会被上面的 Lulu 发现,也是蛮有意思的。

TaskExplorer

类似于 macOS 上的 Activity Monitor,TaskExplorer 监测各进程的签名/文件打开情况/网络连接情况。

内置的全局搜索功能可以帮助我们通过关键字快速找到关联进程:

ReiKey

不少有害软件会记录用户的键盘敲击记录,获得敏感信息。下图就是典型的键盘记录逻辑 CoreGraphics :用户的敲击记录会被记录下来,这一记录会被发送给入侵者。

ReiKey 就是为了阻止这类入侵行为开发的,不过它只能监测基于 CoreGraphics 开发的有害软件。安装完 ReiKey 之后,可以用它对 Mac 进行扫描:

我们也可以在命令行里执行这一工具:

\$ /ReiKey.app/Contents/MacOS/ReiKey -scan -pretty

Netiquette

与 Lulu 扫描所有 app 的方式不同,Netiquette 只监测目前活动的所有网络连接,而且更深层。

BlockBlock

前述的 KnockKnock 通过检测系统权限来判断有害软件,而 BlockBlock 则通过检测某些组件的持续安装来提醒用户防范此类有害软件。

RansomWhere?

与 ransomware 谐音,RansomWhere? 专门监测勒索类有害软件(主要是 thwart OS X ransomware)的入侵。

OverSight

很多有害软件会开启用户的摄像头或者麦克风来窃取数据,OverSight 正是这类有害软件的克星。一旦监测到摄像头或者麦克风被调用,OverSight 就会发出警报。

What's Your Sign

几乎所有的软件都有数字签名,这一签名可以用来校验我们安装的软件是否开发者发布/正规渠道获取的,而不是被第三方篡改的软件。我们当然可以通过命令行工具来获得某个软件的数字签名,WhatsYourSign 则把这一过程简化到一个可视化界面里,方便用户校验。

Recap

Objective-see 发布的一系列工具可以帮助我们全方位地保证 Mac 的安全。每一个工具各司其职,组合起来就变得无比强大。这也很像 Unix 的哲学,做且仅做好一件事。如果你喜欢这些工具的话,不妨去他们的 Pateron 页面上打赏吧。

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~

推荐阅读

题图:pexels,CC0 授权。

从零开始:TexLive(Latex)安装与配置全指南 本文提供了一份详尽的TexLive(Latex)安装与配置全指南,旨在帮助用户从零开始快速搭建LaTeX工作环境。内容涵盖从镜像下载、安装步骤详解、环境验证到高效编辑器(如VS Code)配置,并特别强调了中文排版支持与宏包管理,确保用户能顺利处理学术论文等专业文档的排版需求。 阅读详情

相关推荐

CTF 命令执行绕过总结

tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示。或:rce-xor-or.php & rce-xor-or.py。# ls -t >shell 将输出输入到shell文件中。异或:rce-xor.php & rce-xor.py。%09(url传递)(cat%09flag.php)sh /flag 2>%261 //报错出文件内容。2、1使用空变量$*和$@,$x,${x}绕过。7、异或无符号(过滤0-9a-zA-Z)more:一页一页的显示档案内容。

jnszstmei的博客 1958

技术人必备|55款软件工具盘点

前言汇聚了全球信息安全业界精英的年度盛事”Black Hat”上周在美国拉斯维加斯落下帷幕,大佬们也带来了很多有趣的软件工具,其中有一些托管在GitHub上开放下载。在本篇文章中,小编将为你盘点一下在大会上发布或重要议题涉及到的55款可用软件工具,某些还有配套的硬件。这些工具涉及到多个领域,涵盖移动安全、代码审计、加密技术、数据获取和事件响应、反制工具、硬件/嵌入式安全、物联网、恶意软件防范、恶意...

weixin_34356310的博客 3004

MATLAB绘图中文乱码终极解决方案:从方框到清晰显示的全面指南

本文提供了MATLAB绘图中文乱码的全面解决方案。针对中文显示为方框的问题,从单次绘图的临时字体设置,到通过修改默认配置实现一劳永逸,再到系统级字体排查与Java环境配置,给出了详细的步骤指南。文章还涵盖了字体名称指定、图像导出防丢失以及跨平台协作等高级技巧,帮助用户彻底解决中文乱码困扰。

weixin_29093017的博客 613

Mac端终于有控制单独APP联网的软件啦~

小编上篇推荐了可在本地运行的水印软件后,很多小伙伴们就问有没有可以控制电脑联网的软件,尤其提到Mac众所周知Mac对应权限的把控非常严格,小编我逛尽了某乎,某吧,和某瓣后终于找到了Mac和Windows都有,且开源免费~

大飞记Python的博客 1094

wsl + vscode 离线配置 ERROR: Faild to download https://update.code.visualstudio.com

很多情况下是没有现成的VS Code Server程序的,需要手动下载。记住上面的Commit ID,可以通过下面的链接下载 vscode-server-linux-x64.tar.gz。然后将vscode-server-linux-x64.tar.gz上传在服务器上的$HOME/.vscode-server/bin文件夹中,解压。在wsl中下载不了 vscode 的核心。运行下面两行命令,建立空的$HOME/.vscode-server/bin文件夹。重新运行 wsl与vs的链接即可。

点云算法工程师 3789

华为校招&实习&留学生机试真题目录+算法分类+在线OJ+通过率+视频讲解

全网最新最全华为校招&实习&留学生机试真题题库

m0_73659489的博客 6866

【亲测免费】 推荐一款让你的Mac管理应用更加轻松的神器——Applite

![GitHub](https://img.shields.io/github/license/milanvarady/Applite) ![GitHub release (with filter)](https://img.shields.io/github/v/release/milanvarady/Applite) ![GitHub all releases](https://img.shi

gitblog_00075的博客 1477

节省人力成本40%!仓储物流AI机器人调度系统实战案例(含路径规划算法与系统架构图)

首先,我们需要定义一个Node类self.x = x # 节点x坐标self.y = y # 节点y坐标self.g = g # 从起点到当前节点的实际成本(g值)self.h = h # 从当前节点到终点的启发式成本(h值)self.f = g + h # 总成本(f值)self.parent = None # 父节点(用于回溯路径)self.task_id = task_id # 任务IDself.priority = priority # 任务优先级(1=最高,5=最低)

小程序开发 948

探索 ProcInfo:强大的MacOS进程信息工具

探索 ProcInfo:强大的MacOS进程信息工具 ProcInfoprocess info/monitoring library for macOS项目地址:https://gitcode.com/gh_mirrors/pr/ProcInfo 在软件开发和系统管理员的世界中,了解系统的运行状态至关重要。对于 macOS 用户,我们有了一个名为 的强大工具,它提供了一种直观且全面的方式来查看...

gitblog_00024的博客 669

基于聚类特征工程的水果销量预测:聚类算法对比与多模型评估

水果销量预测研究:聚类分群与多模型对比 摘要 本研究提出了一种融合聚类分析与机器学习的水果销量预测方法。基于包含12个维度的销售数据集,首先采用K-Means、BIRCH和DBSCAN三种聚类算法对水果品类进行分群,通过轮廓系数等指标评估显示BIRCH算法表现最优(0.387)。随后针对不同群组构建差异化特征工程,并比较XGBoost、LightGBM和LSTM三种预测模型性能。实验结果表明:基于聚类特征工程的LightGBM模型预测效果最佳(RMSE=2.34,R²=0.87).

huanghm88的专栏 137

Pytorch图像去噪实战(七):Noise2Noise自监督图像去噪实战,没有干净图也能训练模型

PyTorch图像去噪实战:Noise2Noise自监督去噪方法 本文介绍了在没有干净图像的情况下使用Noise2Noise方法进行图像去噪的实战方案。主要内容包括: 问题场景:真实项目中经常只有带噪图像而没有对应的干净图像,如夜间监控、医学影像等场景。 Noise2Noise核心思想:使用同一场景的两张不同噪声版本的图像进行训练(noisy_image_a → noisy_image_b),让模型学习恢复共同的干净结构而非随机噪声。 技术原理:模型通过最小化两个独立噪声图像之间的差异,最终会收敛到真实干净

ai技术增长的博客 500

Easy App Locker - 给你的 mac 应用加锁保护你的隐私

Easy App Locker可以对Mac上的单个应用进行密码保护。维护Mac上的隐私。 像如果你的某个应用存在隐私数据就可以使用该软件将此应用上锁,这样当你的朋友使用你的 mac 时你就不用担心你的隐私被泄露了,nice~

云储储的博客 2891

MATLAB - 利用非线性模型预测控制(Nonlinear MPC)来控制四旋翼飞行器

本示例展示了如何利用非线性模型预测控制(MPC)为四旋翼飞行器设计一个跟踪轨迹的控制器。

机器人控制与仿真应用 4431

DevToysMac终极评测:这款免费Mac开发者神器如何重构你的工作流?

作为一名Mac开发者,你是否经常在多个在线工具网站之间切换,为简单的编码、格式化和转换任务而烦恼?今天我要向大家推荐一款革命性的Mac应用——DevToysMac,这款免费开发者工具集将彻底改变你的工作方式! DevToysMac是Windows平台知名工具DevToys的Mac版本,它将30多种常用开发工具整合在一个优雅的本地应用中。从JSON格式化到二维码生成,从颜色选择到图像优化,这款工具

gitblog_00129的博客 1055

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

终极Mac清理工具Pearcleaner:免费开源让你的Mac重获新生

你是否曾为Mac电脑的存储空间不足而烦恼?删除应用后,那些隐藏的缓存文件、偏好设置和日志记录依然占据着宝贵的硬盘容量。今天,我们为你介绍一款革命性的开源Mac清理工具——Pearcleaner,它能够彻底解决这些困扰,让你的Mac运行如新。 读完本文,你将掌握: - Pearcleaner的核心功能与独特优势 - 简单三步完成深度清理的操作指南 - 不同使用场景下的个性化配置方案 - 验证清理效

gitblog_00716的博客 1157

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何3步搞定Mac微信聊天记录备份:免费开源工具的终极隐私安全方案

还在为微信聊天记录无法永久保存而烦恼吗?担心重要的工作沟通、家庭对话、朋友聊天随着时间流逝而消失?今天我要为你介绍一款Mac平台上的神器——WeChatMsg微信聊天记录备份工具,这是一款完全免费开源的Mac数据导出解决方案,让你轻松实现聊天记录的永久保存和智能分析。无论你是普通用户还是技术爱好者,都能快速掌握这款强大的隐私安全备份工具,真正实现"我的数据我做主"! ## 🎯 痛点引入:数字记

gitblog_00800的博客 66

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

3分钟搞定Mac微信防撤回:不再错过任何重要消息

还在为微信消息被撤回而烦恼吗?无论是商务谈判的关键条款、朋友分享的珍贵信息,还是工作群的重要通知,一旦被撤回就再也无法查看。WeChatIntercept为您提供完美的解决方案——这是一款专业的Mac微信防撤回插件,通过先进的动态库注入技术,在本地实现消息防撤回功能,让您的聊天记录完整无缺。 **核心关键词**:微信防撤回、Mac插件、聊天记录保护、消息拦截、WeChatIntercept

gitblog_00497的博客 199

Mac NTFS读写终极指南:免费开源工具Nigate让U盘不再“只读“

把U盘插进Mac,能读不能写,只能眼睁睁看着文件"进来"却"出不去"——这是很多Mac用户都踩过的坑。我当初在MacBook Air上第一次遇到这问题时,硬盘里装着Windows同事传来的素材,Mac却只给了一个"只读"权限,复制、删除、修改全部灰色不可点。折腾了大半天,试了各种付费软件和临时命令,最后是靠一个免费开源的NTFS读写工具Nigate解决的。这篇文章就把我摸索出的完整经验分享出来,从

gitblog_00938的博客 159

【MAC】DeepSeek 部署到本地

DeepSeek官网地址。

aqqje的博客 1342

Mac微信防撤回解决方案:让重要消息不再消失的新方法

在日常工作和生活中,微信已成为我们沟通的重要工具。无论是客户的需求反馈、同事的项目通知,还是家人朋友的重要信息,一条突然被撤回的消息都可能带来不必要的麻烦和误解。Mac微信防撤回功能正是为解决这一痛点而生,它能在不侵犯隐私的前提下,帮助我们保留那些被对方撤回的关键信息,让沟通更加顺畅和安心。 ## 适用人群画像 不同的用户群体在使用微信防撤回功能时,有着各自的需求和场景: 商务人士:在与客户

gitblog_00739的博客 707

OpenVoice 语音克隆完整指南:从本地部署到多语言音色克隆实操

OpenVoice 是 MIT 与 MyShell 联合开源的即时语音克隆(instant voice cloning)音频基础模型,MIT 许可证、可免费商用。给它一句参考音频,它就能提取音色,再用任意语言的文本生成"这个人在说话"的语音。本文不按步骤流水账走,而是先给你一张能力地图,再逐块拆解:本地部署、克隆核心代码、多语言生成、常见翻车点,最后按场景给出选型结论。 ## 能力地图:这个语音

gitblog_00170的博客 410

怎么在Windows上远程控制Mac电脑?

Windows怎么远程控制Mac电脑?阅读本文,我们将为您介绍如何在Windows上远程控制Mac电脑。

Mr_Moone的博客 2457

还在百度搜格式化转码等在线工具?这款聚合工具箱客户端太全了!开源免费且支持Mac/Window/Linux!

一款全功能开发效率工具,将彻底终结你的工具焦虑!它集成了代码处理、数据转换、网络调试、加解密等100+实用功能

技术Z先生的博客 1241

Mac微信防撤回工具完整配置教程:再也不怕错过重要消息

还在为微信聊天中错过被撤回的重要信息而烦恼吗?在工作中,一个关键的项目信息被撤回可能导致严重后果;在朋友聊天中,有趣的内容转瞬即逝。今天为您介绍的WeChatIntercept是一款专为Mac用户设计的微信防撤回插件,能够实时拦截所有被撤回的消息,让您不再错过任何重要内容。 ## 工具核心价值与优势 WeChatIntercept作为一款本地化处理的微信插件,具有以下突出优势: **隐私安全

gitblog_00068的博客 990

Mac Mouse Fix终极指南:让你的第三方鼠标在Mac上焕发新生

还在为Mac电脑上鼠标卡顿、滚轮不灵敏而烦恼吗?Mac Mouse Fix这款免费开源工具正是你需要的解决方案。作为专为macOS设计的鼠标增强神器,它能轻松修复各种鼠标兼容性问题,让你的第三方鼠标获得媲美苹果官方设备的流畅体验。 ## 🚀 为什么你的Mac需要鼠标优化工具? 如果你使用的是罗技、雷蛇或其他品牌的第三方鼠标,可能会遇到以下常见问题: - 鼠标移动时出现卡顿或跳帧现象 - 侧键

gitblog_00793的博客 1017

如何快速开启Mac微信防撤回功能:终极配置指南

还在为错过重要微信消息而后悔吗?当对方撤回消息时,你是否感到无比遗憾?Mac微信防撤回功能正是为解决这一痛点而生,让重要信息不再从指尖溜走。 ## 🎯 解决方案总览 WeChatIntercept是一款专为Mac用户设计的轻量级工具,通过本地化处理机制拦截被撤回的微信消息。它不会影响微信的正常使用,所有操作都在设备本地完成,确保您的隐私安全得到充分保护。 ## 🚀 极简安装流程 只需三个简

gitblog_00793的博客 772
上一篇: Python进阶:设计模式之迭代器模式
下一篇: GitHub霸榜项目:30万字图解算法题典,超全实用资源,狂揽6000星
codingpy
博客等级 码龄11年 1867粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值