mirror of
https://github.com/yrutschle/sslh.git
synced 2025-04-13 07:37:15 +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.
|
||||
|
||||
Probes for HTTP, TLS/SSL (including SNI and ALPN), SSH,
|
||||
OpenVPN, tinc, XMPP are implemented, and any other protocol
|
||||
that can be tested using a regular expression, can be
|
||||
recognised. A typical use case is to allow serving several
|
||||
services on port 443 (e.g. to connect to SSH from inside a
|
||||
corporate firewall, which almost never block port 443) while
|
||||
still serving HTTPS on that port.
|
||||
OpenVPN, tinc, XMPP, SOCKS5, are implemented, and any other
|
||||
protocol that can be tested using a regular expression, can
|
||||
be recognised. A typical use case is to allow serving
|
||||
several services on port 443 (e.g. to connect to SSH from
|
||||
inside a corporate firewall, which almost never block port
|
||||
443) while still serving HTTPS on that port.
|
||||
|
||||
Hence `sslh` acts as a protocol demultiplexer, or a
|
||||
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