2b9bca65d5
refactor(interaction): separate view and update logic into modular files
...
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 11m44s
- Extract slug editing logic to slug.go (slugView/slugUpdate)
- Extract commands menu logic to commands.go (commandsView/commandsUpdate)
- Extract coming soon modal to coming_soon.go (comingSoonView/comingSoonUpdate)
- Extract main dashboard logic to dashboard.go (dashboardView/dashboardUpdate)
- Create model.go for shared model struct and helper functions
- Replace math/rand with crypto/rand for random subdomain generation
- Remove legacy TLS cipher suite configuration
v1.1.2
2026-01-17 17:33:10 +07:00
6587dc0f39
refactor(interaction): separate view and update logic into modular files
...
- Extract slug editing logic to slug.go (slugView/slugUpdate)
- Extract commands menu logic to commands.go (commandsView/commandsUpdate)
- Extract coming soon modal to coming_soon.go (comingSoonView/comingSoonUpdate)
- Extract main dashboard logic to dashboard.go (dashboardView/dashboardUpdate)
- Create model.go for shared model struct and helper functions
- Replace math/rand with crypto/rand for random subdomain generation
- Remove legacy TLS cipher suite configuration
2026-01-17 17:30:21 +07:00
f421781f44
Merge pull request 'refactor: convert structs to interfaces and rename accessors' ( #68 ) from staging 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 10m34s
Reviewed-on: #68
2026-01-16 16:41:22 +07:00
6969d6823a
Merge branch 'main' into staging
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 11m38s
v1.1.1
2026-01-16 16:35:36 +07:00
1a04af8873
Merge branch 'main' into staging
Docker Build and Push / build-and-push-branches (push) Successful in 11m35s
Docker Build and Push / build-and-push-tags (push) Has been skipped
2026-01-16 16:28:39 +07:00
19135ceb42
refactor: convert structs to interfaces and rename accessors
...
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Has been cancelled
- Convert struct types to interfaces
- Rename getter and setter methods
- Add Close method to server interface
- Merge handler functionality into session file
- Handle lifecycle.Connection().Wait()
- fix panic on nil connection in SSH server
2026-01-16 15:25:31 +07:00
edb11dbc51
Merge pull request 'chore(deps): update golang docker tag to v1.25.6' ( #67 ) from renovate/golang-1.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 11m34s
2026-01-16 05:01:06 +07:00
819f044275
chore(deps): update golang docker tag to v1.25.6
2026-01-15 22:01:02 +00:00
a7ebf2c5db
Merge pull request 'fix(deps): update module golang.org/x/crypto to v0.47.0' ( #66 ) 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 10m34s
Reviewed-on: #66
2026-01-14 10:42:52 +00:00
64c1038f4b
fix(deps): update module golang.org/x/crypto to v0.47.0
2026-01-14 10:41:47 +00:00
aafea49975
feat: integrate gRPC, session refactor, SSH headless support, and bug fixes
...
Docker Build and Push / build-and-push-tags (push) Successful in 11m34s
Docker Build and Push / build-and-push-branches (push) Has been skipped
- gRPC integration: slug edit handling, get sessions by user, and session requests from gRPC server
- Refactor gRPC client: simplify processEventStream and handle authenticated user info
- Session management improvements: use session key for registry, forwarder session termination, inject SessionRegistry interface
- SSH enhancements: add headless mode support for SSH -N connections
- Bug fixes:
- prevent subdomain changes to already-in-use subdomains
- fix startup order and environment variable keys
- atomic ClaimPort() to prevent race conditions
- Refactors:
- consolidate error handling
- replace Get/Set patterns with idiomatic Go interfaces
- change enums from string to int
- CI cleanup: remove renovate bot
Reviewed-on: #65
v1.1.0
2026-01-14 10:16:43 +00:00
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