gtk2passwordapp 6.2.210911 → 6.3.250921

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50325b99584a0c7bd8be362b964a7d2f70c625954610d985ccb9b6034a46c812
4
- data.tar.gz: a9fd1961191a354aade8107543043576e239d56c91784888e6523ab745adda78
3
+ metadata.gz: e4a5dcb07d8d8c9f26017988525acfd990b4118b8d1f849182641fdb7ceec914
4
+ data.tar.gz: 74478049a39abd85a634db2df45b76f47f881dfdc0177576e4a85803e94c1d35
5
5
  SHA512:
6
- metadata.gz: 8cb72c1bce4132a8ee37b9e438b6a6141613fa32733b9ef1cf8b3407ad88866bef9f65c20741cc3c4caac58eceeced1a9a2d6f987a91da588ec44bad9dc9112c
7
- data.tar.gz: 8eeb926d217643da1264da73d0901831d6096d9a7e20006fb623b76bbd8813101bcf71051fb7c008144ce8e565377025d0c2a6c64b31b2bd0575d15349cfcce8
6
+ metadata.gz: f2210f38d6efbb35defe3a6d64c0f059be1403b47e85f9ffbba57ac2a7f05d444302ca972dccc7f7d1425ce64e9376a9a6234364e12be6264adce322e984964f
7
+ data.tar.gz: 2a954d69ea330161bb61755a9a29938bf7545380ea009bfc789c9b2c77c35dd85ec453f830944eaca02db12591a0d6900c7ec5a956d4b5e8a9e060098f89e679
data/README.md CHANGED
@@ -1,11 +1,15 @@
1
1
  # Gtk2PasswordApp
2
2
 
