1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/catii-tinyProxy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

tinyProxy

Введение

Данный проект предназначен только для изучения!

2023/10/28 catii

Проект был переработан с использованием GraalVM, что позволило создать исполняемые программы для целевых платформ (в настоящее время поддерживаются только Linux и Windows 64). Это упростило использование и снизило зависимость от Springboot.

От поддержки .NET Core отказались (исходный код находится в .NET Core).

  • Система автоматически создаёт конфигурационный файл TinyProxy.cfg в каталоге исполняемой программы при отсутствии файла конфигурации.
  • Описание файла TinyProxy.cfg:
## Удаленный сервер или локальный sock5 сервер
remote=false
## Адрес удаленного сервера
remoteHost=127.0.0.1
## Порт удаленного сервера
remotePort=34568
## Коммуникационный токен
token=dogee-htmoon

2023/09/04 catii

  • Примечание: в реальных условиях использование C# приводит к низкой производительности при кросс-компиляции, что делает его непригодным для использования в сценариях с высокими задержками. Продолжается оптимизация с использованием Java-технологий.

В настоящее время .NET Core поддерживает кроссплатформенность, и начата работа над созданием версии на C#, которая будет иметь следующие преимущества:

  • Использование возможностей WinForm позволяет предоставлять графические настройки на клиенте.
  • После компиляции в единый исполняемый файл процесс установки и развёртывания становится проще (особенно без необходимости в JRE).
  • Возможно, использование C# приведёт к уменьшению объёма памяти, так как Java требует Springboot + Netty, а C# достаточно только языковых зависимостей.

Описание Java-технологии

Этот проект является практическим примером использования Netty. Вы можете бесплатно скачать исходный код для изучения и ознакомления с основными API Netty (включая Future/ChannelHandler/Decoder/Listener и т. д.).

TinyProxy работает на основе sock5/sock4a для доступа в Интернет через прокси-сервер. Код одинаков для локальных клиентов (local) и удалённых серверов (remote). Вы можете использовать командные строки для управления проектом.

Классический сценарий использования этого проекта — это когда компьютеры в локальной сети предприятия могут получить доступ к Интернету через один компьютер, который может подключаться к сети.

Важно: этот проект создан для обучения и обмена опытом. Пожалуйста, соблюдайте законы, связанные с Интернетом, и не используйте его в незаконных целях!

Архитектура программного обеспечения

Общий рабочий процесс

image-20191118150559280

Примечание:

  • Для локального сервера и удалённого требуется использовать одинаковый токен (рекомендуется использовать 32-символьные UUID), иначе соединение не удастся.
  • Local и Remote используют двоичное шифрование для передачи данных, обеспечивая безопасность связи.
Используемые открытые фреймворки
  • Управление jar-пакетами: Maven
  • Springboot-2.2.1: использует Springboot для создания толстых jar-файлов, упрощая процесс развёртывания конечного пакета (java -jar xxx.jar)
  • netty-all-4.1.43.Final.jar: использует высокую производительность и простоту Netty; позволяет проекту легко и надёжно использовать преимущества Java NIO.

Руководство по установке

Для запуска на локальном компьютере или удалённом сервере требуется установить JDK версии 8 или выше. Можно скомпилировать исходный код или использовать двоичный пакет Release/proxy-1.0.0.jar (рекомендуется). Ниже описан процесс установки двоичного пакета.

  1. Установка на сервер:

    • Загрузите proxy-1.0.0.jar и tinyRemote.bat из каталога Release и загрузите их на сервер.
    • Измените параметры запуска tinyRemote.bat.
    javaw -jar proxy-1.0.0.jar --tiny.remote=true --tiny.remotePort=13080 --tiny.token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Объяснение ключевых параметров: --tiny.remote=false означает, что proxy-1.0.0.jar запускается в режиме удалённого сервера. --tiny.token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, где xxx — ваш токен аутентификации на сервере. --tiny.remotePort=13080, где 13080 — порт прослушивания на сервере.

  2. Установка на клиент:

    • Скачайте proxy-1.0.0.jar и tinyLocal.bat из каталога Release на свой компьютер.
    • Измените параметры запуска tinyLocal.bat.
    javaw -jar proxy-1.0.0.jar --tiny.remote=false --tiny.localPort=11080 --tiny.remotePort=13080 --tiny.remoteHost=192.168.168.168 --tiny.token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Объяснение ключевых параметров: --tiny.localPort=11080 указывает порт прослушивания локального sock5-сервера для настройки браузера в качестве прокси-сервера. --tiny.remote=false указывает, что программа запускается в режиме локального прокси-сервера. --tiny.remotePort=13080 указывает порт прослушивания удалённого сервера для установления соединения через сокет. --tiny.remoteHost=192.168.168.168 указывает IP-адрес или имя домена удалённого сервера в зависимости от вашей ситуации. --tiny.token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx определяет токен аутентификации, требуемый сервером для шифрования данных.

Инструкция по использованию

Вклад участников

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

TinyProxy — это проект прокси для работы в сети через протоколы sock5/sock4a. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/catii-tinyProxy.git
git@api.gitlife.ru:oschina-mirror/catii-tinyProxy.git
oschina-mirror
catii-tinyProxy
catii-tinyProxy
master