1. Linux

1.1. Debian12

基础软件

# 安装常用工具
apt install -y vim wget git zsh curl htop sudo unzip screen net-tools proxychains supervisor gcc make openssl p7zip-full iproute2 passwd build-essential inxi iperf

oh-my-zsh 安装

sudo apt install zsh git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="alanpeabody"/' ~/.zshrc

netplan.io 静态 IP 配置文件

network:
  ethernets:
    enp1s0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.10.11/24]
      nameservers:
        addresses:
          - 192.168.10.12
      routes:
        - to: default
          via: 192.168.10.12
          on-link: true

1.2. Supervisor

配置文件

[program:syncmemo]
directory=/opt/syncmemo
command=/opt/syncmemo/venv/bin/gunicorn --bind=127.0.0.1:28083 flaskr:app
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stdout_logfile_maxbytes=16MB
stdout_logfile_backups=2
redirect_stderr=true
# environment=PATH="/opt/syncmemo/venv/bin:%(ENV_PATH)s"
# environment=CONFIG="/opt/syncmemo/config.yaml"
user=app

创建一个无法登录的系统用户如 app 来运行应用程序,这是一种安全最佳实践

useradd --system --no-create-home --shell /usr/sbin/nologin app

2. 公开服务

2.1. 下载加速

https://agent.chancel.me

此服务用于解决国内网络无法顺利连接到 github.com/www.debian.org 等网络状况不佳的网站

目前服务支持加速域名(包含其所有子域名):

  • debian.org
  • github.com
  • githubusercontent.com
  • python.org
  • gravatar.com
  • proxy.golang.org

使用方法:将原域名作为路径,域名替换为 agent.chancel.me 进行,例如:

  • 源连接:https://raw.githubusercontent.com/aristocratos/btop/main/CMakeLists.txt
  • 更改后的链接:https://agent.chancel.me/raw.githubusercontent.com/aristocratos/btop/main/CMakeLists.txt

2.2. PlantUML

https://plantuml.chancel.me

2.3. Json存取

https://api.chancel.me/rest/api/v1/anyjson

POST 请求存储 Json 数据,GET 请求 Json 数据,例如:

# 请求存储
curl -X POST https://api.chancel.me/rest/api/v1/anyjson?id=hello \
-H "Content-Type: application/json" \
-d '{"key": "value"}'

# 成功返回
{
  "status": 1,
  "msg": "Data stored successfully",
  "data": null,
  "version":"V1.0.0"
}

# 取回存储
curl -X GET https://api.chancel.me/rest/api/v1/anyjson?id=hello \
-H "Content-Type: application/json"                                 
{
  "key": "value"
}

2.4. 随机图片

https://api.chancel.me/rest/api/v1/image

GET 请求可获取任意大小图片,但无法超过 1920x1080 大小,图片随机

请求参数

参数名称参数类型是否必须说明
idstring指定 ID 可每次获取相同图片
heightint指定高度(宽度根据图片自适应)
widthint指定宽度(高度根据图片自适应)

2.5. IP查询

https://api.chancel.me/rest/api/v1/ip

GET 请求返回调用者 IP

# 请求
curl https://api.chancel.me/rest/api/v1/ip

# 返回
{
  "status": 1,
  "msg": "Query success",
  "data": {
      "ip": "8.8.8.8"
  },
  "version":"V1.0.0"
}

3. Windows

3.1. Scoop

Scoop 是一个 Windows 平台下的命令行安装工具,它旨在简化软件的安装和管理

安装 Scoop,Scoop 需要 PowerShell 5(或更高版本)和 .NET Framework 4.5(或更高版本),打开 Powershell 进行安装:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex
scoop install git
scoop update

Scoop 采用了多个源的管理方式,例如添加最常用的扩展源:

scoop bucket add extras

例如安装 vscodium :

scoop install vscodium

通过搜索软件来确定源,从而添加源再安装软件,如下:

PS C:\Users\ycs10> scoop search openjdk
Results from other known buckets...
(add them using 'scoop bucket add <bucket name>')

Name                Source
----                ------
openjdk-ea          java
openjdk             java
openjdk10           java
openjdk11           java
openjdk12           java
openjdk13           java
openjdk14           java
openjdk15           java
openjdk16           java
openjdk17           java
openjdk18           java
openjdk19           java
openjdk20           java
openjdk21           java
openjdk22           java
openjdk23           java
openjdk7-unofficial java
openjdk8-redhat-jre java
openjdk8-redhat     java
openjdk9            java

