GaGa

One GaGa, One World !

update-rc.d 是 Ubuntu(以及其他基于 Debian 的系统)中用于管理系统服务启动脚本的工具,主要用于控制 System V 初始化脚本(SysVinit)的启用、禁用或配置服务的启动顺序和运行级别。

  • ubuntu-16-(之前系统的,传统systemV管理方式)

1. 什么是 update-rc.d

Read more »

adi20raj/CSV2JSON 是一个托管在 GitHub 上的开源项目,由 Aditya Raj 创建,用 Golang 编写,旨在将 CSV(逗号分隔值)文件转换为 JSON(JavaScript 对象表示法)格式。这个轻量级工具专注于处理结构化的 CSV 数据,包括复杂的嵌套对象和数组情况,并将其转化为格式清晰的 JSON 输出。

CSV2JSON

主要功能

Read more »

mpssh(Mass Parallel SSH)是一个并行 SSH 工具,方便同时对多台服务器执行命令。它对批量管理服务器非常实用,尤其适用于运维场景。

GitHub 仓库
https://github.com/ndenev/mpssh

代码特点

  • 使用 C 编写,性能轻量。
  • 支持 SSH 密钥验证。
  • 输出日志支持自定义路径。
Read more »

开源(Open Source)的意义在于通过公开软件的源代码,允许任何人自由使用、修改和分发,从而推动技术进步与社会协作

推动技术进步、社会协作


  1. 促进创新与技术发展
    开源让开发者可以站在“巨人的肩膀上”,基于现有代码快速构建新功能或改进产品。例如,Linux内核和Apache服务器等开源项目的广泛使用,催生了无数现代互联网技术。公开透明的代码也便于发现和修复漏洞,提升软件质量。

  2. 降低成本与壁垒
    开源软件通常免费,降低了个人、初创公司和中小企业的技术获取成本。比如,使用开源的数据库MySQL或编程框架TensorFlow,企业无需支付高昂的许可费用即可开发复杂应用。

  3. 社区协作与知识共享
    开源强调社区驱动开发,全球开发者共同贡献代码、文档和创意,形成一种去中心化的协作模式。这种模式不仅加速了项目迭代,还促进了知识传播。例如,GitHub上的开源项目让新手通过参与学习编程,老手通过贡献提升影响力。

  4. 透明与可控性
    开源代码对所有人可见,用户可以检查是否存在恶意代码或后门,增强了软件的安全性和信任度。同时,企业或个人可以根据需求定制软件,避免被商业软件的“黑箱”限制。

  5. 社会与文化价值
    开源体现了一种开放、包容的哲学,鼓励分享而非垄断。它在教育领域让学生免费接触先进工具,在发展中国家帮助缩小数字鸿沟。比如,Mozilla Firefox的开源模式为用户提供了隐私优先的浏览器选择。

Read more »

目的

synology nas上部署wireguard当做server端,mac部署wireguard当做client端,实现网络互通。(远程访问私有nas资源/服务)

env

  • synology-ds920+
  • mac
  • wireguard(p2p)
Read more »

wg-quickWireGuard 的一个便捷脚本,用于快速配置和管理 WireGuard VPN 连接。它简化了手动配置网络接口和 WireGuard 的过程

用法

wg-quick cmd help

➜  ~ wg-quick 
Usage:
    wg-quick [ up | down | save | strip ] [ CONFIG_FILE | INTERFACE ]


  CONFIG_FILE is a configuration file, whose filename is the interface name
  followed by `.conf'. Otherwise, INTERFACE is an interface name, with
  configuration found at:
  /etc/wireguard/INTERFACE.conf /usr/local/etc/wireguard/INTERFACE.conf.
  It is to be readable by wg(8)'s `setconf' sub-command, with the exception
  of the following additions to the [Interface] section, which are handled
  by wg-quick:

  - Address: may be specified one or more times and contains one or more
    IP addresses (with an optional CIDR mask) to be set for the interface.
  - DNS: an optional DNS server to use while the device is up.
  - MTU: an optional MTU for the interface; if unspecified, auto-calculated.
  - Table: an optional routing table to which routes will be added; if
    unspecified or `auto', the default table is used. If `off', no routes
    are added. Besides `auto' and `off', only `main' is supported on
    this platform.
  - PreUp, PostUp, PreDown, PostDown: script snippets which will be executed
    by bash(1) at the corresponding phases of the link, most commonly used
    to configure DNS. The string `%i' is expanded to INTERFACE.
  - SaveConfig: if set to `true', the configuration is saved from the current
    state of the interface upon shutdown.

See wg-quick(8) for more info and examples.
Read more »

在 WireGuard 项目中,wgwg-quick 是两个核心的用户空间工具,用于管理和配置 WireGuard VPN。它们都属于 wireguard-tools 软件包,但功能和使用场景有所不同。


1. wg 介绍

wg 是 WireGuard 的基础命令行工具,用于直接管理 WireGuard 接口和对等方(peers)。它是一个低级工具,提供了对 WireGuard 内核模块的细粒度控制,适合需要手动管理或脚本化的用户

Read more »

WireGuard 的架构原理是其成功的关键,它结合了现代加密技术、简洁的设计和高效的网络处理方式。


1. 总体架构

WireGuard 是一种基于内核的 VPN 协议,运行在网络层(OSI 模型的第 3 层),通过创建虚拟网络接口(通常命名为 wg0 或类似名称)来传输加密的 IP 数据包。它的设计灵感来源于SSH 和其他现代安全工具,强调简单性、高性能和安全性。

Read more »

WireGuard 是一种现代、轻量级且高效的 VPN(虚拟专用网络)协议,以其简单性和高性能而闻名。它最初由 Jason A. Donenfeld 开发,并在 2020 年正式被集成到 Linux 内核中(从内核版本5.6 开始)。

WireGuard 的设计目标是提供易于配置、安全性强且速度快的网络隧道解决方案,适用于各种场景,例如远程访问、安全通信或绕过地理限制。


02e91903f5df8948a446501d9168e71a.png

Read more »

Shell 函数介绍

在 shell 脚本中,函数是一段可重用的代码块,用于封装特定的功能。使用函数可以提高代码的可读性、模块化和维护性。shell 函数类似于其他编程语言中的函数,可以接收参数、执行操作并返回结果。

定义方式

  1. function 关键字

    1
    2
    3
    4
    5
    6
    function 函数名() {
    # 函数体

    # 返回值
    [ return int ]
    }
  2. 不带 function 关键字

    1
    2
    3
    4
    5
    6
    7
    函数名() {
    # 函数体

    # 返回值
    [ return int ] //退出函数
    exit int //退出脚本
    }
Read more »
0%