Commit Graph
100 Commits
Author SHA1 Message Date
bagas 6d700ef6dd Merge pull request 'feat/grpc-integration' (#59) from feat/grpc-integration into staging
Docker Build and Push / build-and-push-branches (push) Successful in 5m25s
Docker Build and Push / build-and-push-tags (push) Has been skipped
Reviewed-on: #59
2026-01-09 09:24:20 +00:00
bagas b8acb6da4c ci: remove renovate
Docker Build and Push / build-and-push-tags (push) Has been skipped
Docker Build and Push / build-and-push-branches (push) Has been cancelled
2026-01-08 13:03:02 +07:00
bagas 6b4127f0ef feat: add authenticated user info and restructure handleConnection
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 3m21s
- Display authenticated username in welcome page information box
- Refactor handleConnection function for better structure and clarity
2026-01-07 23:07:02 +07:00
bagas 16d48ff906 refactor(grpc/client): simplify processEventStream with per-event handlers
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 3m20s
- 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-06 20:14:56 +07:00
bagas 6213ff8a30 feat: implement forwarder session termination
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 3m36s
2026-01-06 18:32:48 +07:00
bagas 4ffaec9d9a refactor: inject SessionRegistry interface instead of individual functions
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 4m16s
2026-01-05 16:49:17 +07:00
bagas 6de0a618ee update: proto file to v1.3.0
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 4m0s
2026-01-05 00:55:51 +07:00
bagas 8cc70fa45e feat(session): use session key for registry 2026-01-05 00:50:42 +07:00
bagas d666ae5545 fix: use correct environment variable key
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 4m1s
2026-01-04 18:21:34 +07:00
bagas 5edb3c8086 fix: startup order
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 3m51s
2026-01-04 15:19:03 +07:00
bagas 5b603d8317 feat: implement sessions request from grpc server
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Successful in 4m7s
2026-01-03 21:17:01 +07:00
bagas 8fd9f8b567 feat: implement sessions request from grpc server
Docker Build and Push / build-and-push-branches (push) Has been skipped
Docker Build and Push / build-and-push-tags (push) Has been cancelled
2026-01-03 20:06:14 +07:00
bagas 30e84ac3b7 feat: implement get sessions by user 2026-01-02 22:58:54 +07:00
bagas fd6ffc2500 feat(grpc): integrate slug edit handling 2026-01-02 18:27:48 +07:00
bagas e1cd4ed981 WIP: gRPC integration, initial implementation 2026-01-01 21:03:17 +07:00
bagas 96d2b88f95 WIP: gRPC integration, initial implementation 2026-01-01 21:01:15 +07:00
bagas 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
2026-01-01 00:57:48 +07:00
bagas 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
2025-12-31 23:18:53 +07:00
bagas 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
2025-12-31 22:22:51 +07:00
bagas 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
2025-12-31 18:33:47 +07:00
bagas 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
bagas 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
2025-12-31 15:49:37 +07:00
bagas 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
2025-12-31 13:48:36 +07:00
bagas 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
bagas 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
bagas 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
bagas 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
bagas d8330c684f feat: make SSH interaction UI fully responsive 2025-12-30 00:09:18 +07:00
bagas 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
bagas 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
bagas 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
bagas 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
bagas a7d9b2ab8a update: renovate target pr to staging branch
renovate / renovate (push) Successful in 20s
2025-12-29 17:15:42 +07:00
bagas 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
bagas 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
bagas b0b00764cf Update .gitea/workflows/renovate.yml
renovate / renovate (push) Successful in 23s
2025-12-29 10:02:56 +00:00
bagas 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
bagas 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
bagas ac283626d3 docs: add Docker deployment section 2025-12-29 15:57:31 +07:00
bagas ad7c5985b1 feat: add docker compose deployment configurations 2025-12-29 15:57:16 +07:00
bagas 2644b4521c refactor: improve encapsulation
renovate / renovate (push) Successful in 20s
Docker Build and Push / build-and-push (push) Successful in 3m25s
2025-12-29 12:37:03 +07:00
bagas d23ed27a4a Merge pull request 'staging' (#46) from staging into main
Docker Build and Push / build-and-push (push) Successful in 1m21s
renovate / renovate (push) Successful in 21s
Reviewed-on: #46
2025-12-28 13:19:25 +00:00
bagas b5862bd7a0 feat: add configurable HTTP port
renovate / renovate (push) Successful in 20s
Docker Build and Push / build-and-push (push) Successful in 1m45s
2025-12-28 20:09:31 +07:00
bagas bf7f7bd8da feat: add configurable HTTPS port
renovate / renovate (push) Successful in 19s
Docker Build and Push / build-and-push (push) Successful in 1m24s
2025-12-28 20:03:49 +07:00
bagas c3a469be64 refactor: use relative paths for certificates instead of absolute paths
renovate / renovate (push) Successful in 19s
Docker Build and Push / build-and-push (push) Successful in 1m32s
2025-12-28 19:53:03 +07:00
bagas eee04daf80 feat: optimize Docker build for production
renovate / renovate (push) Successful in 19s
Docker Build and Push / build-and-push (push) Successful in 1m30s
2025-12-28 19:29:32 +07:00
bagas 1d918ef2aa feat(port): disable TCP forwarding by default and refactor port manager
renovate / renovate (push) Successful in 28s
Docker Build and Push / build-and-push (push) Successful in 5m27s
2025-12-28 19:03:26 +07:00
bagas a2676a4f30 Merge branch 'staging' of https://git.fossy.my.id/bagas/tunnel-please into staging
Docker Build and Push / build-and-push (push) Successful in 3m36s
renovate / renovate (push) Successful in 20s
2025-12-28 18:45:46 +07:00
bagas 83657d3206 refactor: remove unnecessary caching of environment data 2025-12-28 18:45:22 +07:00
bagas 6710aec4bf Merge pull request 'main' (#45) from main into staging
Docker Build and Push / build-and-push (push) Successful in 3m33s
renovate / renovate (push) Successful in 19s
Reviewed-on: #45
2025-12-28 08:08:58 +00:00
bagas 0ca6285ef5 Update .gitea/workflows/renovate.yml
Docker Build and Push / build-and-push (push) Successful in 3m32s
2025-12-28 08:08:10 +00:00
bagas 28cc069fdb Merge pull request 'chore(deps): update golang docker tag to v1.25.5' (#42) from renovate/golang-1.x into main
Docker Build and Push / build-and-push (push) Has been cancelled
renovate / renovate (push) Successful in 21s
Reviewed-on: #42
2025-12-28 08:07:44 +00:00
bagas fe58e35e91 Merge pull request 'fix(deps): update module golang.org/x/crypto to v0.46.0' (#43) from renovate/golang.org-x-crypto-0.x into main
renovate / renovate (push) Has been cancelled
Docker Build and Push / build-and-push (push) Has been cancelled
Reviewed-on: #43
2025-12-28 08:07:31 +00:00
bagas 14fa237027 Merge pull request 'staging' (#41) from staging into main
Docker Build and Push / build-and-push (push) Successful in 3m32s
renovate / renovate (push) Successful in 45s
Reviewed-on: #41
2025-12-28 07:55:00 +00:00
bagas 9a2a373eb3 feat: add renovate
Docker Build and Push / build-and-push (push) Successful in 6m3s
2025-12-28 14:51:00 +07:00
bagas 1b248a2957 Merge pull request 'feat/sync' (#39) from feat/sync into staging
Docker Build and Push / build-and-push (push) Successful in 3m30s
Reviewed-on: #39
2025-12-28 06:28:02 +00:00
bagas 7348bdafb7 Delete test 2025-12-28 06:24:40 +00:00
bagas cb8529f13e Update test 2025-12-28 06:20:21 +00:00
bagas fa6b097d66 Add test file 2025-12-28 13:19:45 +07:00
bagas e3c4f59a77 Add GitHub to Gitea sync workflow 2025-12-28 13:15:05 +07:00
bagas c69cd68820 feat: add certmagic for automatic TLS certificate management
Docker Build and Push / build-and-push (push) Successful in 3m28s
2025-12-26 23:44:50 +07:00
bagas 76d1202b8e fix: correct logic when checking tcpip-forward request
Docker Build and Push / build-and-push (push) Successful in 5m34s
2025-12-26 23:17:13 +07:00
bagas 6dff735216 fix: prevent OOM by bounding io.Copy buffer usage
Docker Build and Push / build-and-push (push) Successful in 3m47s
2025-12-18 21:09:12 +07:00
bagas 7bc5a01ba7 feat: add pprof for debuging
Docker Build and Push / build-and-push (push) Successful in 3m51s
2025-12-18 18:30:49 +07:00
bagas 2a43f1441c Merge pull request 'fix: potential resource leak' (#38) from staging into main
Docker Build and Push / build-and-push (push) Successful in 4m27s
Reviewed-on: #38
2025-12-17 14:38:40 +00:00
bagas 6451304ed7 fix: potential resource leak
Docker Build and Push / build-and-push (push) Successful in 4m17s
2025-12-17 21:38:00 +07:00
bagas 5c6826fe89 Merge pull request 'fix: add nil check in Forwarder.Close to avoid panic (issue #36)' (#37) from staging into main
Docker Build and Push / build-and-push (push) Successful in 4m9s
Reviewed-on: #37
2025-12-12 08:36:51 +00:00
bagas 2725975d82 fix: add nil check in Forwarder.Close to avoid panic (issue #36)
Docker Build and Push / build-and-push (push) Successful in 4m8s
2025-12-12 15:36:07 +07:00
bagas b484981017 Merge pull request 'staging' (#35) from staging into main
Docker Build and Push / build-and-push (push) Successful in 4m22s
Reviewed-on: #35
2025-12-09 16:40:44 +00:00
bagas 102c975388 Merge branch 'staging' of https://git.fossy.my.id/bagas/tunnel-please into staging
Docker Build and Push / build-and-push (push) Successful in 4m17s
2025-12-09 23:40:06 +07:00
bagas ad034ef681 fix: resolve random SSH disconnections caused by 'unexpected bytes remain' errors 2025-12-09 23:39:22 +07:00
bagas aceecfd14c Merge pull request 'Update LICENSE.md' (#34) from staging into main
Docker Build and Push / build-and-push (push) Successful in 6m44s
Reviewed-on: #34
2025-12-08 16:03:33 +00:00
bagas a2a688fc4e Update LICENSE.md
Docker Build and Push / build-and-push (push) Successful in 3m51s
2025-12-08 16:02:51 +00:00
bagas 1de7155771 Merge pull request 'fix: prevent race condition when channel is used before being set' (#33) from staging into main
Docker Build and Push / build-and-push (push) Successful in 3m46s
Reviewed-on: #33
2025-12-08 15:47:01 +00:00
bagas c951c41a9b fix: prevent race condition when channel is used before being set
Docker Build and Push / build-and-push (push) Successful in 6m24s
2025-12-08 22:46:10 +07:00
bagas 79d77497a0 Merge pull request 'update: readme' (#32) from staging into main
Docker Build and Push / build-and-push (push) Successful in 6m22s
Reviewed-on: #32
2025-12-08 14:13:23 +00:00
bagas cb08bb7673 update: readme
Docker Build and Push / build-and-push (push) Successful in 6m24s
2025-12-08 21:13:16 +07:00
bagas 20b90c1727 Merge pull request 'Update .gitea/workflows/build.yml' (#31) from staging into main
Docker Build and Push / build-and-push (push) Successful in 5m9s
Reviewed-on: #31
2025-12-08 13:37:07 +00:00
bagas 5d9f7aee92 Update .gitea/workflows/build.yml
Docker Build and Push / build-and-push (push) Successful in 5m26s
2025-12-08 13:35:46 +00:00
bagas a1e920f6b5 Merge pull request 'refactor: remove magic numbers and replace with named constants' (#30) from staging into main
Docker Build and Push / build-and-push (push) Successful in 6m10s
Reviewed-on: bagas/tunnl_please#30
2025-12-08 12:46:56 +00:00
bagas dd96c8fe75 refactor: remove magic numbers and replace with named constants
Docker Build and Push / build-and-push (push) Successful in 6m20s
2025-12-08 19:46:04 +07:00
bagas b5045409cb Merge pull request 'feat: add droping conn command' (#29) from staging into main
Docker Build and Push / build-and-push (push) Successful in 4m30s
Reviewed-on: bagas/tunnl_please#29
2025-12-07 09:30:47 +00:00
bagas ba5f702e36 feat: add droping conn command
Docker Build and Push / build-and-push (push) Successful in 4m38s
2025-12-07 15:26:37 +07:00
bagas 33e6ad08d7 Merge pull request 'staging' (#28) from staging into main
Docker Build and Push / build-and-push (push) Successful in 6m0s
Reviewed-on: bagas/tunnl_please#28
2025-12-06 16:47:20 +00:00
bagas 8c8fdf251d refactor: remove error shadowing
Docker Build and Push / build-and-push (push) Successful in 6m13s
2025-12-06 23:47:02 +07:00
bagas 03d3c8e4fb feat: make interaction more interactive 2025-12-06 23:46:09 +07:00
bagas fd513d7bc9 Merge pull request 'refactor: instantiate new session object once forwarding is approved' (#27) from staging into main
Docker Build and Push / build-and-push (push) Successful in 6m2s
Reviewed-on: bagas/tunnl_please#27
2025-12-06 16:14:22 +00:00
bagas 9bd2bead9e refactor: instantiate new session object once forwarding is approved
Docker Build and Push / build-and-push (push) Successful in 6m6s
2025-12-06 23:14:13 +07:00
bagas 73e7df6a3b Merge pull request 'fix: correct read/write handling in CustomWriter' (#26) from staging into main
Docker Build and Push / build-and-push (push) Successful in 5m14s
Reviewed-on: bagas/tunnl_please#26
2025-12-06 15:20:11 +00:00
bagas 69c3e78728 fix: correct read/write handling in CustomWriter
Docker Build and Push / build-and-push (push) Successful in 5m7s
2025-12-06 22:18:43 +07:00
bagas d2c5b2a4db Merge pull request 'staging' (#25) from staging into main
Docker Build and Push / build-and-push (push) Successful in 4m21s
Reviewed-on: bagas/tunnl_please#25
2025-12-05 17:09:59 +00:00
bagas 0b8bc1dbba Merge pull request 'refactor' (#24) from refactor into staging
Docker Build and Push / build-and-push (push) Successful in 4m25s
Reviewed-on: bagas/tunnl_please#24
2025-12-05 17:03:36 +00:00
bagas 43178d51b5 refactor: remove docker compose 2025-12-06 00:03:19 +07:00
bagas 368cc0b3e3 fix: resolve nil pointer dereference in interaction on TLS request 2025-12-06 00:01:25 +07:00
bagas 7819dcc430 Merge pull request 'refactor' (#23) from refactor into staging
Docker Build and Push / build-and-push (push) Successful in 4m23s
Reviewed-on: bagas/tunnl_please#23
2025-12-05 15:28:49 +00:00
bagas af951b8fa7 fix: discard unused buffers in the ssh channel before disconnecting 2025-12-05 22:26:38 +07:00
bagas 990bccbff7 update: handle message deletion properly 2025-12-05 22:24:46 +07:00
bagas 659f6c3ee7 refactor: move CreateForwardedTCPIPPayload to forwarder interface 2025-12-05 13:49:33 +07:00
bagas 36790cab44 Merge pull request 'refactor' (#22) from refactor into staging
Docker Build and Push / build-and-push (push) Successful in 4m33s
Reviewed-on: bagas/tunnl_please#22
2025-12-04 15:50:57 +00:00
bagas 7a31047bb9 refactor: restructure session initialization to avoid circular references 2025-12-04 22:48:15 +07:00