PS C:\Users\ycs10> scoop bucket add java
Checking repo... OK
The java bucket was added successfully.
PS C:\Users\ycs10> scoop install openjdk17
Installing 'openjdk17' (17.0.2-8) [64bit] from 'java' bucket
openjdk-17.0.2_windows-x64_bin.zip (177.6 MB) [==========================================================================================================================================================] 100%
Checking hash of openjdk-17.0.2_windows-x64_bin.zip ... ok.
Extracting openjdk-17.0.2_windows-x64_bin.zip ... done.
Linking ~\scoop\apps\openjdk17\current => ~\scoop\apps\openjdk17\17.0.2-8
Adding ~\scoop\apps\openjdk17\current\bin to your path.
'openjdk17' (17.0.2-8) was installed successfully!

3.2. PowerShell Core

PowerShell Core 和 Windows PowerShell 是两个相关但有区别的工具:

  • Windows PowerShell:仅支持 Windows,基于 .Net Framework,已停止更新,闭源
  • PowerShell Core: 基于 .Net Core 开发的支持跨平台框架,保留大部分 Windows PowerShell 特性,开源

PowerShell Core 是一个跨平台的任务自动化和配置管理框架,它基于 .NET Core 开发,支持在 Windows、macOS 和 Linux 上运行,提供了更广泛的兼容性和更现代化的功能

使用 Scoop 安装 PowerShell Core:

scoop install pwsh

启动 PowerShell Core:

pwsh

3.3. AutoHotKey

AutoHotkey 是一个非常强大的 Windows 自动化工具和脚本语言,允许用户通过热键和脚本来自动执行各种任务

文档:

安装:

scoop update
scoop install autohotkey

例如,用 AutoHotKey 实现 Ctrl + Alt + G 打开 chorme ,如果 Chrome 已经在运行,则激活已存在的窗口:

; 定义 Win + G 快捷键
#NoTrayIcon  ; 不在托盘区域显示图标
; 定义热键,例如 Win + T
^!g::
{
    if WinExist("ahk_exe chrome.exe")  ;
    {
        WinActivate()  ;
    }
    else
    {
        Run("C:\Program Files\Google\Chrome\Application\chrome.exe")
    }
}

将上述内容保存为一个文件 chrome.ahk 并双击执行按下 Ctrl + Alt + G 即可唤醒 chrome

上述的脚本为 AutoHotKey V2.0 以上版本

按下 Win+R 打开运行对话框,输入 shell:common startup ,将写好的 ahk 文件放入其中即可开机自启

3.4. 其它

常用软件列表:

类型名称说明安装方法
压缩软件7z开源的压缩文件格式和相应的压缩工具https://www.7-zip.org/download.html
下载工具Free Download Manager免费下载管理器,支持 BThttps://www.freedownloadmanager.org/
影音工具HandBrake免费开源的视频转码软件https://handbrake.fr/
VLC广受欢迎的开源媒体播放器和跨平台媒体框架https://www.videolan.org/
ISO 工具Rufus创建可引导的 usb 安装介质,高兼容性https://rufus.ie/en/
Ventoy用于引导的 ISO 镜像,在启动后可以选择放在 U 盘内的任意 ISO 镜像https://www.ventoy.net/en/index.html
网络工具Frp开源反向代理工具,建立内网穿透的工具https://github.com/fatedier/frp
GostGO 语言实现的安全隧道,支持正向代理、反向代理等https://github.com/ginuerzh/gost
系统工具NSSM允许将任何可执行文件(如应用程序、脚本等)作为 Windows 服务运行https://nssm.cc/
Syncthing开源的 P2P 文件同步工具https://syncthing.net/downloads/
LocalSend与附近的设备共享文件,免费、开源、跨平台https://localsend.org/
Flameshot开源的截图工具,它提供了丰富的截图功能和编辑选项https://flameshot.org/
开发工具DBeaver开源的跨平台数据库工具,支持 MySQL、PostgreSQL、Oracle、SQL Serverhttps://github.com/JonMagon/KDiskMark
MobaXterm可用于远程访问和管理远程计算机https://mobaxterm.mobatek.net/
Scrcpy开源的跨平台工具,它允许您在计算机上显示并控制安卓设备的屏幕https://github.com/Genymobile/scrcpy
tabby开源的终端模拟器和 SSH 客户端https://github.com/Eugeny/tabby
远程管理RustDeskRustDesk 是一个开源的远程桌面软件,它基于 Rust 编程语言开发而成https://rustdesk.com/
ParsecParsec 是一款用于游戏流媒体和远程游戏的软件https://parsec.app/