diff --git a/.config/conky/conky-esp-config/battery_watchdog.sh b/.config/conky/conky-esp-config/battery_watchdog.sh
index 3ffca96..2473a78 100755
--- a/.config/conky/conky-esp-config/battery_watchdog.sh
+++ b/.config/conky/conky-esp-config/battery_watchdog.sh
@@ -1,9 +1,11 @@
#!/bin/bash
DIR="/home/ditrobotics/DIT-Scripts/.config/conky/conky-esp-config"
-pactl set-sink-volume @DEFAULT_SINK@ 60%
+pactl set-sink-volume @DEFAULT_SINK@ 95%
cd $DIR
sleep 1
+
+# Boot-up sound effect
ffplay -nodisp -autoexit welcome.mp3
while true; do
@@ -11,9 +13,13 @@ while true; do
if (( $(echo "$voltage < 17.5" | bc -l) )); then
if ! pgrep -x "ffplay" > /dev/null; then
- # ffplay -nodisp -autoexit mario_death.mp3 > /dev/null 2>&1 && ffplay -nodisp -autoexit warning_low_battery.mp3 > /dev/null 2>&1 &
+
+ # Broadcast shutdown message
wall < shutdown_message.txt
+ # Brocast low battery warning
ffplay -nodisp -autoexit warning_low_battery.mp3 > /dev/null 2>&1 &
+ # ffplay -nodisp -autoexit mario_death.mp3 > /dev/null 2>&1 && ffplay -nodisp -autoexit warning_low_battery.mp3 > /dev/null 2>&1 &
+
fi
fi
diff --git a/.config/conky/conky-esp-config/welcome.mp3 b/.config/conky/conky-esp-config/welcome.mp3
index 783534e..ccc8b60 100644
Binary files a/.config/conky/conky-esp-config/welcome.mp3 and b/.config/conky/conky-esp-config/welcome.mp3 differ
diff --git a/.config/conky/conky-esp-config/welcome_2024.mp3 b/.config/conky/conky-esp-config/welcome_2024.mp3
new file mode 100644
index 0000000..783534e
Binary files /dev/null and b/.config/conky/conky-esp-config/welcome_2024.mp3 differ
diff --git a/.config/conky/conky-esp-config/welcome_Paimon.mp3 b/.config/conky/conky-esp-config/welcome_Paimon.mp3
new file mode 100644
index 0000000..6b6707d
Binary files /dev/null and b/.config/conky/conky-esp-config/welcome_Paimon.mp3 differ
diff --git a/.config/conky/conky_entry.sh b/.config/conky/conky_entry.sh
index a391310..f6d8f8e 100755
--- a/.config/conky/conky_entry.sh
+++ b/.config/conky/conky_entry.sh
@@ -6,11 +6,12 @@ conky -c $DIR/conky-esp-config/.conky_esp32 &
$DIR/lean-conky-config/start-lcc.sh
$DIR/conky-esp-config/battery_watchdog.sh &
-# Web
-/home/ditrobotics/DIT-Scripts/web-ui/scripts/aio.sh &
-
-while ! nc -z localhost 5000; do
- sleep 0.1
-done
-
-firefox http://localhost:5000 http://${HOSTNAME}-esp.local &
+# # Run the Web Pannel essential scripts
+# /home/ditrobotics/DIT-Scripts/web-ui/scripts/aio.sh &
+# # Wait for the web server to start
+# while ! nc -z localhost 5000; do
+# sleep 0.1
+# done
+#
+# # Open Robot UI in Firefox
+# firefox http://localhost:5000 http://${HOSTNAME}-esp.local &
diff --git a/.mozilla/firefox/dit_config.default/prefs.js b/.mozilla/firefox/dit_config.default/prefs.js
index 7a64844..5609449 100644
--- a/.mozilla/firefox/dit_config.default/prefs.js
+++ b/.mozilla/firefox/dit_config.default/prefs.js
@@ -9,175 +9,155 @@
// - modify it via the UI (e.g. via about:config in the browser); or
// - set it within a user.js file in your profile.
-user_pref("accessibility.typeaheadfind.flashBar", 0);
user_pref("app.normandy.first_run", false);
user_pref("app.normandy.migrationsApplied", 12);
-user_pref("app.normandy.user_id", "55dcd2f0-7697-436d-b327-788e8d57fb81");
-user_pref("app.shield.optoutstudies.enabled", false);
-user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1706706897);
-user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1706706897);
-user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1706706897);
-user_pref("app.update.lastUpdateTime.region-update-timer", 1706706897);
-user_pref("app.update.lastUpdateTime.rs-experiment-loader-timer", 1700028119);
-user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1706706897);
-user_pref("app.update.lastUpdateTime.telemetry_modules_ping", 1699977847);
-user_pref("app.update.lastUpdateTime.xpi-signature-verification", 1706706897);
+user_pref("app.normandy.user_id", "ac565930-a2ec-419d-89d1-5c53801fa6ff");
+user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1736355006);
+user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1736355006);
+user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1736355006);
+user_pref("app.update.lastUpdateTime.region-update-timer", 1736355006);
+user_pref("app.update.lastUpdateTime.rs-experiment-loader-timer", 1736355254);
+user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1736355006);
+user_pref("app.update.lastUpdateTime.telemetry_modules_ping", 1736355036);
+user_pref("app.update.lastUpdateTime.xpi-signature-verification", 1736355006);
user_pref("browser.bookmarks.addedImportButton", true);
user_pref("browser.bookmarks.editDialog.confirmationHintShowCount", 1);
user_pref("browser.bookmarks.restore_default_bookmarks", false);
user_pref("browser.contentblocking.category", "standard");
-user_pref("browser.contextual-services.contextId", "{5f7d2fe4-dc47-4901-a6e2-17d56646e2ff}");
-user_pref("browser.download.panel.shown", true);
+user_pref("browser.contextual-services.contextId", "{4d735560-97d9-4035-a98d-293b7d28fac5}");
user_pref("browser.download.viewableInternally.typeWasRegistered.avif", true);
user_pref("browser.download.viewableInternally.typeWasRegistered.webp", true);
-user_pref("browser.laterrun.bookkeeping.profileCreationTime", 1699977724);
-user_pref("browser.laterrun.bookkeeping.sessionCount", 43);
-user_pref("browser.migration.version", 142);
-user_pref("browser.newtabpage.activity-stream.impressionId", "{6b932806-6d4d-4276-82d5-5aa5fc5dcdcf}");
+user_pref("browser.engagement.fxa-toolbar-menu-button.has-used", true);
+user_pref("browser.laterrun.bookkeeping.profileCreationTime", 1736354976);
+user_pref("browser.laterrun.bookkeeping.sessionCount", 1);
+user_pref("browser.laterrun.enabled", true);
+user_pref("browser.migration.version", 150);
+user_pref("browser.newtabpage.activity-stream.impressionId", "{ea808bbc-5938-49d7-9b39-a2126736b535}");
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
-user_pref("browser.newtabpage.blocked", "{\"T9nJot5PurhJSy8n038xGA==\":1,\"K00ILysCaEq8+bEqV/3nuw==\":1,\"gLv0ja2RYVgxKdp0I5qwvA==\":1,\"eV8/WsSLxHadrTL1gAxhug==\":1,\"4gPpjkxgZzXPVtuEoAL9Ig==\":1,\"26UbzFJ7qT9/4DhodHKA1Q==\":1,\"fG9tbw57oNsFaGdS9u+feA==\":1,\"MZLFHma4UPW6B7QBfAW3Ag==\":1}");
-user_pref("browser.newtabpage.pinned", "[{\"url\":\"https://localhost:9443\",\"label\":\"Portainer\"},{\"url\":\"https://speedtest.nthu.edu.tw/\",\"label\":\"SpeedTest\"}]");
+user_pref("browser.newtabpage.blocked", "{\"26UbzFJ7qT9/4DhodHKA1Q==\":1,\"4gPpjkxgZzXPVtuEoAL9Ig==\":1,\"eV8/WsSLxHadrTL1gAxhug==\":1,\"gLv0ja2RYVgxKdp0I5qwvA==\":1,\"T9nJot5PurhJSy8n038xGA==\":1}");
user_pref("browser.newtabpage.storageVersion", 1);
user_pref("browser.pageActions.persistedActions", "{\"ids\":[\"bookmark\"],\"idsInUrlbar\":[\"bookmark\"],\"idsInUrlbarPreProton\":[],\"version\":1}");
user_pref("browser.pagethumbnails.storage_version", 3);
user_pref("browser.privatebrowsing.autostart", true);
user_pref("browser.proton.toolbar.version", 3);
-user_pref("browser.region.update.updated", 1706706898);
-user_pref("browser.rights.3.shown", true);
-user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1706706869997");
-user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1706708673997");
-user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1706706870641");
-user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1706728470641");
+user_pref("browser.region.update.updated", 1736354976);
+user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1736355006624");
+user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1736356804624");
+user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1736354981502");
+user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1736376581502");
user_pref("browser.search.region", "TW");
-user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20231106223251");
-user_pref("browser.shell.mostRecentDateSetAsDefault", "1706706868");
-user_pref("browser.startup.couldRestoreSession.count", 2);
-user_pref("browser.startup.homepage_override.buildID", "20240125195458");
-user_pref("browser.startup.homepage_override.mstone", "122.0");
-user_pref("browser.startup.lastColdStartupCheck", 1706706868);
-user_pref("browser.toolbars.bookmarks.visibility", "never");
-user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\",\"reset-pbm-toolbar-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\"],\"currentVersion\":20,\"newElementCount\":2}");
+user_pref("browser.search.serpEventTelemetryCategorization.regionEnabled", false);
+user_pref("browser.search.totalSearches", 2);
+user_pref("browser.shell.checkDefaultBrowser", true);
+user_pref("browser.shell.mostRecentDateSetAsDefault", "1736355734");
+user_pref("browser.startup.couldRestoreSession.count", 1);
+user_pref("browser.startup.homepage_override.buildID", "20250106230035");
+user_pref("browser.startup.homepage_override.mstone", "134.0");
+user_pref("browser.startup.lastColdStartupCheck", 1736355734);
+user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"vertical-tabs\":[],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"vertical-tabs\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\"],\"currentVersion\":20,\"newElementCount\":2}");
user_pref("browser.urlbar.placeholderName", "Google");
user_pref("browser.urlbar.placeholderName.private", "Google");
user_pref("browser.urlbar.quicksuggest.migrationVersion", 2);
user_pref("browser.urlbar.quicksuggest.scenario", "history");
-user_pref("browser.urlbar.tipShownCount.searchTip_onboard", 4);
+user_pref("browser.urlbar.suggest.recentsearches", false);
+user_pref("datareporting.dau.cachedUsageProfileID", "beefbeef-beef-beef-beef-beeefbeefbee");
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionPolicyAcceptedVersion", 2);
-user_pref("datareporting.policy.dataSubmissionPolicyNotifiedTime", "1699977726319");
-user_pref("devtools.everOpened", true);
-user_pref("devtools.toolsidebar-height.inspector", 350);
-user_pref("devtools.toolsidebar-width.inspector", 700);
-user_pref("devtools.toolsidebar-width.inspector.splitsidebar", 350);
+user_pref("datareporting.policy.dataSubmissionPolicyNotifiedTime", "1736354977918");
user_pref("distribution.canonical-002.bookmarksProcessed", true);
-user_pref("distribution.iniFile.exists.appversion", "122.0");
+user_pref("distribution.iniFile.exists.appversion", "134.0");
user_pref("distribution.iniFile.exists.value", true);
user_pref("doh-rollout.doneFirstRun", true);
user_pref("doh-rollout.home-region", "TW");
-user_pref("dom.push.userAgentID", "3859e28995494cacaec3b3df425391ff");
+user_pref("dom.push.userAgentID", "1de31153587846f9ad3f9bce153659f4");
user_pref("extensions.activeThemeID", "default-theme@mozilla.org");
-user_pref("extensions.blocklist.pingCountVersion", -1);
-user_pref("extensions.databaseSchema", 35);
-user_pref("extensions.getAddons.cache.lastUpdate", 1706706898);
+user_pref("extensions.blocklist.pingCountVersion", 0);
+user_pref("extensions.databaseSchema", 37);
+user_pref("extensions.formautofill.creditCards.reauth.optout", "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECBhSdL+RzwAfBAgXglKc4Ixa/w==");
+user_pref("extensions.getAddons.cache.lastUpdate", 1736355006);
user_pref("extensions.getAddons.databaseSchema", 6);
user_pref("extensions.installedDistroAddon.langpack-en-US@firefox.mozilla.org", true);
-user_pref("extensions.lastAppBuildId", "20240125184458");
-user_pref("extensions.lastAppVersion", "122.0");
-user_pref("extensions.lastPlatformVersion", "122.0");
+user_pref("extensions.lastAppBuildId", "20250106230035");
+user_pref("extensions.lastAppVersion", "134.0");
+user_pref("extensions.lastPlatformVersion", "134.0");
user_pref("extensions.pendingOperations", false);
user_pref("extensions.pictureinpicture.enable_picture_in_picture_overrides", true);
user_pref("extensions.quarantinedDomains.list", "autoatendimento.bb.com.br,ibpf.sicredi.com.br,ibpj.sicredi.com.br,internetbanking.caixa.gov.br,www.ib12.bradesco.com.br,www2.bancobrasil.com.br");
user_pref("extensions.systemAddonSet", "{\"schema\":1,\"addons\":{}}");
+user_pref("extensions.ui.dictionary.hidden", true);
+user_pref("extensions.ui.lastCategory", "addons://discover/");
+user_pref("extensions.ui.locale.hidden", false);
+user_pref("extensions.ui.sitepermission.hidden", true);
user_pref("extensions.webcompat.enable_shims", true);
user_pref("extensions.webcompat.perform_injections", true);
user_pref("extensions.webcompat.perform_ua_overrides", true);
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org", true);
-user_pref("extensions.webextensions.uuids", "{\"formautofill@mozilla.org\":\"e537b90c-fb6b-4c3e-91e7-e96707edd784\",\"pictureinpicture@mozilla.org\":\"bf14b3df-3423-4c37-97a4-2947df3b2da8\",\"screenshots@mozilla.org\":\"263b4547-0300-4ff2-9a0a-c2d8ebef25bc\",\"webcompat-reporter@mozilla.org\":\"42d6dec0-505c-407c-819b-cf24d5f9c883\",\"webcompat@mozilla.org\":\"47baa629-cba6-4612-8fa0-072d38557aae\",\"default-theme@mozilla.org\":\"0cadd71f-b655-4c6d-8db1-95233cefbf64\",\"addons-search-detection@mozilla.com\":\"d199ede8-219f-4fca-8774-1525b87fdf0a\",\"google@search.mozilla.org\":\"15433adc-633c-4da9-ac8a-1e8cf4491083\",\"amazondotcom@search.mozilla.org\":\"a5bd2c44-7a64-4814-bbc3-e25d193aabc4\",\"wikipedia@search.mozilla.org\":\"43cf068f-c96e-4208-9de6-dff332021c96\",\"bing@search.mozilla.org\":\"898d6714-dc0d-4372-81c6-54106ad6bca3\",\"ddg@search.mozilla.org\":\"7c5661e2-f364-452c-84b5-2b1464434700\"}");
+user_pref("extensions.webextensions.uuids", "{\"formautofill@mozilla.org\":\"de60c220-2dab-4749-b9d0-bacce75f35bd\",\"pictureinpicture@mozilla.org\":\"da149b0a-01fe-4973-ab75-af8b65fe05a9\",\"screenshots@mozilla.org\":\"ae97e3d5-5b3d-4226-874f-78f4de01d573\",\"webcompat-reporter@mozilla.org\":\"52b26a64-b663-4440-ae9b-3efc600cd693\",\"webcompat@mozilla.org\":\"e2aad606-8730-4c8f-a503-b44457c61bfd\",\"default-theme@mozilla.org\":\"82c1ba0f-8305-4260-9f51-fc5193564243\",\"addons-search-detection@mozilla.com\":\"c67e7db1-a5b1-4ac1-9aa0-e742646da03c\"}");
user_pref("gecko.handlerService.defaultHandlersVersion", 1);
-user_pref("idle.lastDailyNotification", 1701268772);
user_pref("media.gmp-gmpopenh264.abi", "x86_64-gcc3");
user_pref("media.gmp-gmpopenh264.hashValue", "53a58bfb4c8124ad4f7655b99bfdea290033a085e0796b19245b33b91c0948fdac9f0c3e817130b352493a65d9a7a0fc8a7c1eedc618cdaa2b4580734a11cd9c");
-user_pref("media.gmp-gmpopenh264.lastDownload", 1699977756);
-user_pref("media.gmp-gmpopenh264.lastInstallStart", 1699977756);
-user_pref("media.gmp-gmpopenh264.lastUpdate", 1699977756);
+user_pref("media.gmp-gmpopenh264.lastDownload", 1736355007);
+user_pref("media.gmp-gmpopenh264.lastInstallStart", 1736355007);
+user_pref("media.gmp-gmpopenh264.lastUpdate", 1736355007);
user_pref("media.gmp-gmpopenh264.version", "2.3.2");
-user_pref("media.gmp-manager.buildID", "20240108223316");
-user_pref("media.gmp-manager.lastCheck", 1705765882);
-user_pref("media.gmp-manager.lastEmptyCheck", 1705765882);
user_pref("media.gmp.storage.version.observed", 1);
-user_pref("media.videocontrols.picture-in-picture.video-toggle.first-seen-secs", 1700027223);
-user_pref("media.videocontrols.picture-in-picture.video-toggle.has-used", true);
user_pref("pdfjs.enabledCache.state", true);
user_pref("pdfjs.migrationVersion", 2);
-user_pref("places.database.lastMaintenance", 1701268772);
-user_pref("pref.privacy.disable_button.cookie_exceptions", false);
-user_pref("privacy.clearOnShutdown.downloads", false);
-user_pref("privacy.clearOnShutdown.formdata", false);
-user_pref("privacy.clearOnShutdown.history", false);
-user_pref("privacy.clearOnShutdown.offlineApps", true);
-user_pref("privacy.clearOnShutdown.sessions", false);
-user_pref("privacy.cpd.offlineApps", true);
-user_pref("privacy.cpd.siteSettings", true);
-user_pref("privacy.history.custom", true);
-user_pref("privacy.purge_trackers.date_in_cookie_database", "0");
-user_pref("privacy.purge_trackers.last_purge", "1701268772215");
+user_pref("pref.general.disable_button.default_browser", false);
+user_pref("privacy.bounceTrackingProtection.hasMigratedUserActivationData", true);
+user_pref("privacy.clearHistory.siteSettings", true);
+user_pref("privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs2", true);
+user_pref("privacy.sanitize.cpd.hasMigratedToNewPrefs2", true);
user_pref("privacy.sanitize.pending", "[]");
-user_pref("privacy.sanitize.sanitizeOnShutdown", true);
-user_pref("privacy.sanitize.timeSpan", 0);
-user_pref("security.sandbox.content.tempDirSuffix", "5ad90924-bcd5-4dc1-ac6b-4d0b91168ef0");
-user_pref("services.settings.blocklists.addons-bloomfilters.last_check", 1706706896);
-user_pref("services.settings.blocklists.gfx.last_check", 1706706896);
-user_pref("services.settings.clock_skew_seconds", 1);
-user_pref("services.settings.last_etag", "\"1706695152746\"");
-user_pref("services.settings.last_update_seconds", 1706706896);
-user_pref("services.settings.main.addons-manager-settings.last_check", 1706706896);
-user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1706706896);
-user_pref("services.settings.main.cfr.last_check", 1706706896);
-user_pref("services.settings.main.cookie-banner-rules-list.last_check", 1706706896);
-user_pref("services.settings.main.devtools-compatibility-browsers.last_check", 1706706896);
-user_pref("services.settings.main.devtools-devices.last_check", 1706706896);
-user_pref("services.settings.main.doh-config.last_check", 1706706896);
-user_pref("services.settings.main.doh-providers.last_check", 1706706896);
-user_pref("services.settings.main.fingerprinting-protection-overrides.last_check", 1706706896);
-user_pref("services.settings.main.fxmonitor-breaches.last_check", 1706706896);
-user_pref("services.settings.main.hijack-blocklists.last_check", 1706706896);
-user_pref("services.settings.main.language-dictionaries.last_check", 1706706896);
-user_pref("services.settings.main.message-groups.last_check", 1706706896);
-user_pref("services.settings.main.nimbus-desktop-experiments.last_check", 1706706896);
-user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1706706896);
-user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1706706896);
-user_pref("services.settings.main.password-recipes.last_check", 1706706896);
-user_pref("services.settings.main.password-rules.last_check", 1706706896);
-user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1706706896);
-user_pref("services.settings.main.public-suffix-list.last_check", 1706706896);
-user_pref("services.settings.main.query-stripping.last_check", 1706706896);
-user_pref("services.settings.main.search-config-overrides.last_check", 1706706896);
-user_pref("services.settings.main.search-config-v2.last_check", 1706706896);
-user_pref("services.settings.main.search-config.last_check", 1706706896);
-user_pref("services.settings.main.search-default-override-allowlist.last_check", 1706706896);
-user_pref("services.settings.main.search-telemetry-v2.last_check", 1706706896);
-user_pref("services.settings.main.sites-classification.last_check", 1706706896);
-user_pref("services.settings.main.tippytop.last_check", 1706706896);
-user_pref("services.settings.main.top-sites.last_check", 1706706896);
-user_pref("services.settings.main.translations-identification-models.last_check", 1706706896);
-user_pref("services.settings.main.translations-models.last_check", 1706706896);
-user_pref("services.settings.main.translations-wasm.last_check", 1706706896);
-user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1706706896);
-user_pref("services.settings.main.websites-with-shared-credential-backends.last_check", 1706706896);
-user_pref("services.settings.main.whats-new-panel.last_check", 1706706896);
-user_pref("services.settings.security-state.cert-revocations.last_check", 1699977904);
-user_pref("services.settings.security-state.intermediates.last_check", 1699977904);
-user_pref("services.settings.security-state.onecrl.last_check", 1699977904);
+user_pref("services.settings.blocklists.addons-bloomfilters.last_check", 1736355006);
+user_pref("services.settings.blocklists.gfx.last_check", 1736355006);
+user_pref("services.settings.clock_skew_seconds", 0);
+user_pref("services.settings.last_etag", "\"1736347628397\"");
+user_pref("services.settings.last_update_seconds", 1736355006);
+user_pref("services.settings.main.addons-manager-settings.last_check", 1736355006);
+user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1736355006);
+user_pref("services.settings.main.cfr.last_check", 1736355006);
+user_pref("services.settings.main.cookie-banner-rules-list.last_check", 1736355006);
+user_pref("services.settings.main.devtools-compatibility-browsers.last_check", 1736355006);
+user_pref("services.settings.main.devtools-devices.last_check", 1736355006);
+user_pref("services.settings.main.doh-config.last_check", 1736355006);
+user_pref("services.settings.main.doh-providers.last_check", 1736355006);
+user_pref("services.settings.main.fingerprinting-protection-overrides.last_check", 1736355006);
+user_pref("services.settings.main.hijack-blocklists.last_check", 1736355006);
+user_pref("services.settings.main.language-dictionaries.last_check", 1736355006);
+user_pref("services.settings.main.message-groups.last_check", 1736355006);
+user_pref("services.settings.main.newtab-wallpapers-v2.last_check", 1736355006);
+user_pref("services.settings.main.nimbus-desktop-experiments.last_check", 1736355006);
+user_pref("services.settings.main.nimbus-secure-experiments.last_check", 1736355006);
+user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1736355006);
+user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1736355006);
+user_pref("services.settings.main.password-recipes.last_check", 1736355006);
+user_pref("services.settings.main.password-rules.last_check", 1736355006);
+user_pref("services.settings.main.query-stripping.last_check", 1736355006);
+user_pref("services.settings.main.search-categorization.last_check", 1736355006);
+user_pref("services.settings.main.search-config-icons.last_check", 1736355006);
+user_pref("services.settings.main.search-config-overrides-v2.last_check", 1736355006);
+user_pref("services.settings.main.search-config-v2.last_check", 1736355006);
+user_pref("services.settings.main.search-default-override-allowlist.last_check", 1736355006);
+user_pref("services.settings.main.search-telemetry-v2.last_check", 1736355006);
+user_pref("services.settings.main.sites-classification.last_check", 1736355006);
+user_pref("services.settings.main.top-sites.last_check", 1736355006);
+user_pref("services.settings.main.tracking-protection-lists.last_check", 1736355006);
+user_pref("services.settings.main.translations-models.last_check", 1736355006);
+user_pref("services.settings.main.translations-wasm.last_check", 1736355006);
+user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1736355006);
+user_pref("services.settings.main.url-parser-default-unknown-schemes-interventions.last_check", 1736355006);
+user_pref("services.settings.main.urlbar-persisted-search-terms.last_check", 1736355006);
+user_pref("services.settings.main.websites-with-shared-credential-backends.last_check", 1736355006);
user_pref("services.sync.clients.lastSync", "0");
user_pref("services.sync.declinedEngines", "");
user_pref("services.sync.globalScore", 0);
user_pref("services.sync.nextSync", 0);
-user_pref("storage.vacuum.last.content-prefs.sqlite", 1701268772);
-user_pref("storage.vacuum.last.index", 1);
-user_pref("storage.vacuum.last.places.sqlite", 1699978173);
-user_pref("toolkit.startup.last_success", 1706706865);
+user_pref("sidebar.backupState", "{\"width\":\"\",\"command\":\"\"}");
+user_pref("signon.management.page.os-auth.optout", "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECJSp9JdqOXIdBAhZActYtY4k6Q==");
+user_pref("toolkit.startup.last_success", 1736355733);
user_pref("toolkit.telemetry.cachedClientID", "c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0");
-user_pref("toolkit.telemetry.pioneer-new-studies-available", true);
-user_pref("toolkit.telemetry.previousBuildID", "20240125184458");
+user_pref("toolkit.telemetry.cachedProfileGroupID", "decafdec-afde-cafd-ecaf-decafdecafde");
+user_pref("toolkit.telemetry.previousBuildID", "20250106230035");
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
user_pref("trailhead.firstrun.didSeeAboutWelcome", true);
diff --git a/00-pre-installation.sh b/00-pre-installation.sh
index 91fd808..a553c72 100755
--- a/00-pre-installation.sh
+++ b/00-pre-installation.sh
@@ -57,12 +57,25 @@ install_dependencies() {
ffmpeg \
jq
+ # net-tools --- for network configuration
+ # iw --- for wireless network configuration
+ # lm-sensors --- for device temperature monitoring
+ # conky --- for system monitoring panel
+ # iperf3 --- for network performance testing
+ # timeshift --- for system snapshot and restore
+ # cheese --- for camera testing
+ # ffmpeg --- for audio and video processing (ex. boot-on sound)
+ # jq --- for JSON parsing
+
sleep 1
progress_bar $step $total_steps
((step++))
}
-remove_brltty() {
+# Fix for USB device detection issue
+# | Reference:
+# | https://askubuntu.com/questions/1403705/dev-ttyusb0-not-present-in-ubuntu-22-04
+remove_brltty() {
echo -e "\033[32mRemoving brltty...\033[0m"
apt remove -y brltty
@@ -72,6 +85,7 @@ remove_brltty() {
((step++))
}
+# Install Docker Engine
install_docker() {
echo -e "\033[32mInstalling Docker...\033[0m"
@@ -88,6 +102,7 @@ install_docker() {
((step++))
}
+# Setup Conky system monitoring panel
setup_conky() {
echo -e "\033[32mSetting up conky...\033[0m"
@@ -98,6 +113,7 @@ setup_conky() {
((step++))
}
+# Setup Message of the MOTD banner
setup_motd_banner() {
echo -e "\033[32mSetting up motd banner...\033[0m"
@@ -108,6 +124,7 @@ setup_motd_banner() {
((step++))
}
+# Setup DIT user group
create_user() {
echo -e "\033[32mCreate each group user and set their permission...\033[0m"
@@ -118,6 +135,7 @@ create_user() {
((step++))
}
+# Setup DIT logger (System change information for each group)
setup_dit_logger() {
echo -e "\033[32mSetting up DIT logger...\033[0m"
@@ -128,14 +146,15 @@ setup_dit_logger() {
((step++))
}
+# Setup touch screen orientation
flip_screen() {
echo -e "\033[32mSetting up touch screen HID layout...\033[0m"
- read -p "Would you like to rotate touch screen? (y/n): " answer
+ read -p "Would you like to rotate touch screen? (y/N): " answer
case $answer in
[Yy]* )
- echo 'ATTRS{name}=="wch.cn USB2IIC_CTP_CONTROL", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1.000 0.000 1.000 0.000 -1.000 1.000"' >> /etc/udev/rules.d/99-calibration.rules
+ echo 'ATTRS{name}=="wch.cn USB2IIC_CTP_CONTROL", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1.000 0.000 1.000 0.000 -1.000 1.000"' >> /etc/udev/rules.d/80-calibration.rules
udevadm control --reload-rules
udevadm trigger
service udev restart
@@ -150,6 +169,7 @@ flip_screen() {
((step++))
}
+# Restore firefox user preference
restore_firefox() {
echo -e "\033[32mRestoring firefox user preference...\033[0m"
diff --git a/10-conky_setup.sh b/10-conky_setup.sh
index f6263d2..70d9196 100755
--- a/10-conky_setup.sh
+++ b/10-conky_setup.sh
@@ -1,10 +1,16 @@
#!/bin/bash
+# Setup conky layout (including relative scripts)
echo "Copying conky config files to ~/.config/conky/"
cp -r .config/conky /home/ditrobotics/.config/
+
+# Setup autostart script for conky_entry.sh
echo "Copying autostart config files to ~/.config/autostart/"
cp -r .config/autostart /home/ditrobotics/.config/
+
+# Setup udev rules for USB devices (e.g. esp32|stm32|imu|lidar|vive|touchscreen|...)
echo "Copying udev rules files to /etc/udev/rules.d/"
cp -r udev/. /etc/udev/rules.d/.
+# Reload udev rules
udevadm control --reload-rules && udevadm trigger
diff --git a/10-motd_setup.sh b/10-motd_setup.sh
index 4ef7293..7b0e7c8 100755
--- a/10-motd_setup.sh
+++ b/10-motd_setup.sh
@@ -9,6 +9,7 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
+# Copy the motd message file
echo "Copying motd config to $FilePATH"
cp "$FileNAME" "$FilePATH"
diff --git a/10-user_setup.sh b/10-user_setup.sh
index a035826..1f0bc40 100755
--- a/10-user_setup.sh
+++ b/10-user_setup.sh
@@ -6,6 +6,7 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
+# DIT software group list
usernames=("main" "vision" "navigation" "localization")
for username in "${usernames[@]}"
diff --git a/99-dit-news b/99-dit-news
index 25319fd..1f720c1 100755
--- a/99-dit-news
+++ b/99-dit-news
@@ -8,7 +8,7 @@ MOTD=" ____ __________ ____ __ __ _
/ /_/ // / / / / _, _/ /_/ / /_/ / /_/ / /_/ / /__(__ )
/_____/___/ /_/ /_/ |_|\____/_.___/\____/\__/_/\___/____/
- $HOSTNAME Intel® Core™ i3-N300 MediaTek MT7922
+ $HOSTNAME AMD Ryzen™ 7 8840U Intel® AX210 160MHz
"
echo "$MOTD"
diff --git a/LICENSE b/LICENSE
index d3ea32e..0e4f988 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 SeanChangX
+Copyright (c) 2025 SeanChangX
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 56d10cf..82e14fa 100644
--- a/README.md
+++ b/README.md
@@ -14,11 +14,42 @@
This repository contains the environment deployment scripts for the DIT upper-level system, designed primarily for `Ubuntu Desktop 22.04 LTS`. It includes the installation of dependencies, deployment of the Docker environment, setup of the system status dashboard, configuration of the User Group permission framework for DIT's internal teams, and installation of `DIT-Logger`.
+## Prerequisites for Running This Script
+
+Before running this script, ensure your Ubuntu system is properly configured and the necessary programs are installed.
+
+### A. Update System & Install Essential Programs (On Local Machine)
+
+>Run the following commands:
+>```bash
+>sudo apt update
+>sudo apt dist-upgrade -y
+>sudo apt install openssh-server git
+>sudo apt autoremove
+>sudo apt autoclean
+>sudo apt clean
+>```
+
+### B. Modify Wi-Fi Configuration to Resolve Connection Issues (Learn from 2024)
+
+>1. Open the Wi-Fi configuration file
+>```bash
+>sudo vim /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
+>```
+>2. Update the content as follows:
+>```bash
+>[connection]
+>wifi.powersave = 2
+>```
+>~~wifi.powersave = 3~~
+>
+>Refer to the [Framework Knowledge Base](https://knowledgebase.frame.work/zh_tw/ubuntu-wi-fi-Skmizxznj) for more information.
+
## Usage
To install the DIT-Scripts, clone the repository to your local machine and run the `./00-pre-installation` script.
-> **Attention**: Run the script on **desktop terminal** is recommended. After the script is executed, the system will reboot and the installation will be completed.
+> **⚠️ Attention**: Run the script on **desktop terminal** is recommended. After the script is executed, the system will reboot and the installation will be completed.
## Issues
diff --git a/dit/DIT_Circuit.jpg b/dit/DIT_Circuit.jpg
new file mode 100644
index 0000000..b41139a
Binary files /dev/null and b/dit/DIT_Circuit.jpg differ
diff --git a/dit/DIT_Tech.jpg b/dit/DIT_Tech.jpg
new file mode 100644
index 0000000..a389139
Binary files /dev/null and b/dit/DIT_Tech.jpg differ
diff --git a/udev/80-calibration.rules b/udev/80-calibration.rules
deleted file mode 100644
index f8ea16e..0000000
--- a/udev/80-calibration.rules
+++ /dev/null
@@ -1 +0,0 @@
-ATTRS{name}=="wch.cn USB2IIC_CTP_CONTROL", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1.000 0.000 1.000 0.000 -1.000 1.000"