Merge of bignose/manual-pages (Linux man pages)

This commit is contained in:
Adam Ierymenko 2016-04-07 12:28:43 -07:00
commit 9b8444fff1
8 changed files with 410 additions and 5 deletions

2
.gitignore vendored
View File

@ -79,3 +79,5 @@ java/build_win32/
windows/WinUI/obj/
windows/WinUI/bin/
windows/ZeroTierOne/Debug/
/doc/*.1
/doc/*.8

View File

@ -9,7 +9,7 @@
* Network Containers for Linux, iOS, Android<br>
Joseph Henry / joseph.henry@zerotier.com
## Contributors
## Third Party Contributors
* A number of fixes and improvements to the new controller, other stuff.<br>
Kees Bos / https://github.com/keesbos/
@ -17,6 +17,9 @@
* Debugging and testing, OpenWRT support fixes.<br>
Moritz Warning / moritzwarning@web.de
* Debian GNU/Linux packaging, manual pages, and license compliance edits.<br>
Ben Finney <ben+zerotier@benfinney.id.au>
* Several others made smaller contributions, which GitHub tracks here:<br>
https://github.com/zerotier/ZeroTierOne/graphs/contributors/
@ -28,7 +31,7 @@
* Home page: http://code.google.com/p/lz4/
* License grant: BSD attribution
* http-parser by Joyent (many authors)
* http-parser by Joyent, Inc. (many authors)
* Files: ext/http-parser/*
* Home page: https://github.com/joyent/http-parser/

View File

@ -0,0 +1 @@
'\" -*- coding: utf-8 -*-

52
doc/module.mk Normal file
View File

@ -0,0 +1,52 @@
# doc/module.mk
# Part of ZeroTier One, a software-defined network layer.
#
# Copyright © 2016 Ben Finney <ben+zerotier@benfinney.id.au>
# This is free software: you may copy, modify, and/or distribute this
# work under the terms of the GNU General Public License, version 3 or
# later as published by the Free Software Foundation.
# No warranty expressed or implied.
# See the file LICENSE.txt for details.
# Makefile module for ZeroTier One documentation.
TEMPFILE_SUFFIX = .tmp
.INTERMEDIATE: ${DOCUMENTATION_DIR}/*${TEMPFILE_SUFFIX}
RST_SUFFIX = .txt
manpage_sections = 1 2 3 4 5 6 7 8
manpage_names += zerotier-one.8
manpage_names += zerotier-idtool.1
manpage_names += zerotier-cli.1
manpage_source_paths = $(addprefix ${DOC_DIR}/, \
$(addsuffix ${RST_SUFFIX},${manpage_names}))
manpage_paths = $(addprefix ${DOC_DIR}/,${manpage_names})
manpage_encoding_stub = ${DOC_DIR}/manpage_encoding_declaration.UTF-8
GENERATED_FILES += $(addprefix ${DOC_DIR}/,\
$(foreach section,${manpage_sections},*.${section}))
RST2MAN = rst2man
RST2MAN_OPTS =
.PHONY: doc
doc: manpages
.PHONY: manpages
manpages: ${manpage_paths}
%.1: %.1${RST_SUFFIX}
$(RST2MAN) "$<" > "$@"${TEMPFILE_SUFFIX}
cat ${manpage_encoding_stub} "$@"${TEMPFILE_SUFFIX} > "$@"
%.8: %.8${RST_SUFFIX}
$(RST2MAN) "$<" > "$@"${TEMPFILE_SUFFIX}
cat ${manpage_encoding_stub} "$@"${TEMPFILE_SUFFIX} > "$@"
# Local variables:
# coding: utf-8
# mode: makefile
# End:
# vim: fileencoding=utf-8 filetype=make :

109
doc/zerotier-cli.1.txt Normal file
View File

@ -0,0 +1,109 @@
============
zerotier-cli
============
--------------------------------------------------
management interface for ZeroTier One peer process
--------------------------------------------------
:Author: |author|
:Date: 2016-03-04
:Copyright:
Copyright © 2016 ZeroTier Inc.
:Manual section: 1
:Manual group: ZeroTier
.. |command| replace:: **zerotier-cli**
.. |license| replace::
`GNU General Public License, version 3 or later
<https://www.gnu.org/licenses/#GPL>`__
SYNOPSIS
========
| |command| [ **-j** ] [ **-D** `HOMEDIR` ] [ **-p** `PORT` ] [ **-t** `AUTH_TOKEN` ] \
`command` [ `COMMAND_ARG` ]
DESCRIPTION
===========
|command| is a tool to manage the running **zerotier-one**\ (8)
process.
*ZeroTier* is a peer-to-peer virtual network. Its “virtual layer 1”
(VL1) is implemented in the communication between ZeroTier One peers.
This provides the OSI layer 1 functionality on which to build further
network services.
COMMANDS
========
|command| **info**
*FIXME*: display status info
|command| **listpeers**
*FIXME*: list all peers
|command| **listnetworks**
*FIXME*: list all networks
|command| **join** `NETWORK`
*FIXME*: join the network `NETWORK`
|command| **leave** `NETWORK`
*FIXME*: leave the network `NETWORK`
FILES
=====
The |command| process will discover the running **zerotier-one**\ (8)
process by examining the specified `HOMEDIR` directory (default:
``/var/lib/zerotier-one``).
SEE ALSO
========
* **zerotier-one**\ (8)
* ZeroTier One documentation:
* Product page `<https://www.zerotier.com/product-one.shtml>`__.
* Configuration guide `<https://www.zerotier.com/config.shtml>`__.
* Technical FAQ `<https://www.zerotier.com/tech_faq.shtml>`__.
HISTORY
=======
The |command| program is developed by ZeroTier Inc.
This manual page was written by |author|. This is free software: you
may copy, modify and/or distribute this work under the terms of the
|license| as published by the Free Software Foundation. No warranty
expressed or implied.
.. |author| replace:: |authorname| |authoremail|
.. |authorname| replace:: Ben Finney
.. |authoremail| replace:: <ben+zerotier@benfinney.id.au>
..
Local variables:
mode: rst
coding: utf-8
time-stamp-format: "%:y-%02m-%02d"
time-stamp-start: "^:Date:[ ]+"
time-stamp-end: "$"
time-stamp-line-limit: 20
End:
vim: filetype=rst fileencoding=utf-8 :

115
doc/zerotier-idtool.1.txt Normal file
View File

@ -0,0 +1,115 @@
===============
zerotier-idtool
===============
----------------------------------------------
identity management tool for ZeroTier One peer
----------------------------------------------
:Author: |author|
:Date: 2016-03-04
:Copyright:
Copyright © 2016 ZeroTier Inc.
:Manual section: 1
:Manual group: ZeroTier
.. |command| replace:: **zerotier-idtool**
.. |license| replace::
`GNU General Public License, version 3 or later
<https://www.gnu.org/licenses/#GPL>`__
SYNOPSIS
========
| |command| **generate** [ `SECRET` ] [ `PUBLIC` ]
| |command| **validate** `SECRET`
| |command| **getpublic** `SECRET`
| |command| **sign** `SECRET`
| |command| **verify** `IDENTITY` `FILE` `SIGNATURE`
| |command| **mkcom** `SECRET` `ID`\ **,**\ `VALUE`\ **,**\ `MAX_DELTA` [ ... ] `IDENTITY`
DESCRIPTION
===========
|command| is a tool to manage identities for the **zerotier-one**\ (8)
program.
*ZeroTier* is a peer-to-peer virtual network. Its “virtual layer 1”
(VL1) is implemented in the communication between ZeroTier One peers.
This provides the OSI layer 1 functionality on which to build further
network services.
COMMANDS
========
|command| **generate** [ `SECRET` ] [ `PUBLIC` ]
*FIXME*: generate an identity
|command| **validate** `SECRET`
*FIXME*: validate a secret identity
|command| **getpublic** `SECRET`
*FIXME*: get a public identity
|command| **sign** `SECRET`
*FIXME*: sign a secret identity
|command| **verify** `IDENTITY` `FILE` `SIGNATURE`
*FIXME*: verify a signature
|command| **mkcom** `SECRET` `ID`\ **,**\ `VALUE`\ **,**\ `MAX_DELTA` [ ... ] `IDENTITY`
*FIXME*: mkcom
FILES
=====
*FIXME*: how does the process know its home directory?
SEE ALSO
========
* **zerotier-one**\ (8)
* ZeroTier One documentation:
* Product page `<https://www.zerotier.com/product-one.shtml>`__.
* Configuration guide `<https://www.zerotier.com/config.shtml>`__.
* Technical FAQ `<https://www.zerotier.com/tech_faq.shtml>`__.
HISTORY
=======
The |command| program is developed by ZeroTier Inc.
This manual page was written by |author|. This is free software: you
may copy, modify and/or distribute this work under the terms of the
|license| as published by the Free Software Foundation. No warranty
expressed or implied.
.. |author| replace:: |authorname| |authoremail|
.. |authorname| replace:: Ben Finney
.. |authoremail| replace:: <ben+zerotier@benfinney.id.au>
..
Local variables:
mode: rst
coding: utf-8
time-stamp-format: "%:y-%02m-%02d"
time-stamp-start: "^:Date:[ ]+"
time-stamp-end: "$"
time-stamp-line-limit: 20
End:
vim: filetype=rst fileencoding=utf-8 :

119
doc/zerotier-one.8.txt Normal file
View File

@ -0,0 +1,119 @@
============
zerotier-one
============
-------------------------------------------------
end-point peer for ZeroTier virtual network layer
-------------------------------------------------
:Author: |author|
:Date: 2016-03-04
:Copyright:
Copyright © 2016 ZeroTier Inc.
:Manual section: 8
:Manual group: ZeroTier
.. |command| replace:: **zerotier-one**
.. |license| replace::
`GNU General Public License, version 3 or later
<https://www.gnu.org/licenses/#GPL>`__
SYNOPSIS
========
| |command| [ **-U** ] [ **-p** `PORT` ] [ **-d** ] [ `HOMEDIR` ]
| |command| **-i** [ `IDTOOL_ARG` ... ]
| |command| **-q** [ `QUERY_ARG` ... ]
| |command| **-h**
| |command| **-v**
DESCRIPTION
===========
**ZeroTier One** is the end-point peer for the ZeroTier
software-defined network layer.
*ZeroTier* is a peer-to-peer virtual network. Its “virtual layer 1”
(VL1) is implemented in the communication between ZeroTier One peers.
This provides the OSI layer 1 functionality on which to build further
network services.
OPTIONS
=======
**-h**
Display concise help on command usage.
**-v**
Display program version.
**-U**
Run as unprivileged user (skip privilege check).
**-p** `PORT`
Communicate on network port `PORT` (either TCP or UDP).
**-d**
Become a conventional daemon process. Only available on Unix-like
operating systems.
**-i** [ `IDTOOL_ARG` ... ]
Generate and manage identities.
This is equivalent to running the **zerotier-idtool** command with
all the specified `IDTOOL_ARG` parameters.
**-q** [ `QUERY_ARG` ... ]
Query the running ZeroTier One process.
This is equivalent to running the **zerotier-cli** command with
all the specified `QUERY_ARG` parameters.
FILES
=====
The |command| process will store its state in files within the
specified `HOMEDIR` directory (default: ``/var/lib/zerotier-one``).
SEE ALSO
========
* **zerotier-idtool**\ (1), **zerotier-cli**\ (1)
* ZeroTier One documentation:
* Product page `<https://www.zerotier.com/product-one.shtml>`__.
* Configuration guide `<https://www.zerotier.com/config.shtml>`__.
* Technical FAQ `<https://www.zerotier.com/tech_faq.shtml>`__.
HISTORY
=======
The |command| program is developed by ZeroTier Inc.
This manual page was written by |author|. This is free software: you
may copy, modify and/or distribute this work under the terms of the
|license| as published by the Free Software Foundation. No warranty
expressed or implied.
.. |author| replace:: |authorname| |authoremail|
.. |authorname| replace:: Ben Finney
.. |authoremail| replace:: <ben+zerotier@benfinney.id.au>
..
Local variables:
mode: rst
coding: utf-8
time-stamp-format: "%:y-%02m-%02d"
time-stamp-start: "^:Date:[ ]+"
time-stamp-end: "$"
time-stamp-line-limit: 20
End:
vim: filetype=rst fileencoding=utf-8 :

View File

@ -17,6 +17,9 @@
# clean: removes all built files, objects, other trash
#
GENERATED_FILES :=
DOC_DIR = doc
# Automagically pick clang or gcc, with preference for clang
# This is only done if we have not overridden these with an environment or CLI variable
ifeq ($(origin CC),default)
@ -87,7 +90,7 @@ endif
#LDFLAGS=
#STRIP=echo
all: one
all: one doc
one: $(OBJS) service/OneService.o one.o osdep/LinuxEthernetTap.o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o zerotier-one $(OBJS) service/OneService.o one.o osdep/LinuxEthernetTap.o $(LDLIBS)
@ -115,8 +118,7 @@ installer: one FORCE
./ext/installfiles/linux/buildinstaller.sh
clean: FORCE
rm -rf *.so *.o netcon/*.a node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/lz4/*.o ext/json-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest zerotier-netcon-service build-* ZeroTierOneInstaller-* *.deb *.rpm .depend netcon/.depend
# Remove files from all the funny places we put them for tests
rm -rf ${GENERATED_FILES} *.so *.o netcon/*.a node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/lz4/*.o ext/json-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest zerotier-netcon-service build-* ZeroTierOneInstaller-* *.deb *.rpm .depend netcon/.depend
find netcon -type f \( -name '*.o' -o -name '*.so' -o -name '*.1.0' -o -name 'zerotier-one' -o -name 'zerotier-cli' -o -name 'zerotier-netcon-service' \) -delete
find netcon/docker-test -name "zerotier-intercept" -type f -delete
@ -129,4 +131,6 @@ official: FORCE
make -j 4 ZT_OFFICIAL_RELEASE=1 one
make ZT_OFFICIAL_RELEASE=1 installer
include ${DOC_DIR}/module.mk
FORCE: