@fredlackey/devutils 0.0.1 → 0.0.3

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.
Files changed (259) hide show
  1. package/README.md +5 -5
  2. package/package.json +1 -1
  3. package/src/commands/install.js +374 -36
  4. package/src/installs/adobe-creative-cloud.js +527 -25
  5. package/src/installs/adobe-creative-cloud.md +605 -0
  6. package/src/installs/appcleaner.js +303 -26
  7. package/src/installs/appcleaner.md +699 -0
  8. package/src/installs/apt-transport-https.js +390 -0
  9. package/src/installs/apt-transport-https.md +678 -0
  10. package/src/installs/atomicparsley.js +624 -26
  11. package/src/installs/atomicparsley.md +795 -0
  12. package/src/installs/aws-cli.js +779 -26
  13. package/src/installs/aws-cli.md +727 -0
  14. package/src/installs/balena-etcher.js +688 -26
  15. package/src/installs/balena-etcher.md +761 -0
  16. package/src/installs/bambu-studio.js +912 -26
  17. package/src/installs/bambu-studio.md +780 -0
  18. package/src/installs/bash-completion.js +554 -23
  19. package/src/installs/bash-completion.md +833 -0
  20. package/src/installs/bash.js +399 -26
  21. package/src/installs/bash.md +993 -0
  22. package/src/installs/beyond-compare.js +585 -26
  23. package/src/installs/beyond-compare.md +813 -0
  24. package/src/installs/build-essential.js +511 -26
  25. package/src/installs/build-essential.md +977 -0
  26. package/src/installs/ca-certificates.js +618 -0
  27. package/src/installs/ca-certificates.md +937 -0
  28. package/src/installs/caffeine.js +490 -26
  29. package/src/installs/caffeine.md +839 -0
  30. package/src/installs/camtasia.js +577 -25
  31. package/src/installs/camtasia.md +762 -0
  32. package/src/installs/chatgpt.js +458 -26
  33. package/src/installs/chatgpt.md +814 -0
  34. package/src/installs/chocolatey.js +447 -0
  35. package/src/installs/chocolatey.md +661 -0
  36. package/src/installs/chrome-canary.js +472 -26
  37. package/src/installs/chrome-canary.md +641 -0
  38. package/src/installs/chromium.js +645 -26
  39. package/src/installs/chromium.md +838 -0
  40. package/src/installs/claude-code.js +558 -26
  41. package/src/installs/claude-code.md +1173 -0
  42. package/src/installs/curl.js +361 -26
  43. package/src/installs/curl.md +714 -0
  44. package/src/installs/cursor.js +561 -26
  45. package/src/installs/cursor.md +970 -0
  46. package/src/installs/dbschema.js +674 -26
  47. package/src/installs/dbschema.md +925 -0
  48. package/src/installs/dependencies.md +435 -0
  49. package/src/installs/development-tools.js +600 -0
  50. package/src/installs/development-tools.md +977 -0
  51. package/src/installs/docker.js +1010 -25
  52. package/src/installs/docker.md +1109 -0
  53. package/src/installs/drawio.js +1001 -26
  54. package/src/installs/drawio.md +795 -0
  55. package/src/installs/elmedia-player.js +328 -25
  56. package/src/installs/elmedia-player.md +556 -0
  57. package/src/installs/ffmpeg.js +870 -25
  58. package/src/installs/ffmpeg.md +852 -0
  59. package/src/installs/file.js +464 -0
  60. package/src/installs/file.md +987 -0
  61. package/src/installs/gemini-cli.js +793 -26
  62. package/src/installs/gemini-cli.md +1153 -0
  63. package/src/installs/git.js +382 -26
  64. package/src/installs/git.md +907 -0
  65. package/src/installs/gitego.js +931 -26
  66. package/src/installs/gitego.md +1172 -0
  67. package/src/installs/go.js +913 -26
  68. package/src/installs/go.md +958 -0
  69. package/src/installs/google-chrome.js +801 -25
  70. package/src/installs/google-chrome.md +862 -0
  71. package/src/installs/gpg.js +412 -73
  72. package/src/installs/gpg.md +1056 -0
  73. package/src/installs/homebrew.js +1015 -26
  74. package/src/installs/homebrew.md +988 -0
  75. package/src/installs/imageoptim.js +950 -26
  76. package/src/installs/imageoptim.md +1119 -0
  77. package/src/installs/installers.json +2297 -0
  78. package/src/installs/jq.js +382 -26
  79. package/src/installs/jq.md +809 -0
  80. package/src/installs/keyboard-maestro.js +701 -26
  81. package/src/installs/keyboard-maestro.md +825 -0
  82. package/src/installs/latex.js +771 -26
  83. package/src/installs/latex.md +1095 -0
  84. package/src/installs/lftp.js +338 -26
  85. package/src/installs/lftp.md +907 -0
  86. package/src/installs/lsb-release.js +346 -0
  87. package/src/installs/lsb-release.md +814 -0
  88. package/src/installs/messenger.js +829 -26
  89. package/src/installs/messenger.md +900 -0
  90. package/src/installs/microsoft-office.js +550 -26
  91. package/src/installs/microsoft-office.md +760 -0
  92. package/src/installs/microsoft-teams.js +782 -25
  93. package/src/installs/microsoft-teams.md +886 -0
  94. package/src/installs/node.js +886 -26
  95. package/src/installs/node.md +1153 -0
  96. package/src/installs/nordpass.js +698 -26
  97. package/src/installs/nordpass.md +921 -0
  98. package/src/installs/nvm.js +977 -26
  99. package/src/installs/nvm.md +1057 -0
  100. package/src/installs/openssh.js +734 -64
  101. package/src/installs/openssh.md +1056 -0
  102. package/src/installs/pandoc.js +644 -26
  103. package/src/installs/pandoc.md +1036 -0
  104. package/src/installs/pinentry.js +492 -26
  105. package/src/installs/pinentry.md +1142 -0
  106. package/src/installs/pngyu.js +851 -26
  107. package/src/installs/pngyu.md +896 -0
  108. package/src/installs/postman.js +781 -26
  109. package/src/installs/postman.md +940 -0
  110. package/src/installs/procps.js +425 -0
  111. package/src/installs/procps.md +851 -0
  112. package/src/installs/safari-tech-preview.js +355 -25
  113. package/src/installs/safari-tech-preview.md +533 -0
  114. package/src/installs/sfnt2woff.js +640 -26
  115. package/src/installs/sfnt2woff.md +795 -0
  116. package/src/installs/shellcheck.js +463 -26
  117. package/src/installs/shellcheck.md +1005 -0
  118. package/src/installs/slack.js +722 -25
  119. package/src/installs/slack.md +865 -0
  120. package/src/installs/snagit.js +566 -25
  121. package/src/installs/snagit.md +844 -0
  122. package/src/installs/software-properties-common.js +372 -0
  123. package/src/installs/software-properties-common.md +805 -0
  124. package/src/installs/spotify.js +858 -25
  125. package/src/installs/spotify.md +901 -0
  126. package/src/installs/studio-3t.js +803 -26
  127. package/src/installs/studio-3t.md +918 -0
  128. package/src/installs/sublime-text.js +780 -25
  129. package/src/installs/sublime-text.md +914 -0
  130. package/src/installs/superwhisper.js +687 -25
  131. package/src/installs/superwhisper.md +630 -0
  132. package/src/installs/tailscale.js +727 -26
  133. package/src/installs/tailscale.md +1100 -0
  134. package/src/installs/tar.js +389 -0
  135. package/src/installs/tar.md +946 -0
  136. package/src/installs/termius.js +780 -26
  137. package/src/installs/termius.md +844 -0
  138. package/src/installs/terraform.js +761 -26
  139. package/src/installs/terraform.md +899 -0
  140. package/src/installs/tidal.js +752 -25
  141. package/src/installs/tidal.md +864 -0
  142. package/src/installs/tmux.js +328 -26
  143. package/src/installs/tmux.md +1030 -0
  144. package/src/installs/tree.js +393 -26
  145. package/src/installs/tree.md +833 -0
  146. package/src/installs/unzip.js +460 -0
  147. package/src/installs/unzip.md +879 -0
  148. package/src/installs/vim.js +403 -26
  149. package/src/installs/vim.md +1040 -0
  150. package/src/installs/vlc.js +803 -26
  151. package/src/installs/vlc.md +927 -0
  152. package/src/installs/vscode.js +825 -26
  153. package/src/installs/vscode.md +1002 -0
  154. package/src/installs/wget.js +415 -0
  155. package/src/installs/wget.md +791 -0
  156. package/src/installs/whatsapp.js +710 -25
  157. package/src/installs/whatsapp.md +854 -0
  158. package/src/installs/winpty.js +352 -0
  159. package/src/installs/winpty.md +620 -0
  160. package/src/installs/woff2.js +535 -26
  161. package/src/installs/woff2.md +977 -0
  162. package/src/installs/wsl.js +572 -0
  163. package/src/installs/wsl.md +699 -0
  164. package/src/installs/xcode-clt.js +520 -0
  165. package/src/installs/xcode-clt.md +351 -0
  166. package/src/installs/xcode.js +542 -26
  167. package/src/installs/xcode.md +573 -0
  168. package/src/installs/yarn.js +806 -26
  169. package/src/installs/yarn.md +1074 -0
  170. package/src/installs/yq.js +636 -26
  171. package/src/installs/yq.md +944 -0
  172. package/src/installs/yt-dlp.js +683 -26
  173. package/src/installs/yt-dlp.md +946 -0
  174. package/src/installs/yum-utils.js +297 -0
  175. package/src/installs/yum-utils.md +648 -0
  176. package/src/installs/zoom.js +740 -25
  177. package/src/installs/zoom.md +884 -0
  178. package/src/scripts/README.md +567 -45
  179. package/src/scripts/STATUS.md +208 -0
  180. package/src/scripts/afk.js +395 -7
  181. package/src/scripts/backup-all.js +731 -9
  182. package/src/scripts/backup-source.js +711 -8
  183. package/src/scripts/brewd.js +373 -7
  184. package/src/scripts/brewi.js +505 -9
  185. package/src/scripts/brewr.js +512 -9
  186. package/src/scripts/brews.js +462 -9
  187. package/src/scripts/brewu.js +488 -7
  188. package/src/scripts/c.js +185 -7
  189. package/src/scripts/ccurl.js +325 -8
  190. package/src/scripts/certbot-crontab-init.js +488 -8
  191. package/src/scripts/certbot-init.js +641 -9
  192. package/src/scripts/ch.js +339 -7
  193. package/src/scripts/claude-danger.js +253 -8
  194. package/src/scripts/clean-dev.js +419 -8
  195. package/src/scripts/clear-dns-cache.js +525 -7
  196. package/src/scripts/clone.js +417 -7
  197. package/src/scripts/code-all.js +420 -7
  198. package/src/scripts/count-files.js +195 -8
  199. package/src/scripts/count-folders.js +195 -8
  200. package/src/scripts/count.js +248 -8
  201. package/src/scripts/d.js +203 -7
  202. package/src/scripts/datauri.js +373 -8
  203. package/src/scripts/delete-files.js +363 -7
  204. package/src/scripts/docker-clean.js +410 -8
  205. package/src/scripts/dp.js +426 -7
  206. package/src/scripts/e.js +375 -9
  207. package/src/scripts/empty-trash.js +497 -7
  208. package/src/scripts/evm.js +428 -9
  209. package/src/scripts/fetch-github-repos.js +441 -10
  210. package/src/scripts/get-channel.js +329 -8
  211. package/src/scripts/get-course.js +384 -11
  212. package/src/scripts/get-dependencies.js +290 -9
  213. package/src/scripts/get-folder.js +783 -10
  214. package/src/scripts/get-tunes.js +411 -10
  215. package/src/scripts/get-video.js +352 -9
  216. package/src/scripts/git-backup.js +561 -9
  217. package/src/scripts/git-clone.js +477 -9
  218. package/src/scripts/git-pup.js +303 -7
  219. package/src/scripts/git-push.js +380 -8
  220. package/src/scripts/h.js +607 -9
  221. package/src/scripts/hide-desktop-icons.js +483 -7
  222. package/src/scripts/hide-hidden-files.js +522 -7
  223. package/src/scripts/install-dependencies-from.js +440 -9
  224. package/src/scripts/ips.js +647 -10
  225. package/src/scripts/iso.js +354 -8
  226. package/src/scripts/killni.js +561 -7
  227. package/src/scripts/ll.js +451 -8
  228. package/src/scripts/local-ip.js +310 -8
  229. package/src/scripts/m.js +508 -8
  230. package/src/scripts/map.js +293 -8
  231. package/src/scripts/mkd.js +287 -7
  232. package/src/scripts/ncu-update-all.js +441 -8
  233. package/src/scripts/nginx-init.js +702 -12
  234. package/src/scripts/npmi.js +366 -7
  235. package/src/scripts/o.js +495 -8
  236. package/src/scripts/org-by-date.js +321 -7
  237. package/src/scripts/p.js +208 -7
  238. package/src/scripts/packages.js +313 -8
  239. package/src/scripts/path.js +209 -7
  240. package/src/scripts/ports.js +582 -8
  241. package/src/scripts/q.js +290 -8
  242. package/src/scripts/refresh-files.js +378 -10
  243. package/src/scripts/remove-smaller-files.js +500 -8
  244. package/src/scripts/rename-files-with-date.js +517 -9
  245. package/src/scripts/resize-image.js +523 -9
  246. package/src/scripts/rm-safe.js +653 -8
  247. package/src/scripts/s.js +525 -9
  248. package/src/scripts/set-git-public.js +349 -7
  249. package/src/scripts/show-desktop-icons.js +459 -7
  250. package/src/scripts/show-hidden-files.js +456 -7
  251. package/src/scripts/tpa.js +265 -8
  252. package/src/scripts/tpo.js +264 -7
  253. package/src/scripts/u.js +489 -7
  254. package/src/scripts/vpush.js +422 -8
  255. package/src/scripts/y.js +267 -7
  256. package/src/utils/common/os.js +94 -2
  257. package/src/utils/ubuntu/apt.js +13 -7
  258. package/src/utils/windows/choco.js +82 -26
  259. package/src/utils/windows/winget.js +89 -27
