mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-26 07:08:11 +00:00
doc: add socks5 pass and user settings
This commit is contained in:
@@ -258,6 +258,8 @@ SOCKS5 port [default: 8808]:
|
||||
|
||||
Нажми Enter оба раза. Прокси поднимется на `127.0.0.1:8808`.
|
||||
|
||||
> **Нужна аутентификация на прокси?** Скрипт её не спрашивает. Запусти клиент вручную с флагами `-socks-user` и `-socks-pass` - см. [manual.md](manual.md) и [settings.md](settings.md).
|
||||
|
||||
### Результат
|
||||
|
||||
```
|
||||
|
||||
@@ -228,6 +228,27 @@ Room ID нужно передать клиенту.
|
||||
SOCKS5 server listening on 127.0.0.1:1080
|
||||
```
|
||||
|
||||
Если нужно защитить прокси логином и паролем (например на машине с несколькими пользователями), добавь `-socks-user` и `-socks-pass`:
|
||||
|
||||
```sh
|
||||
./build/olcrtc-linux-amd64 \
|
||||
-mode cnc \
|
||||
-carrier wbstream \
|
||||
-transport datachannel \
|
||||
-id abc123xyz \
|
||||
-client-id "$CLIENT_ID" \
|
||||
-key <hex-key> \
|
||||
-link direct \
|
||||
-dns 1.1.1.1:53 \
|
||||
-data data \
|
||||
-socks-host 127.0.0.1 \
|
||||
-socks-port 1080 \
|
||||
-socks-user myuser \
|
||||
-socks-pass mypass
|
||||
```
|
||||
|
||||
Без этих флагов аутентификация отключена - поведение прежнее.
|
||||
|
||||
---
|
||||
|
||||
## Шаг 10: Проверить
|
||||
|
||||
@@ -93,6 +93,11 @@
|
||||
|------|----------|:------------:|
|
||||
| `-socks-host` | На каком адресе поднять SOCKS5 | `127.0.0.1` |
|
||||
| `-socks-port` | На каком порту поднять SOCKS5 | `1080` |
|
||||
| `-socks-user` | Логин для входящих SOCKS5-подключений (необязательно) | - |
|
||||
| `-socks-pass` | Пароль для входящих SOCKS5-подключений (необязательно) | - |
|
||||
|
||||
Если `-socks-user` не задан - аутентификация отключена (любой локальный клиент может подключиться).
|
||||
Если задан - клиент принимает только подключения с правильным логином и паролем (RFC 1929).
|
||||
|
||||
---
|
||||
|
||||
@@ -165,6 +170,25 @@ ROOM_ID=$(./olcrtc -mode gen -carrier wbstream -dns 1.1.1.1:53 -amount 1 -data d
|
||||
-socks-host 127.0.0.1 -socks-port 1080
|
||||
```
|
||||
|
||||
### wbstream + datachannel + SOCKS5 аутентификация
|
||||
|
||||
```sh
|
||||
# клиент с логином и паролем на прокси
|
||||
./olcrtc -mode cnc -carrier wbstream -transport datachannel \
|
||||
-id "$ROOM_ID" -client-id <client-id> -key <hex-key> -link direct -data data -dns 1.1.1.1:53 \
|
||||
-socks-host 127.0.0.1 -socks-port 1080 \
|
||||
-socks-user myuser -socks-pass mypass
|
||||
```
|
||||
|
||||
Использование:
|
||||
```sh
|
||||
curl --socks5-hostname myuser:mypass@127.0.0.1:1080 https://icanhazip.com
|
||||
# или
|
||||
export all_proxy=socks5h://myuser:mypass@127.0.0.1:1080
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### telemost + vp8channel
|
||||
|
||||
```sh
|
||||
|
||||
@@ -25,7 +25,7 @@ olcrtc://<Carrier>?<Transport><key=value&key=value>@<RoomID>#<EncryptionKey>%<Cl
|
||||
|
||||
Все поля после `olcrtc://` считаются частью клиентского соглашения.
|
||||
|
||||
Блок `<key=value&...>` — payload параметров транспорта в угловых скобках, идёт сразу после имени транспорта. Если параметры транспорту не нужны или используются defaults — блок опускается целиком.
|
||||
Блок `<key=value&...>` - payload параметров транспорта в угловых скобках, идёт сразу после имени транспорта. Если параметры транспорту не нужны или используются defaults - блок опускается целиком.
|
||||
|
||||
---
|
||||
|
||||
@@ -122,7 +122,7 @@ Payload не используется.
|
||||
olcrtc://wbstream?datachannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799%android-01$RU / olc free sub / IPv6
|
||||
```
|
||||
|
||||
Payload не нужен — datachannel параметров не имеет.
|
||||
Payload не нужен - datachannel параметров не имеет.
|
||||
|
||||
### Эквивалент CLI
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@ func unescapeRBSP(rbsp []byte) []byte {
|
||||
func mustDecodeHex(value string) []byte {
|
||||
data, err := hex.DecodeString(value)
|
||||
if err != nil {
|
||||
// Hardcoded constants — if this fires the binary is corrupt.
|
||||
// Hardcoded constants - if this fires the binary is corrupt.
|
||||
panic(fmt.Sprintf("mustDecodeHex: invalid hardcoded constant %q: %v", value, err))
|
||||
}
|
||||
return data
|
||||
|
||||
@@ -71,7 +71,7 @@ var vp8Keepalive = []byte{
|
||||
|
||||
// KCP data frames are disguised as valid VP8 frames so Telemost SFU lets them
|
||||
// through. The SFU validates the VP8 bitstream and drops frames that don't
|
||||
// look like real VP8 — so we prepend the keepalive keyframe and append our
|
||||
// look like real VP8 - so we prepend the keepalive keyframe and append our
|
||||
// header + payload after it. Wire layout:
|
||||
//
|
||||
// [0..20] = vp8Keepalive (valid VP8 keyframe, passes SFU inspection)
|
||||
|
||||
Reference in New Issue
Block a user