mirror of
https://github.com/yrutschle/sslh.git
synced 2025-04-18 17:57:39 +03:00
added SOCKS5 to README
This commit is contained in:
parent
6e9f24153f
commit
8e203c897e
12
README.md
12
README.md
@ -6,12 +6,12 @@ them further based on tests performed on the first data
|
|||||||
packet sent by the remote client.
|
packet sent by the remote client.
|
||||||
|
|
||||||
Probes for HTTP, TLS/SSL (including SNI and ALPN), SSH,
|
Probes for HTTP, TLS/SSL (including SNI and ALPN), SSH,
|
||||||
OpenVPN, tinc, XMPP are implemented, and any other protocol
|
OpenVPN, tinc, XMPP, SOCKS5, are implemented, and any other
|
||||||
that can be tested using a regular expression, can be
|
protocol that can be tested using a regular expression, can
|
||||||
recognised. A typical use case is to allow serving several
|
be recognised. A typical use case is to allow serving
|
||||||
services on port 443 (e.g. to connect to SSH from inside a
|
several services on port 443 (e.g. to connect to SSH from
|
||||||
corporate firewall, which almost never block port 443) while
|
inside a corporate firewall, which almost never block port
|
||||||
still serving HTTPS on that port.
|
443) while still serving HTTPS on that port.
|
||||||
|
|
||||||
Hence `sslh` acts as a protocol demultiplexer, or a
|
Hence `sslh` acts as a protocol demultiplexer, or a
|
||||||
switchboard. With the SNI and ALPN probe, it makes a good
|
switchboard. With the SNI and ALPN probe, it makes a good
|
||||||
|
1009
sslh-conf.c
1009
sslh-conf.c
File diff suppressed because it is too large
Load Diff
78
sslh-conf.h
78
sslh-conf.h
@ -1,78 +0,0 @@
|
|||||||
/* Generated by conf2struct (https://www.rutschle.net/tech/conf2struct/README)
|
|
||||||
* on Mon Mar 11 22:19:38 2019. */
|
|
||||||
|
|
||||||
#ifndef C2S_SSLHCFG_H
|
|
||||||
#define C2S_SSLHCFG_H
|
|
||||||
#include <libconfig.h>
|
|
||||||
|
|
||||||
#include "probe.h"
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <netdb.h>
|
|
||||||
|
|
||||||
struct sslhcfg_listen_item {
|
|
||||||
char* host;
|
|
||||||
char* port;
|
|
||||||
int keepalive;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sslhcfg_protocols_item {
|
|
||||||
const char* name;
|
|
||||||
char* host;
|
|
||||||
char* port;
|
|
||||||
int service_is_present;
|
|
||||||
const char* service;
|
|
||||||
int fork;
|
|
||||||
int tfo_ok;
|
|
||||||
int log_level;
|
|
||||||
int keepalive;
|
|
||||||
size_t sni_hostnames_len;
|
|
||||||
const char** sni_hostnames;
|
|
||||||
size_t alpn_protocols_len;
|
|
||||||
const char** alpn_protocols;
|
|
||||||
size_t regex_patterns_len;
|
|
||||||
const char** regex_patterns;
|
|
||||||
int minlength_is_present;
|
|
||||||
int minlength;
|
|
||||||
T_PROBE* probe;
|
|
||||||
struct addrinfo* saddr;
|
|
||||||
void* data;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sslhcfg_item {
|
|
||||||
int verbose;
|
|
||||||
int foreground;
|
|
||||||
int inetd;
|
|
||||||
int numeric;
|
|
||||||
int transparent;
|
|
||||||
int timeout;
|
|
||||||
int user_is_present;
|
|
||||||
const char* user;
|
|
||||||
int pidfile_is_present;
|
|
||||||
const char* pidfile;
|
|
||||||
int chroot_is_present;
|
|
||||||
const char* chroot;
|
|
||||||
const char* syslog_facility;
|
|
||||||
const char* on_timeout;
|
|
||||||
size_t listen_len;
|
|
||||||
struct sslhcfg_listen_item* listen;
|
|
||||||
size_t protocols_len;
|
|
||||||
struct sslhcfg_protocols_item* protocols;
|
|
||||||
};
|
|
||||||
|
|
||||||
int sslhcfg_parse_file(
|
|
||||||
const char* filename,
|
|
||||||
struct sslhcfg_item* sslhcfg,
|
|
||||||
const char** errmsg);
|
|
||||||
|
|
||||||
void sslhcfg_fprint(
|
|
||||||
FILE* out,
|
|
||||||
struct sslhcfg_item *sslhcfg,
|
|
||||||
int depth);
|
|
||||||
|
|
||||||
int sslhcfg_cl_parse(
|
|
||||||
int argc,
|
|
||||||
char* argv[],
|
|
||||||
struct sslhcfg_item *sslhcfg);
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
x
Reference in New Issue
Block a user