s7 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +311 -0
- data/LICENCE +24 -0
- data/README +56 -0
- data/Rakefile +128 -0
- data/VERSION +1 -0
- data/bin/s7cli +27 -0
- data/lib/gettext.rb +28 -0
- data/lib/s7.rb +12 -0
- data/lib/s7/action.rb +7 -0
- data/lib/s7/attribute.rb +226 -0
- data/lib/s7/cipher.rb +110 -0
- data/lib/s7/configuration.rb +41 -0
- data/lib/s7/entry.rb +106 -0
- data/lib/s7/entry_collection.rb +44 -0
- data/lib/s7/entry_template.rb +10 -0
- data/lib/s7/exception.rb +116 -0
- data/lib/s7/file.rb +77 -0
- data/lib/s7/gpass_file.rb +202 -0
- data/lib/s7/key.rb +83 -0
- data/lib/s7/message_catalog.rb +5 -0
- data/lib/s7/s7_file.rb +47 -0
- data/lib/s7/s7cli.rb +213 -0
- data/lib/s7/s7cli/attribute_command.rb +69 -0
- data/lib/s7/s7cli/command.rb +210 -0
- data/lib/s7/s7cli/entry_collection_command.rb +63 -0
- data/lib/s7/s7cli/entry_command.rb +728 -0
- data/lib/s7/s7cli/option.rb +101 -0
- data/lib/s7/secret_generator.rb +30 -0
- data/lib/s7/undo_stack.rb +7 -0
- data/lib/s7/unicode_data.rb +29 -0
- data/lib/s7/utils.rb +37 -0
- data/lib/s7/world.rb +150 -0
- data/setup.rb +1585 -0
- data/test/s7/attribute_test.rb +45 -0
- data/test/s7/gpass_file_test.rb +169 -0
- data/test/s7/gpass_file_test/passwords.gps.empty +1 -0
- data/test/s7/gpass_file_test/passwords.gps.one_entry +2 -0
- data/test/s7/gpass_file_test/passwords.gps.three_entries +3 -0
- data/test/s7/gpass_file_test/passwords.gps.with_folders +0 -0
- data/test/s7/secret_generator_test.rb +29 -0
- data/test/s7/unicode_data_test.rb +28 -0
- data/test/s7/world_test.rb +35 -0
- data/test/test_helper.rb +19 -0
- metadata +108 -0
data/ChangeLog
ADDED
@@ -0,0 +1,311 @@
|
|
1
|
+
Mon Feb 2 20:21:07 2009 TAKAO Kouji <kouji@takao7.net>
|
2
|
+
|
3
|
+
* Rakefile (setup): bin に s7cli をインストールするように修正。
|
4
|
+
|
5
|
+
* bin/s7cli: gem でインストールしたときに実行できるように修
|
6
|
+
正。__FILE__ のチェックを省いた。
|
7
|
+
|
8
|
+
Mon Feb 2 18:54:35 2009 TAKAO Kouji <kouji@takao7.net>
|
9
|
+
|
10
|
+
* Rakefile (gem): required_ruby_version として 1.9.1 以上を追加。
|
11
|
+
|
12
|
+
Mon Feb 2 18:49:52 2009 TAKAO Kouji <kouji@takao7.net>
|
13
|
+
|
14
|
+
* README: インストール手順を追記。
|
15
|
+
|
16
|
+
Sun Feb 1 21:12:07 2009 TAKAO Kouji <kouji@takao7.net>
|
17
|
+
|
18
|
+
* Rakefile (gem): パッケージ対象のファイルを修正。
|
19
|
+
|
20
|
+
Sun Feb 1 17:46:50 2009 TAKAO Kouji <kouji@takao7.net>
|
21
|
+
|
22
|
+
* setup.rb: セットアップ用に追加。
|
23
|
+
|
24
|
+
* VERSION: バージョンを記述したファイルを追加。
|
25
|
+
|
26
|
+
* LICENCE: ライセンスを記述したファイルを追加。
|
27
|
+
|
28
|
+
* bin/s7cli: shebang を追加。
|
29
|
+
|
30
|
+
Sun Feb 1 17:21:13 2009 TAKAO Kouji <kouji@takao7.net>
|
31
|
+
|
32
|
+
* lib/s7/s7cli/entry_command.rb
|
33
|
+
(S7::S7Cli::EntrySearchCommand#run): オプション --ignore-case に
|
34
|
+
対応していない不具合を修正。一覧表示のフォーマットを変更。
|
35
|
+
|
36
|
+
* lib/s7/unicode_data.rb (S7::UnicodeData): UNICODE に関する処理を
|
37
|
+
表現するモジュールを追加。
|
38
|
+
|
39
|
+
Wed Jan 14 11:34:36 2009 TAKAO Kouji <kouji@takao7.net>
|
40
|
+
|
41
|
+
* lib/s7/s7cli.rb (S7::S7Cli#run): world.changed が true のときはプ
|
42
|
+
ロンプトに * をつけるように修正。
|
43
|
+
|
44
|
+
Wed Jan 14 11:30:39 2009 TAKAO Kouji <kouji@takao7.net>
|
45
|
+
|
46
|
+
* lib/s7/s7cli/entry_command.rb
|
47
|
+
(S7::S7Cli::EntryCommandUtils#dispatch_command): secret が yes な
|
48
|
+
属性を追加、修正するとき、生成機を使用できるように修正。
|
49
|
+
|
50
|
+
* lib/s7/secret_generator.rb (S7::SecretGenerator): パスワードや暗
|
51
|
+
証番号などの機密情報を自動生成する処理を表現するクラスを追加。
|
52
|
+
|
53
|
+
Wed Jan 14 11:29:31 2009 TAKAO Kouji <kouji@takao7.net>
|
54
|
+
|
55
|
+
* Rakefile: いまのところ rgettext を使用しないように修正。
|
56
|
+
|
57
|
+
Wed Jan 14 08:56:05 2009 TAKAO Kouji <kouji@takao7.net>
|
58
|
+
|
59
|
+
* lib/s7/exception.rb (S7::NoSuchAttribute): 機密情報の属性が存在し
|
60
|
+
ないことを表現する例外クラスを追加。
|
61
|
+
|
62
|
+
* lib/s7/exception.rb (S7::CommandFailed): OS のコマンドの実行に失
|
63
|
+
敗したことを表現する例外クラスを追加。
|
64
|
+
|
65
|
+
* lib/s7/s7cli/attribute_command.rb (S7::S7Cli::AttributeCopyCommand):
|
66
|
+
機密情報の属性のうち、指定したものの値をクリップボードにコピーするコ
|
67
|
+
マンドを表現するクラスを追加。
|
68
|
+
|
69
|
+
Sat Jan 10 21:36:21 2009 TAKAO Kouji <kouji@takao7.net>
|
70
|
+
|
71
|
+
* lib/s7/s7cli/entry_command.rb
|
72
|
+
(S7::S7Cli::EntrySearchCommand#run): --ignore-case オプションを追加。
|
73
|
+
|
74
|
+
Sat Jan 10 21:35:33 2009 TAKAO Kouji <kouji@takao7.net>
|
75
|
+
|
76
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::LockCommand#run): 画面の消去
|
77
|
+
に clear コマンドを使用するように修正。
|
78
|
+
|
79
|
+
Sat Jan 10 21:34:33 2009 TAKAO Kouji <kouji@takao7.net>
|
80
|
+
|
81
|
+
* lib/gettext.rb: ruby-gettext がまだ Ruby 1.9 に対応していないため、
|
82
|
+
とりあえずモックのようなもので対応。
|
83
|
+
|
84
|
+
Wed Oct 22 08:30:44 2008 TAKAO Kouji <kouji@takao7.net>
|
85
|
+
|
86
|
+
* test/s7/attribute_test.rb: Attribute の単体テスト用のファイルを追
|
87
|
+
加。
|
88
|
+
|
89
|
+
Tue Oct 21 19:51:49 2008 TAKAO Kouji <kouji@takao7.net>
|
90
|
+
|
91
|
+
* lib/s7/attribute.rb (S7::DateTimeAttribute::display_value):
|
92
|
+
secret であれば * を、そうでなければ「%Y/%m/%d %H:%M:%S」でフォー
|
93
|
+
マットした文字列を返すように修正。
|
94
|
+
|
95
|
+
* lib/s7/attribute.rb (S7::BooleanAttribute#display_value): secret
|
96
|
+
であれば * を、そうでなければ Yes または No を返すように修正。
|
97
|
+
|
98
|
+
Tue Oct 14 15:21:12 2008 TAKAO Kouji <kouji@takao7.net>
|
99
|
+
|
100
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::LockCommand#run): lock する前
|
101
|
+
に、もし状態の変化があれば保存するように修正。
|
102
|
+
|
103
|
+
Tue Oct 14 15:19:07 2008 TAKAO Kouji <kouji@takao7.net>
|
104
|
+
|
105
|
+
* lib/s7/s7cli/entry_command.rb
|
106
|
+
(S7::S7Cli::EntryCommandUtils#input_attribute_type):
|
107
|
+
Readline.line_buffer が存在しない環境でも動作できるように修正。
|
108
|
+
|
109
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::LockCommand#run):
|
110
|
+
Readline.get_screen_size が存在しない環境でも動作できるように修正。
|
111
|
+
|
112
|
+
Tue Oct 14 15:08:39 2008 TAKAO Kouji <kouji@takao7.net>
|
113
|
+
|
114
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryShowCommand#run):
|
115
|
+
--show-secret オプションの指定により rate を変更したときだけ、その
|
116
|
+
旨を出力するように修正。
|
117
|
+
|
118
|
+
Mon Oct 13 00:29:03 2008 TAKAO Kouji <kouji@takao7.net>
|
119
|
+
|
120
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::LockCommand#run): 画面を消去
|
121
|
+
するように修正。
|
122
|
+
|
123
|
+
Sun Oct 12 23:31:09 2008 TAKAO Kouji <kouji@takao7.net>
|
124
|
+
|
125
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::LockCommand): スクリーンロッ
|
126
|
+
クし、マスターキーを入力するまでは操作できないようにするコマンドを
|
127
|
+
表現するクラスを追加。
|
128
|
+
|
129
|
+
Sun Oct 12 23:15:28 2008 TAKAO Kouji <kouji@takao7.net>
|
130
|
+
|
131
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::SaveCommand): save を追加。
|
132
|
+
|
133
|
+
Sun Oct 12 22:02:07 2008 TAKAO Kouji <kouji@takao7.net>
|
134
|
+
|
135
|
+
* lib/s7/s7cli/entry_command.rb
|
136
|
+
(S7::S7Cli::EntryAddCommand#initialize): 未サポートのオプションを削
|
137
|
+
除。
|
138
|
+
|
139
|
+
Sun Oct 12 21:55:35 2008 TAKAO Kouji <kouji@takao7.net>
|
140
|
+
|
141
|
+
* lib/s7/entry.rb (S7::Entry#duplicate_attributes): 全ての属性の複
|
142
|
+
製を取得するメソッドを追加。
|
143
|
+
|
144
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryAddCommand#run):
|
145
|
+
上記のメソッドを使用するように修正。
|
146
|
+
|
147
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryEditCommand::run):
|
148
|
+
同上。
|
149
|
+
|
150
|
+
Sun Oct 12 21:44:13 2008 TAKAO Kouji <kouji@takao7.net>
|
151
|
+
|
152
|
+
* lib/s7/s7cli.rb (S7::S7Cli#run): ^C で停止しないように修正。
|
153
|
+
|
154
|
+
* lib/s7/exception.rb (S7::NoSuchEntry): 機密情報が存在しないことを
|
155
|
+
表現する例外クラスを追加。
|
156
|
+
|
157
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryEditCommand#run):
|
158
|
+
NoSuchEntry 例外クラスを使用するように修正。
|
159
|
+
|
160
|
+
* lib/s7/s7cli/entry_command.rb
|
161
|
+
(S7::S7Cli::EntryDeleteCommand#run): 同上。
|
162
|
+
|
163
|
+
* lib/s7/s7cli/entry_command.rb
|
164
|
+
(S7::S7Cli::EntryShowCommand::run): 同上。
|
165
|
+
|
166
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryAddCommand#run):
|
167
|
+
既存の機密情報をコピーして作成を実現。
|
168
|
+
|
169
|
+
Sun Oct 12 20:46:06 2008 TAKAO Kouji <kouji@takao7.net>
|
170
|
+
|
171
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryAddCommand#run):
|
172
|
+
リファクタリング。
|
173
|
+
|
174
|
+
Sun Oct 12 20:44:11 2008 TAKAO Kouji <kouji@takao7.net>
|
175
|
+
|
176
|
+
* lib/s7/exception.rb (S7::Canceled): command から移動。
|
177
|
+
|
178
|
+
* lib/s7/s7cli/entry_command.rb
|
179
|
+
(S7::S7Cli::EntryCommandUtils::command_loop): cancel を ^C に修正。
|
180
|
+
|
181
|
+
* lib/s7/s7cli/entry_command.rb
|
182
|
+
(S7::S7Cli::EntryCommandUtils#input_attribute_name): プロンプトを修
|
183
|
+
正。
|
184
|
+
|
185
|
+
* lib/s7/s7cli/entry_command.rb
|
186
|
+
(S7::S7Cli::EntryCommandUtils::EDITING_USAGE): cancel と help を削
|
187
|
+
除。
|
188
|
+
|
189
|
+
Sun Oct 12 20:27:50 2008 TAKAO Kouji <kouji@takao7.net>
|
190
|
+
|
191
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryDeleteCommand): コ
|
192
|
+
マンド名を delete に修正。
|
193
|
+
|
194
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntrySearchCommand): コ
|
195
|
+
マンド名を search に修正。
|
196
|
+
|
197
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryShowCommand): コマ
|
198
|
+
ンド名を show に修正。
|
199
|
+
|
200
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryEditCommand): コマ
|
201
|
+
ンド名を edit に修正。
|
202
|
+
|
203
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryAddCommand): コマ
|
204
|
+
ンド名を add に修正。
|
205
|
+
|
206
|
+
Sun Oct 12 20:26:01 2008 TAKAO Kouji <kouji@takao7.net>
|
207
|
+
|
208
|
+
* lib/s7/s7cli/entry_collection_command.rb
|
209
|
+
(S7::S7Cli::EntryCollectionImportCommand): コマンド名を import に修
|
210
|
+
正。
|
211
|
+
|
212
|
+
Sun Oct 12 20:25:17 2008 TAKAO Kouji <kouji@takao7.net>
|
213
|
+
|
214
|
+
* lib/s7/exception.rb (S7::InvalidPassphrase#to_s): メッセージを修正。
|
215
|
+
|
216
|
+
* lib/s7/exception.rb (S7::DataLengthError#to_s): 同上。
|
217
|
+
|
218
|
+
* lib/s7/exception.rb (S7::NotExist#to_s): 同上。
|
219
|
+
|
220
|
+
* lib/s7/exception.rb (S7::InvalidPath#to_s): 同上。
|
221
|
+
|
222
|
+
Sun Oct 12 20:15:40 2008 TAKAO Kouji <kouji@takao7.net>
|
223
|
+
|
224
|
+
* lib/s7/attribute.rb (S7::Attribute#value): value の setter と
|
225
|
+
getter を自前で用意した。get_value と set_value(val) で nil でない
|
226
|
+
場合の変換処理をかけるようにした。
|
227
|
+
|
228
|
+
* lib/s7/attribute.rb (S7::Attribute#value=): 同上。
|
229
|
+
|
230
|
+
Sun Oct 12 15:01:19 2008 TAKAO Kouji <kouji@takao7.net>
|
231
|
+
|
232
|
+
* lib/s7/s7cli/entry_command.rb
|
233
|
+
(S7::S7Cli::EntrySearchCommand#run): rate でソートできない不具合を
|
234
|
+
修正。
|
235
|
+
|
236
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryShowCommand#run):
|
237
|
+
表示するたびに rate を加算するように修正。
|
238
|
+
|
239
|
+
Sun Oct 12 14:55:52 2008 TAKAO Kouji <kouji@takao7.net>
|
240
|
+
|
241
|
+
* lib/s7/s7cli/entry_command.rb (S7::S7Cli::EntryShowCommand#run):
|
242
|
+
リファクタリング。
|
243
|
+
|
244
|
+
Sun Oct 12 14:53:55 2008 TAKAO Kouji <kouji@takao7.net>
|
245
|
+
|
246
|
+
* lib/s7/s7cli/entry_command.rb
|
247
|
+
(S7::S7Cli::EntrySearchCommand#run): 検索結果の表示件数を指定する
|
248
|
+
--num オプションを追加。
|
249
|
+
|
250
|
+
Wed Oct 8 20:38:19 2008 TAKAO Kouji <kouji@takao7.net>
|
251
|
+
|
252
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::EntryAddCommand): 機密情報を
|
253
|
+
追加するコマンドを表現するクラスを追加。
|
254
|
+
|
255
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::Command#canceled): キャンセル
|
256
|
+
した旨を出力し、true を返すメソッドを追加。
|
257
|
+
|
258
|
+
Tue Oct 7 22:24:24 2008 TAKAO Kouji <kouji@takao7.net>
|
259
|
+
|
260
|
+
* lib/s7/s7cli/command.rb (S7::S7Cli::Command.command): メソッド名
|
261
|
+
を register から変更。
|
262
|
+
|
263
|
+
Tue Oct 7 22:22:05 2008 TAKAO Kouji <kouji@takao7.net>
|
264
|
+
|
265
|
+
* bin/s7cli: Option と Command を分割した。
|
266
|
+
|
267
|
+
* lib/s7/s7cli/command.rb: 同上。
|
268
|
+
|
269
|
+
* lib/s7/s7cli/option.rb: 同上。
|
270
|
+
|
271
|
+
Sun Oct 5 01:35:27 2008 TAKAO Kouji <kouji@takao7.net>
|
272
|
+
|
273
|
+
* GPass のファイルを読み込めるように修正。
|
274
|
+
|
275
|
+
Sun Oct 5 00:01:47 2008 TAKAO Kouji <kouji@takao7.net>
|
276
|
+
|
277
|
+
* test/s7/file_test.rb: 削除。
|
278
|
+
|
279
|
+
Sat Sep 27 02:20:52 2008 TAKAO Kouji <kouji@takao7.net>
|
280
|
+
|
281
|
+
* README: ライセンスの追加。
|
282
|
+
|
283
|
+
Sat Sep 27 02:15:40 2008 TAKAO Kouji <kouji@takao7.net>
|
284
|
+
|
285
|
+
* bin: 実行形式のスクリプトを配置するためのディレクトリを追加。
|
286
|
+
|
287
|
+
* docs: ドキュメントを配置するためのディレクトリを追加。
|
288
|
+
|
289
|
+
* lib: Ruby のソースファイルを配置するためのディレクトリを追加。
|
290
|
+
|
291
|
+
* test: テスト用のファイルを配置するためのディレクトリを追加。
|
292
|
+
|
293
|
+
Sat Sep 27 02:15:19 2008 TAKAO Kouji <kouji@takao7.net>
|
294
|
+
|
295
|
+
* README: 追加。
|
296
|
+
|
297
|
+
Sat Sep 27 01:38:42 2008 TAKAO Kouji <kouji@takao7.net>
|
298
|
+
|
299
|
+
* ChangeLog を追加。
|
300
|
+
|
301
|
+
Local variables:
|
302
|
+
add-log-time-format: (lambda ()
|
303
|
+
(let* ((time (current-time))
|
304
|
+
(system-time-locale "C")
|
305
|
+
(diff (+ (cadr time) 32400))
|
306
|
+
(lo (% diff 65536))
|
307
|
+
(hi (+ (car time) (/ diff 65536))))
|
308
|
+
(format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
|
309
|
+
indent-tabs-mode: t
|
310
|
+
tab-width: 8
|
311
|
+
end:
|
data/LICENCE
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Copyright (c) 2009, TAKAO Kouji <kouji@takao7.net>
|
2
|
+
|
3
|
+
Redistribution and use in source and binary forms, with or without
|
4
|
+
modification, are permitted provided that the following conditions are
|
5
|
+
met:
|
6
|
+
|
7
|
+
1. Redistributions of source code must retain the above copyright
|
8
|
+
notice, this list of conditions and the following disclaimer.
|
9
|
+
2. Redistributions in binary form must reproduce the above
|
10
|
+
copyright notice, this list of conditions and the following
|
11
|
+
disclaimer in the documentation and/or other materials
|
12
|
+
provided with the distribution.
|
13
|
+
|
14
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
15
|
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
16
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
17
|
+
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
18
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
19
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
20
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
21
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
22
|
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
23
|
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
24
|
+
POSSIBILITY OF SUCH DAMAGE.
|
data/README
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
s7 - 機密情報を管理するソフトウェア
|
2
|
+
|
3
|
+
= はじめに
|
4
|
+
|
5
|
+
s7(セブンと読みます)は、あるウェブサイトやリモートサーバのパスフレーズ
|
6
|
+
や、クレジットカードの暗証番号などの機密情報を管理するソフトウェアです。
|
7
|
+
修正 BSD ライセンスに従って公開・配布を行っているオープンソースソフトウェ
|
8
|
+
アです。
|
9
|
+
|
10
|
+
機密情報は、マスターキーと呼ばれるパスフレーズを使って、
|
11
|
+
秘密鍵暗号鍵方式の一つを用いて暗号化します。
|
12
|
+
万が一、機密情報を格納しているファイルが盗まれてしまった場合でも、
|
13
|
+
ちょっとやそっとでは機密情報を覗き見ることはできません。
|
14
|
+
|
15
|
+
= ゴール
|
16
|
+
|
17
|
+
s7 は次の目標に向かって開発を進めています。
|
18
|
+
|
19
|
+
* クリップボードを利用せずにアプリケーションへのパスフレーズの入力ができること
|
20
|
+
* pwgen のようなコマンドラインのパスワードジェネレータと同じくらい簡単に新しいパスフレーズを含むアカウント情報を発行できること
|
21
|
+
* GNOME、ncurses やコマンドラインなど、ユーザの好みに合わせて UI を選択できること
|
22
|
+
* Windows、Mac OS X、Linux、iPhone などのさまざまなプラットフォームで動作すること
|
23
|
+
|
24
|
+
= 機能
|
25
|
+
|
26
|
+
* 秘密鍵暗号鍵方式を用いた強固な暗号化
|
27
|
+
* 多彩な編集機能(コピー&ペースト、UNDO/REDOなど)
|
28
|
+
* 簡単便利な検索機能
|
29
|
+
* 組み込みのセキュアパスワードのジェネレータ
|
30
|
+
|
31
|
+
= 動作環境
|
32
|
+
|
33
|
+
* ruby 1.9
|
34
|
+
|
35
|
+
以下のライブラリを有効にしておくこと。
|
36
|
+
* readline
|
37
|
+
* openssl
|
38
|
+
|
39
|
+
= インストール
|
40
|
+
|
41
|
+
まず、ruby 1.9 をインストールしてください。このとき、readline、openssl
|
42
|
+
ライブラリを有効にしてください。
|
43
|
+
|
44
|
+
$ gem install s7-seven
|
45
|
+
|
46
|
+
= 開発者
|
47
|
+
|
48
|
+
* 高尾 宏治 <kouji@takao7.net>
|
49
|
+
|
50
|
+
= 連絡先
|
51
|
+
|
52
|
+
s7 に関するお問い合わせは高尾 宏治 <kouji@takao7.net> までお願いします。
|
53
|
+
|
54
|
+
= ライセンス
|
55
|
+
|
56
|
+
LICENCE ファイルを参照してください。
|
data/Rakefile
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
require "rake"
|
2
|
+
require "rake/rdoctask"
|
3
|
+
require "rake/testtask"
|
4
|
+
require "rake/gempackagetask"
|
5
|
+
|
6
|
+
Rake::RDocTask.new do |rd|
|
7
|
+
rd.main = "README"
|
8
|
+
rd.rdoc_files.include("README", "{lib/**/*.rb,ext/**/*.c}")
|
9
|
+
rd.options = ["--line-numbers", "--inline-source", "--title", "s7",
|
10
|
+
"--main", "README"]
|
11
|
+
rd.rdoc_dir = "docs/rdoc"
|
12
|
+
end
|
13
|
+
|
14
|
+
app_version = nil
|
15
|
+
File.open(File.expand_path("VERSION", File.dirname(__FILE__))) do |f|
|
16
|
+
app_version = f.gets.chomp
|
17
|
+
end
|
18
|
+
|
19
|
+
spec = Gem::Specification.new do |s|
|
20
|
+
s.name = "s7"
|
21
|
+
s.version = app_version
|
22
|
+
s.summary = "The secret informations manager."
|
23
|
+
s.description = <<EOS
|
24
|
+
s7 (seven) is the secret informations(password, credit number, file, etc..) manager.
|
25
|
+
EOS
|
26
|
+
s.author = "TAKAO Kouji"
|
27
|
+
s.email = "kouji@takao7.net"
|
28
|
+
s.homepage = "http://code.google.com/p/s7-seven/"
|
29
|
+
s.rubyforge_project = "s7-seven"
|
30
|
+
|
31
|
+
s.default_executable = "s7cli"
|
32
|
+
s.executables = ["s7cli"]
|
33
|
+
|
34
|
+
s.requirements << "Ruby, version 1.9.1 (or newer)"
|
35
|
+
s.required_ruby_version = '>= 1.9.1'
|
36
|
+
|
37
|
+
s.files = Dir.glob("{ChangeLog,LICENCE,README,Rakefile,VERSION,{bin,lib,test}/**/*,setup.rb}").delete_if { |s| /(\.svn|~$|\.bak$)/.match(s) }
|
38
|
+
|
39
|
+
s.test_files = Dir.glob("test/**/*_test.rb")
|
40
|
+
|
41
|
+
s.has_rdoc = true
|
42
|
+
s.rdoc_options =
|
43
|
+
["--line-numbers", "--inline-source", "--title", "s7",
|
44
|
+
"--main", "README"]
|
45
|
+
s.extra_rdoc_files = ["README"]
|
46
|
+
end
|
47
|
+
|
48
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
49
|
+
pkg.need_zip = true
|
50
|
+
pkg.need_tar = true
|
51
|
+
end
|
52
|
+
|
53
|
+
ruby_path = File.join(RbConfig::CONFIG["bindir"],
|
54
|
+
RbConfig::CONFIG["ruby_install_name"])
|
55
|
+
|
56
|
+
namespace :setup do
|
57
|
+
desc "run 'config' task in setup.rb."
|
58
|
+
task :config do
|
59
|
+
system("#{ruby_path} setup.rb config #{ENV["SETUP_OPTS"]}")
|
60
|
+
end
|
61
|
+
|
62
|
+
desc "run 'setup' task in setup.rb."
|
63
|
+
task :setup do
|
64
|
+
system("#{ruby_path} setup.rb setup #{ENV["SETUP_OPTS"]}")
|
65
|
+
end
|
66
|
+
|
67
|
+
desc "run 'install' task in setup.rb."
|
68
|
+
task :install do
|
69
|
+
system("#{ruby_path} setup.rb install #{ENV["SETUP_OPTS"]}")
|
70
|
+
end
|
71
|
+
|
72
|
+
desc "run 'test' task in setup.rb."
|
73
|
+
task :test do
|
74
|
+
system("#{ruby_path} setup.rb test #{ENV["SETUP_OPTS"]}")
|
75
|
+
end
|
76
|
+
|
77
|
+
desc "run 'clean' task in setup.rb."
|
78
|
+
task :clean do
|
79
|
+
system("#{ruby_path} setup.rb clean #{ENV["SETUP_OPTS"]}")
|
80
|
+
end
|
81
|
+
|
82
|
+
desc "run 'distclean' task in setup.rb."
|
83
|
+
task :distclean do
|
84
|
+
system("#{ruby_path} setup.rb distclean #{ENV["SETUP_OPTS"]}")
|
85
|
+
end
|
86
|
+
|
87
|
+
desc "run default tasks in setup.rb."
|
88
|
+
task :all do
|
89
|
+
system("#{ruby_path} setup.rb #{ENV["SETUP_OPTS"]}")
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
=begin
|
94
|
+
require "gettext/rgettext"
|
95
|
+
require "gettext/utils"
|
96
|
+
|
97
|
+
File.open(File.expand_path("lib/s7.rb", File.dirname(__FILE__)),
|
98
|
+
"r:utf-8") do |f|
|
99
|
+
VERSION = f.read.slice(/VERSION\s*=\s*"([\w.]+)"/m, 1)
|
100
|
+
end
|
101
|
+
GETTEXT_TEXT_DOMAIN = "s7"
|
102
|
+
GETTEXT_TARGETS = Dir.glob("{bin/s7cli,lib/**/*.rb}")
|
103
|
+
|
104
|
+
desc "Create pot file"
|
105
|
+
task :makepot do
|
106
|
+
RGetText.run(GETTEXT_TARGETS, "po/s7.pot")
|
107
|
+
end
|
108
|
+
|
109
|
+
desc "Update pot/po files."
|
110
|
+
task :updatepo do
|
111
|
+
GetText.update_pofiles(GETTEXT_TEXT_DOMAIN,
|
112
|
+
GETTEXT_TARGETS,
|
113
|
+
[GETTEXT_TEXT_DOMAIN, VERSION].join(" "))
|
114
|
+
end
|
115
|
+
|
116
|
+
desc "Create mo-files"
|
117
|
+
task :makemo do
|
118
|
+
GetText.create_mofiles(true)
|
119
|
+
end
|
120
|
+
=end
|
121
|
+
|
122
|
+
Rake::TestTask.new do |t|
|
123
|
+
t.libs << "lib"
|
124
|
+
t.libs << "test"
|
125
|
+
t.test_files = FileList["test/**/*_{helper,test}.rb"]
|
126
|
+
end
|
127
|
+
|
128
|
+
task :default => :test
|