@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,641 @@
1
+ # Installing Google Chrome Canary
2
+
3
+ ## Overview
4
+
5
+ Google Chrome Canary is the experimental, bleeding-edge version of the Chrome web browser. It receives nightly updates and contains the latest features, APIs, and experimental web technologies before they reach the stable Chrome release. Chrome Canary is designed for developers and early adopters who want to test upcoming browser features, experiment with new web APIs, and identify potential compatibility issues early in the development cycle.
6
+
7
+ **Important**: Chrome Canary is not intended for daily browsing. It may contain bugs, crash unexpectedly, and exhibit unstable behavior. Install it alongside your stable Chrome installation for testing purposes only.
8
+
9
+ ## Prerequisites
10
+
11
+ Before installing Chrome Canary on any platform, ensure:
12
+
13
+ 1. **Internet connectivity** - Required to download the installer
14
+ 2. **64-bit operating system** - Chrome Canary requires a 64-bit system on all supported platforms
15
+ 3. **Sufficient disk space** - Approximately 500 MB for installation
16
+ 4. **Administrative privileges** - Required on most platforms for system-wide installation
17
+
18
+ **Note**: Chrome Canary can run alongside Google Chrome stable. Both browsers maintain separate user profiles and do not interfere with each other.
19
+
20
+ ## Dependencies
21
+
22
+ ### macOS (Homebrew)
23
+ - **Required:**
24
+ - `Homebrew` - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
25
+ - **Optional:** None
26
+ - **Auto-installed:** None (Homebrew handles any system-level dependencies transparently)
27
+
28
+ ### Ubuntu (APT/Snap)
29
+ - **Required:**
30
+ - `wget` - Install via `sudo apt install wget` (usually pre-installed)
31
+ - `gnupg` - Install via `sudo apt install gnupg` (usually pre-installed)
32
+ - **Optional:** None
33
+ - **Auto-installed:** Chrome runtime dependencies (fonts, libraries, etc.) are automatically resolved by APT during installation
34
+
35
+ ### Raspberry Pi OS (APT/Snap)
36
+ - **Required:** None
37
+ - **Optional:** None
38
+ - **Auto-installed:** None
39
+ - **Note:** Installation not supported on this platform. Google does not provide ARM builds of Chrome Canary.
40
+
41
+ ### Amazon Linux (DNF/YUM)
42
+ - **Required:** None
43
+ - **Optional:** None
44
+ - **Auto-installed:** None
45
+ - **Note:** Installation not supported on this platform. Google does not provide RPM packages for Chrome Canary.
46
+
47
+ ### Windows (Chocolatey/winget)
48
+ - **Required:**
49
+ - `Chocolatey` - Install via PowerShell (Administrator): `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))`
50
+ - **Optional:** None
51
+ - **Auto-installed:** .NET Framework and other Windows runtime dependencies are handled automatically by Chocolatey
52
+
53
+ ### Git Bash (Manual/Portable)
54
+ - **Required:**
55
+ - `Chocolatey` - Uses Windows installation method (see Windows section above)
56
+ - **Optional:** None
57
+ - **Auto-installed:** Same as Windows platform
58
+
59
+ ## Platform-Specific Installation
60
+
61
+ ### macOS (Homebrew)
62
+
63
+ #### Prerequisites
64
+
65
+ - macOS 12 (Monterey) or later
66
+ - Homebrew package manager installed
67
+ - Terminal access
68
+
69
+ If Homebrew is not installed, install it first:
70
+
71
+ ```bash
72
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
73
+ ```
74
+
75
+ #### Installation Steps
76
+
77
+ Run the following command to install Chrome Canary:
78
+
79
+ ```bash
80
+ brew install --cask --quiet google-chrome@canary
81
+ ```
82
+
83
+ The `--quiet` flag suppresses non-essential output, making the command suitable for automation scripts. The `--cask` flag specifies that this is a macOS application (as opposed to a command-line tool).
84
+
85
+ #### Verification
86
+
87
+ Confirm the installation succeeded by launching Chrome Canary:
88
+
89
+ ```bash
90
+ open -a "Google Chrome Canary"
91
+ ```
92
+
93
+ Alternatively, verify the application exists:
94
+
95
+ ```bash
96
+ ls -la /Applications/Google\ Chrome\ Canary.app
97
+ ```
98
+
99
+ Expected output shows the application directory with its contents.
100
+
101
+ To check the installed version, run Chrome Canary and navigate to `chrome://version` in the address bar, or use:
102
+
103
+ ```bash
104
+ /Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --version
105
+ ```
106
+
107
+ #### Troubleshooting
108
+
109
+ **Problem**: `Error: Cask 'google-chrome@canary' is unavailable`
110
+
111
+ **Solution**: Update Homebrew to get the latest cask definitions:
112
+
113
+ ```bash
114
+ brew update
115
+ ```
116
+
117
+ **Problem**: Installation fails with "macOS version not supported"
118
+
119
+ **Solution**: Chrome Canary requires macOS 12 or later. Upgrade your operating system or use an older version of Chrome stable for older macOS versions.
120
+
121
+ **Problem**: `brew: command not found`
122
+
123
+ **Solution**: Homebrew is not in your PATH. Add it by running:
124
+
125
+ ```bash
126
+ eval "$(/opt/homebrew/bin/brew shellenv)"
127
+ ```
128
+
129
+ For permanent fix, add the above line to your `~/.zshrc` or `~/.bash_profile`.
130
+
131
+ **Problem**: Quarantine warning when first launching
132
+
133
+ **Solution**: macOS may quarantine downloaded applications. Remove the quarantine attribute:
134
+
135
+ ```bash
136
+ xattr -dr com.apple.quarantine /Applications/Google\ Chrome\ Canary.app
137
+ ```
138
+
139
+ ---
140
+
141
+ ### Ubuntu/Debian (APT)
142
+
143
+ #### Prerequisites
144
+
145
+ - Ubuntu 18.04 or later, or Debian 10 or later (64-bit only)
146
+ - x86_64 architecture (Intel/AMD processors)
147
+ - sudo privileges
148
+ - `wget` and `gnupg` packages installed
149
+
150
+ Chrome Canary is available through Google's official APT repository. This method provides automatic updates through the standard APT update mechanism.
151
+
152
+ #### Installation Steps
153
+
154
+ **Step 1**: Install required dependencies:
155
+
156
+ ```bash
157
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gnupg
158
+ ```
159
+
160
+ **Step 2**: Download and install Google's signing key:
161
+
162
+ ```bash
163
+ wget -qO - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /etc/apt/keyrings/google-chrome.gpg
164
+ ```
165
+
166
+ **Step 3**: Add the Google Chrome repository:
167
+
168
+ ```bash
169
+ echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list > /dev/null
170
+ ```
171
+
172
+ **Step 4**: Update the package list and install Chrome Canary:
173
+
174
+ ```bash
175
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y google-chrome-canary
176
+ ```
177
+
178
+ #### Verification
179
+
180
+ Confirm the installation succeeded:
181
+
182
+ ```bash
183
+ google-chrome-canary --version
184
+ ```
185
+
186
+ Expected output (version numbers may vary):
187
+
188
+ ```
189
+ Google Chrome 145.0.7614.0 canary
190
+ ```
191
+
192
+ To launch Chrome Canary:
193
+
194
+ ```bash
195
+ google-chrome-canary
196
+ ```
197
+
198
+ #### Troubleshooting
199
+
200
+ **Problem**: `E: Unable to locate package google-chrome-canary`
201
+
202
+ **Solution**: The repository may not have been added correctly. Verify the repository file exists:
203
+
204
+ ```bash
205
+ cat /etc/apt/sources.list.d/google-chrome.list
206
+ ```
207
+
208
+ If empty or missing, repeat Step 3 from the installation steps.
209
+
210
+ **Problem**: GPG key error during `apt-get update`
211
+
212
+ **Solution**: Re-download and install the signing key:
213
+
214
+ ```bash
215
+ sudo rm -f /etc/apt/keyrings/google-chrome.gpg
216
+ wget -qO - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /etc/apt/keyrings/google-chrome.gpg
217
+ ```
218
+
219
+ **Problem**: `dpkg: error processing package` with dependency issues
220
+
221
+ **Solution**: Fix broken dependencies:
222
+
223
+ ```bash
224
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -f -y
225
+ ```
226
+
227
+ **Problem**: Chrome Canary fails to launch with "no sandbox" error
228
+
229
+ **Solution**: Chrome requires a proper sandbox environment. If running in a container or VM without proper privileges, launch with:
230
+
231
+ ```bash
232
+ google-chrome-canary --no-sandbox
233
+ ```
234
+
235
+ **Warning**: Running without a sandbox reduces security and should only be done in isolated testing environments.
236
+
237
+ ---
238
+
239
+ ### Raspberry Pi OS (APT)
240
+
241
+ #### Platform Limitation
242
+
243
+ **Google Chrome Canary is NOT available for Raspberry Pi OS.**
244
+
245
+ Google does not provide ARM builds of Chrome Canary. The Chrome team only releases Canary builds for x86_64 (Intel/AMD) architectures on Linux. Raspberry Pi devices use ARM processors, which are incompatible with the available Chrome Canary packages.
246
+
247
+ #### Recommended Alternative
248
+
249
+ Use Chromium, the open-source project that Chrome is based on. Chromium is pre-installed on Raspberry Pi OS and provides similar functionality:
250
+
251
+ ```bash
252
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium-browser
253
+ ```
254
+
255
+ Verify installation:
256
+
257
+ ```bash
258
+ chromium-browser --version
259
+ ```
260
+
261
+ **Note**: Chromium does not have a "Canary" equivalent channel. The standard Chromium package tracks stable releases. For newer features, you can build Chromium from source, though this is time-consuming and resource-intensive on Raspberry Pi hardware.
262
+
263
+ #### Why This Limitation Exists
264
+
265
+ Google prioritizes Canary builds for platforms where most developers work (x86_64 desktops). ARM Linux devices represent a small fraction of the developer market, so Google has not allocated resources to produce and test ARM Canary builds. The unstable nature of Canary would also compound the challenges of supporting a less common architecture.
266
+
267
+ ---
268
+
269
+ ### Amazon Linux/RHEL (DNF/YUM)
270
+
271
+ #### Platform Limitation
272
+
273
+ **Google Chrome Canary is NOT available for Amazon Linux, RHEL, CentOS, or Fedora.**
274
+
275
+ Google does not release Chrome Canary packages for RPM-based Linux distributions. The Chrome Canary channel is only available for Debian/Ubuntu-based systems on Linux.
276
+
277
+ #### Recommended Alternative
278
+
279
+ Use the Chrome Unstable (Dev) channel, which is the closest available alternative. It receives updates approximately weekly and includes experimental features before they reach the Beta or Stable channels.
280
+
281
+ **For Amazon Linux 2023 / Fedora:**
282
+
283
+ **Step 1**: Enable the Google Chrome repository:
284
+
285
+ ```bash
286
+ sudo tee /etc/yum.repos.d/google-chrome.repo > /dev/null << 'EOF'
287
+ [google-chrome]
288
+ name=google-chrome
289
+ baseurl=https://dl.google.com/linux/chrome/rpm/stable/$basearch
290
+ enabled=1
291
+ gpgcheck=1
292
+ gpgkey=https://dl.google.com/linux/linux_signing_key.pub
293
+ EOF
294
+ ```
295
+
296
+ **Step 2**: Install Chrome Unstable (Dev channel):
297
+
298
+ ```bash
299
+ sudo dnf install -y google-chrome-unstable
300
+ ```
301
+
302
+ **For Amazon Linux 2 / CentOS 7:**
303
+
304
+ ```bash
305
+ sudo yum install -y google-chrome-unstable
306
+ ```
307
+
308
+ Verify installation:
309
+
310
+ ```bash
311
+ google-chrome-unstable --version
312
+ ```
313
+
314
+ #### Why This Limitation Exists
315
+
316
+ Google has historically focused Canary releases on platforms with the largest developer populations. The Debian/Ubuntu ecosystem dominates Linux desktop usage among developers, so Google prioritizes APT-based Canary packages. The Unstable (Dev) channel provides a similar "early access" experience with weekly updates.
317
+
318
+ ---
319
+
320
+ ### Windows (Chocolatey)
321
+
322
+ #### Prerequisites
323
+
324
+ - Windows 10 or Windows 11 (64-bit)
325
+ - Chocolatey package manager installed
326
+ - Administrator PowerShell or Command Prompt
327
+
328
+ If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
329
+
330
+ ```powershell
331
+ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
332
+ ```
333
+
334
+ #### Installation Steps
335
+
336
+ Run the following command in an Administrator PowerShell or Command Prompt:
337
+
338
+ ```powershell
339
+ choco install googlechromecanary -y --pre
340
+ ```
341
+
342
+ The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation. The `--pre` flag allows installation of prerelease packages (Chrome Canary is marked as prerelease in Chocolatey).
343
+
344
+ **Important Note**: The Chocolatey package always installs the latest version of Chrome Canary, regardless of any version specified. Google does not offer archived Canary builds for download.
345
+
346
+ #### Verification
347
+
348
+ Open a new Command Prompt or PowerShell window (required for PATH to update), then verify installation:
349
+
350
+ ```powershell
351
+ where "Google Chrome Canary"
352
+ ```
353
+
354
+ Or launch Chrome Canary directly:
355
+
356
+ ```powershell
357
+ Start-Process "chrome-canary"
358
+ ```
359
+
360
+ Chrome Canary installs to: `C:\Users\<username>\AppData\Local\Google\Chrome SxS\Application\chrome.exe`
361
+
362
+ #### Troubleshooting
363
+
364
+ **Problem**: `googlechromecanary not found` or package not available
365
+
366
+ **Solution**: Ensure you include the `--pre` flag, as Chrome Canary is marked as a prerelease package:
367
+
368
+ ```powershell
369
+ choco install googlechromecanary -y --pre
370
+ ```
371
+
372
+ **Problem**: Checksum mismatch error during installation
373
+
374
+ **Solution**: Google frequently updates Canary (daily), which can cause checksum mismatches. Ignore the checksum and install anyway:
375
+
376
+ ```powershell
377
+ choco install googlechromecanary -y --pre --ignore-checksums
378
+ ```
379
+
380
+ **Problem**: Installation fails with access denied
381
+
382
+ **Solution**: Ensure you are running PowerShell or Command Prompt as Administrator. Right-click and select "Run as administrator".
383
+
384
+ **Problem**: Chrome Canary not found after installation
385
+
386
+ **Solution**: Chrome Canary installs per-user, not system-wide. Check the user's local application data:
387
+
388
+ ```powershell
389
+ dir "$env:LOCALAPPDATA\Google\Chrome SxS\Application\chrome.exe"
390
+ ```
391
+
392
+ ---
393
+
394
+ ### WSL (Ubuntu)
395
+
396
+ #### Prerequisites
397
+
398
+ - Windows Subsystem for Linux with Ubuntu installed
399
+ - WSL 2 recommended for best performance
400
+ - sudo privileges within WSL
401
+ - X server or WSLg for GUI applications (Windows 11 includes WSLg by default)
402
+
403
+ WSL Ubuntu installations follow the same process as native Ubuntu, using Google's APT repository.
404
+
405
+ #### Installation Steps
406
+
407
+ **Step 1**: Install required dependencies:
408
+
409
+ ```bash
410
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gnupg
411
+ ```
412
+
413
+ **Step 2**: Download and install Google's signing key:
414
+
415
+ ```bash
416
+ wget -qO - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /etc/apt/keyrings/google-chrome.gpg
417
+ ```
418
+
419
+ **Step 3**: Add the Google Chrome repository:
420
+
421
+ ```bash
422
+ echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list > /dev/null
423
+ ```
424
+
425
+ **Step 4**: Update the package list and install Chrome Canary:
426
+
427
+ ```bash
428
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y google-chrome-canary
429
+ ```
430
+
431
+ #### Verification
432
+
433
+ Confirm the installation succeeded:
434
+
435
+ ```bash
436
+ google-chrome-canary --version
437
+ ```
438
+
439
+ To launch Chrome Canary with GUI (requires WSLg or X server):
440
+
441
+ ```bash
442
+ google-chrome-canary &
443
+ ```
444
+
445
+ #### Troubleshooting
446
+
447
+ **Problem**: Chrome Canary fails to launch with display errors
448
+
449
+ **Solution**: On Windows 11 with WSLg, ensure WSLg is enabled. On Windows 10, install and configure an X server like VcXsrv:
450
+
451
+ ```bash
452
+ export DISPLAY=:0
453
+ google-chrome-canary
454
+ ```
455
+
456
+ **Problem**: Chrome crashes immediately on launch in WSL
457
+
458
+ **Solution**: WSL may have issues with Chrome's sandbox. Launch with sandbox disabled (testing environments only):
459
+
460
+ ```bash
461
+ google-chrome-canary --no-sandbox --disable-gpu
462
+ ```
463
+
464
+ **Problem**: Slow performance or rendering issues
465
+
466
+ **Solution**: Disable GPU acceleration if running through X11 forwarding:
467
+
468
+ ```bash
469
+ google-chrome-canary --disable-gpu
470
+ ```
471
+
472
+ **Problem**: `E: Unable to locate package google-chrome-canary`
473
+
474
+ **Solution**: Follow the complete installation steps to set up the Google Chrome repository. The default Ubuntu repositories in WSL do not include Google Chrome packages.
475
+
476
+ ---
477
+
478
+ ### Git Bash (Windows Installation)
479
+
480
+ #### Prerequisites
481
+
482
+ - Windows 10 or Windows 11 (64-bit)
483
+ - Git Bash installed (comes with Git for Windows)
484
+ - Chrome Canary installed on Windows (see Windows section above)
485
+
486
+ **Note**: Git Bash on Windows does not require a separate Chrome Canary installation. Git Bash inherits the Windows PATH and can access Windows applications directly. Once Chrome Canary is installed on Windows, it is automatically available in Git Bash.
487
+
488
+ #### Installation Steps
489
+
490
+ Install Chrome Canary on Windows using the Windows installer. From Git Bash, you can trigger the installation using Chocolatey (if installed on Windows):
491
+
492
+ ```bash
493
+ /c/ProgramData/chocolatey/bin/choco.exe install googlechromecanary -y --pre
494
+ ```
495
+
496
+ Alternatively, download and run the official installer silently:
497
+
498
+ ```bash
499
+ # Download the installer
500
+ curl -L -o /tmp/ChromeCanarySetup.exe "https://dl.google.com/tag/s/appguid%3D%7B4EA16AC7-FD5A-47C3-875B-DBF4A2008C20%7D%26iid%3D%7B00000000-0000-0000-0000-000000000000%7D%26lang%3Den%26browser%3D4%26usagestats%3D0%26appname%3DChrome%2520Canary%26needsadmin%3Dprefers%26ap%3Dx64-canary-statsdef_0%26brand%3DGGLS/dl/chrome/install/ChromeSetup.exe"
501
+
502
+ # Run silent installation (opens Windows installer)
503
+ /tmp/ChromeCanarySetup.exe /silent /install
504
+ ```
505
+
506
+ After installation, close and reopen Git Bash for PATH changes to take effect.
507
+
508
+ #### Verification
509
+
510
+ Confirm Chrome Canary is accessible from Git Bash:
511
+
512
+ ```bash
513
+ "/c/Users/$USER/AppData/Local/Google/Chrome SxS/Application/chrome.exe" --version
514
+ ```
515
+
516
+ Or if Chrome Canary is in your PATH:
517
+
518
+ ```bash
519
+ chrome-canary --version
520
+ ```
521
+
522
+ #### Troubleshooting
523
+
524
+ **Problem**: Chrome Canary executable not found
525
+
526
+ **Solution**: Chrome Canary installs to the user's AppData directory. Access it directly:
527
+
528
+ ```bash
529
+ "/c/Users/$USER/AppData/Local/Google/Chrome SxS/Application/chrome.exe"
530
+ ```
531
+
532
+ Create an alias for convenience in `~/.bashrc`:
533
+
534
+ ```bash
535
+ alias chrome-canary='"/c/Users/$USER/AppData/Local/Google/Chrome SxS/Application/chrome.exe"'
536
+ ```
537
+
538
+ **Problem**: Chrome opens but Git Bash terminal hangs
539
+
540
+ **Solution**: Launch Chrome in the background:
541
+
542
+ ```bash
543
+ "/c/Users/$USER/AppData/Local/Google/Chrome SxS/Application/chrome.exe" &
544
+ ```
545
+
546
+ **Problem**: Cannot download installer with curl
547
+
548
+ **Solution**: Ensure curl is configured to follow redirects and use the Windows temp directory:
549
+
550
+ ```bash
551
+ curl -L -o "$TEMP/ChromeCanarySetup.exe" "https://www.google.com/chrome/canary/thank-you.html?installdataindex=empty&statcb=0&defaultbrowser=0"
552
+ ```
553
+
554
+ ---
555
+
556
+ ## Post-Installation Configuration
557
+
558
+ Chrome Canary runs with a separate user profile from Chrome stable. This allows you to test experimental features without affecting your primary browsing data.
559
+
560
+ ### Enable Experimental Features
561
+
562
+ Access Chrome's experimental flags:
563
+
564
+ 1. Open Chrome Canary
565
+ 2. Navigate to `chrome://flags` in the address bar
566
+ 3. Search for specific features or browse categories
567
+ 4. Enable desired experiments and relaunch
568
+
569
+ ### Command-Line Flags for Testing
570
+
571
+ Launch Chrome Canary with specific testing configurations:
572
+
573
+ ```bash
574
+ # Enable all experimental web platform features
575
+ google-chrome-canary --enable-experimental-web-platform-features
576
+
577
+ # Disable web security for local development (use with caution)
578
+ google-chrome-canary --disable-web-security --user-data-dir=/tmp/chrome-dev
579
+
580
+ # Enable verbose logging for debugging
581
+ google-chrome-canary --enable-logging --v=1
582
+ ```
583
+
584
+ ### Sync Settings (Optional)
585
+
586
+ Chrome Canary supports Google account sync, but consider keeping it disabled to maintain isolation between your stable and experimental browser environments.
587
+
588
+ ---
589
+
590
+ ## Common Issues
591
+
592
+ ### Issue: Chrome Canary Crashes Frequently
593
+
594
+ **Symptoms**: Browser crashes on startup or while browsing.
595
+
596
+ **Solution**: Chrome Canary is inherently unstable. If crashes are severe:
597
+
598
+ 1. Reset Chrome Canary by deleting its profile directory
599
+ 2. Disable recently enabled flags at `chrome://flags`
600
+ 3. Wait for the next nightly update, which may include a fix
601
+
602
+ Profile locations:
603
+ - **macOS**: `~/Library/Application Support/Google/Chrome Canary/`
604
+ - **Linux**: `~/.config/google-chrome-canary/`
605
+ - **Windows**: `%LOCALAPPDATA%\Google\Chrome SxS\User Data\`
606
+
607
+ ### Issue: Extensions Not Working
608
+
609
+ **Symptoms**: Certain extensions fail to load or function correctly.
610
+
611
+ **Solution**: Extensions may not be compatible with bleeding-edge Chrome APIs. Check the extension's compatibility or use Chrome stable for extensions requiring stability.
612
+
613
+ ### Issue: Website Rendering Incorrectly
614
+
615
+ **Symptoms**: Websites appear broken or differently than in stable Chrome.
616
+
617
+ **Solution**: This may indicate experimental rendering changes. Test the same site in Chrome stable to confirm it's a Canary-specific issue. Report bugs to the Chromium bug tracker.
618
+
619
+ ### Issue: Multiple Chrome Versions Conflict
620
+
621
+ **Symptoms**: Wrong version of Chrome opens, or unexpected behavior.
622
+
623
+ **Solution**: Chrome Canary installs separately from Chrome stable:
624
+ - **macOS**: "Google Chrome Canary.app" vs "Google Chrome.app"
625
+ - **Linux**: `google-chrome-canary` vs `google-chrome-stable`
626
+ - **Windows**: "Chrome SxS" directory vs "Chrome" directory
627
+
628
+ Ensure you launch the correct executable.
629
+
630
+ ---
631
+
632
+ ## References
633
+
634
+ - [Google Chrome Canary Official Page](https://www.google.com/chrome/canary/)
635
+ - [Homebrew Cask: google-chrome@canary](https://formulae.brew.sh/cask/google-chrome@canary)
636
+ - [Chocolatey Package: googlechromecanary](https://community.chocolatey.org/packages/googlechromecanary)
637
+ - [Winget Package: Google.Chrome.Canary](https://winget.run/pkg/Google/Chrome.Canary)
638
+ - [Google Chrome APT Repository (Ubuntu Updates)](https://www.ubuntuupdates.org/ppa/google_chrome)
639
+ - [Chromium Project](https://www.chromium.org/)
640
+ - [Chrome Release Channels](https://www.chromium.org/getting-involved/dev-channel/)
641
+ - [Chrome Flags Documentation](https://peter.sh/experiments/chromium-command-line-switches/)