Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 31 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
**English** | [Русский](README.ru.md) | [简体中文](README.zh-CN.md)

[![Build](https://github.com/OpenIPC/vtesse/actions/workflows/build.yml/badge.svg)](https://github.com/OpenIPC/vtesse/actions/workflows/build.yml)
[![Release](https://img.shields.io/badge/download-latest-blue)](https://github.com/OpenIPC/vtesse/releases/tag/latest)
[![Release](https://img.shields.io/badge/download-latest-blue)](https://github.com/OpenIPC/vtesse/releases/latest)
[![License](https://img.shields.io/badge/license-Prosperity%203.0-blue)](LICENSE.md)
[![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Android-brightgreen)](docs/architecture.md)
[![Status](https://img.shields.io/badge/status-prototype-orange)](docs/security.md)
Expand All @@ -27,7 +27,7 @@ A resource access microsystem: a client for existing **VTun** servers (`vtund -s

## Download

Static binaries (no dependencies) are on the [releases page](https://github.com/OpenIPC/vtesse/releases): [`latest`](https://github.com/OpenIPC/vtesse/releases/tag/latest) is rebuilt from every push to `main` (stable file names, used below). The release title shows the VTesse version; the change history is in [CHANGELOG.md](CHANGELOG.md).
Static binaries (no dependencies) are on the [releases page](https://github.com/OpenIPC/vtesse/releases): [`latest`](https://github.com/OpenIPC/vtesse/releases/latest) is rebuilt from every push to `main` (stable file names, used below). The release title shows the VTesse version; the change history is in [CHANGELOG.md](CHANGELOG.md).

| Platform | `ARCH` |
|-------------------------------------------------------------------------------------------------|----------|
Expand All @@ -41,6 +41,31 @@ One binary per platform, `vtesse-ARCH`, with both backends: lwIP (SOCKS5 / port

The releases also carry the VTun server for PCs and servers, `vtund-3.0.2-x86_64`: the original VTun 3.0.2 with our patches (a refused login is logged with the device ID and the reason), see [server/README.md](server/README.md). For cameras and routers vtund is built in the OpenIPC environment when needed.

### Permanent links

There is one release, [`latest`](https://github.com/OpenIPC/vtesse/releases/latest), titled `VTesse <version>`; every push to `main` rebuilds it, and no versioned releases are kept. File names carry no version (only the VTun server's follows the VTun version), so these links never change:

| File | What it is | Permanent link |
|------------------------|--------------------------------------------------------------|-----------------------------------------------------------------------------------|
| `vtesse-arm32` | client, 32-bit ARM | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-arm32> |
| `vtesse-mipsel` | client, MIPS little-endian | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-mipsel> |
| `vtesse-mips` | client, MIPS big-endian | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-mips> |
| `vtesse-arm64` | client, 64-bit ARM | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-arm64> |
| `vtesse-x86_64` | client, PCs and servers | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-x86_64> |
| `vtesse-android.apk` | Android app | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-android.apk> |
| `vtund-3.0.2-x86_64` | VTun server with our patches, PCs (follows the VTun version) | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtund-3.0.2-x86_64> |
| `vtesse-hook.sh` | TAP hook script | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-hook.sh> |
| `vtesse-udhcpc.script` | udhcpc script for the TAP interface | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-udhcpc.script> |
| `S99vtesse` | init script, OpenIPC (BusyBox) | <https://github.com/OpenIPC/vtesse/releases/latest/download/S99vtesse> |
| `vtesse.init` | init script, OpenWrt (procd) | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse.init> |
| `SHA256SUMS` | checksums of all files | <https://github.com/OpenIPC/vtesse/releases/latest/download/SHA256SUMS> |

```sh
curl -fsSLO https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-arm32
curl -fsSLO https://github.com/OpenIPC/vtesse/releases/latest/download/SHA256SUMS
grep ' vtesse-arm32$' SHA256SUMS | sha256sum -c - && chmod 755 vtesse-arm32
```

### Configuration

All installations below read `/etc/vtesse.conf` (the session name is the device ID: 12 characters `0-9A-F`, also used as the MAC):
Expand All @@ -62,7 +87,7 @@ On a camera or router the ID can come from the device's own MAC instead: replace
```sh
# as root; ARCH = arm32 or mipsel, see the table
ARCH=arm32
URL=https://github.com/OpenIPC/vtesse/releases/download/latest
URL=https://github.com/OpenIPC/vtesse/releases/latest/download
# directories, then each file straight to its place, executable on success
mkdir -p /usr/bin /usr/share/vtesse /etc/init.d
curl -fsSL -o /usr/bin/vtesse $URL/vtesse-$ARCH && chmod 755 /usr/bin/vtesse
Expand All @@ -87,7 +112,7 @@ Start at boot (`S99vtesse` is already installed; settings can be overridden in `
opkg update && opkg install curl kmod-tun # kmod-tun is needed for --tap only; apk add curl kmod-tun on OpenWrt 25+
# ARCH = mipsel (MT7621, MT7628), mips (ath79), arm64 or arm32, see the table
ARCH=mipsel
URL=https://github.com/OpenIPC/vtesse/releases/download/latest
URL=https://github.com/OpenIPC/vtesse/releases/latest/download
mkdir -p /usr/bin /usr/share/vtesse /etc/init.d
curl -fsSL -o /usr/bin/vtesse $URL/vtesse-$ARCH && chmod 755 /usr/bin/vtesse
curl -fsSL -o /usr/share/vtesse/vtesse-hook.sh $URL/vtesse-hook.sh && chmod 755 /usr/share/vtesse/vtesse-hook.sh
Expand All @@ -107,14 +132,14 @@ Tried on a Netcraze Explorer NC-1621 (Keenetic rebrand, NDMS 5.2 beta, MIPS, 128
```sh
ARCH=x86_64 # x86_64; arm64 / arm32 on a Raspberry Pi with a 64-bit / 32-bit OS
mkdir -p ~/.local/bin
curl -fsSL -o ~/.local/bin/vtesse https://github.com/OpenIPC/vtesse/releases/download/latest/vtesse-$ARCH && chmod 755 ~/.local/bin/vtesse
curl -fsSL -o ~/.local/bin/vtesse https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-$ARCH && chmod 755 ~/.local/bin/vtesse
# no root needed: SOCKS5 on 127.0.0.1:1080 and a forward to a camera's RTSP
~/.local/bin/vtesse --config /etc/vtesse.conf --socks 1080 --forward 8554:10.78.0.10:554
```

### Android

Android 5.0 and later, including Android TV boxes: [`vtesse-android.apk`](https://github.com/OpenIPC/vtesse/releases/download/latest/vtesse-android.apk). No VPN permission and no VPN icon — a service with a regular notification runs the tunnel and offers SOCKS5 and port forwards on `127.0.0.1`; a player such as OpenIPC Decoder or VLC opens e.g. `rtsp://127.0.0.1:1551/...` (camera 1 of server 1). Up to three servers with up to 8 cameras each on fixed ports. The device ID is generated on first start (long press copies it) and must be added as a session on the server. Up to three server profiles, switched with one press. See [android/README.md](android/README.md).
Android 5.0 and later, including Android TV boxes: [`vtesse-android.apk`](https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-android.apk). No VPN permission and no VPN icon — a service with a regular notification runs the tunnel and offers SOCKS5 and port forwards on `127.0.0.1`; a player such as OpenIPC Decoder or VLC opens e.g. `rtsp://127.0.0.1:1551/...` (camera 1 of server 1). Up to three servers with up to 8 cameras each on fixed ports. The device ID is generated on first start (long press copies it) and must be added as a session on the server. Up to three server profiles, switched with one press. See [android/README.md](android/README.md).

![VTesse for Android: server profiles and cameras (example data)](docs/img/android-settings.png)

Expand Down
37 changes: 31 additions & 6 deletions README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[English](README.md) | **Русский** | [简体中文](README.zh-CN.md)

[![Build](https://github.com/OpenIPC/vtesse/actions/workflows/build.yml/badge.svg)](https://github.com/OpenIPC/vtesse/actions/workflows/build.yml)
[![Release](https://img.shields.io/badge/download-latest-blue)](https://github.com/OpenIPC/vtesse/releases/tag/latest)
[![Release](https://img.shields.io/badge/download-latest-blue)](https://github.com/OpenIPC/vtesse/releases/latest)
[![License](https://img.shields.io/badge/license-Prosperity%203.0-blue)](LICENSE.md)
[![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Android-brightgreen)](docs/architecture.md)
[![Status](https://img.shields.io/badge/status-prototype-orange)](docs/security.md)
Expand All @@ -27,7 +27,7 @@

## Скачивание

Статические бинарники (без зависимостей) — на [странице релизов](https://github.com/OpenIPC/vtesse/releases): [`latest`](https://github.com/OpenIPC/vtesse/releases/tag/latest) пересобирается при каждом push в `main` (постоянные имена файлов, используются ниже). Версия VTesse указана в заголовке релиза; история изменений — в [CHANGELOG.md](CHANGELOG.md).
Статические бинарники (без зависимостей) — на [странице релизов](https://github.com/OpenIPC/vtesse/releases): [`latest`](https://github.com/OpenIPC/vtesse/releases/latest) пересобирается при каждом push в `main` (постоянные имена файлов, используются ниже). Версия VTesse указана в заголовке релиза; история изменений — в [CHANGELOG.md](CHANGELOG.md).

| Платформа | `ARCH` |
|-----------------------------------------------------------------------------------------------|----------|
Expand All @@ -41,6 +41,31 @@

В релизах также есть сервер VTun для ПК и серверов, `vtund-3.0.2-x86_64`: оригинальный VTun 3.0.2 с нашими патчами (отказ во входе пишется в лог с ID устройства и причиной), см. [server/README.md](server/README.md). Для камер и роутеров vtund при необходимости собирается в среде OpenIPC.

### Постоянные ссылки

Релиз один — [`latest`](https://github.com/OpenIPC/vtesse/releases/latest), с заголовком `VTesse <версия>`; он пересобирается при каждом push в `main`, релизы по версиям не хранятся. В именах файлов нет версии (только у сервера VTun — версия VTun), поэтому эти ссылки не меняются:

| Файл | Что это | Постоянная ссылка |
|------------------------|----------------------------------------------------------------|-----------------------------------------------------------------------------------|
| `vtesse-arm32` | клиент, 32-битный ARM | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-arm32> |
| `vtesse-mipsel` | клиент, MIPS little-endian | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-mipsel> |
| `vtesse-mips` | клиент, MIPS big-endian | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-mips> |
| `vtesse-arm64` | клиент, 64-битный ARM | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-arm64> |
| `vtesse-x86_64` | клиент, ПК и серверы | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-x86_64> |
| `vtesse-android.apk` | приложение для Android | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-android.apk> |
| `vtund-3.0.2-x86_64` | сервер VTun с нашими патчами, ПК (имя меняется с версией VTun) | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtund-3.0.2-x86_64> |
| `vtesse-hook.sh` | хук-скрипт режима TAP | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-hook.sh> |
| `vtesse-udhcpc.script` | скрипт udhcpc для интерфейса TAP | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-udhcpc.script> |
| `S99vtesse` | init-скрипт, OpenIPC (BusyBox) | <https://github.com/OpenIPC/vtesse/releases/latest/download/S99vtesse> |
| `vtesse.init` | init-скрипт, OpenWrt (procd) | <https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse.init> |
| `SHA256SUMS` | контрольные суммы всех файлов | <https://github.com/OpenIPC/vtesse/releases/latest/download/SHA256SUMS> |

```sh
curl -fsSLO https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-arm32
curl -fsSLO https://github.com/OpenIPC/vtesse/releases/latest/download/SHA256SUMS
grep ' vtesse-arm32$' SHA256SUMS | sha256sum -c - && chmod 755 vtesse-arm32
```

### Конфигурация

Все варианты установки ниже читают `/etc/vtesse.conf` (имя сессии — ID устройства: 12 символов `0-9A-F`, он же MAC-адрес):
Expand All @@ -62,7 +87,7 @@ chmod 600 /etc/vtesse.conf
```sh
# от root; ARCH = arm32 или mipsel, см. таблицу
ARCH=arm32
URL=https://github.com/OpenIPC/vtesse/releases/download/latest
URL=https://github.com/OpenIPC/vtesse/releases/latest/download
# каталоги, затем каждый файл сразу на своё место, права — после успешной загрузки
mkdir -p /usr/bin /usr/share/vtesse /etc/init.d
curl -fsSL -o /usr/bin/vtesse $URL/vtesse-$ARCH && chmod 755 /usr/bin/vtesse
Expand All @@ -87,7 +112,7 @@ vtesse --config /etc/vtesse.conf --tap --ifname vtesse0 --hook /usr/share/vtesse
opkg update && opkg install curl kmod-tun # kmod-tun нужен только для --tap; на OpenWrt 25+: apk add curl kmod-tun
# ARCH = mipsel (MT7621, MT7628), mips (ath79), arm64 или arm32, см. таблицу
ARCH=mipsel
URL=https://github.com/OpenIPC/vtesse/releases/download/latest
URL=https://github.com/OpenIPC/vtesse/releases/latest/download
mkdir -p /usr/bin /usr/share/vtesse /etc/init.d
curl -fsSL -o /usr/bin/vtesse $URL/vtesse-$ARCH && chmod 755 /usr/bin/vtesse
curl -fsSL -o /usr/share/vtesse/vtesse-hook.sh $URL/vtesse-hook.sh && chmod 755 /usr/share/vtesse/vtesse-hook.sh
Expand All @@ -107,14 +132,14 @@ curl -fsSL -o /etc/init.d/vtesse $URL/vtesse.init && chmod 755 /etc/init.d/vtess
```sh
ARCH=x86_64 # x86_64; arm64 / arm32 на Raspberry Pi с 64- / 32-битной ОС
mkdir -p ~/.local/bin
curl -fsSL -o ~/.local/bin/vtesse https://github.com/OpenIPC/vtesse/releases/download/latest/vtesse-$ARCH && chmod 755 ~/.local/bin/vtesse
curl -fsSL -o ~/.local/bin/vtesse https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-$ARCH && chmod 755 ~/.local/bin/vtesse
# root не нужен: SOCKS5 на 127.0.0.1:1080 и проброс на RTSP камеры
~/.local/bin/vtesse --config /etc/vtesse.conf --socks 1080 --forward 8554:10.78.0.10:554
```

### Android

Android 5.0 и новее, включая ТВ-приставки: [`vtesse-android.apk`](https://github.com/OpenIPC/vtesse/releases/download/latest/vtesse-android.apk). Без разрешения VPN и без значка VPN — сервис с обычным уведомлением держит туннель и даёт SOCKS5 и проброс портов на `127.0.0.1`; плеер, например OpenIPC Decoder или VLC, открывает `rtsp://127.0.0.1:1551/...` (камера 1 сервера 1). До трёх серверов и до 8 камер на каждом, на фиксированных портах. ID устройства генерируется при первом запуске (долгое нажатие копирует его), его нужно добавить как сессию на сервере. До трёх профилей серверов, переключение одним нажатием. Подробнее — [android/README.md](android/README.md).
Android 5.0 и новее, включая ТВ-приставки: [`vtesse-android.apk`](https://github.com/OpenIPC/vtesse/releases/latest/download/vtesse-android.apk). Без разрешения VPN и без значка VPN — сервис с обычным уведомлением держит туннель и даёт SOCKS5 и проброс портов на `127.0.0.1`; плеер, например OpenIPC Decoder или VLC, открывает `rtsp://127.0.0.1:1551/...` (камера 1 сервера 1). До трёх серверов и до 8 камер на каждом, на фиксированных портах. ID устройства генерируется при первом запуске (долгое нажатие копирует его), его нужно добавить как сессию на сервере. До трёх профилей серверов, переключение одним нажатием. Подробнее — [android/README.md](android/README.md).

![VTesse для Android: профили серверов и камеры (пример данных)](docs/img/android-settings.png)

Expand Down
Loading
Loading