本文记录我收藏的一些 有趣🤡|生产力🆙|独特🧐 的开源工具。基本上都是我正在使用的工具。
终端oh-my-zsh
客制化shell终端。多种主题任选
github
sdkman
linux,macos上的绝佳sdk管理工具
github
scoop
win上的绝佳sdk/软件管理工具
github
lazydocker
管理docker的TUI,支持鼠标点击
github
lazygit
管理git的TUI,支持鼠标点击
github
fd
一个简单,快速,友好的 “find” 命令替代
github
WEB|桌面tabby
ssh客户端。Termius平替
github
excalidraw
手绘风格的开源画板
github
drawio
UML画图工具。Processon平替
github
screenshot-to-code
通过截图生成前端页面代码
github
marktext
markdown编辑器。Typora平替
github
win11 kms激活kms服务器 kms.03k.org 2024.8.30 测试可行
在powershell或cmd中键入:
123slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GXslmgr /skms kms.03k.orgslmgr /ato
概述git checkout的作用通常有两个:
切换到指定分支或者commit
从指定分支或commit中恢复文件到当前工作目录
第一个作用大家都很清楚,通过 git checkout <branch>|<commit id> 很轻松能做到。本文重点记录第二个作用,也就是检出文件的作用。
背景我学习项目的时候通常喜欢在README.md中记录笔记。然后现在我希望将当前项目的版本回退到前一个版本,但是同时我又希望只保留当前版本的 README.md中的新增笔记内容。
如果直接使用 git revert <commit id> 那么会直接恢复到前一个版本,但是随之而来的,我的新增的笔记内容会消失。使用 git reset 也是一样。下方git树图示将展示我希望git树的变化:
1234567891011# 当前git树:a (HEAD -> main)|b|c# 希望的git树:(回退版本,但是保留特定文件)b (HEAD -> main)|c
解决方案通过 git checkout 检出文件的功能,可以实现此目的。
1git che ...
记录一下搭建git服务的过程(简单版)
步骤新建用户第一步,创建一个新的用户,是为了便于权限管理
1adduser git
可以通过 cat /etc/passwd 查看当前系统的用户
添加ssh公钥第二步,将客户端机器的ssh公钥(位于用户目录下的 .ssh 目录中)添加到服务器用户的 .ssh/authorized_keys 中。如果没有的话新建这个文件。
这一步的主要目的是为了能让客户端机器可以通过git访问服务器。
试着通过 ssh git@<服务器ip或域名> 来访问服务器,如果这里公钥添加成功了,是可以直接访问的。
123cd ~mkdir .ssh && cd .sshtouch authorized_keys
初始化一个远端仓库在 ~ 下新建一个远端仓库,通过 git init --bare 来初始化。
123cd ~mkdir test.git && cd test.gitgit init --bare
推送文件到远端仓库在客户端机器上克隆远端仓库:
1git clone git@<ip/domain>:t ...
Linux 和 macOS 各有便捷的包管理工具。在 Ubuntu 上,可以通过 apt 轻松管理软件,使用 sdkman 管理开发环境。在 macOS 上,Homebrew 是一个流行的包管理工具,它同样可以轻松安装和管理各种软件包和开发环境。本文介绍的 Scoop 是一款适用于 Windows 系统的高效包管理工具,不仅能够安装众多软件,还能管理开发环境(如 Java 或 Node.js),从而避免因手动安装软件对系统目录造成污染。简直是强迫症患者福音!🤗
安装在powershell中执行以下命令:
123Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser# 安装scoopInvoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
该命令使设备允许运行安装和管理脚本。这是必需的,因为默认情况下,Windows 10 客户端设备会限制任何 PowerShell 脚本的执行。
scoop会被安装至 C:\Users\<Y ...
本文介绍如何通过nignx实现正向代理。
nginx正向代理需要借助一个模块: ngx_http_proxy_connect_module
该模块的源码地址
我们需要先下载这个源码,然后通过编译的方式将其安装到nginx里。nginx安装方式有很多,比如通过apt直接安装,或者使用docker等。本文使用的nginx安装方式是源码编译安装。
步骤
下载ngx_http_proxy_connect_module模块。
直接clone其github仓库即可。
1git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
下载nginx (v1.24.0)
123wget https://nginx.org/download/nginx-1.24.0.tar.gz# 解压tar -zxvf nginx-1.24.0.tar.gz
安装nginx前,你可能需要一些前置的准备:
安装gcc
1apt install build-essential
安装pcre (正则库)
1apt-get inst ...
本文介绍如何通过frp在自己的云服务器上搭建内网穿透服务,提供对外暴露的web服务。
内网穿透可以将本机的服务通过云服务器拥有的公有ip暴露到公网上供他人访问,应用场景有很多,比如做微信小程序开发时需要调试接口,或者向别人演示自己还未正式上线的小demo等。
在阅读本文内容之前,需要有一些前置准备:
你拥有一个域名
你拥有一台具有公网ip地址的云主机
frpfrp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
下载如果你是win系统,可以通过frp的github releases点击下载文件。
如果你是linux系统,你可以通过wget下载:
1wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
这里以win为例,下载完压缩包解压之后,你会看到如下的目录结构:
12 ...