最近公司准备将 WAF4 代码开源

这里将学习 github 步骤及进度记录一下(只记录必要过程)

环境

  1. 创建github账户

  2. 客户端安装git

  3. 初步设置 git

    $ git config --global user.name "xxxx"
    $ git config --global user.email "yyyy@gmail.com"
    
  4. 获取ssh公钥

    cd ~/.ssh
    ssh-keygen -t rsa -C “yyyy@gmail.com”
    

    输入要生成密钥文件的名称与密码(也可连续三个回车键)

    此时生成密钥文件和公钥文件(.pub)

    注:若自定义密钥文件名称,而不是敲回车默认

    则需 ssh-add ~/.ssh/y_rsa (y_rsa为密钥文件名称)

    ssh-add 报错 Could not open a connection to your authentication agent

    则需执行 ssh-agent bash,再执行 ssh-add

    不然 ssh 连接 github 时找不到密钥文件会提示 Permission denied (publickey).

  5. GITHUB 添加 SSHKEY

    setting –> SSH and GPG keys –> New SSH keys

  6. 客户端测试

    ssh -T ​git@github.com
    

    成功则提示:Hi name! You're sucessfully ...

    若提示 Permission denied (publickey).

    可通过 ssh -vT git@github.com 查看详细错误信息

    我这边报错显示,没有找到密钥文件,通过上面 4 中的方法得到解决

项目

  1. 创建新的项目test(远程仓库)

    github 上 Create a new repository

    项目名称为 test

    项目路径为 https://github.com/290557551/test

  2. 本地添加 github 远程仓库

    2.1 git clone

     git clone git@github.com:290557551/test.git
     cd test
     git remote -v
         origin  git@github.com:290557551/test.git​ (fetch)
         origin  git@github.com:290557551/test.git​ (push)
     git branch
         * master
    

    2.2 手动添加

    若不用git clone,则手动添加

     mkdir  test
     cd test
     git init
     git remote add origin git@github.com:290557551/test.git
     git push origin master
    

    到此已经将本地仓库与远程仓库连接起来,并可以上传或修改代码了​

  3. 修改

    git add  用于添加文件或目录
    git status 查看当前状态
    git commit -a -m "提交的描述信息"  将变动提交到仓库
    git push origin master 将变动提交至 github
    

随记

3.1 github markdown table

    dog | bird | cat

    ----|------|----

    foo | foo  | foo

    bar | bar  | bar

    baz | baz  | baz
  • ipset

    ipset 安装参考文档(待整理)ipset 官方文档ipset 7.1版本链接使用参考文档 简单的流程可以用这几条命令概括使用 ipset 和 iptables 进行 IP 封禁的流程 ipset create blacklist ...

    ipset
  • 删除非目录文件

    linux 下删除一个目录下所有的隐藏文件和非目录文件 前言在 alpine 基础上编译 OpenWAF,想要达到最简,删除无用文件。 亮点rm -rf `ls -Fa | grep '^\.\w'` -- 删除隐...

    删除非目录文件
  • 在 alpine 上编译 openssl 遇到的问题

    alpine 上编译 openssl (v1.1.1) 遇到 ucontext 报错 前言今天在 alpine 基础上编译 openwaf,编到 openssl 时,报 ucontext 相关错误。 ucontext 报错编译 ope...

    在 alpine 上编译 openssl 遇到的问题
  • 批量修改或添加文件后缀名

    前言常见的是对不同文件名进行文件后缀名修改。但今天遇到同一文件名的情况。 常见windows 或 Linux 命令: ren *.jpg *.bmp # 将 jpg 后缀改为 bmp 如:1.jpg 2.txt 改后为:1.bm...

    批量修改或添加文件后缀名
  • hyperscan 安装

    1. 前言本文在 Debian8 中安装 hyperscan 5.0.0内存至少 2 G,不然编译慢而且失败 2. 依赖2.1 C/C++编译器hyperscan使用C++开发,且需要C99和C++11支持,目前支持的编译器有 GC...

    hyperscan 安装
  • linux 查看系统开机时间

    有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间;有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间;下面总结一些查看Linux开机关机时间的方法(非常全面) 1. who 命令查看who ...

    linux 查看系统开机时间
  • GDB 多线程 (non-stop)

    1. 背景这几天在扩展 ngx_lua 模块,但 gdb 定位时,提示:Thread debugging using libthread_db enabled。 2. GDB non-stop 配置把以下3行添加到 ~/.gdbini...

    GDB 多线程 (non-stop)
  • suricata 从 0 开始

    背景OpenWAF 是在 openresty 基础上发布的,但安全不仅仅是针对 HTTP 协议的防护,而是全方位立体化的防护。因此,为了防护更多的协议,开始接触 suricata,用熟后,争取将 OpenWAF 集成到 suricat...

    suricata 从 0 开始
  • clear: command not found 命令无法找到

    1. 安装 ncurses-binsudo apt-get install ncurses-bin 此时尝试执行 ‘clear’ 命令,若失败,执行第二步(重新安装 ncurses-bin) 2. 重新安装 ncurses-binsu...

    clear: command not found 命令无法找到
  • svn 游记

    前言公司之前用 svn 管理项目代码,我一直用的 windows 版本 近期想要搭建知识库云平台,需要在 linux 上使用 svn 管理代码,因此做些笔记 直接使用公司搭建好的 svn服务器 1. 客户端安装yum install ...

    svn 游记