├── template.app
└── Contents
│ ├── MacOS
│ └── Application Stub
│ ├── Resources
│ ├── AutomatorApplet.icns
│ ├── ar.lproj
│ │ └── ApplicationStub.nib
│ ├── ca.lproj
│ │ └── ApplicationStub.nib
│ ├── cs.lproj
│ │ └── ApplicationStub.nib
│ ├── da.lproj
│ │ └── ApplicationStub.nib
│ ├── el.lproj
│ │ └── ApplicationStub.nib
│ ├── fi.lproj
│ │ └── ApplicationStub.nib
│ ├── he.lproj
│ │ └── ApplicationStub.nib
│ ├── hr.lproj
│ │ └── ApplicationStub.nib
│ ├── hu.lproj
│ │ └── ApplicationStub.nib
│ ├── id.lproj
│ │ └── ApplicationStub.nib
│ ├── ko.lproj
│ │ └── ApplicationStub.nib
│ ├── ms.lproj
│ │ └── ApplicationStub.nib
│ ├── no.lproj
│ │ └── ApplicationStub.nib
│ ├── pl.lproj
│ │ └── ApplicationStub.nib
│ ├── pt.lproj
│ │ └── ApplicationStub.nib
│ ├── ro.lproj
│ │ └── ApplicationStub.nib
│ ├── ru.lproj
│ │ └── ApplicationStub.nib
│ ├── sk.lproj
│ │ └── ApplicationStub.nib
│ ├── sv.lproj
│ │ └── ApplicationStub.nib
│ ├── th.lproj
│ │ └── ApplicationStub.nib
│ ├── tr.lproj
│ │ └── ApplicationStub.nib
│ ├── uk.lproj
│ │ └── ApplicationStub.nib
│ ├── vi.lproj
│ │ └── ApplicationStub.nib
│ ├── Dutch.lproj
│ │ └── ApplicationStub.nib
│ ├── es_MX.lproj
│ │ └── ApplicationStub.nib
│ ├── pt_PT.lproj
│ │ └── ApplicationStub.nib
│ ├── zh_CN.lproj
│ │ └── ApplicationStub.nib
│ ├── zh_TW.lproj
│ │ └── ApplicationStub.nib
│ ├── English.lproj
│ │ └── ApplicationStub.nib
│ ├── French.lproj
│ │ └── ApplicationStub.nib
│ ├── German.lproj
│ │ └── ApplicationStub.nib
│ ├── Italian.lproj
│ │ └── ApplicationStub.nib
│ ├── Spanish.lproj
│ │ └── ApplicationStub.nib
│ └── Japanese.lproj
│ │ └── ApplicationStub.nib
│ ├── Info.plist
│ └── document.wflow
├── .gitignore
├── README.md
├── mactomb.sh
└── LICENSE
/template.app/Contents/MacOS/Application Stub:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/MacOS/Application Stub
--------------------------------------------------------------------------------
/template.app/Contents/Resources/AutomatorApplet.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/AutomatorApplet.icns
--------------------------------------------------------------------------------
/template.app/Contents/Resources/ar.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/ar.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/ca.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/ca.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/cs.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/cs.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/da.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/da.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/el.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/el.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/fi.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/fi.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/he.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/he.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/hr.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/hr.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/hu.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/hu.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/id.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/id.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/ko.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/ko.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/ms.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/ms.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/no.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/no.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/pl.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/pl.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/pt.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/pt.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/ro.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/ro.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/ru.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/ru.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/sk.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/sk.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/sv.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/sv.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/th.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/th.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/tr.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/tr.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/uk.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/uk.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/vi.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/vi.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/Dutch.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/Dutch.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/es_MX.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/es_MX.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/pt_PT.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/pt_PT.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/zh_CN.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/zh_CN.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/zh_TW.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/zh_TW.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/English.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/English.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/French.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/French.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/German.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/German.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/Italian.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/Italian.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/Spanish.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/Spanish.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/template.app/Contents/Resources/Japanese.lproj/ApplicationStub.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/davinerd/MacTomb/HEAD/template.app/Contents/Resources/Japanese.lproj/ApplicationStub.nib
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 |
5 | # C extensions
6 | *.so
7 |
8 | # Distribution / packaging
9 | .Python
10 | env/
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | *.egg-info/
23 | .installed.cfg
24 | *.egg
25 |
26 | # PyInstaller
27 | # Usually these files are written by a python script from a template
28 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
29 | *.manifest
30 | *.spec
31 |
32 | # Installer logs
33 | pip-log.txt
34 | pip-delete-this-directory.txt
35 |
36 | # Unit test / coverage reports
37 | htmlcov/
38 | .tox/
39 | .coverage
40 | .coverage.*
41 | .cache
42 | nosetests.xml
43 | coverage.xml
44 | *,cover
45 |
46 | # Translations
47 | *.mo
48 | *.pot
49 |
50 | # Django stuff:
51 | *.log
52 |
53 | # Sphinx documentation
54 | docs/_build/
55 |
56 | # PyBuilder
57 | target/
58 |
59 | .DS_Store
60 |
--------------------------------------------------------------------------------
/template.app/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AMIsApplet
6 |
7 | AMStayOpen
8 |
9 | BuildMachineOSBuild
10 | 14D49
11 | CFBundleDevelopmentRegion
12 | English
13 | CFBundleDocumentTypes
14 |
15 |
16 | CFBundleTypeExtensions
17 |
18 | *
19 |
20 | CFBundleTypeName
21 | Automator workflow file
22 | CFBundleTypeOSTypes
23 |
24 | ****
25 |
26 | CFBundleTypeRole
27 | Viewer
28 |
29 |
30 | CFBundleExecutable
31 | Application Stub
32 | CFBundleIconFile
33 | AutomatorApplet
34 | CFBundleIdentifier
35 | com.apple.automator.test
36 | CFBundleInfoDictionaryVersion
37 | 6.0
38 | CFBundleName
39 | test
40 | CFBundlePackageType
41 | APPL
42 | CFBundleShortVersionString
43 | 1.2
44 | CFBundleSignature
45 | ????
46 | CFBundleURLTypes
47 |
48 | CFBundleVersion
49 | 409.2
50 | DTCompiler
51 | com.apple.compilers.llvm.clang.1_0
52 | DTPlatformBuild
53 | 6D97u
54 | DTPlatformVersion
55 | GM
56 | DTSDKBuild
57 | 14D42
58 | DTSDKName
59 | macosx10.10internal
60 | DTXcode
61 | 0630
62 | DTXcodeBuild
63 | 6D97u
64 | LSMinimumSystemVersion
65 | 10.5
66 | LSMinimumSystemVersionByArchitecture
67 |
68 | x86_64
69 | 10.6
70 |
71 | LSUIElement
72 |
73 | NSAppleScriptEnabled
74 | YES
75 | NSMainNibFile
76 | ApplicationStub
77 | NSPrincipalClass
78 | NSApplication
79 | NSServices
80 |
81 | UTExportedTypeDeclarations
82 |
83 | UTImportedTypeDeclarations
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/template.app/Contents/document.wflow:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AMApplicationBuild
6 | 409.2
7 | AMApplicationVersion
8 | 2.5
9 | AMDocumentVersion
10 | 2
11 | actions
12 |
13 |
14 | action
15 |
16 | AMAccepts
17 |
18 | Container
19 | List
20 | Optional
21 |
22 | Types
23 |
24 | com.apple.cocoa.string
25 |
26 |
27 | AMActionVersion
28 | 2.0.3
29 | AMApplication
30 |
31 | Automator
32 |
33 | AMParameterProperties
34 |
35 | COMMAND_STRING
36 |
37 | CheckedForUserDefaultShell
38 |
39 | inputMethod
40 |
41 | shell
42 |
43 | source
44 |
45 |
46 | AMProvides
47 |
48 | Container
49 | List
50 | Types
51 |
52 | com.apple.cocoa.string
53 |
54 |
55 | ActionBundlePath
56 | /System/Library/Automator/Run Shell Script.action
57 | ActionName
58 | Run Shell Script
59 | ActionParameters
60 |
61 | COMMAND_STRING
62 | SCRIPT_TO_RUN
63 | CheckedForUserDefaultShell
64 |
65 | inputMethod
66 | 1
67 | shell
68 | /bin/bash
69 | source
70 |
71 |
72 | BundleIdentifier
73 | com.apple.RunShellScript
74 | CFBundleVersion
75 | 2.0.3
76 | CanShowSelectedItemsWhenRun
77 |
78 | CanShowWhenRun
79 |
80 | Category
81 |
82 | AMCategoryUtilities
83 |
84 | Class Name
85 | RunShellScriptAction
86 | InputUUID
87 | 5A7FF472-A24F-44E3-AD8D-43ED6DF847A0
88 | Keywords
89 |
90 | Shell
91 | Script
92 | Command
93 | Run
94 | Unix
95 |
96 | OutputUUID
97 | 37124BF6-B995-4E34-A0C8-B4C32724900F
98 | UUID
99 | FF0EAC27-596A-42D0-9A73-84C94BE955FE
100 | UnlocalizedApplications
101 |
102 | Automator
103 |
104 | arguments
105 |
106 | 0
107 |
108 | default value
109 | 0
110 | name
111 | inputMethod
112 | required
113 | 0
114 | type
115 | 0
116 | uuid
117 | 0
118 |
119 | 1
120 |
121 | default value
122 |
123 | name
124 | source
125 | required
126 | 0
127 | type
128 | 0
129 | uuid
130 | 1
131 |
132 | 2
133 |
134 | default value
135 |
136 | name
137 | CheckedForUserDefaultShell
138 | required
139 | 0
140 | type
141 | 0
142 | uuid
143 | 2
144 |
145 | 3
146 |
147 | default value
148 |
149 | name
150 | COMMAND_STRING
151 | required
152 | 0
153 | type
154 | 0
155 | uuid
156 | 3
157 |
158 | 4
159 |
160 | default value
161 | /bin/sh
162 | name
163 | shell
164 | required
165 | 0
166 | type
167 | 0
168 | uuid
169 | 4
170 |
171 |
172 | isViewVisible
173 |
174 | location
175 | 309.000000:305.000000
176 | nibPath
177 | /System/Library/Automator/Run Shell Script.action/Contents/Resources/English.lproj/main.nib
178 |
179 | isViewVisible
180 |
181 |
182 |
183 | connectors
184 |
185 | workflowMetaData
186 |
187 | workflowTypeIdentifier
188 | com.apple.Automator.application
189 |
190 |
191 |
192 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MacTomb
2 | MacTomb is a kind of [Tomb](https://github.com/dyne/Tomb) porting for Mac OS X. It allows you to create encrypted DMG file (called `mactomb`), copy files and folders into it and setup a couple of scripts needed to easily mount & run apps that use files stored inside the mactomb.
3 |
4 | Read about MacTomb on [dyne](https://www.dyne.org/software/mactomb/) and [Lost in ICT blog](https://lostinict.wordpress.com/2015/09/27/mactomb-enhance-your-privacy-on-mac-os-x/)
5 |
6 | # What's new? (v.1.4)
7 | - added `encrypt` command: you can now encrypt an unencrypted tomb
8 | - `rename` command now updates also the bash script (if specified)
9 | - added the `-t` flag: you can specify two types of image format: SPARSEBUNDLE (default) and DMG
10 | - nicer output
11 | - moar checks
12 |
13 | # What's new? (v.1.3)
14 | - added `rename` command: you can now change your volume label within `mactomb` and by specify the flag `-b` also in the bash script (**N.B.** you may need to replace the volume label in other files like, in example, Firefox or Thunderbird profiles)
15 | - more robust checks to ensure everything works fine
16 |
17 | # What's new? (v.1.2)
18 | - compression/decompression support: mactomb is able to compress and decompress mactomb files. See the related section
19 | - `list` command: it will list all the open mactombs
20 | - change password: with `chpass` you can change your mactomb's password
21 | - bug fixes and improvements
22 |
23 | # What's new? (v.1.1)
24 | - changing flags (again!): now `-n` specify the name of the volume (the famous `$VOLNAME`) while `-v` enables Mac OS X notification
25 | - now the bash script umount the mactomb when closing the application. It means that when you close the Automatr App, the mactomb will be umounted
26 | - added strong checks to verify if bash script and Automator App already exist or they are a directory
27 | - added a check for the filename to ensure it contains/adds the `.dmg` extension
28 | - better error messages
29 |
30 | # What's new? (v.1.0)
31 | Version 1.0 released! Yes, from 0.1 to 1.0. Why? Big improvements has been made. Read below:
32 | - there was a conflict between two `-s` options (size and Automator app). Now the Automator app has the `-o` flag and the bash script (that previously was `-o`) becomes `-b`.
33 | - possibility to call `forge` without automatically fire `create` and `app`. This means: you can use `forge` to create only the Automator app. For a better explaination on `forge`, see the related paragrah
34 | - you can now specify a command (binary + arguments) with the `-a` flag, that will be outputted in the bash script created with the `-b` flag
35 | - `-o` ensure the Automator app has .app extension so Mac OS X can recognise it (you don't need to specify it via command line)
36 | - introduced the `VOLNAME` variable (line 305). By default, the encrypted DMG is labeled `untitled`. You can rename it by changing the value of that variable.
37 | - the `VOLNAME` variable can be used also inside the `-a` argument to specify an action that has to access file(s) inside the mactomb. As in example, the following line works: `-a /Applications/Firefox.app/Contents/MacOS/firefox-bin \$VOLNAME/index.html` (will tell Firefox to open _/Volumes/$VOLNAME/index.html_). Please note the `\$VOLNAME`: it will be automatically translated to the value of the `VOLNAME` variable defined in the script
38 | - more robust errors checking
39 |
40 | # What exactly it does?
41 | The help is quite explicit:
42 | ```
43 | $ bash mactomb.sh help
44 | ..:: MacTomb v.1.3 ::..
45 | by Davide Barbato
46 |
47 | Help!
48 |
49 | list:
50 | list all opened mactombs
51 |
52 | chpass:
53 | -f Change passphrase of mactomb
54 |
55 | compress:
56 | -f Compress a mactomb (will make it read-only)
57 |
58 | decompress:
59 | -f Decompress a mactomb
60 |
61 | rename:
62 | -f mactomb file (already created)
63 | Optional:
64 | -n Specify the new volume name to assign to the mactomb (default is "untitled")
65 | -b