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

OSCHINA-MIRROR/mirrors-goflyway

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
readme.md 3.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 07:56 ed6c71b

Goflyway v2 — локальный перенаправитель портов на основе HTTP

master — это активная ветка разработки, содержащая код версии 2. Для стабильной версии 1 (хотя она когда-то называлась версией 2.0), пожалуйста, обратитесь к ветке v1.0 по ссылке: https://github.com/coyove/goflyway/tree/v1.0.

Goflyway версии 2 — это специальный инструмент для безопасного переадресации локальных портов на удалённый сервер, подобно команде ssh -L.

В goflyway используются только запросы HTTP POST для ретрансляции TCP-соединений. В этом процессе не участвует и не требуется команда CONNECT, поскольку goflyway предназначен в основном для тех пользователей, которые находятся за HTTP-прокси без поддержки команды CONNECT или хотят ускорить соединения через статические CDN.

Однако использование исключительно запросов HTTP может привести к потере пропускной способности, если у вас уже есть более качественное сетевое окружение. Поэтому рекомендуется использовать ключ -w для включения ретрансляции через WebSocket или ключ -K для включения KCP-ретрансляции, если это возможно.

Использование

Перенаправьте порт localhost:1080 на порт server:1080, используя порт server:80:

    Сервер: ./goflyway :80
    Клиент: ./goflyway -L 1080::1080 server:80 -p пароль

Перенаправьте порт localhost:1080 на порт server2:1080, используя порт server:80 и WebSocket:

    Сервер: ./goflyway :80
    Клиент: ./goflyway -w -L 1080:server2:1080 server:80 -p пароль

Динамически перенаправьте порт localhost:1080 на порт server:80:

    Сервер: ./goflyway :80
    Клиент: ./goflyway -D 1080 server:80 -p пароль

HTTP-обратный прокси или статический файловый сервер на том же порту:

    ./goflyway :80 -P http://127.0.0.1:8080 
    ./goflyway :80 -P /var/www/html

Буфер записи

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

Вы можете использовать ключ -W bytes, чтобы ограничить максимальный объём данных, который сервер может буферизовать (для каждого соединения). По умолчанию это 1 048 576 байт (1 МБ). Если буфер достигнет предела, следующие байты будут заблокированы до тех пор, пока в буфере не освободится место для них.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-goflyway.git
git@api.gitlife.ru:oschina-mirror/mirrors-goflyway.git
oschina-mirror
mirrors-goflyway
mirrors-goflyway
master