dbdf8094fa
refactor: replace Get/Set patterns with idiomatic Go interfaces
...
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 13m4s
- rename constructors to New
- remove Get/Set-style accessors
- replace string-based enums with iota-backed types
v1.1.0-rc.2
2026-01-14 16:54:10 +07:00
ae3ed52d16
fix(port): add atomic ClaimPort() to prevent race condition
...
- Replace GetPortStatus/SetPortStatus calls with atomic ClaimPort() operation.
- Fixed a logic error when handling headless tunneling.
2026-01-14 16:51:50 +07:00
fb638636bf
refactor: consolidate error handling with fail() function in session handlers
...
- Replace repetitive error handling code with fail() function in HandleGlobalRequest
- Standardize error response pattern across all handler methods
- Improve code maintainability and reduce duplication
2026-01-14 16:51:50 +07:00
da29df85b7
feat: add headless mode support for SSH -N connections
...
- use s.lifecycle.GetConnection().Wait() to block until SSH connection closes
- Prevent premature session closure in headless mode
In headless mode (ssh -N), there's no channel interaction to block on,
so the session would immediately return and close. Now blocking on
conn.Wait() keeps the session alive until the client disconnects.
2026-01-14 16:51:50 +07:00
8b0e08c629
fix(deps): update module github.com/caddyserver/certmagic to v0.25.1
2026-01-14 16:51:50 +07:00
f0804d6946
ci: remove renovate
2026-01-14 16:51:50 +07:00
09e526cd1e
feat: add authenticated user info and restructure handleConnection
...
- Display authenticated username in welcome page information box
- Refactor handleConnection function for better structure and clarity
2026-01-14 16:51:50 +07:00
887ebf78b1
refactor(grpc/client): simplify processEventStream with per-event handlers
...
- Extract eventHandlers dispatch table
- Add per-event handlers: handleSlugChange, handleGetSessions, handleTerminateSession
- Introduce sendNode helper to centralize send/error handling and preserve connection-error propagation
- Add protoToTunnelType for tunnel-type validation
- Map unknown proto.TunnelType to types.UNKNOWN in protoToTunnelType and return a descriptive error
- Reduce boilerplate and improve readability of processEventStream
2026-01-14 16:51:50 +07:00
bef7a49f88
feat: implement forwarder session termination
2026-01-14 16:51:50 +07:00
17633b4e3c
refactor: inject SessionRegistry interface instead of individual functions
2026-01-14 16:51:50 +07:00
f25d61d1d1
update: proto file to v1.3.0
2026-01-14 16:51:50 +07:00
8782b77b74
feat(session): use session key for registry
2026-01-14 16:51:50 +07:00
fc3cd886db
fix: use correct environment variable key
2026-01-14 16:51:50 +07:00
b0da57db0d
fix: startup order
2026-01-14 16:51:50 +07:00
0bd6eeadf3
feat: implement sessions request from grpc server
2026-01-14 16:51:50 +07:00
449f546e04
feat: implement sessions request from grpc server
2026-01-14 16:51:50 +07:00
4644420eee
feat: implement get sessions by user
2026-01-14 16:51:50 +07:00
c9bf9e62bd
feat(grpc): integrate slug edit handling
2026-01-14 16:51:50 +07:00
57d2136377
WIP: gRPC integration, initial implementation
2026-01-14 16:51:47 +07:00
8a34aaba80
WIP: gRPC integration, initial implementation
2026-01-14 16:51:35 +07:00
ff995a929e
revert 01ddc76f7e
...
revert Merge pull request 'fix(deps): update module github.com/caddyserver/certmagic to v0.25.1' (#58 ) from renovate/github.com-caddyserver-certmagic-0.x into main
2026-01-14 16:51:35 +07:00
32ac9c1749
fix(deps): update module github.com/caddyserver/certmagic to v0.25.1
...
# Conflicts:
# go.mod
2026-01-14 16:51:30 +07:00
e051a5b742
Merge pull request 'fix(deps): update module golang.org/x/crypto to v0.47.0' ( #64 ) from renovate/golang.org-x-crypto-0.x into main
Docker Build and Push / build-and-push-tags (push) Has been skipped
Docker Build and Push / build-and-push-branches (push) Successful in 9m51s
renovate / renovate (push) Successful in 55s
2026-01-12 18:20:57 +00:00
d35228759c
fix(deps): update module golang.org/x/crypto to v0.47.0
2026-01-12 18:20:53 +00:00
2e8767f17a
chore: upgrade TLS configuration to TLS 1.3
renovate / renovate (push) Successful in 1m34s
Docker Build and Push / build-and-push-tags (push) Has been skipped
Docker Build and Push / build-and-push-branches (push) Successful in 2m49s
v1.0.6
2026-01-01 00:57:48 +07:00
7716eb7f29
perf: optimize header parsing with zero-copy ReadSlice
...
renovate / renovate (push) Successful in 35s
Docker Build and Push / build-and-push-branches (push) Successful in 4m39s
Docker Build and Push / build-and-push-tags (push) Successful in 4m52s
- Replace ReadString with ReadSlice to eliminate allocations
- Use bytes operations instead of strings
- Add FromBytes variant for in-memory parsing
v1.0.5
2025-12-31 23:18:53 +07:00
b115369913
fix: wait for both goroutines before cleanup in HandleConnection
...
renovate / renovate (push) Successful in 1m42s
Docker Build and Push / build-and-push-branches (push) Successful in 4m46s
Docker Build and Push / build-and-push-tags (push) Successful in 4m51s
Only waited for one of two copy goroutines, leaking the second. Now waits
for both to complete before closing connections.
Fixes file descriptor leak causing 'too many open files' under load.
Fixes : #56
v1.0.4
2025-12-31 22:22:51 +07:00
9276430fae
refactor(session): add registry to manage SSH sessions
...
renovate / renovate (push) Successful in 36s
Docker Build and Push / build-and-push-branches (push) Successful in 4m41s
Docker Build and Push / build-and-push-tags (push) Successful in 4m38s
- Implement thread-safe session registry with sync.RWMutex
- Add Registry interface for session management operations
- Support Get, Register, Update, and Remove session operations
- Enable dynamic slug updates for existing sessions
- Fix Connection closed by remote because HandleTCPIPForward run on a goroutine
v1.0.3
2025-12-31 18:33:47 +07:00
f8a6f0bafe
refactor(session): add registry to manage SSH sessions
...
renovate / renovate (push) Successful in 39s
Docker Build and Push / build-and-push-branches (push) Successful in 4m27s
Docker Build and Push / build-and-push-tags (push) Successful in 4m22s
- Implement thread-safe session registry with sync.RWMutex
- Add Registry interface for session management operations
- Support Get, Register, Update, and Remove session operations
- Enable dynamic slug updates for existing sessions
2025-12-31 17:47:35 +07:00
acd02aadd3
refactor: restructure project architecture
renovate / renovate (push) Successful in 45s
Docker Build and Push / build-and-push-branches (push) Successful in 5m54s
Docker Build and Push / build-and-push-tags (push) Successful in 6m21s
v1.0.1
2025-12-31 15:49:37 +07:00
878664e0ac
update: multi version build
renovate / renovate (push) Successful in 35s
Docker Build and Push / build-and-push-branches (push) Successful in 6m7s
Docker Build and Push / build-and-push-tags (push) Successful in 6m6s
v1.0.0
2025-12-31 13:48:36 +07:00
20a88df330
update: multi version build
Docker Build and Push / build-and-push-tags (push) Has been skipped
renovate / renovate (push) Successful in 38s
Docker Build and Push / build-and-push-branches (push) Successful in 4m45s
2025-12-31 13:32:16 +07:00
075dd7ecad
feat: add versioning system
renovate / renovate (push) Successful in 38s
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Has been cancelled
2025-12-31 12:31:31 +07:00
ab34b34765
fix: prevent subdomain change to already-in-use subdomains
renovate / renovate (push) Successful in 35s
Docker Build and Push / build-and-push (push) Successful in 5m42s
2025-12-30 19:41:33 +07:00
514c4f9de1
Merge branch 'staging' of https://git.fossy.my.id/bagas/tunnel-please into staging
renovate / renovate (push) Successful in 20s
Docker Build and Push / build-and-push (push) Successful in 3m35s
2025-12-30 00:09:36 +07:00
d8330c684f
feat: make SSH interaction UI fully responsive
2025-12-30 00:09:18 +07:00
fbf182025b
Merge pull request 'main' ( #52 ) from main into staging
...
renovate / renovate (push) Successful in 21s
Reviewed-on: #52
2025-12-29 14:58:10 +00:00
1038c0861e
Merge pull request 'chore(config): migrate Renovate config' ( #51 ) from renovate/migrate-config into main
...
Reviewed-on: #51
2025-12-29 14:57:45 +00:00
64e0d5805e
chore(config): migrate config renovate.json
2025-12-29 14:57:09 +00:00
85f21e7698
feat(tui): update interaction layer to Bubble Tea TUI
renovate / renovate (push) Successful in 27s
Docker Build and Push / build-and-push (push) Successful in 3m49s
2025-12-29 21:55:39 +07:00
08565d845f
Merge pull request 'staging' ( #50 ) from staging into main
...
Docker Build and Push / build-and-push (push) Successful in 3m26s
Reviewed-on: #50
2025-12-29 10:17:00 +00:00
a7d9b2ab8a
update: renovate target pr to staging branch
renovate / renovate (push) Successful in 20s
2025-12-29 17:15:42 +07:00
bc8c5127a6
Merge pull request 'main' ( #49 ) from main into staging
...
renovate / renovate (push) Successful in 23s
Docker Build and Push / build-and-push (push) Successful in 3m26s
Reviewed-on: #49
2025-12-29 10:14:30 +00:00
a49b53e56f
Merge pull request 'chore(deps): update actions/checkout action to v6' ( #48 ) from renovate/actions-checkout-6.x into main
...
Docker Build and Push / build-and-push (push) Successful in 1m23s
Reviewed-on: #48
2025-12-29 10:04:10 +00:00
e5b5cc3ae5
chore(deps): update actions/checkout action to v6
2025-12-29 10:03:19 +00:00
b0b00764cf
Update .gitea/workflows/renovate.yml
renovate / renovate (push) Successful in 23s
2025-12-29 10:02:56 +00:00
8b6cdef2e9
Merge pull request 'chore(config): migrate Renovate config' ( #47 ) from renovate/migrate-config into main
...
Docker Build and Push / build-and-push (push) Successful in 1m25s
Reviewed-on: #47
2025-12-29 09:49:10 +00:00
653517f5be
chore(config): migrate config renovate.json
2025-12-29 09:48:12 +00:00
f11a92fb3b
ci: configure workflow to ignore non-Go file changes
Docker Build and Push / build-and-push (push) Successful in 3m30s
renovate / renovate (push) Successful in 22s
2025-12-29 15:58:24 +07:00
ac283626d3
docs: add Docker deployment section
2025-12-29 15:57:31 +07:00