mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-29 07:30:11 +08:00
add 3proxy_crypt man
This commit is contained in:
parent
ada24a98ec
commit
57d687fcb8
@ -705,8 +705,16 @@ if(NOT WIN32)
|
|||||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/man/3proxy.8"
|
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/man/3proxy.8"
|
||||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man8
|
DESTINATION ${CMAKE_INSTALL_MANDIR}/man8
|
||||||
)
|
)
|
||||||
# Module man pages — installed with binary prefix
|
# 3proxy_crypt man page — no prefix (already has 3proxy_)
|
||||||
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/man/3proxy_crypt.8")
|
||||||
|
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/man/3proxy_crypt.8"
|
||||||
|
DESTINATION ${CMAKE_INSTALL_MANDIR}/man8
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
# Module man pages — installed with binary prefix only if module is built
|
||||||
foreach(_MAN proxy socks pop3p smtpp ftppr tcppm udppm tlspr)
|
foreach(_MAN proxy socks pop3p smtpp ftppr tcppm udppm tlspr)
|
||||||
|
string(TOUPPER "${_MAN}" _MODULE_OPT)
|
||||||
|
if(3PROXY_BUILD_${_MODULE_OPT})
|
||||||
set(_MAN_SRC "${CMAKE_CURRENT_SOURCE_DIR}/man/${_MAN}.8")
|
set(_MAN_SRC "${CMAKE_CURRENT_SOURCE_DIR}/man/${_MAN}.8")
|
||||||
if(EXISTS "${_MAN_SRC}")
|
if(EXISTS "${_MAN_SRC}")
|
||||||
install(FILES "${_MAN_SRC}"
|
install(FILES "${_MAN_SRC}"
|
||||||
@ -714,6 +722,7 @@ if(NOT WIN32)
|
|||||||
RENAME "${3PROXY_BINARY_PREFIX}${_MAN}.8"
|
RENAME "${3PROXY_BINARY_PREFIX}${_MAN}.8"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@ -68,6 +68,7 @@ install: all
|
|||||||
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
||||||
if [ -f man/$$f.8 ]; then install -m 644 man/$$f.8 $(MANDIR)/man8/$(PREFIX)$$f.8; fi; \
|
if [ -f man/$$f.8 ]; then install -m 644 man/$$f.8 $(MANDIR)/man8/$(PREFIX)$$f.8; fi; \
|
||||||
done
|
done
|
||||||
|
install -m 644 man/3proxy_crypt.8 $(MANDIR)/man8
|
||||||
install -d $(MANDIR)/man5
|
install -d $(MANDIR)/man5
|
||||||
install -m 644 man/3proxy.cfg.5 $(MANDIR)/man5/3proxy.cfg.5
|
install -m 644 man/3proxy.cfg.5 $(MANDIR)/man5/3proxy.cfg.5
|
||||||
echo Run /usr/local/3proxy/bin/add3proxyuser.sh to add \'admin\' user
|
echo Run /usr/local/3proxy/bin/add3proxyuser.sh to add \'admin\' user
|
||||||
|
|||||||
@ -135,6 +135,7 @@ install-man:
|
|||||||
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
||||||
if [ -f man/$$f.8 ]; then $(INSTALL_DATA) man/$$f.8 $(MANDIR8)/$(PREFIX)$$f.8; fi; \
|
if [ -f man/$$f.8 ]; then $(INSTALL_DATA) man/$$f.8 $(MANDIR8)/$(PREFIX)$$f.8; fi; \
|
||||||
done
|
done
|
||||||
|
$(INSTALL_DATA) man/3proxy_crypt.8 $(MANDIR8)
|
||||||
|
|
||||||
install-init:
|
install-init:
|
||||||
$(INSTALL_BIN) -d $(INITDDIR)
|
$(INSTALL_BIN) -d $(INITDDIR)
|
||||||
|
|||||||
@ -70,6 +70,7 @@ install: all
|
|||||||
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
||||||
if [ -f man/$$f.8 ]; then install -m 644 man/$$f.8 $(MANDIR)/man8/$(PREFIX)$$f.8; fi; \
|
if [ -f man/$$f.8 ]; then install -m 644 man/$$f.8 $(MANDIR)/man8/$(PREFIX)$$f.8; fi; \
|
||||||
done
|
done
|
||||||
|
install -m 644 man/3proxy_crypt.8 $(MANDIR)/man8
|
||||||
install -d $(MANDIR)/man5
|
install -d $(MANDIR)/man5
|
||||||
install -m 644 man/3proxy.cfg.5 $(MANDIR)/man5/3proxy.cfg.5
|
install -m 644 man/3proxy.cfg.5 $(MANDIR)/man5/3proxy.cfg.5
|
||||||
echo Run /usr/local/3proxy/bin/add3proxyuser.sh to add \'admin\' user
|
echo Run /usr/local/3proxy/bin/add3proxyuser.sh to add \'admin\' user
|
||||||
|
|||||||
17
debian/3proxy.manpages
vendored
17
debian/3proxy.manpages
vendored
@ -1,10 +1,11 @@
|
|||||||
man/3proxy.8
|
man/3proxy.8
|
||||||
man/3proxy.cfg.5
|
man/3proxy.cfg.5
|
||||||
man/ftppr.8
|
man/3proxy_ftppr.8
|
||||||
man/pop3p.8
|
man/3proxy_pop3p.8
|
||||||
man/tlspr.8
|
man/3proxy_tlspr.8
|
||||||
man/proxy.8
|
man/3proxy_proxy.8
|
||||||
man/smtpp.8
|
man/3proxy_smtpp.8
|
||||||
man/socks.8
|
man/3proxy_socks.8
|
||||||
man/tcppm.8
|
man/3proxy_tcppm.8
|
||||||
man/udppm.8
|
man/3proxy_udppm.8
|
||||||
|
man/3proxy_crypt.8
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
<a href="howtoe.html">How To (English, very incomplete)</a><br>
|
<a href="howtoe.html">How To (English, very incomplete)</a><br>
|
||||||
<a href="howtor.html">How To (Russian)</a><br>
|
<a href="howtor.html">How To (Russian)</a><br>
|
||||||
<h3>Man pages:</h3>
|
<h3>Man pages:</h3>
|
||||||
|
<br><A HREF="man8/3proxy_crypt.8.html">3proxy_crypt.8</A>
|
||||||
<br><A HREF="man8/3proxy.8.html">3proxy.8</A>
|
<br><A HREF="man8/3proxy.8.html">3proxy.8</A>
|
||||||
<br><A HREF="man8/ftppr.8.html">ftppr.8</A>
|
<br><A HREF="man8/ftppr.8.html">ftppr.8</A>
|
||||||
<br><A HREF="man8/pop3p.8.html">pop3p.8</A>
|
<br><A HREF="man8/pop3p.8.html">pop3p.8</A>
|
||||||
|
|||||||
@ -195,7 +195,7 @@ to <b>3proxy@3proxy.org</b></p>
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<p style="margin-left:6%; margin-top: 1em">3proxy.cfg(3),
|
<p style="margin-left:6%; margin-top: 1em">3proxy.cfg(5),
|
||||||
proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8),
|
proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8),
|
||||||
kill(1), syslogd(8), <br>
|
kill(1), syslogd(8), <br>
|
||||||
https://3proxy.org/</p>
|
https://3proxy.org/</p>
|
||||||
|
|||||||
168
doc/html/man8/3proxy_crypt.8.html
Normal file
168
doc/html/man8/3proxy_crypt.8.html
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
<!-- Creator : groff version 1.24.1 -->
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">3proxy_crypt</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#EXAMPLE">EXAMPLE</a><br>
|
||||||
|
<a href="#NOTES">NOTES</a><br>
|
||||||
|
<a href="#BUGS">BUGS</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
<a href="#AUTHORS">AUTHORS</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em"><b>3proxy_crypt</b>
|
||||||
|
- utility to generate encrypted passwords for 3proxy</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em"><b>3proxy_crypt</b>
|
||||||
|
<i>password</i> <b><br>
|
||||||
|
3proxy_crypt</b> <i>salt password</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em"><i><b>3proxy_crypt</b></i>
|
||||||
|
is a utility to generate encrypted password hashes for use
|
||||||
|
with 3proxy configuration. Encrypted passwords allow the
|
||||||
|
system to avoid storing passwords in cleartext in
|
||||||
|
configuration files.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">When invoked
|
||||||
|
with a single argument, it produces an NT password hash
|
||||||
|
(MD4-based, suitable for NTLM authentication). The output is
|
||||||
|
prefixed with <b>NT:</b>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">When invoked
|
||||||
|
with two arguments (salt and password), it produces a
|
||||||
|
BLAKE2b password hash. The salt length is limited to 64
|
||||||
|
characters. The output is prefixed with <b>CR:</b>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">The resulting
|
||||||
|
hash can be used in the 3proxy configuration file with the
|
||||||
|
<b>users</b> directive instead of a cleartext password.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em"><i>password</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:15%;">Cleartext password to
|
||||||
|
encrypt.</p>
|
||||||
|
|
||||||
|
<table width="100%" border="0" rules="none" frame="void"
|
||||||
|
cellspacing="0" cellpadding="0">
|
||||||
|
<tr valign="top" align="left">
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="5%">
|
||||||
|
|
||||||
|
|
||||||
|
<p><i>salt</i></p></td>
|
||||||
|
<td width="4%"></td>
|
||||||
|
<td width="65%">
|
||||||
|
|
||||||
|
|
||||||
|
<p>Salt string for BLAKE2b hashing (max 64 characters).</p></td>
|
||||||
|
<td width="20%">
|
||||||
|
</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>EXAMPLE
|
||||||
|
<a name="EXAMPLE"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">Generate NT
|
||||||
|
password hash:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:15%;">3proxy_crypt
|
||||||
|
MySecretPassword</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%;">Result:</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:15%;">NT:3F7E6D8D96E8E7A9B0C1D2E3F4A5B6C7</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%;">Generate BLAKE2b password hash
|
||||||
|
with salt:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:15%;">3proxy_crypt MySalt
|
||||||
|
MySecretPassword</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%;">Result:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:15%;">CR:$3$MySalt$...</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%;">Using in 3proxy.cfg:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:15%;">users
|
||||||
|
user1:CR:$3$MySalt$...</p>
|
||||||
|
|
||||||
|
<h2>NOTES
|
||||||
|
<a name="NOTES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">The NT hash uses
|
||||||
|
the RSA MD4 Message-Digest Algorithm. The BLAKE2b hash uses
|
||||||
|
the BLAKE2 cryptographic hash function.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">When a password
|
||||||
|
hash is prefixed with <b>NT:</b> or <b>CR:</b>, 3proxy uses
|
||||||
|
the corresponding algorithm to verify passwords instead of
|
||||||
|
comparing cleartext strings.</p>
|
||||||
|
|
||||||
|
<h2>BUGS
|
||||||
|
<a name="BUGS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">Report all bugs
|
||||||
|
to <b>3proxy@3proxy.org</b></p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">3proxy(8),
|
||||||
|
3proxy.cfg(5), <br>
|
||||||
|
https://3proxy.org/</p>
|
||||||
|
|
||||||
|
<h2>AUTHORS
|
||||||
|
<a name="AUTHORS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:6%; margin-top: 1em">3proxy is
|
||||||
|
designed by Vladimir 3APA3A Dubrovin
|
||||||
|
(<i>3proxy@3proxy.org</i>)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
81
man/3proxy_crypt.8
Normal file
81
man/3proxy_crypt.8
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
.TH 3proxy_crypt "8" "April 2026" "3proxy 0.9" "Universal proxy server"
|
||||||
|
.SH NAME
|
||||||
|
.B 3proxy_crypt
|
||||||
|
\- utility to generate encrypted passwords for 3proxy
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B 3proxy_crypt
|
||||||
|
.I password
|
||||||
|
.br
|
||||||
|
.B 3proxy_crypt
|
||||||
|
.I salt password
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B 3proxy_crypt
|
||||||
|
is a utility to generate encrypted password hashes for use with 3proxy
|
||||||
|
configuration. Encrypted passwords allow the system to avoid storing
|
||||||
|
passwords in cleartext in configuration files.
|
||||||
|
.PP
|
||||||
|
When invoked with a single argument, it produces an NT password hash
|
||||||
|
(MD4-based, suitable for NTLM authentication). The output is prefixed with
|
||||||
|
.BR NT: .
|
||||||
|
.PP
|
||||||
|
When invoked with two arguments (salt and password), it produces a BLAKE2b
|
||||||
|
password hash. The salt length is limited to 64 characters. The output is
|
||||||
|
prefixed with
|
||||||
|
.BR CR: .
|
||||||
|
.PP
|
||||||
|
The resulting hash can be used in the 3proxy configuration file with the
|
||||||
|
.B users
|
||||||
|
directive instead of a cleartext password.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.I password
|
||||||
|
Cleartext password to encrypt.
|
||||||
|
.TP
|
||||||
|
.I salt
|
||||||
|
Salt string for BLAKE2b hashing (max 64 characters).
|
||||||
|
.SH EXAMPLE
|
||||||
|
.TP
|
||||||
|
Generate NT password hash:
|
||||||
|
.RS
|
||||||
|
3proxy_crypt MySecretPassword
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
Result:
|
||||||
|
.RS
|
||||||
|
NT:3F7E6D8D96E8E7A9B0C1D2E3F4A5B6C7
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
Generate BLAKE2b password hash with salt:
|
||||||
|
.RS
|
||||||
|
3proxy_crypt MySalt MySecretPassword
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
Result:
|
||||||
|
.RS
|
||||||
|
CR:$3$MySalt$...
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
Using in 3proxy.cfg:
|
||||||
|
.RS
|
||||||
|
users user1:CR:$3$MySalt$...
|
||||||
|
.RE
|
||||||
|
.SH NOTES
|
||||||
|
The NT hash uses the RSA MD4 Message-Digest Algorithm. The BLAKE2b hash
|
||||||
|
uses the BLAKE2 cryptographic hash function.
|
||||||
|
.PP
|
||||||
|
When a password hash is prefixed with
|
||||||
|
.B NT:
|
||||||
|
or
|
||||||
|
.BR CR: ,
|
||||||
|
3proxy uses the corresponding algorithm to verify passwords instead of
|
||||||
|
comparing cleartext strings.
|
||||||
|
.SH BUGS
|
||||||
|
Report all bugs to
|
||||||
|
.BR 3proxy@3proxy.org
|
||||||
|
.SH SEE ALSO
|
||||||
|
3proxy(8), 3proxy.cfg(5),
|
||||||
|
.br
|
||||||
|
https://3proxy.org/
|
||||||
|
.SH AUTHORS
|
||||||
|
3proxy is designed by Vladimir 3APA3A Dubrovin
|
||||||
|
.RI ( 3proxy@3proxy.org )
|
||||||
Loading…
Reference in New Issue
Block a user