Skip to content

Commit e1dd66a

Browse files
committed
api: update create proxy device
1 parent 5ac565a commit e1dd66a

1 file changed

Lines changed: 94 additions & 41 deletions

File tree

api/bringyour.yml

Lines changed: 94 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
openapi: "3.1.0"
22
info:
3-
version: 2023.12.19
4-
title: BringYour
3+
version: 2026.1.6
4+
title: URnetwork
55
description: |
6-
BringYour is a web-standards VPN marketplace with an emphasis on
6+
URnetwork is a web-standards VPN marketplace with an emphasis on
77
fast, secure internet everwhere.
88
9-
The API for BringYour bootstraps the `connect` protocol,
9+
The API for URnetwork bootstraps the `connect` protocol,
1010
and is the source of JWTs and other match-making transactions.
1111
1212
The JWT returned by /auth routes does not have a clientId.
1313
The `connect` protocol requires a JWT with a clientId.
1414
Use the /network routes to obtain a JWT with a clientId.
1515
16-
In the BringYour network:
17-
- a network name is a globally unique subnet (xyz.bringyour.network)
16+
In URnetwork:
17+
- a network name is a globally unique subnet (xyz.ur.network)
1818
- a clientId is a globally unique 16-byte address
1919
- clientIds are equivalent to IPv6, but are expressed as UDID
2020
- clients also have an IPv6 and IPv4 mapped to their clientId
@@ -25,14 +25,14 @@ info:
2525
Unless otherwise specified, time/date strings will be formatted
2626
in the Go default `2006-01-02 15:04:05.999999999 -0700 MST` (RFC 3339).
2727
28-
termsOfService: https://bringyour.com/terms
28+
termsOfService: https://ur.io/terms
2929
contact:
30-
name: BringYour
31-
email: support@bringyour.com
32-
url: https://bringyour.com
30+
name: URnetwork
31+
email: support@ur.io
32+
url: https://ur.io
3333
x-logo:
34-
url: https://bringyour.com/res/images/bringyour-wordmark-260.svg
35-
altText: BringYour
34+
url: https://bringyour.com/res/images/URnetwork-logo-black-400-80.svg
35+
altText: URnetwork
3636
license:
3737
name: Mozilla Public License, v. 2.0
3838
url: https://mozilla.org/MPL/2.0/
@@ -261,7 +261,7 @@ paths:
261261
- at least 3 characters different from an existing network name
262262
- at least 8 characters
263263
- domain name compatible (see RFC 5890)
264-
- not contain the dash (-) character (BringYour subdomains are reverse-flattened to a single level using dashes)
264+
- not contain the dash (-) character (URnetwork subdomains are reverse-flattened to a single level using dashes)
265265
operationId: Auth Network Check
266266
security: []
267267
requestBody:
@@ -727,7 +727,7 @@ paths:
727727
get:
728728
description: |
729729
Get the balance for the USDC user custody wallet.
730-
The user custody wallet allows BringYour to query the balance,
730+
The user custody wallet allows URnetwork to query the balance,
731731
but the user must take actions against the wallet.
732732
operationId: Wallet Balance
733733
security:
@@ -1466,7 +1466,7 @@ components:
14661466
BearerAuth:
14671467
type: http
14681468
scheme: bearer
1469-
description: BringYour JWT
1469+
description: URnetwork JWT
14701470

14711471
schemas:
14721472
ProvideMode:
@@ -1911,6 +1911,7 @@ components:
19111911
If this is called with a client jwt, the derived client id is inferred from the jwt.
19121912
type: string
19131913