@@ -0,0 +1,900 @@
1
+ # Installing Messenger (Facebook Messenger Desktop Application)
2
+
3
+ ## Dependencies
4
+
5
+ ### macOS (Homebrew)
6
+ - **Required:**
7
+ - Homebrew package manager - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
8
+ - **Optional:** None
9
+ - **Auto-installed:** None (Caprine cask is self-contained)
10
+
11
+ ### Ubuntu (APT/Snap)
12
+ - **Required:**
13
+ - snapd (Snap package manager) - Install via `sudo apt-get update && sudo apt-get install -y snapd`
14
+ - **Optional:** None
15
+ - **Auto-installed:** All Caprine dependencies (Electron framework, GTK libraries, notification libraries) are handled automatically by Snap
16
+
17
+ ### Raspberry Pi OS (APT/Snap)
18
+ - **Required:**
19
+ - git - Install via `sudo apt-get update && sudo apt-get install -y git`
20
+ - wget - Install via `sudo apt-get update && sudo apt-get install -y wget` (usually pre-installed)
21
+ - ARM architecture (aarch64 or armv7l) - Verify with `uname -m`
22
+ - **Optional:** None
23
+ - **Auto-installed:** All Caprine dependencies (Electron framework, GTK libraries) are handled automatically by Pi-Apps
24
+
25
+ ### Amazon Linux (DNF/YUM)
26
+ - **Required:**
27
+ - FUSE and fuse-libs (for AppImage execution) - Install via `sudo dnf install -y fuse fuse-libs` (AL2023) or `sudo yum install -y fuse fuse-libs` (AL2)
28
+ - curl - Install via `sudo dnf install -y curl` or `sudo yum install -y curl` (usually pre-installed)
29
+ - **Optional:**
30
+ - Desktop environment (GNOME, MATE, etc.) - Install via `sudo dnf groupinstall -y "Server with GUI"` (required for GUI applications)
31
+ - GTK3 libraries - Install via `sudo dnf install -y gtk3 at-spi2-atk libXScrnSaver` (may be required for AppImage execution)
32
+ - **Auto-installed:** None (AppImage is self-contained once FUSE is available)
33
+
34
+ ### Windows (Chocolatey/winget)
35
+ - **Required:**
36
+ - winget package manager - Pre-installed on Windows 10 1809+ and Windows 11; if missing, install "App Installer" from Microsoft Store
37
+ - **Optional:** None
38
+ - **Auto-installed:** All Caprine dependencies (Electron framework, Visual C++ Redistributables) are handled automatically by winget
39
+
40
+ ### Git Bash (Manual/Portable)
41
+ - **Required:**
42
+ - winget on Windows host - Pre-installed on Windows 10 1809+ and Windows 11; if missing, install "App Installer" from Microsoft Store
43
+ - Git for Windows (provides Git Bash) - Download from https://git-scm.com/download/win
44
+ - **Optional:** None
45
+ - **Auto-installed:** All Caprine dependencies are handled automatically by winget on the Windows host
46
+
47
+ ## Overview
48
+
49
+ Messenger (formerly Facebook Messenger) is Meta's instant messaging platform that allows users to send text messages, make voice and video calls, share files, photos, and videos, and communicate with Facebook friends and contacts. While Meta provides an official desktop application for macOS and Windows, Linux users must rely on third-party alternatives.
50
+
51
+ **Important Platform Notes**:
52
+ - **macOS**: Official Messenger app available via Homebrew (though currently disabled in Homebrew due to distribution changes)
53
+ - **Windows**: Official Messenger available as a Progressive Web App (PWA) via Microsoft Store; Chocolatey package deprecated
54
+ - **Linux (Ubuntu, Raspberry Pi, Amazon Linux)**: No official Meta desktop application; use **Caprine**, an open-source, privacy-focused Messenger client
55
+ - **Caprine** is the recommended third-party solution for all Linux platforms, providing native desktop experience with additional privacy features
56
+
57
+ This guide documents the installation of the official Messenger app where available, and Caprine as the definitive alternative for platforms without official support.
58
+
59
+ ## Prerequisites
60
+
61
+ Before installing Messenger or Caprine on any platform, ensure:
62
+
63
+ 1. **Facebook/Meta account** - Required to log in and use Messenger
64
+ 2. **Internet connectivity** - Required for all Messenger functionality
65
+ 3. **Administrative privileges** - Required on most platforms for installation
66
+
67
+ ## Platform-Specific Installation
68
+
69
+ ### macOS (Homebrew)
70
+
71
+ #### Prerequisites
72
+
73
+ - macOS 12 (Monterey) or later
74
+ - Homebrew package manager installed
75
+ - Apple Silicon (M1/M2/M3/M4) or Intel processor
76
+
77
+ **Note**: The official Messenger Homebrew cask has been disabled due to distribution changes by Meta. This guide documents the installation of **Caprine**, the recommended third-party Messenger client for macOS.
78
+
79
+ If Homebrew is not installed, install it first:
80
+
81
+ ```bash
82
+ NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
83
+ ```
84
+
85
+ #### Installation Steps
86
+
87
+ Run the following command to install Caprine, the privacy-focused Facebook Messenger desktop app:
88
+
89
+ ```bash
90
+ brew install --quiet --cask caprine
91
+ ```
92
+
93
+ The `--quiet` flag suppresses non-essential output, making the command suitable for automation scripts. The `--cask` flag specifies this is a macOS application.
94
+
95
+ #### Verification
96
+
97
+ Confirm the installation succeeded by launching the application:
98
+
99
+ ```bash
100
+ open -a Caprine
101
+ ```
102
+
103
+ Alternatively, verify the application exists:
104
+
105
+ ```bash
106
+ ls /Applications/Caprine.app
107
+ ```
108
+
109
+ Expected output:
110
+
111
+ ```
112
+ /Applications/Caprine.app
113
+ ```
114
+
115
+ #### Troubleshooting
116
+
117
+ **Problem**: `brew: command not found`
118
+
119
+ **Solution**: Homebrew is not installed or not in PATH. Install Homebrew or add it to your PATH:
120
+
121
+ ```bash
122
+ eval "$(/opt/homebrew/bin/brew shellenv)"
123
+ ```
124
+
125
+ **Problem**: App shows "Caprine can't be opened because Apple cannot check it for malicious software"
126
+
127
+ **Solution**: This can occur on first launch. Right-click the app in Applications and select "Open", then click "Open" in the dialog. Alternatively, clear the quarantine flag:
128
+
129
+ ```bash
130
+ xattr -cr /Applications/Caprine.app
131
+ ```
132
+
133
+ **Problem**: Cannot log in to Facebook within Caprine
134
+
135
+ **Solution**: Clear the application data and try again. Open Caprine, go to Help > Clear All Data, then restart the app.
136
+
137
+ **Problem**: "Caprine is not responding" after update
138
+
139
+ **Solution**: Force quit and restart:
140
+
141
+ ```bash
142
+ killall Caprine
143
+ open -a Caprine
144
+ ```
145
+
146
+ ---
147
+
148
+ ### Ubuntu/Debian (Snap)
149
+
150
+ #### Prerequisites
151
+
152
+ - Ubuntu 18.04 or later, or Debian 10 or later (64-bit x86_64)
153
+ - snapd service installed and running (pre-installed on Ubuntu 16.04+)
154
+ - sudo privileges
155
+ - Active internet connection
156
+
157
+ **Important**: Meta does not provide an official Messenger desktop application for Linux. This guide documents the installation of **Caprine**, an open-source, privacy-focused Facebook Messenger client that provides a native desktop experience.
158
+
159
+ #### Installation Steps
160
+
161
+ Run the following command to install Caprine:
162
+
163
+ ```bash
164
+ sudo snap install caprine
165
+ ```
166
+
167
+ Snap handles all dependencies automatically and provides automatic updates.
168
+
169
+ **Note**: After installation, you may need to log out and log back in, or restart your terminal, for the application to appear in your application menu.
170
+
171
+ #### Verification
172
+
173
+ Confirm the installation succeeded:
174
+
175
+ ```bash
176
+ snap list caprine
177
+ ```
178
+
179
+ Expected output (version may vary):
180
+
181
+ ```
182
+ Name Version Rev Tracking Publisher Notes
183
+ caprine 2.59.3 xxx latest/stable AHC -
184
+ ```
185
+
186
+ Launch the application:
187
+
188
+ ```bash
189
+ caprine &
190
+ ```
191
+
192
+ Or find "Caprine" in your application menu under Internet or Communication.
193
+
194
+ #### Troubleshooting
195
+
196
+ **Problem**: `snap: command not found`
197
+
198
+ **Solution**: Install snapd first:
199
+
200
+ ```bash
201
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y snapd
202
+ ```
203
+
204
+ Then restart your terminal or log out and log back in.
205
+
206
+ **Problem**: Application fails to start with graphics errors
207
+
208
+ **Solution**: The Electron-based app may have issues with certain graphics drivers. Try running with software rendering:
209
+
210
+ ```bash
211
+ caprine --disable-gpu &
212
+ ```
213
+
214
+ **Problem**: Cannot log in to Facebook within Caprine
215
+
216
+ **Solution**: Clear the application data and try again:
217
+
218
+ ```bash
219
+ rm -rf ~/snap/caprine/current/.config/Caprine
220
+ ```
221
+
222
+ **Problem**: "caprine" not found after installation
223
+
224
+ **Solution**: The snap bin directory may not be in PATH. Add it:
225
+
226
+ ```bash
227
+ export PATH=$PATH:/snap/bin
228
+ ```
229
+
230
+ Add this line to `~/.bashrc` for persistence.
231
+
232
+ **Problem**: Notifications not working
233
+
234
+ **Solution**: Grant notification permissions:
235
+
236
+ ```bash
237
+ snap connect caprine:desktop
238
+ snap connect caprine:desktop-legacy
239
+ ```
240
+
241
+ ---
242
+
243
+ ### Raspberry Pi OS (Snap/Pi-Apps)
244
+
245
+ #### Prerequisites
246
+
247
+ - Raspberry Pi OS (64-bit recommended) - Bookworm or Bullseye
248
+ - Raspberry Pi 4 or later with 2GB+ RAM (4GB recommended)
249
+ - sudo privileges
250
+ - Desktop environment configured
251
+
252
+ **Important**: Meta does not provide an official Messenger desktop application for Raspberry Pi or any Linux ARM platform. This guide documents the installation of **Caprine** using Pi-Apps, which properly handles ARM64 builds.
253
+
254
+ Verify your architecture:
255
+
256
+ ```bash
257
+ uname -m
258
+ ```
259
+
260
+ - `aarch64` = 64-bit ARM (recommended, full support)
261
+ - `armv7l` = 32-bit ARM (limited support via Pi-Apps)
262
+
263
+ **Note**: The Snap version of Caprine only supports amd64 (x86_64) architecture and will not work on Raspberry Pi. Use Pi-Apps for ARM installation.
264
+
265
+ #### Installation Steps
266
+
267
+ **Step 1: Install Pi-Apps**
268
+
269
+ Pi-Apps is an application installer for Raspberry Pi that handles ARM-specific builds:
270
+
271
+ ```bash
272
+ wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
273
+ ```
274
+
275
+ This command downloads and runs the Pi-Apps installer non-interactively.
276
+
277
+ **Step 2: Install Caprine via Pi-Apps CLI**
278
+
279
+ ```bash
280
+ /home/$USER/pi-apps/manage install Caprine
281
+ ```
282
+
283
+ Alternatively, launch Pi-Apps from the start menu, navigate to Internet > Communication > Caprine, and click Install.
284
+
285
+ #### Verification
286
+
287
+ Confirm the installation succeeded:
288
+
289
+ ```bash
290
+ ls /opt/Caprine/caprine
291
+ ```
292
+
293
+ Expected output:
294
+
295
+ ```
296
+ /opt/Caprine/caprine
297
+ ```
298
+
299
+ Launch the application:
300
+
301
+ ```bash
302
+ /opt/Caprine/caprine &
303
+ ```
304
+
305
+ Or find "Caprine" in your application menu under Internet.
306
+
307
+ #### Troubleshooting
308
+
309
+ **Problem**: Pi-Apps installation fails
310
+
311
+ **Solution**: Ensure you have internet connectivity and git is installed:
312
+
313
+ ```bash
314
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y git
315
+ ```
316
+
317
+ Then retry the Pi-Apps installation.
318
+
319
+ **Problem**: Caprine runs slowly or crashes
320
+
321
+ **Solution**: Raspberry Pi may have limited resources for Electron apps. Close other applications and ensure you have at least 2GB RAM. Consider increasing swap space:
322
+
323
+ ```bash
324
+ sudo dphys-swapfile swapoff
325
+ sudo sed -i 's/CONF_SWAPSIZE=.*/CONF_SWAPSIZE=2048/' /etc/dphys-swapfile
326
+ sudo dphys-swapfile setup
327
+ sudo dphys-swapfile swapon
328
+ ```
329
+
330
+ **Problem**: Graphics rendering issues
331
+
332
+ **Solution**: Try running with software rendering:
333
+
334
+ ```bash
335
+ /opt/Caprine/caprine --disable-gpu &
336
+ ```
337
+
338
+ **Problem**: "Cannot open shared object file" errors
339
+
340
+ **Solution**: Install required dependencies:
341
+
342
+ ```bash
343
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libgtk-3-0 libnotify4 libnss3 libxss1 libxtst6 xdg-utils libatspi2.0-0 libuuid1 libsecret-1-0
344
+ ```
345
+
346
+ ---
347
+
348
+ ### Amazon Linux (DNF/YUM)
349
+
350
+ #### Prerequisites
351
+
352
+ - Amazon Linux 2023 (AL2023) or Amazon Linux 2 (AL2)
353
+ - Desktop environment installed (GNOME, MATE, or similar)
354
+ - sudo privileges
355
+ - Active internet connection
356
+
357
+ **Important**: Meta does not provide an official Messenger desktop application for Amazon Linux or any Linux distribution. For desktop environments, use **Caprine** via AppImage. For headless server environments, use the web interface.
358
+
359
+ Amazon Linux is typically used as a server OS. If you need a graphical Messenger client, ensure you have a desktop environment installed first.
360
+
361
+ #### Installation Steps
362
+
363
+ **Step 1: Install FUSE (required for AppImage)**
364
+
365
+ For Amazon Linux 2023:
366
+
367
+ ```bash
368
+ sudo dnf install -y fuse fuse-libs
369
+ ```
370
+
371
+ For Amazon Linux 2:
372
+
373
+ ```bash
374
+ sudo yum install -y fuse fuse-libs
375
+ ```
376
+
377
+ **Step 2: Download and Install Caprine AppImage**
378
+
379
+ ```bash
380
+ # Create applications directory
381
+ mkdir -p ~/.local/bin
382
+
383
+ # Download the latest Caprine AppImage
384
+ curl -L -o ~/.local/bin/Caprine.AppImage "https://github.com/sindresorhus/caprine/releases/download/v2.61.0/Caprine-2.61.0.AppImage"
385
+
386
+ # Make it executable
387
+ chmod +x ~/.local/bin/Caprine.AppImage
388
+ ```
389
+
390
+ **Step 3: Add to PATH (if not already)**
391
+
392
+ ```bash
393
+ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
394
+ source ~/.bashrc
395
+ ```
396
+
397
+ #### Verification
398
+
399
+ Confirm the installation succeeded:
400
+
401
+ ```bash
402
+ ls -la ~/.local/bin/Caprine.AppImage
403
+ ```
404
+
405
+ Expected output shows the executable file:
406
+
407
+ ```
408
+ -rwxr-xr-x. 1 user user 95000000 Jan 2 12:00 /home/user/.local/bin/Caprine.AppImage
409
+ ```
410
+
411
+ Launch the application:
412
+
413
+ ```bash
414
+ ~/.local/bin/Caprine.AppImage &
415
+ ```
416
+
417
+ #### Troubleshooting
418
+
419
+ **Problem**: No graphical display available
420
+
421
+ **Solution**: Amazon Linux is typically a server OS without a desktop environment. Install a desktop environment first:
422
+
423
+ ```bash
424
+ # For Amazon Linux 2023
425
+ sudo dnf groupinstall -y "Server with GUI"
426
+ sudo systemctl set-default graphical.target
427
+ sudo reboot
428
+ ```
429
+
430
+ Or use the web interface at https://messenger.com from any browser.
431
+
432
+ **Problem**: AppImage fails with "FUSE not available"
433
+
434
+ **Solution**: Ensure FUSE is installed:
435
+
436
+ ```bash
437
+ sudo dnf install -y fuse fuse-libs
438
+ ```
439
+
440
+ Or extract and run the AppImage directly:
441
+
442
+ ```bash
443
+ ~/.local/bin/Caprine.AppImage --appimage-extract
444
+ ~/squashfs-root/caprine &
445
+ ```
446
+
447
+ **Problem**: "libatk-bridge-2.0.so.0: cannot open shared object file"
448
+
449
+ **Solution**: Install GTK dependencies:
450
+
451
+ ```bash
452
+ sudo dnf install -y gtk3 at-spi2-atk libXScrnSaver
453
+ ```
454
+
455
+ **Problem**: SELinux blocks the AppImage
456
+
457
+ **Solution**: Allow the AppImage to run:
458
+
459
+ ```bash
460
+ sudo semanage fcontext -a -t bin_t ~/.local/bin/Caprine.AppImage
461
+ sudo restorecon -v ~/.local/bin/Caprine.AppImage
462
+ ```
463
+
464
+ ---
465
+
466
+ ### Windows (winget)
467
+
468
+ #### Prerequisites
469
+
470
+ - Windows 10 version 1809 or later, or Windows 11
471
+ - winget package manager (pre-installed on Windows 10 1809+ and Windows 11)
472
+ - Administrator privileges recommended
473
+ - Active internet connection
474
+
475
+ **Important**: Meta has deprecated the traditional Windows desktop application in favor of a Progressive Web App (PWA) distributed via the Microsoft Store. The Chocolatey package for Messenger has also been deprecated. This guide documents the installation of **Caprine** as the recommended desktop Messenger client for Windows.
476
+
477
+ #### Installation Steps
478
+
479
+ Run the following command in an Administrator PowerShell or Command Prompt:
480
+
481
+ ```powershell
482
+ winget install --id Caprine.Caprine --silent --accept-package-agreements --accept-source-agreements
483
+ ```
484
+
485
+ This command:
486
+ - `--id Caprine.Caprine` - Specifies the winget package ID for Caprine
487
+ - `--silent` - Runs without user prompts
488
+ - `--accept-package-agreements` - Automatically accepts package license agreements
489
+ - `--accept-source-agreements` - Automatically accepts source license agreements
490
+
491
+ #### Verification
492
+
493
+ Open a new PowerShell or Command Prompt window (required for PATH to update), then verify the installation:
494
+
495
+ ```powershell
496
+ winget list --id Caprine.Caprine
497
+ ```
498
+
499
+ Expected output:
500
+
501
+ ```
502
+ Name Id Version Source
503
+ -----------------------------------------
504
+ Caprine Caprine.Caprine 2.61.0 winget
505
+ ```
506
+
507
+ Launch the application from the Start Menu by searching for "Caprine", or:
508
+
509
+ ```powershell
510
+ start "" "Caprine"
511
+ ```
512
+
513
+ #### Troubleshooting
514
+
515
+ **Problem**: `winget: The term 'winget' is not recognized`
516
+
517
+ **Solution**: winget may not be installed or PATH may not be updated. Install App Installer from the Microsoft Store:
518
+
519
+ ```powershell
520
+ start ms-windows-store://pdp/?productid=9NBLGGH4NNS1
521
+ ```
522
+
523
+ After installation, open a new terminal window.
524
+
525
+ **Problem**: Installation fails with "No applicable installer found"
526
+
527
+ **Solution**: Your Windows version may be too old. Check your version:
528
+
529
+ ```powershell
530
+ winver
531
+ ```
532
+
533
+ Windows 10 version 1809 (October 2018 Update) or later is required.
534
+
535
+ **Problem**: "Administrator privileges required"
536
+
537
+ **Solution**: Right-click PowerShell or Command Prompt and select "Run as administrator", then retry the installation command.
538
+
539
+ **Problem**: Caprine installed but cannot find it
540
+
541
+ **Solution**: The installation may have completed but the Start Menu not yet updated. Try running directly:
542
+
543
+ ```powershell
544
+ & "$env:LOCALAPPDATA\Programs\Caprine\Caprine.exe"
545
+ ```
546
+
547
+ **Problem**: Cannot log in to Facebook
548
+
549
+ **Solution**: Clear application data by going to Help > Clear All Data within Caprine, or delete the configuration folder:
550
+
551
+ ```powershell
552
+ Remove-Item -Recurse -Force "$env:APPDATA\Caprine"
553
+ ```
554
+
555
+ ---
556
+
557
+ ### WSL (Ubuntu)
558
+
559
+ #### Prerequisites
560
+
561
+ - Windows Subsystem for Linux with Ubuntu installed
562
+ - WSL 2 recommended for best performance
563
+ - WSLg support (Windows 11) for native Linux GUI apps
564
+ - sudo privileges within WSL
565
+
566
+ **Important**: Caprine is a GUI application and requires a display. WSL 2 with WSLg (Windows 11) supports Linux GUI applications natively. For WSL on Windows 10, additional X server configuration is required.
567
+
568
+ #### Installation Steps
569
+
570
+ **Recommended Approach - Use Windows Caprine Installation**:
571
+
572
+ The simplest approach is to install Caprine on Windows (see Windows section above) and access it from WSL through Windows interop:
573
+
574
+ ```bash
575
+ # Install wslu for Windows integration
576
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wslu
577
+
578
+ # Open Messenger web interface in Windows browser
579
+ wslview https://messenger.com
580
+ ```
581
+
582
+ **Alternative Approach - Linux Snap in WSL (WSL 2 + WSLg required)**:
583
+
584
+ For WSL 2 on Windows 11 with WSLg, you can run Linux GUI applications natively.
585
+
586
+ First, ensure systemd is enabled in WSL. Edit `/etc/wsl.conf`:
587
+
588
+ ```bash
589
+ sudo tee /etc/wsl.conf > /dev/null << 'EOF'
590
+ [boot]
591
+ systemd=true
592
+ EOF
593
+ ```
594
+
595
+ Restart WSL from PowerShell:
596
+
597
+ ```powershell
598
+ wsl --shutdown
599
+ ```
600
+
601
+ Then reopen WSL and install Caprine via Snap:
602
+
603
+ ```bash
604
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y snapd
605
+ sudo snap install caprine
606
+ ```
607
+
608
+ #### Verification
609
+
610
+ For the Windows browser approach:
611
+
612
+ ```bash
613
+ wslview https://messenger.com
614
+ ```
615
+
616
+ This should open Messenger in your Windows browser.
617
+
618
+ For the Linux Snap approach (WSL 2 + WSLg):
619
+
620
+ ```bash
621
+ snap list caprine
622
+ ```
623
+
624
+ Launch the application:
625
+
626
+ ```bash
627
+ caprine &
628
+ ```
629
+
630
+ The Caprine window should appear on your Windows desktop via WSLg.
631
+
632
+ #### Troubleshooting
633
+
634
+ **Problem**: GUI applications do not display
635
+
636
+ **Solution**: WSLg requires Windows 11 or later. For Windows 10, install an X server like VcXsrv:
637
+
638
+ 1. Install VcXsrv on Windows from https://sourceforge.net/projects/vcxsrv/
639
+ 2. Launch XLaunch with "Multiple windows" and "Disable access control"
640
+ 3. In WSL, set the display:
641
+
642
+ ```bash
643
+ export DISPLAY=$(grep nameserver /etc/resolv.conf | awk '{print $2}'):0.0
644
+ ```
645
+
646
+ Add to `~/.bashrc` for persistence.
647
+
648
+ **Problem**: systemctl commands fail
649
+
650
+ **Solution**: systemd may not be enabled. Edit `/etc/wsl.conf` as shown above and restart WSL.
651
+
652
+ **Problem**: Snap installation hangs or fails
653
+
654
+ **Solution**: Snap may have issues in WSL. Use the Windows Caprine installation or web interface instead:
655
+
656
+ ```bash
657
+ wslview https://messenger.com
658
+ ```
659
+
660
+ **Problem**: `wslview: command not found`
661
+
662
+ **Solution**: Install wslu utilities:
663
+
664
+ ```bash
665
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wslu
666
+ ```
667
+
668
+ ---
669
+
670
+ ### Git Bash (Windows)
671
+
672
+ #### Prerequisites
673
+
674
+ - Windows 10 version 1809 or later, or Windows 11
675
+ - Git Bash installed (comes with Git for Windows)
676
+ - Caprine installed on Windows (see Windows section above)
677
+
678
+ **Note**: Git Bash on Windows runs within the Windows environment and inherits the Windows PATH. Once Caprine is installed on Windows, it is accessible from Git Bash through Windows application launching.
679
+
680
+ #### Installation Steps
681
+
682
+ Git Bash can execute Windows commands directly. Install Caprine using winget:
683
+
684
+ ```bash
685
+ winget.exe install --id Caprine.Caprine --silent --accept-package-agreements --accept-source-agreements
686
+ ```
687
+
688
+ After installation, close and reopen Git Bash for the Start Menu shortcuts to update.
689
+
690
+ #### Verification
691
+
692
+ Verify Caprine is installed by checking winget:
693
+
694
+ ```bash
695
+ winget.exe list --id Caprine.Caprine
696
+ ```
697
+
698
+ Launch Caprine from Git Bash:
699
+
700
+ ```bash
701
+ start "" "Caprine"
702
+ ```
703
+
704
+ Or open the web interface:
705
+
706
+ ```bash
707
+ start https://messenger.com
708
+ ```
709
+
710
+ #### Troubleshooting
711
+
712
+ **Problem**: `winget.exe: command not found`
713
+
714
+ **Solution**: winget may not be in the Git Bash PATH. Use the full path:
715
+
716
+ ```bash
717
+ /c/Users/$USER/AppData/Local/Microsoft/WindowsApps/winget.exe install --id Caprine.Caprine --silent --accept-package-agreements --accept-source-agreements
718
+ ```
719
+
720
+ **Problem**: `start: command not found`
721
+
722
+ **Solution**: In Git Bash, use `cmd.exe` to run Windows commands:
723
+
724
+ ```bash
725
+ cmd.exe /c start "" "Caprine"
726
+ ```
727
+
728
+ **Problem**: Installation fails with permission errors
729
+
730
+ **Solution**: Git Bash may need to be run as Administrator. Right-click Git Bash and select "Run as administrator", then retry the installation.
731
+
732
+ **Problem**: Caprine installed but cannot launch from Git Bash
733
+
734
+ **Solution**: Use the Windows `start` command through cmd:
735
+
736
+ ```bash
737
+ cmd.exe /c start "" "$LOCALAPPDATA/Programs/Caprine/Caprine.exe"
738
+ ```
739
+
740
+ Or simply access the web interface:
741
+
742
+ ```bash
743
+ cmd.exe /c start https://messenger.com
744
+ ```
745
+
746
+ ---
747
+
748
+ ## Post-Installation Configuration
749
+
750
+ ### First-Time Setup
751
+
752
+ After installing and launching Caprine on any platform:
753
+
754
+ 1. **Sign in** - Log in with your Facebook account credentials
755
+ 2. **Grant permissions** - Allow notifications when prompted for real-time message alerts
756
+ 3. **Configure privacy settings** - Caprine offers privacy features not available in the official app
757
+
758
+ ### Caprine Privacy Features
759
+
760
+ Caprine provides several privacy-enhancing features. Access them via the application menu:
761
+
762
+ | Feature | Description | Location |
763
+ |---------|-------------|----------|
764
+ | Block Seen Receipts | Prevent others from knowing you read messages | File/Caprine > Preferences |
765
+ | Block Typing Indicator | Hide when you are typing | File/Caprine > Preferences |
766
+ | Link Tracking Prevention | Remove Facebook tracking from links | Enabled by default |
767
+ | Dark Mode | Reduce eye strain and improve privacy in public | View menu or Ctrl/Cmd+D |
768
+
769
+ ### Keyboard Shortcuts
770
+
771
+ | Platform | Toggle Dark Mode | Hide on Close | Preferences |
772
+ |----------|-----------------|---------------|-------------|
773
+ | macOS | Cmd + D | Cmd + H | Cmd + , |
774
+ | Windows/Linux | Ctrl + D | Minimize to tray | Ctrl + , |
775
+
776
+ ### Configuring Notifications
777
+
778
+ To ensure you receive message notifications:
779
+
780
+ **Linux (Snap)**:
781
+ ```bash
782
+ snap connect caprine:desktop
783
+ snap connect caprine:desktop-legacy
784
+ ```
785
+
786
+ **Windows**:
787
+ Ensure notifications are enabled in Windows Settings > System > Notifications.
788
+
789
+ **macOS**:
790
+ Grant notification permissions in System Settings > Notifications > Caprine.
791
+
792
+ ---
793
+
794
+ ## Common Issues
795
+
796
+ ### Issue: Cannot Log In to Facebook
797
+
798
+ **Symptoms**: Login page shows error or loops endlessly.
799
+
800
+ **Solutions**:
801
+
802
+ 1. Clear application data:
803
+ - In Caprine, go to Help > Clear All Data
804
+ - Restart the application
805
+
806
+ 2. Check if Facebook requires additional verification:
807
+ - Log in via browser at https://facebook.com first
808
+ - Complete any security checks
809
+ - Then try Caprine again
810
+
811
+ 3. Check your network:
812
+ - Ensure you have internet connectivity
813
+ - Try disabling VPN if active
814
+
815
+ ### Issue: Messages Not Syncing
816
+
817
+ **Symptoms**: New messages do not appear or sent messages do not show.
818
+
819
+ **Solutions**:
820
+
821
+ 1. Refresh the connection:
822
+ - Press F5 or Cmd/Ctrl+R to reload
823
+
824
+ 2. Check Facebook Messenger status:
825
+ - Visit https://downdetector.com/status/facebook-messenger/
826
+ - If there are known outages, wait for resolution
827
+
828
+ 3. Sign out and sign back in within Caprine
829
+
830
+ ### Issue: High Memory Usage
831
+
832
+ **Symptoms**: Caprine consumes excessive system resources.
833
+
834
+ **Solutions**:
835
+
836
+ Caprine is built with Electron, which can consume significant memory. To reduce usage:
837
+
838
+ 1. Close and restart Caprine periodically
839
+ 2. Avoid leaving many conversations open
840
+ 3. Disable unnecessary features in Preferences
841
+
842
+ On Linux, check memory usage:
843
+
844
+ ```bash
845
+ ps aux | grep -i caprine
846
+ ```
847
+
848
+ ### Issue: No Notifications
849
+
850
+ **Symptoms**: Not receiving notifications for new messages.
851
+
852
+ **Solutions**:
853
+
854
+ 1. Verify notifications are enabled in Caprine preferences
855
+ 2. Check system notification settings
856
+ 3. On Linux, ensure the notification daemon is running:
857
+
858
+ ```bash
859
+ # For GNOME
860
+ systemctl --user status gsd-* | grep notif
861
+ ```
862
+
863
+ ### Issue: Dark Mode Not Working
864
+
865
+ **Symptoms**: Dark mode toggle has no effect.
866
+
867
+ **Solutions**:
868
+
869
+ 1. Press Ctrl+D (Windows/Linux) or Cmd+D (macOS) to toggle
870
+ 2. Go to View > Toggle Dark Mode
871
+ 3. If still not working, reset preferences:
872
+ - Help > Clear All Data
873
+ - Restart and reconfigure
874
+
875
+ ### Issue: "Messenger is Currently Unavailable" Error
876
+
877
+ **Symptoms**: Caprine shows an error that Messenger is unavailable.
878
+
879
+ **Solutions**:
880
+
881
+ 1. This usually indicates a Facebook/Meta service issue
882
+ 2. Wait and try again later
883
+ 3. Check https://downdetector.com/status/facebook-messenger/
884
+ 4. Try accessing https://messenger.com in a regular browser to confirm
885
+
886
+ ---
887
+
888
+ ## References
889
+
890
+ - [Caprine Official Website](https://sindresorhus.com/caprine/)
891
+ - [Caprine GitHub Repository](https://github.com/sindresorhus/caprine)
892
+ - [Caprine Releases (AppImage, DEB, RPM)](https://github.com/sindresorhus/caprine/releases)
893
+ - [Caprine Snap Package](https://snapcraft.io/caprine)
894
+ - [Caprine Chocolatey Package](https://community.chocolatey.org/packages/caprine)
895
+ - [Caprine winget Package](https://winget.run/pkg/Caprine/Caprine)
896
+ - [Pi-Apps for Raspberry Pi](https://pi-apps.io/)
897
+ - [Pi-Apps Caprine Installation](https://pi-apps.io/install-app/install-caprine-on-linux-arm-device/)
898
+ - [Messenger Homebrew Cask (Disabled)](https://formulae.brew.sh/cask/messenger)
899
+ - [Facebook Messenger Web](https://messenger.com)
900
+ - [Meta Messenger Official Page](https://www.messenger.com/)