Commit Graph

760 Commits

Author SHA1 Message Date
zarazaex69
e677261fd5 refactor: improve error wrapping and extract constructor helper 2026-05-25 04:06:26 +03:00
zarazaex
d1c9c691dd Merge pull request #73 from YuriySamorodov/issue_templates-20260524
(docs) Minor changes in Issue Templates
2026-05-25 03:52:46 +03:00
Yuriy Samorodov
914ecef8ec (feat) Minor changes in Issue Templates 2026-05-24 20:35:56 +04:00
zarazaex69
be0f0906e4 fix(ci): remove variadic arg from Cross target
mage does not support variadic function parameters as targets,
causing 'Unknown target specified: cross' in CI.
2026-05-24 18:12:16 +03:00
zarazaex69
52bce4f9b2 docs: remove "Made for" line from readme 2026-05-24 18:10:03 +03:00
zarazaex69
83a94948ae fix(vp8channel): latch peer epoch on first frame received 2026-05-24 18:05:43 +03:00
zarazaex69
6d529c16a8 fix(vp8channel): latch peer only after handshake confirms it
Previously the client latched on the first epoch it saw, which could
be another client in the room. Now it accepts frames from all epochs
until onData delivers the first KCP message (handshake welcome),
then locks to that epoch and ignores others.

Fixes #67
2026-05-24 17:49:02 +03:00
zarazaex69
11dfdcb512 fix(vp8channel): demote noisy 'ignoring frame' log to trace 2026-05-24 17:36:19 +03:00
zarazaex69
d0b0b8e9db fix(vp8channel): client ignores frames from other participants
In single-peer mode (client), frames from unknown epochs are now
silently dropped instead of triggering a reconnect loop. This
prevents the client from mistaking another client's VP8 track
for a server restart.

Part of #67
2026-05-24 17:33:51 +03:00
zarazaex69
cefd260e5d fix(vp8channel): support multiple simultaneous clients in same room
Implement PeerTransport interface (SendTo/SupportsPeerRouting) so the
server can route KCP traffic to individual peers by their epoch.

When OnPeerData is set (server mode), each remote epoch gets its own
KCP runtime instead of triggering a reconnect loop.

Also add DNS retry in protect.NewHTTPClient to handle transient
resolver failures.