1914+
# the proxy auth will be the by_client_jwt as username, no password
19141915
proxy_config:
19151916
description: Optional. |
19161917
Set if the intended use case of the client is cloud proxy. |
@@ -1928,22 +1929,92 @@ components:
19281929
type: array
19291930
items:
19301931
type: string
1931-
enable_socks:
1932-
description: Optional.
1933-
type: boolean
1934-
enable_http:
1935-
description: Optional.
1936-
type: boolean
19371932
http_require_auth:
19381933
description: Optional. |
19391934
If the client supports ECH, this is not needed, since the HTTP proxy URL will itself be the auth.
19401935
type: boolean
1936+
initial_device_state:
1937+
description: Optional. |
1938+
Whenever the device is created, it will be set up with this initial state.
1939+
To configure the device beyond the initial state, the SDK ProxyDevice must be used.
1940+
Note that the SDK ProxyDevice must reconfigure the device each time it receives a change notice.
1941+
type: object
1942+
properties:
1943+
location:
1944+
type: object
1945+
properties:
1946+
connect_location_id:
1947+
type: object
1948+
properties:
1949+
client_id:
1950+
description: udid. Optional.
1951+
type: string
1952+
location_id:
1953+
description: udid. Optional.
1954+
type: string
1955+
location_group_id:
1956+
description: udid. Optional.
1957+
type: string
1958+
best_available:
1959+
description: udid. Optional.
1960+
type: boolean
1961+
name:
1962+
type: string
1963+
location_type:
1964+
type: string
1965+
oneOf:
1966+
- title: LocationTypeCountry
1967+
const: country
1968+
- title: LocationTypeRegion
1969+
const: region
1970+
- title: LocationTypeCity
1971+
const: city
1972+
performance_profile:
1973+
type: object
1974+
properties:
1975+
window_type:
1976+
description: Optional. The default is "quality"
1977+
type: string
1978+
oneOf:
1979+
- title: WindowTypeQuality
1980+
const: quality
1981+
- title: WindowTypeSpeed
1982+
const: speed
1983+
window_size_settings:
1984+
type: object
1985+
properties:
1986+
window_size_min:
1987+
type: integer
1988+
window_size_min_p2p_only:
1989+
description: |
1990+
The minimumum number of items in the windows that must be connected via p2p only.
1991+
Leave 0 for default behavior.
1992+
type: integer
1993+
window_size_max:
1994+
description: Inclusive, soft limit
1995+
type: integer
1996+
window_size_hard_max:
1997+
description: Leave 0 to disable (no hard limit)
1998+
type: integer
1999+
fixed_window_size:
2000+
description: Leave 0 to automatically size between `WindowSizeMin` and `WindowSizeMax`
2001+
type: integer
2002+
window_size_reconnect_scale:
2003+
description: Clients per source per stream
2004+
type: number
2005+
keep_healthiest_count:
2006+
description: Leave 0 to disable
2007+
type: integer
2008+
ulimit:
2009+
description: Leave 0 to disable (no limit)
2010+
type: integer
19412011

19422012
AuthNetworkClientResult:
19432013
type: object
19442014
properties:
19452015
by_client_jwt:
19462016
type: string
2017+
# the returned proxy urls are valid as long as the client is not removed
19472018
proxy_config_result:
19482019
type: object
19492020
properties:
@@ -1953,29 +2024,13 @@ components:
19532024
keepalive_seconds:
19542025
description: The proxy must receive a message at least once per this interval, to stay alive. |
19552026
The SDK ProxyDevice will automatically send a heartbeat with this many seconds.
2027+
If the proxy times out and `initial_device_state` is set, the next call to proxy will
2028+
create a new device set up to the initial state.
19562029
type: integer
19572030
http_proxy_url:
1958-
description: Optional. Will not be set if `enable_http=false`
19592031
type: string
19602032
socks_proxy_url:
1961-
description: Optional. Will not be set if `enable_socks=false`
19622033
type: string
1963-
http_proxy_auth:
1964-
description: Optional. Will not be set if `http_require_auth=false`
1965-
type: object
1966-
properties:
1967-
username:
1968-
type: string
1969-
password:
1970-
type: string
1971-
socks_proxy_auth:
1972-
description: Optional.
1973-
type: object
1974-
properties:
1975-
username:
1976-
type: string
1977-
password:
1978-
type: string
19792034

19802035
error:
19812036
type: object
@@ -1985,8 +2040,6 @@ components:
19852040
message:
19862041
type: string
19872042

1988-
1989-
19902043
RemoveNetworkClientArgs:
19912044
type: object
19922045
properties:

0 commit comments

Comments
 (0)