3
- * [VERSION 6.2.210911](https://github.com/carlosjhr64/gtk2passwordapp/releases)
3
+ * [VERSION 6.3.250921](https://github.com/carlosjhr64/gtk2passwordapp/releases)
4
4
  * [github](https://github.com/carlosjhr64/gtk2passwordapp)
5
5
  * [rubygems](https://rubygems.org/gems/gtk2passwordapp)
6
6
 
7
7
  ![gui](test/gui.png)
8
8
 
9
+ WARNING: Blowfish is considered a legacy and deprecated algorithm.
10
+ On my next review of this project, I'll migrate this to a different encryption,
11
+ but I don't know when I'll get to it.
12
+
9
13
  ## Description:
10
14
 
11
15
  Ruby-Gnome Password Manager.
@@ -14,11 +18,9 @@ Uses Blowfish to encrypt the datafile.
14
18
  Features random password generator, clipboard use, and TOTP.
15
19
 
16
20
  ## Install:
17
-
18
21
  ```console
19
22
  $ gem install gtk2passwordapp
20
23
  ```
21
-
22
24
  ## Help:
23
25
  ```console
24
26
  $ gtk2passwordapp --help
@@ -45,9 +47,9 @@ Default passwords data file is:
45
47
 
46
48
  Mouse clicks on logo:
47
49
 
48
- 1. `Right` to get the passwords list and select.
49
- 2. `Center` to reset the master password.
50
- 3. `Left` to get the application menu.
50
+ + Button #1: Get the passwords list and select.
51
+ + Button #2: Reset the master password.
52
+ + Button #3: Application menu.
51
53
 
52
54
  When you select an account,
53
55
  the username/password will be in clipboard/primary for a few seconds.
@@ -60,31 +62,48 @@ View Account page:
60
62
  * `Previous` button will put password/previous in clipboard/primary for a few seconds.
61
63
 
62
64
  ## Configuration:
63
-
64
65
  ```console
65
66
  $ ls ~/.config/gtk3app/gtk2passwordapp/config-?.?.rbon
66
67
  ```
67
-
68
- * Salt: If your master password length is under 14(LongPwd), it'll append this Salt.
69
- * TooOld: I have this set for a year (in seconds).
70
- * PwdFile: passwords file... you'll want include this file in your back-ups.
71
-
72
- If you're upgrading from `gtk2pwdV`,
73
- copy your passwords files to the new file name:
74
-
75
- ```console
76
- $ cp ~/.cache/gtk3app/gtk2passwordapp/gtk2pwdV.dat ~/.cache/gtk3app/gtk2passwordapp/dump.yzb
68
+ + Salt: If your master password length is under 16(LongPwd), it'll append this Salt.
69
+ + TooOld: I have this set for a year (in seconds).
70
+ + PwdFile: passwords file... you'll want include this file in your back-ups.
71
+
72
+ ## On password length
73
+
74
+ As of early 2023,
75
+ [Blockchain.com](https://www.blockchain.com/explorer/charts/hash-rate)
76
+ charts the total hash rate of the Bitcoin network approaching `300*M*TH/s`.
77
+ Interpreting this as the number a passwords it can test per second,
78
+ I estimate the number of passwords it could test in two years:
79
+ ```ruby
80
+ # Passwords attempted in two years:
81
+ M = 1_000_000
82
+ T = M*M
83
+ YEAR = 60*60*24*365
84
+ PASSWORDS = 2*YEAR*300*M*T
85
+ # There are 94 graph characters in ASCII.
86
+ # I can estimate the password length needed to cover this number of PASSWORDS:
87
+ Math.log(PASSWORDS,94).ceil #=> 15
88
+ # Excluding the quotes in graph, it's still:
89
+ Math.log(PASSWORDS,91).ceil #=> 15
77
90
  ```
91
+ So that's how come to a default password length of 15.
92
+
93
+ ## Trouble shooting on upgrades
78
94
 
79
- And remember to set your `Salt:` in the configuration file.
80
- The configuration file is created upon the first run of `gtk2passwordapp`, so
81
- you'll need to do that first.
95
+ Edit your configuration file's `:Salt` value
96
+ to what it was set in your previous configuration.
97
+ Also, the `:LongPwd` value changed from 14 to 16,
98
+ so if your long password length was 14 or 15,
99
+ you'll have to enter that as it's now considered short
100
+ and set `:Salt` to "".
82
101
 
83
102
  ## LICENSE:
84
103
 
85
104
  (The MIT License)
86
105
 
87
- Copyright (c) 2021 CarlosJHR64
106
+ Copyright (c) 2025 CarlosJHR64
88
107
 
89
108
  Permission is hereby granted, free of charge, to any person obtaining
90
109
  a copy of this software and associated documentation files (the
@@ -33,6 +33,16 @@ def self.run(pattern='.',
33
33
  $stderr.puts "Bad password+salt"
34
34
  exit 65
35
35
  end
36
- pp lst.select{|k,v|pattern.match? k}
36
+ lst.select{|k,v|pattern.match? k}.each do |k,v|
37
+ puts <<~RECORD
38
+ Account: #{k}
39
+ Username: #{v[2]}
40
+ Password: #{v[0]}
41
+ Previous: #{v[1]}
42
+ Note: #{v[4]}
43
+ URL: #{v[3]}
44
+ Updated: #{Time.at(v[5]).strftime('%Y-%m-%d %H:%M:%S')}
45
+ RECORD
46
+ end
37
47
  end
38
48
  end
@@ -12,7 +12,7 @@ class Gtk2PasswordApp
12
12
  # Hashing
13
13
 
14
14
  Salt: s0,
15
- LongPwd: 14,
15
+ LongPwd: 16,
16
16
 
17
17
  # Miscellaneous Strings
18
18
 
@@ -53,7 +53,7 @@ class Gtk2PasswordApp
53
53
  # Spin Buttons
54
54
 
55
55
  PWDLEN: [3,40,1],
56
- pwdlen: {set_value: 13},
56
+ pwdlen: {set_value: 15},
57
57
  pwdlen!: [:PWDLEN,:pwdlen],
58
58
 
59
59
  # Tools Labels
@@ -12,6 +12,7 @@ class Gtk2PasswordApp
12
12
  @tools = @password_page = @add_page = @edit_page = @main_page = @menu = nil
13
13
  build_password_page
14
14
  build_logo_menu
15
+ @password_entry.grab_focus
15
16
  end
16
17
 
17
18
  def build_logo_menu
@@ -35,6 +36,7 @@ class Gtk2PasswordApp
35
36
  @reset = true
36
37
  hide_main_page
37
38
  @password_page.show
39
+ @password_entry.grab_focus
38
40
  end
39
41
  end
40
42
 
@@ -119,9 +121,9 @@ class Gtk2PasswordApp
119
121
  @password_page = Such::Box.new @pages, :page!
120
122
  Such::Label.new @password_page, :PASSWORD_PAGE_LABEL, :page_label
121
123
  error_label,previous = nil,'' # updates below
122
- password_entry = field_row(@password_page, :PASSWORD, :password_entry!) do
123
- pwd = password_entry.text.strip
124
- password_entry.text = ''
124
+ @password_entry = field_row(@password_page, :PASSWORD, :password_entry!) do
125
+ pwd = @password_entry.text.strip
126
+ @password_entry.text = ''
125
127
  raise CONFIG[:TooShort] if pwd.length < CONFIG[:MinPwdLen]
126
128
  if not @reset and @accounts.exist?
127
129
  @accounts.load rehash pwd
@@ -214,7 +216,7 @@ class Gtk2PasswordApp
214
216
  generator = Such::Box.new @edit_page, :toolbox!
215
217
  pwdlen=rndpwd=nil
216
218
  Such::Button.new generator, :RAND, :tool_button do
217
- rndpwd = H2Q.convert RND.hexadecimal
219
+ rndpwd = H2Q.convert RND.hexadecimal.upcase
218
220
  @edit_password.text = rndpwd[0...pwdlen.value]
219
221
  end
220
222
  pwdlen = Such::SpinButton.new generator, :pwdlen!, 'value-changed' do
@@ -1,5 +1,5 @@
1
1
  class Gtk2PasswordApp
2
- VERSION = '6.2.210911'
2
+ VERSION = '6.3.250921'
3
3
  HELP = <<~HELP
4
4
  Usage:
5
5
  gtk2passwordapp [:gui+]
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gtk2passwordapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.210911
4
+ version: 6.3.250921
5
5
  platform: ruby
6
6
  authors:
7
7
  - CarlosJHR64
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-09-11 00:00:00.000000000 Z
10
+ date: 2025-09-21 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: yaml_zlib_blowfish
@@ -19,7 +18,7 @@ dependencies:
19
18
  version: '2.0'
20
19
  - - ">="
21
20
  - !ruby/object:Gem::Version
22
- version: 2.0.210127
21
+ version: 2.0.250921
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,47 +28,47 @@ dependencies:
29
28
  version: '2.0'
30
29
  - - ">="
31
30
  - !ruby/object:Gem::Version
32
- version: 2.0.210127
31
+ version: 2.0.250921
33
32
  - !ruby/object:Gem::Dependency
34
33
  name: base_convert
35
34
  requirement: !ruby/object:Gem::Requirement
36
35
  requirements:
37
36
  - - "~>"
38
37
  - !ruby/object:Gem::Version
39
- version: '6.0'
38
+ version: '7.1'
40
39
  - - ">="
41
40
  - !ruby/object:Gem::Version
42
- version: 6.0.210201
41
+ version: 7.1.221229
43
42
  type: :runtime
44
43
  prerelease: false
45
44
  version_requirements: !ruby/object:Gem::Requirement
46
45
  requirements:
47
46
  - - "~>"
48
47
  - !ruby/object:Gem::Version
49
- version: '6.0'
48
+ version: '7.1'
50
49
  - - ">="
51
50
  - !ruby/object:Gem::Version
52
- version: 6.0.210201
51
+ version: 7.1.221229
53
52
  - !ruby/object:Gem::Dependency
54
53
  name: gtk3app
55
54
  requirement: !ruby/object:Gem::Requirement
56
55
  requirements:
57
56
  - - "~>"
58
57
  - !ruby/object:Gem::Version
59
- version: '5.1'
58
+ version: '5.4'
60
59
  - - ">="
61
60
  - !ruby/object:Gem::Version
62
- version: 5.1.210203
61
+ version: 5.4.230109
63
62
  type: :runtime
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - "~>"
68
67
  - !ruby/object:Gem::Version
69
- version: '5.1'
68
+ version: '5.4'
70
69
  - - ">="
71
70
  - !ruby/object:Gem::Version
72
- version: 5.1.210203
71
+ version: 5.4.230109
73
72
  - !ruby/object:Gem::Dependency
74
73
  name: base32
75
74
  requirement: !ruby/object:Gem::Requirement
@@ -90,34 +89,34 @@ dependencies:
90
89
  requirements:
91
90
  - - '='
92
91
  - !ruby/object:Gem::Version
93
- version: 1.0.0
92
+ version: 1.0.1
94
93
  type: :runtime
95
94
  prerelease: false
96
95
  version_requirements: !ruby/object:Gem::Requirement
97
96
  requirements:
98
97
  - - '='
99
98
  - !ruby/object:Gem::Version
100
- version: 1.0.0
99
+ version: 1.0.1
101
100
  - !ruby/object:Gem::Dependency
102
101
  name: super_random
103
102
  requirement: !ruby/object:Gem::Requirement
104
103
  requirements:
105
104
  - - "~>"
106
105
  - !ruby/object:Gem::Version
107
- version: '2.0'
106
+ version: '3.2'
108
107
  - - ">="
109
108
  - !ruby/object:Gem::Version
110
- version: 2.0.210126
109
+ version: 3.2.230116
111
110
  type: :runtime
112
111
  prerelease: false
113
112
  version_requirements: !ruby/object:Gem::Requirement
114
113
  requirements:
115
114
  - - "~>"
116
115
  - !ruby/object:Gem::Version
117
- version: '2.0'
116
+ version: '3.2'
118
117
  - - ">="
119
118
  - !ruby/object:Gem::Version
120
- version: 2.0.210126
119
+ version: 3.2.230116
121
120
  description: |
122
121
  Ruby-Gnome Password Manager.
123
122
 
@@ -142,7 +141,6 @@ homepage: https://github.com/carlosjhr64/gtk2passwordapp
142
141
  licenses:
143
142
  - MIT
144
143
  metadata: {}
145
- post_install_message:
146
144
  rdoc_options: []
147
145
  require_paths:
148
146
  - lib
@@ -150,16 +148,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
148
  requirements:
151
149
  - - ">="
152
150
  - !ruby/object:Gem::Version
153
- version: '0'
151
+ version: '3.4'
154
152
  required_rubygems_version: !ruby/object:Gem::Requirement
155
153
  requirements:
156
154
  - - ">="
157
155
  - !ruby/object:Gem::Version
158
156
  version: '0'
159
- requirements:
160
- - 'ruby: ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]'
161
- rubygems_version: 3.2.22
162
- signing_key:
157
+ requirements: []
158
+ rubygems_version: 3.6.2
163
159
  specification_version: 4
164
160
  summary: Ruby-Gnome Password Manager.
165
161
  test_files: []