Skip to content

simple socks5-proxy (C# / Mono). Login and password authentication. Domain name restriction

Notifications You must be signed in to change notification settings

fdsc/vinny-socks5-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

socks5-proxy

Русский язык см. ниже

simple socks5-proxy by C#

To translate to English https://translate.yandex.ru/?lang=ru-en

Socks5 and http proxy for host in home usage.

Need .NET 7.0 for all .NET OS supported (Linux/Windows)

Completed functionality:

  • Can listen on multiple ports
  • Login and password authentication (need restart server for user add)
  • It is possible to differentiate access (for port, not for a user) by a trusts configuration file with a change in the file without stopping the server
  • Both the socks5 and the http proxy working on the same port

Disadvantages:

  • this proxy is made for personal use. I didn't debug it much and not "polished it"
  • no have reload operation for config (available only for the trusts file)
  • complex language for configuring the trust file configuration
  • only the TCP CONNECT command is supported. This is enough for most home applications (browsers, disks, etc.), but this is not all the socks5 possibilities

Example of configuration

build cd net7.0 bash -i build.sh

An executable binary file in net7.0/build/arc/vinny-socks5-proxy/


Русский

Socks5 и http прокси для домашнего использования на своей машине.

.NET 7.0 для любых поддерживаемых .NET систем (Linux/Windows)

Законченная функциональность

  • Может прослушивать несколько портов
  • Аутентификация по логину и паролю (для добавления пользователя требуется перезапуск сервера)
  • Возможно разграничение доступа (для порта, не для пользователя) по файлу конфигурации доверия с изменением списка без прекращения работы сервера
  • На одном порту поднимается как socks5, так и http-прокси

Недостатки:

  • этот прокси сделан для личного пользования. Я не сильно его отлаживал и "шлифовал"
  • нет возможности перезагрузить конфигурацию во время выполнения (доступно только для trusts-файла)
  • сложный язык настройки конфигурации файла доверия
  • поддерживается только команда TCP CONNECT. Этого достаточно для большинства домашних приложений (браузеров, дисков и т.п.), но это не все возможности socks5

Пример конфигурации

build cd net7.0 bash -i build.sh

Запускаемый файл в каталоге net7.0/build/arc/vinny-socks5-proxy/