Um servidor proxy SOCKS V5 simples.
Use make
para completar a compilação e vinculação.
$ make
Se seguido por CFLAG=-DDEBUG
o modo de depuração será habilitado:
$ make CFLAG=-DDEBUG
Se iniciado sem nenhuma opção, ele escutará na porta 1080 e nenhuma autenticação será necessária.
$ ./server
NO AUTHENTICATION REQUIRED
Listening at 0.0.0.0:1080
Com a opção -h
, as informações de ajuda são exibidas.
$ ./server -h
usage: ./server [options]
options:
-a < address > Local Address to bind (default: 0.0.0.0).
-p < port > Port number to bind (default: 1080).
-u < path/to/passwd > The path to passwd.
-d Run as a daemon.
-h Show this help message.
As opções -a
e -p
são usadas para especificar o endereço IP e o número da porta vinculados ao servidor, respectivamente.
$ ./server -a 127.0.0.1 -p 8080
NO AUTHENTICATION REQUIRED
Listening at 127.0.0.1:8080
A opção -u
é usada para habilitar a autenticação de nome de usuário e senha. A opção deve ser seguida pelo caminho para um arquivo. Cada linha do arquivo corresponde a um usuário, sendo que o nome de usuário e a senha são separados por vírgulas ,
por exemplo:
$ cat ./passwd
user1,123456
user2,666
user3,2333
$ ./server -u ./passwd
USERNAME/PASSWORD
3 users
Listening at 0.0.0.0:1080
Se o parâmetro -d
for fornecido, o servidor sairá do terminal e se tornará um processo daemon.
$ ./server -d
NO AUTHENTICATION REQUIRED
Listening at 0.0.0.0:1080
PID is [xxxxx]
$ netstat -ntlp | grep xxxxx
tcp 0 0 0.0.0.0:1080 0.0.0.0: * LISTEN xxxxx/./server
Este projeto adota o contrato de licença de código aberto do MIT.
MIT License
Copyright (c) 2019-2021 totravel
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.