Fixes #67
2026-05-24 17:27:02 +03:00
zarazaex69
cb6fe0980d feat(protect): add DNS retry logic to HTTP client 2026-05-24 17:27:02 +03:00
zarazaex69
fe5dbb55b1 chore: add to gitignore 2026-05-24 17:27:02 +03:00
zarazaex
d848fd55ce Merge pull request #71 from adleksey/patch-1
Refactor Cross function for platform-specific builds
2026-05-24 16:36:59 +03:00
zarazaex69
03f1e50d1d chore: bump Go version from 1.25 to 1.26 2026-05-24 10:04:24 +03:00
zarazaex69
a3b50e8235 build: bump golang image from 1.25 to 1.26 2026-05-24 09:22:55 +03:00
adleksey
efacdac70e Refactor Cross function for platform-specific builds
Updated Cross function to accept specific platforms and added error handling for invalid platforms.
2026-05-24 09:31:58 +04:00
zarazaex69
bea018af67 ci: add GitHub issue templates and PR template with Russian localization 2026-05-24 05:47:01 +03:00
zarazaex69
98c6dec4a0 docs: normalize em dash to hyphen in Russian documentation and code comments 2026-05-24 05:31:55 +03:00
zarazaex69
5498f55083 ci: update GitHub Actions workflows to use Go 1.26 2026-05-24 05:16:04 +03:00
zarazaex69
0db5ff01f6 chore(deps): update Go to 1.26 and bump dependency versions 2026-05-24 05:10:45 +03:00
zarazaex
02c1195b77 Merge pull request #68 from YuriySamorodov/docker-local-20260523
(feat) Local Docker instructions
2026-05-24 04:54:14 +03:00
zarazaex69
cfe9565c21 test(e2e): remove standalone pion loopback PoC after integration into memoryStream 2026-05-24 04:46:53 +03:00
zarazaex69
4d22169be6 test(e2e): add in-memory WebRTC loopback for video transport testing 2026-05-24 04:45:06 +03:00
Yuriy Samorodov
6538ce1e36 Merge branch 'openlibrecommunity:master' into docker-local-20260523 2026-05-24 05:10:39 +04:00
Yuriy Samorodov
08889e59fd (feat) docker.md in Russian 2026-05-24 05:09:55 +04:00
zarazaex69
f63aa0bc43 refactor(e2e): extract local soak transport error constants 2026-05-24 02:57:30 +03:00
zarazaex69
bb2e1ee1c8 test(e2e): allow multiple transports in local soak test via comma-separated list or 'all' 2026-05-24 02:42:13 +03:00
zarazaex69
0f9388134a docs: add proxy_user/proxy_pass fields to server config examples and documentation 2026-05-24 02:29:00 +03:00
zarazaex
931d304f95 Merge pull request #64 from spkprsnts/master
feat(server): outbound SOCKS5 proxy auth + fix silent startup error loss
2026-05-24 00:33:14 +03:00
speakpresents
2d9ec48a2f Merge branch 'openlibrecommunity:master' into master 2026-05-24 02:19:30 +05:00
spkprsnts
5e4c2e27ee refactor(server): split socks5 connect logic
- Extract auth logic to helper functions
- Add linter directives for gosec and globals
2026-05-24 02:18:34 +05:00
zarazaex69
a00d7f5e9f deps: bump github.com/zarazaex69/j to 4015c3c4de75 2026-05-23 23:46:27 +03:00
Yuriy Samorodov
96f1ace9ad (feat) Local Docker instructions 2026-05-23 19:39:42 +02:00
spkprsnts
ff83e76cd2 fix: drain stderr filter before exit to prevent log loss on startup errors 2026-05-23 05:16:48 +05:00
spkprsnts
d5973cf2c7 feat(server): add username/password auth for outbound SOCKS5 proxy (RFC 1929) 2026-05-23 05:14:25 +05:00
zarazaex
24ca5b354c Merge pull request #63 from alananisimov/refactor/universal-carrier
made it able to change socks5 proxy listening host
2026-05-22 23:31:31 +03:00
Alexander Anisimov
87f2b7c08b Merge remote-tracking branch 'origin/master' into refactor/universal-carrier
# Conflicts:
#	mobile/mobile_test.go
2026-05-22 22:38:00 +03:00
Alexander Anisimov
7457467aef test(mobile): reuse room fixture 2026-05-22 22:20:18 +03:00
Alexander Anisimov
0f177badfc mobile: configure SOCKS listen host 2026-05-22 22:11:37 +03:00
zarazaex69
7f6a64b5e2 docs: remove build instructions from readme 2026-05-22 20:55:54 +03:00
zarazaex69
fb5ce90e61 refactor(e2e): extract soak pump helpers and modernize range lnt 2026-05-22 20:51:46 +03:00
zarazaex69
af7bcac88c Merge branch 'refactor/optimize'
Data-plane micro-optimisations:
  perf(crypto): counter-based nonce removes per-frame getrandom syscall
  refactor(muxconn): replace cond+mutex buffer with channel pipeline
  refactor(muxconn): recycle plaintext buffers via sync.Pool

Local soak (datachannel, 120s) on this dev box: 81.6 -> 93.1 MiB/s (+14%),
total CPU -10.8%, GC scan time -24%. Wire format unchanged.
2026-05-22 20:46:09 +03:00
zarazaex69
d8139a7178 refactor(muxconn): recycle plaintext buffers via sync.Pool 2026-05-22 20:37:17 +03:00
zarazaex69
99a7b12538 refactor(muxconn): replace mutex/cond buffer with channel pipeline 2026-05-22 19:55:13 +03:00
zarazaex69
e9373aabd8 perf(crypto): replace random nonces with salt+counter scheme 2026-05-22 19:38:29 +03:00
zarazaex69
426de25131 chore: update gitignore rules and add cpu.prof 2026-05-22 19:23:22 +03:00
zarazaex69
bdde1bb6ce chore: remove secretny_ddoos script ( I don't know why I'm only now
realizing that WB removed guest rooms a long time ago )
2026-05-22 18:30:22 +03:00
zarazaex69
d0b5074072 test(e2e): add local throughput soak test 2026-05-22 18:27:20 +03:00
zarazaex69
85faadd042 Merge branch 'refactor/universal-carrier'
Brings universal carrier refactor, vp8channel improvements, mobile/pkg
exports, docs translation/refresh, and CI nightly stress soak schedule
into master.
2026-05-22 18:09:15 +03:00
zarazaex69
53e4c984fc docs: add header banners and improve doc clarity 2026-05-22 00:11:39 +03:00