betters3tui 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a38bace5feab978c53307d83130bb1846a52c9b024b1588cb87105ed1f3528e6
4
+ data.tar.gz: e85a7aab711a451329a9c6f8f7605b0d61a29bafdaab2c730f993580b1501dcb
5
+ SHA512:
6
+ metadata.gz: b547d135fa3ee99704d329013bacb11106b1c01162e984072c97923016ebf238a01c3b669fa2d79562f22b18d22c74f0e68020d640315435ffb2dc1c5b7dc9bc
7
+ data.tar.gz: '0950b85f3a174d694b9291790ccf2ce570326eae8faf0ed7d8e951d0efdc4edbfedfaeff651932a725ed2ad19e4ef1d820371b1a4f3c085513093f8190c2948d'
data/CHANGELOG.md ADDED
@@ -0,0 +1,29 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [0.1.1] - 2026-02-27
6
+
7
+ ### Added
8
+ - **Scrollable file lists** - Large file lists are now scrollable with proper pagination
9
+ - **Node count indicator** - Display current node / total nodes in bottom right corner of footer
10
+ - **Relative time formatting** - Show "Xs/Xm/Xh/Xd ago" for items modified within 2 weeks, with consistent alignment
11
+ - **Cursor navigation improvements** - Cursor stays at last visible position when navigating past end
12
+
13
+ ### Changed
14
+ - Improved footer layout with keyboard shortcuts on left and node count on right
15
+ - Time formatting now uses relative time for recent items while maintaining alignment
16
+
17
+ ## [0.1.0] - Previous Release
18
+
19
+ ### Added
20
+ - Initial S3-compatible browser TUI
21
+ - Profile management (add, edit, delete profiles)
22
+ - Bucket browsing and navigation
23
+ - Object listing with file/folder distinction
24
+ - Search functionality across profiles, buckets, and objects
25
+ - File download capability
26
+ - Interactive keyboard navigation
27
+
28
+ [0.1.1]: https://github.com/adiprnm/betters3tui/compare/v0.1.0...v0.1.1
29
+ [0.1.0]: https://github.com/adiprnm/betters3tui/releases/tag/v0.1.0
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Adi Purnama
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,124 @@
1
+ # BetterS3TUI
2
+
3
+ A TUI (Terminal User Interface) S3-compatible browser.
4
+
5
+ ## Features
6
+
7
+ - Browse S3-compatible storage from your terminal
8
+ - Interactive interface for easy navigation
9
+ - Support for multiple S3-compatible services
10
+ - **Sort files by Name, Size, or Date** (interactive menu)
11
+ - Search across profiles, buckets, and objects
12
+ - Download files
13
+ - Multiple profile support
14
+
15
+ ## Installation
16
+
17
+ ### Option 1: Direct Installation
18
+
19
+ ```bash
20
+ git clone https://github.com/adiprnm/betters3tui.git
21
+ cd betters3tui
22
+ bundle install
23
+ ruby betters3tui.rb
24
+ ```
25
+
26
+ ### Option 2: Docker (Recommended)
27
+
28
+ **Run from GitHub Container Registry (Pre-built):**
29
+
30
+ ```bash
31
+ # Pull and run latest version
32
+ docker run -it \
33
+ -v ~/.config/betters3tui:/root/.config/betters3tui \
34
+ -v ~/Downloads:/root/Downloads \
35
+ ghcr.io/adiprnm/betters3tui:latest
36
+
37
+ # Or pull specific version
38
+ docker pull ghcr.io/adiprnm/betters3tui:v0.2.2
39
+ ```
40
+
41
+ **Build locally using Docker Compose:**
42
+
43
+ ```bash
44
+ # Clone the repository
45
+ git clone https://github.com/adiprnm/betters3tui.git
46
+ cd betters3tui
47
+
48
+ # Build the Docker image
49
+ docker-compose build
50
+
51
+ # Run the application
52
+ docker-compose run betters3tui
53
+ ```
54
+
55
+ **Build locally using Docker:**
56
+
57
+ ```bash
58
+ # Build the image
59
+ docker build -t betters3tui .
60
+
61
+ # Run with volume mounts for config and downloads
62
+ docker run -it \
63
+ -v ~/.config/betters3tui:/root/.config/betters3tui \
64
+ -v ~/Downloads:/root/Downloads \
65
+ betters3tui
66
+ ```
67
+
68
+ ## Configuration
69
+
70
+ Before running, create a profiles configuration file at `~/.config/betters3tui/profiles.json`:
71
+
72
+ ```json
73
+ [
74
+ {
75
+ "name": "my-s3",
76
+ "endpoint": "https://s3.example.com",
77
+ "access_key": "your-access-key",
78
+ "secret_key": "your-secret-key",
79
+ "region": "us-east-1",
80
+ "is_aws": false
81
+ }
82
+ ]
83
+ ```
84
+
85
+ ## Usage
86
+
87
+ ### Navigation
88
+
89
+ - `↑/↓` or `j/k` - Navigate up/down
90
+ - `Enter` - Select/open item
91
+ - `Esc` or `Backspace` - Go back
92
+ - `/` - Search
93
+ - `q` - Quit
94
+
95
+ ### Object List (File Browser)
96
+
97
+ - `s` - Open sort menu
98
+ - `d` - Download current file
99
+
100
+ ### Sort Menu
101
+
102
+ - `↑/↓` - Navigate sort options
103
+ - `Space` - Select sort column (stays in menu)
104
+ - `Enter` - Select sort column and exit
105
+ - `r` - Reverse sort direction (asc/desc)
106
+ - `Esc` - Cancel
107
+
108
+ ### Sort Indicator
109
+
110
+ The header shows the current sort with direction:
111
+ - `▲` - Ascending order
112
+ - `▼` - Descending order
113
+
114
+ ## Development
115
+
116
+ ### Running Tests
117
+
118
+ ```bash
119
+ bundle exec rake test
120
+ ```
121
+
122
+ ## License
123
+
124
+ MIT
data/bin/betters3tui ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../lib/betters3tui'
5
+
6
+ browser = S3Browser.new
7
+ browser.run