Skip to content

Commit

Permalink
Merge pull request #4 from waitspring/tcping6
Browse files Browse the repository at this point in the history
create tcping6.c
  • Loading branch information
waitspring authored Jan 6, 2023
2 parents b3476c4 + 6f7b433 commit eb63efb
Show file tree
Hide file tree
Showing 9 changed files with 422 additions and 9 deletions.
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<h1 align="center">Morning Tavern</h1>
<h4 align="center">放置一些终端小工具与代码包</h4>

[![Version](https://img.shields.io/badge/Version-1.0.1-207F4C)](https://github.com/waitspring/morning-tavern)
[![Version](https://img.shields.io/badge/Version-1.0.2-207F4C)](https://github.com/waitspring/morning-tavern)
[![License](https://img.shields.io/badge/License-Apache%202.0-373834)](https://github.com/waitspring/morning-tavern/blob/master/license)

</div>
2 changes: 1 addition & 1 deletion static/morning-tavern/tcping/configure.ac
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
AC_PREREQ([2.69])
AC_INIT([morning-tavern], [1.0.1], [[email protected]])
AC_INIT([morning-tavern], [1.0.2], [[email protected]])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([src/tcping.c])
AC_CONFIG_HEADERS([config.h])
Expand Down
4 changes: 4 additions & 0 deletions static/morning-tavern/tcping6/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
AUTOMAKE_OPTIONS = foreign
bin_PROGRAMS = tcping6
tcping6_SOURCES = src/tcping6.c

16 changes: 16 additions & 0 deletions static/morning-tavern/tcping6/configure.ac
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
AC_PREREQ([2.69])
AC_INIT([morning-tavern], [1.0.2], [[email protected]])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([src/tcping6.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])

AC_PROG_CC

AC_CHECK_HEADERS([arpa/inet.h netdb.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])

AC_FUNC_ERROR_AT_LINE
AC_CHECK_FUNCS([gettimeofday memset socket strrchr])

AC_OUTPUT

11 changes: 10 additions & 1 deletion static/spec/morning-tavern.spec
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: morning-tavern
Version: 1.0.1
Version: 1.0.2
Release: 1%{?dist}
Summary: A good repository for bash tools

Expand All @@ -23,20 +23,29 @@ A good repository for bash tools
cd %{_builddir}/%{name}-%{version}/tcping
%configure
make CFLAGS=-std=c99 %{?_smp_mflags}
cd %{_builddir}/%{name}-%{version}/tcping6
%configure
make CFLAGS=-std=c99 %{?_smp_mflags}

%install
mkdir -p %{buildroot}%{_bindir}
install -m 0775 %{_builddir}/%{name}-%{version}/searchme/searchme %{buildroot}%{_bindir}/searchme
install -m 0775 %{_builddir}/%{name}-%{version}/tcping/tcping %{buildroot}%{_bindir}/tcping
install -m 0775 %{_builddir}/%{name}-%{version}/tcping6/tcping6 %{buildroot}%{_bindir}/tcping6
mkdir -p %{buildroot}%{_sysconfdir}
install -m 0664 %{_builddir}/%{name}-%{version}/searchme/searchme.conf %{buildroot}%{_sysconfdir}/searchme.conf

%files
%{_bindir}/searchme
%{_sysconfdir}/searchme.conf
%{_bindir}/tcping
%{_bindir}/tcping6

%changelog
* Fri Jan 07 2023 waitspring <[email protected]>
- Create the package for tcping6 command
- Create the package for tcping command
- Create the package for searchme command
* Fri Dec 30 2022 waitspring <[email protected]>
- Create the package for tcping command
- Create the package for searchme command
Expand Down
20 changes: 15 additions & 5 deletions static/spec/readme.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,33 @@
# RPM 仓库结构

`/srv/morning-tavern-1.0.1` 的目录结构如下:
`/srv/morning-tavern-1.0.2` 的目录结构如下:

```
/srv/morning-tavern-1.0.1
/srv/morning-tavern-1.0.2
├──── searchme
│ ├──── searchme
│ └──── searchme.conf
└──── tcping
├──── tcping
│ ├──── aclocal.m4
│ ├──── config.h.in
│ ├──── configure
│ ├──── configure.ac
│ ├──── Makefile.am
│ ├──── Makefile.in
│ └──── src
│ ├──── tcping
│ └──── tcping.c
└──── tcping6
├──── aclocal.m4
├──── config.h.in
├──── configure
├──── configure.ac
├──── Makefile.am
├──── Makefile.in
└──── src
├──── tcping
└──── tcping.c
├──── tcping6
└──── tcping6.c
```

Expand Down
2 changes: 1 addition & 1 deletion tcping/tcping.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ int main(int argc, char *argv[]) {
char *parameter;
char ip[256];
char po[256];
char *ipp; // 指向清洗过的 IPv4/IPv6 地址
char *ipp; // 指向清洗过的 IPv4 地址
char *pop; // 指向清洗过的端口号

struct sockaddr_in addr;
Expand Down
37 changes: 37 additions & 0 deletions tcping6/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Tcping6

### 一、使用说明

**Tcping6** 小工具在 Github 开源社区有很多作者实现过, 但从使用体验的层面看始终存在各种小瑕疵

**Tcping6** 小工具由本人重构之后, 具备下述特点:

+ 允许在 `Shell` 脚本内配合 `IFS` 命令与循环结构使用
+ 允许使用静默工作模式
+ 根据执行结果的不同有不同的退出码:
* TCP 连接全部建立成功使用数值 0 作为退出码
* TCP 连接部分建立成功使用数值 1 作为退出码
* TCP 连接全部建立失败使用数值 2 作为退出码

### 二、使用方法

**Tcping6** 小工具的安装方法说明如下:

```bash
$ gcc --std=c99 -o /usr/bin/tcping6 /path/to/tcping6.c
$ chmod a+x /usr/bin/tcping6
```

**Tcping6** 小工具的使用方法说明如下:

```bash
$ tcping6 [option...] socket

-c, --count=TIMES # 配置命令发起 TIMES 次 TCP 连接, 默认值为 86400 (保持长 TCPING)
-i, --interval=NUM # 配置两次连接中的停顿时间为 NUM 秒钟, 默认值为 1 秒钟
-q, --quiet # 开启静默执行模式, 命令屏蔽正常输出
-h, --help # 列出命令的帮助信息
-v, --version # 列出命令的版本信息

```

Loading

0 comments on commit eb63efb

Please sign in to comment.