Showing posts with label firefox. Show all posts
Showing posts with label firefox. Show all posts

Tuesday, 9 June 2026

Web Ui modem Huawei Reloading terus

 

Kalau Firefox normal terus reload (loading berputar terus) tetapi Firefox Private Mode bisa membuka 192.168.8.1 dengan normal, hampir pasti masalahnya bukan di modem E3276s, melainkan di browser.

Penyebab yang paling sering:

1. Cache WebUI Huawei rusak

Firefox menyimpan JavaScript dan file CSS lama dari WebUI Huawei.

Coba:

  1. Buka:

    about:preferences#privacy
    
  2. Cari Cookies and Site Data

  3. Klik Manage Data

  4. Cari:

    192.168.8.1
    
  5. Hapus data situs tersebut.

Atau lebih cepat:

  • Tekan Ctrl+Shift+Delete

  • Pilih Cached Web Content

  • Clear.


2. Service Worker atau Local Storage bermasalah

WebUI Huawei suka menyimpan data lokal yang membuat halaman looping.

Tekan:

F12

→ Storage

→ Hapus:

  • Local Storage

  • Session Storage

  • IndexedDB

untuk 192.168.8.1


3. Add-on Firefox

Karena Private Mode biasanya menonaktifkan sebagian add-on.

Coba:

about:addons

sementara nonaktifkan:

  • uBlock Origin

  • Privacy Badger

  • NoScript

  • AdGuard

  • Cookie AutoDelete

Lalu buka lagi 192.168.8.1.


4. DNS over HTTPS Firefox

Kadang Firefox mencoba melakukan hal aneh pada alamat lokal.

Buka:

about:preferences#general

Network Settings → Settings

Matikan:

Enable DNS over HTTPS

5. Refresh Firefox

Jika hanya WebUI Huawei yang bermasalah:

Buka:

Ctrl+Shift+R

(Hard Reload)

atau

Ctrl+F5

Tes cepat

Di Firefox normal, buka:

http://192.168.8.1/api/device/information

atau

http://192.168.8.1/html/home.html

Jika tetap looping tetapi Private Mode lancar, kemungkinan cache/cookie WebUI Huawei yang korup.

Karena tadi Guru sempat mengubah band dan modem menggunakan WebUI modifikasi (ada tombol WatchCat), saya paling curiga cache JavaScript WebUI lama tersimpan di Firefox.

Coba hapus data situs khusus 192.168.8.1 dulu, tidak perlu menghapus cache seluruh Firefox. Biasanya langsung normal kembali.

Wednesday, 17 December 2025

Script code firefly_autodownload_firefox_blob_final.js

 const { firefox } = require('playwright');
const fs = require('fs');
const fsp = fs.promises;
const path = require('path');

const PROMPT_FILE = 'prompts.txt';
const USER_DATA_DIR = path.join(__dirname, 'firefox-profile');
const DOWNLOAD_DIR = path.join(__dirname, 'downloads');

const IMAGES_PER_PROMPT = 1;
const MAX_WAIT = 45000; // maksimal tunggu per prompt (ms)
const POLL_INTERVAL = 1000; // cek tiap 1 detik

const savedBlobs = new Set();

(async () => {
  // === Persiapan folder ===
  if (!fs.existsSync(DOWNLOAD_DIR)) fs.mkdirSync(DOWNLOAD_DIR);

  // === Launch Firefox persistent ===
  const context = await firefox.launchPersistentContext(USER_DATA_DIR, {
    headless: false
  });

  const page = context.pages()[0] || await context.newPage();

  await page.goto('https://firefly.adobe.com/generate/image', {
    waitUntil: 'domcontentloaded'
  });

  console.log('👉 Login Adobe Firefly MANUAL');
  console.log('👉 Atur Model & Aspect Ratio');
  console.log('👉 Tekan ENTER di terminal');
  await new Promise(r => process.stdin.once('data', r));

  // === Prompt box ===
  const promptBox = page.locator('textarea[aria-label="Prompt"]');
  await promptBox.waitFor({ state: 'visible', timeout: 60000 });

  // === Load prompts ===
  const prompts = fs.readFileSync(PROMPT_FILE, 'utf-8')
    .split(/\r?\n/)
    .map(l => l.trim())
    .filter(Boolean);

  console.log(`🔥 Total prompt: ${prompts.length}`);

  // === Loop prompt ===
  for (let i = 0; i < prompts.length; i++) {
    console.log(`\n▶ Prompt ${i + 1}/${prompts.length}`);
    console.log('⏳ Generating...');

    await promptBox.fill('');
    await promptBox.fill(prompts[i]);
    await page.keyboard.press('Enter');

    // ===== POLLING MANUAL (ANTI TIMEOUT) =====
    const start = Date.now();
    let foundNewBlob = false;

    while (Date.now() - start < MAX_WAIT) {
      const blobs = await page.$$eval(
        'img[src^="blob:"]',
        imgs => imgs.map(img => img.src)
      );

      for (const blob of blobs) {
        if (!savedBlobs.has(blob)) {
          foundNewBlob = true;
          break;
        }
      }

      if (foundNewBlob) break;
      await page.waitForTimeout(POLL_INTERVAL);
    }

    if (!foundNewBlob) {
      console.log('⚠️ Tidak ditemukan blob baru, skip prompt ini');
      continue;
    }

    // ===== DOWNLOAD BLOBS TERBARU =====
    const images = page.locator('img[src^="blob:"]');
    const total = await images.count();

    let saved = 0;

    // scan dari belakang (gambar terbaru)
    for (let j = total - 1; j >= 0 && saved < IMAGES_PER_PROMPT; j--) {
      const img = images.nth(j);
      const blobUrl = await img.getAttribute('src');
      if (!blobUrl || savedBlobs.has(blobUrl)) continue;

      const buffer = await page.evaluate(async (url) => {
        const res = await fetch(url);
        const blob = await res.blob();
        return new Uint8Array(await blob.arrayBuffer());
      }, blobUrl);

      savedBlobs.add(blobUrl);
      saved++;

      const safePrompt = prompts[i]
        .slice(0, 40)
        .replace(/[^a-z0-9]+/gi, '_')
        .toLowerCase();

      const filename = `firefly_${i + 1}_${safePrompt}.png`;
      await fsp.writeFile(
        path.join(DOWNLOAD_DIR, filename),
        Buffer.from(buffer)
      );

      console.log(`✅ Saved: ${filename}`);
    }

    await page.waitForTimeout(1000);
  }

  console.log('\n🎉 SEMUA PROMPT SELESAI');
})();

Workflow script autogenerate autodownload firefly_autodownload_firefox_blob_final.js

 

Ya 👍 BETUL SEKALI — dan susunannya sudah rapi & benar.
Saya ringkaskan ulang langkah demi langkah (versi final & clean) supaya bisa kamu jadikan catatan permanen.


✅ LANGKAH DEMI LANGKAH (FINAL WORKFLOW)


1️⃣ Install Playwright + Firefox

Dijalankan sekali saja:

npm install playwright
npx playwright install firefox

✔️ Mengunduh Firefox versi Playwright
✔️ Dipakai otomatis oleh script
✔️ Tidak mengganggu Firefox sistem


2️⃣ Struktur folder (SESUAI GAMBAR KAMU ✅)

fire-playwright/
├── downloads/                      ← hasil image tersimpan
├── firefox-profile/                ← profile login Firefly (persistent)
├── node_modules/
├── firefly_autodownload_firefox_blob_final.js
├── prompts.txt                     ← daftar prompt (1 baris = 1 prompt)
├── package.json
└── package-lock.json

📌 Ini struktur ideal & recommended


3️⃣ Isi prompts.txt

Contoh:

faceless child astronaut holding a flag, line art, coloring book style
faceless child baker baking bread in a kitchen, line art, coloring book
faceless child doctor checking a patient, line art illustration

📌 Satu baris = satu prompt
📌 Tidak perlu tanda kutip


4️⃣ Jalankan script

node firefly_autodownload_firefox_blob_final.js

Lalu:

  1. Firefox terbuka (1 window saja ✅)

  2. Login Adobe Firefly manual

  3. Atur:

    • Model

    • Aspect ratio

  4. Kembali ke terminal → tekan ENTER

  5. Biarkan script bekerja


5️⃣ Hasil akhir

  • Image muncul di folder downloads/

  • Nama file otomatis dari prompt

  • Tidak dobel

  • Tidak replace

  • Aman sampai ratusan prompt


🧠 KENAPA STRUKTUR INI BENAR?

KomponenFungsi
firefox-profile/Simpan login & setting Firefly
downloads/Output aman (bukan blob)
savedBlobs Set()Cegah duplikat
before/after countIsolasi hasil per prompt
Firefox PlaywrightLebih stabil untuk blob

⚠️ HAL YANG TIDAK PERLU LAGI

❌ Chrome
❌ acceptDownloads
❌ klik tombol Download
❌ rename manual file
❌ copy-paste blob


🏁 KESIMPULAN

✔️ Langkah kamu 100% benar
✔️ Struktur folder ideal
✔️ Workflow sudah matang
✔️ Siap dipakai rutin / skala besar


Ya 👍 BENAR — dari sisi file yang kamu BUAT manual, hanya dua itu.


✅ FILE YANG KAMU BUAT SENDIRI

1️⃣ Script utama

firefly_autodownload_firefox_blob_final.js

✔️ Ini inti semuanya
✔️ Berisi seluruh logic automation
✔️ Tidak perlu file JS lain


2️⃣ Daftar prompt

prompts.txt

✔️ 1 baris = 1 prompt
✔️ Bisa diedit kapan saja
✔️ Bisa ganti, tambah, kurangi tanpa ubah script


📁 FILE / FOLDER LAIN → DIBUAT OTOMATIS

ItemDibuat olehKeterangan
node_modules/npmLibrary Playwright
package.jsonnpmMetadata project
package-lock.jsonnpmLock dependency
firefox-profile/ScriptSimpan login Firefly
downloads/ScriptHasil image

👉 Tidak perlu kamu sentuh


🧠 RINGKASAN SUPER SINGKAT

  • ✍️ Kamu hanya bikin 2 file

  • ⚙️ Sisanya otomatis

  • 🔁 Ganti prompt → tinggal edit prompts.txt

  • ▶️ Jalankan ulang script


💡 Tips kecil (best practice)

  • Backup firefox-profile/ → supaya login aman

  • Jangan hapus downloads/ saat script jalan

  • Kalau ganti akun Adobe → hapus firefox-profile/ lalu login ulang



Tuesday, 5 September 2023

Install Firefox bukan snap

 $ snap disable firefox
firefox disabled
dhwan@dhwan-A514-51K-31XM:~$ snap remove --purge firefox
error: cannot perform the following tasks:
- Remove data for snap "firefox" (3068) (unlinkat /var/snap/firefox/common/host-hunspell/en_US.dic: read-only file system)
dhwan@dhwan-A514-51K-31XM:~$ snap list
Name                       Version           Rev    Tracking         Publisher   Notes
bare                       1.0               5      latest/stable    canonical✓  base
core20                     20230801          2015   latest/stable    canonical✓  base
core22                     20230801          864    latest/stable    canonical✓  base
firefox                    117.0-2           3068   latest/stable/…  mozilla✓    disabled
gnome-3-38-2004            0+git.efb213a     143    latest/stable/…  canonical✓  -
gnome-42-2204              0+git.ff35a85     126    latest/stable    canonical✓  -
gtk-common-themes          0.1-81-g442e511   1535   latest/stable/…  canonical✓  -
snap-store                 41.3-71-g709398e  959    latest/stable    canonical✓  -
snapd                      2.60.3            20092  latest/stable    canonical✓  snapd
snapd-desktop-integration  0.9               83     latest/stable/…  canonical✓  -
dhwan@dhwan-A514-51K-31XM:~$ snap remove --purge firefox
error: cannot perform the following tasks:
- Remove data for snap "firefox" (3068) (unlinkat /var/snap/firefox/common/host-hunspell/en_US.dic: read-only file system)
dhwan@dhwan-A514-51K-31XM:~$ sudo umount /var/snap/firefox/common/host-hunspell
[sudo] password for dhwan:
dhwan@dhwan-A514-51K-31XM:~$ sudo snap remove firefox
firefox removed
dhwan@dhwan-A514-51K-31XM:~$ sudo snap remove --purge firefox
snap "firefox" is not installed
dhwan@dhwan-A514-51K-31XM:~$ snap list
Name                       Version           Rev    Tracking         Publisher   Notes
bare                       1.0               5      latest/stable    canonical✓  base
core20                     20230801          2015   latest/stable    canonical✓  base
core22                     20230801          864    latest/stable    canonical✓  base
gnome-3-38-2004            0+git.efb213a     143    latest/stable/…  canonical✓  -
gnome-42-2204              0+git.ff35a85     126    latest/stable    canonical✓  -
gtk-common-themes          0.1-81-g442e511   1535   latest/stable/…  canonical✓  -
snap-store                 41.3-71-g709398e  959    latest/stable    canonical✓  -
snapd                      2.60.3            20092  latest/stable    canonical✓  snapd
snapd-desktop-integration  0.9               83     latest/stable/…  canonical✓  -
dhwan@dhwan-A514-51K-31XM:~$ sudo apt install firefox
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
firefox is already the newest version (1:1snap1-0ubuntu2).
firefox set to manually installed.
The following packages were automatically installed and are no longer required:
  exo-utils libexo-2-0 libexo-common libgarcon-1-0 libgarcon-common
  libgarcon-gtk3-1-0 libxfce4panel-2.0-4 libxfce4ui-2-0 libxfce4ui-common
  libxfce4util-bin libxfce4util-common libxfce4util7 libxfconf-0-3 xfconf
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
dhwan@dhwan-A514-51K-31XM:~$ sudo snap remove firefox
snap "firefox" is not installed
dhwan@dhwan-A514-51K-31XM:~$ sudo snap remove firefox
snap "firefox" is not installed
dhwan@dhwan-A514-51K-31XM:~$ sudo apt install firefox
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
firefox is already the newest version (1:1snap1-0ubuntu2).
The following packages were automatically installed and are no longer required:
  exo-utils libexo-2-0 libexo-common libgarcon-1-0 libgarcon-common
  libgarcon-gtk3-1-0 libxfce4panel-2.0-4 libxfce4ui-2-0 libxfce4ui-common
  libxfce4util-bin libxfce4util-common libxfce4util7 libxfconf-0-3 xfconf
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
dhwan@dhwan-A514-51K-31XM:~$  sudo add-apt-repository ppa:mozillateam/ppa
PPA publishes dbgsym, you may need to include 'main/debug' component
Repository: 'deb https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/ jammy main'
Description:
Mozilla Team's Firefox stable + 115 ESR and Thunderbird 102 stable builds

Support for Ubuntu 16.04 / 18.04 ESM is included.
More info: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
Adding key to /etc/apt/trusted.gpg.d/mozillateam-ubuntu-ppa.gpg with fingerprint 0AB215679C571D1C8325275B9BDB3D89CE49EC21
Hit:1 https://dl.google.com/linux/chrome/deb stable InRelease                  
Hit:2 https://packages.microsoft.com/repos/edge stable InRelease               
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]      
Hit:4 https://ppa.launchpadcontent.net/inkscape.dev/stable/ubuntu jammy InRelease
Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [743 kB]
Get:6 http://security.ubuntu.com/ubuntu jammy-security/main i386 Packages [318 kB]
Hit:7 https://ppa.launchpadcontent.net/kdenlive/kdenlive-stable/ubuntu jammy InRelease
Get:8 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [162 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [43,0 kB]
Get:10 http://security.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [11,2 kB]
Get:11 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [793 kB]
Get:12 http://security.ubuntu.com/ubuntu jammy-security/restricted Translation-en [128 kB]
Get:13 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [779 kB]
Get:14 http://security.ubuntu.com/ubuntu jammy-security/universe i386 Packages [557 kB]
Get:15 http://security.ubuntu.com/ubuntu jammy-security/universe Translation-en [142 kB]
Get:16 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy InRelease [23,8 kB]
Get:17 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [40,0 kB]
Get:18 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [16,7 kB]
Get:19 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main amd64 Packages [34,1 kB]
Get:20 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main i386 Packages [2.200 B]
Get:21 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main Translation-en [7.144 B]
Hit:22 http://id.archive.ubuntu.com/ubuntu jammy InRelease                     
Get:23 http://id.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Ign:23 http://id.archive.ubuntu.com/ubuntu jammy-updates InRelease             
Get:24 http://id.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
0% [Working]^CTraceback (most recent call last):                               
  File "/usr/bin/add-apt-repository", line 364, in <module>
    sys.exit(0 if addaptrepo.main() else 1)
  File "/usr/bin/add-apt-repository", line 359, in main
    self.apt_update()
  File "/usr/bin/add-apt-repository", line 124, in apt_update
    subprocess.run(['apt-get', 'update'])
  File "/usr/lib/python3.10/subprocess.py", line 505, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/usr/lib/python3.10/subprocess.py", line 1146, in communicate
    self.wait()
  File "/usr/lib/python3.10/subprocess.py", line 1209, in wait
    return self._wait(timeout=timeout)
  File "/usr/lib/python3.10/subprocess.py", line 1959, in _wait
    (pid, sts) = self._try_wait(0)
  File "/usr/lib/python3.10/subprocess.py", line 1917, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
KeyboardInterrupt

dhwan@dhwan-A514-51K-31XM:~$ sudo apt update
Hit:1 https://dl.google.com/linux/chrome/deb stable InRelease                  
Hit:2 https://packages.microsoft.com/repos/edge stable InRelease               
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]      
Hit:4 http://id.archive.ubuntu.com/ubuntu jammy InRelease                      
Hit:5 https://ppa.launchpadcontent.net/inkscape.dev/stable/ubuntu jammy InRelease
Get:6 http://id.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]     
Get:7 http://security.ubuntu.com/ubuntu jammy-security/main i386 Packages [318 kB]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [743 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [162 kB]
Get:10 http://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [43,0 kB]
Get:11 http://security.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [11,2 kB]
Get:12 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [793 kB]
Get:13 http://security.ubuntu.com/ubuntu jammy-security/restricted Translation-en [128 kB]
Get:14 http://security.ubuntu.com/ubuntu jammy-security/universe i386 Packages [557 kB]
Get:15 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [779 kB]
Get:16 http://security.ubuntu.com/ubuntu jammy-security/universe Translation-en [142 kB]
Get:17 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [40,0 kB]
Get:18 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [16,7 kB]
Get:19 http://id.archive.ubuntu.com/ubuntu jammy-updates/main i386 Packages [483 kB]
Hit:20 https://ppa.launchpadcontent.net/kdenlive/kdenlive-stable/ubuntu jammy InRelease
Get:21 http://id.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [960 kB]
Get:22 http://id.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [221 kB]
Get:23 http://id.archive.ubuntu.com/ubuntu jammy-updates/main amd64 DEP-11 Metadata [101 kB]
Get:24 http://id.archive.ubuntu.com/ubuntu jammy-updates/main amd64 c-n-f Metadata [15,6 kB]
Get:25 http://id.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [824 kB]
Get:26 http://id.archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [133 kB]
Get:27 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe i386 Packages [653 kB]
Get:28 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [977 kB]
Get:29 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy InRelease [23,8 kB]
Get:30 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main i386 Packages [2.200 B]
Get:31 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main amd64 Packages [34,1 kB]
Get:32 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main Translation-en [7.144 B]
Get:33 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [213 kB]
Get:34 http://id.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]  
Get:35 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 DEP-11 Metadata [289 kB]
Get:36 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 c-n-f Metadata [21,8 kB]
Get:37 http://id.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]
Get:38 http://id.archive.ubuntu.com/ubuntu jammy-backports/main amd64 DEP-11 Metadata [4.904 B]
Get:39 http://id.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 DEP-11 Metadata [16,6 kB]
Fetched 5.255 kB in 13s (390 kB/s)                                            
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
13 packages can be upgraded. Run 'apt list --upgradable' to see them.
dhwan@dhwan-A514-51K-31XM:~$ sudo add-apt-repository ppa:mozillateam/ppa
PPA publishes dbgsym, you may need to include 'main/debug' component
Repository: 'deb https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/ jammy main'
Description:
Mozilla Team's Firefox stable + 115 ESR and Thunderbird 102 stable builds

Support for Ubuntu 16.04 / 18.04 ESM is included.
More info: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Found existing deb entry in /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
Adding deb entry to /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
Found existing deb-src entry in /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
Adding key to /etc/apt/trusted.gpg.d/mozillateam-ubuntu-ppa.gpg with fingerprint 0AB215679C571D1C8325275B9BDB3D89CE49EC21
Hit:1 https://dl.google.com/linux/chrome/deb stable InRelease                  
Hit:2 https://packages.microsoft.com/repos/edge stable InRelease               
Hit:3 http://id.archive.ubuntu.com/ubuntu jammy InRelease                      
Hit:4 http://id.archive.ubuntu.com/ubuntu jammy-updates InRelease              
Hit:5 http://id.archive.ubuntu.com/ubuntu jammy-backports InRelease            
Hit:6 http://security.ubuntu.com/ubuntu jammy-security InRelease               
Hit:7 https://ppa.launchpadcontent.net/inkscape.dev/stable/ubuntu jammy InRelease
Hit:8 https://ppa.launchpadcontent.net/kdenlive/kdenlive-stable/ubuntu jammy InRelease
Hit:9 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy InRelease
Reading package lists... Done
dhwan@dhwan-A514-51K-31XM:~$ echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/mozilla-firefox

Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001

dhwan@dhwan-A514-51K-31XM:~$ echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";
dhwan@dhwan-A514-51K-31XM:~$ sudo apt install firefox
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  exo-utils libexo-2-0 libexo-common libgarcon-1-0 libgarcon-common
  libgarcon-gtk3-1-0 libxfce4panel-2.0-4 libxfce4ui-2-0 libxfce4ui-common
  libxfce4util-bin libxfce4util-common libxfce4util7 libxfconf-0-3 xfconf
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  xul-ext-ubufox
Suggested packages:
  fonts-lyx
The following NEW packages will be installed:
  xul-ext-ubufox
The following packages will be DOWNGRADED:
  firefox
0 upgraded, 1 newly installed, 1 downgraded, 0 to remove and 13 not upgraded.
Need to get 65,8 MB of archives.
After this operation, 242 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://id.archive.ubuntu.com/ubuntu jammy/universe amd64 xul-ext-ubufox all 3.4-0ubuntu1.17.10.1 [3.320 B]
Get:2 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main amd64 firefox amd64 117.0+build2-0ubuntu0.22.04.1~mt1 [65,8 MB]
Fetched 65,8 MB in 20s (3.269 kB/s)                                            
dpkg: warning: downgrading firefox from 1:1snap1-0ubuntu2 to 117.0+build2-0ubunt
u0.22.04.1~mt1
(Reading database ... 305033 files and directories currently installed.)
Preparing to unpack .../firefox_117.0+build2-0ubuntu0.22.04.1~mt1_amd64.deb ...
Unpacking firefox (117.0+build2-0ubuntu0.22.04.1~mt1) over (1:1snap1-0ubuntu2) .
..
Selecting previously unselected package xul-ext-ubufox.
Preparing to unpack .../xul-ext-ubufox_3.4-0ubuntu1.17.10.1_all.deb ...
Unpacking xul-ext-ubufox (3.4-0ubuntu1.17.10.1) ...
Setting up firefox (117.0+build2-0ubuntu0.22.04.1~mt1) ...
Please restart all running instances of firefox, or you will experience problems
.
Setting up xul-ext-ubufox (3.4-0ubuntu1.17.10.1) ...
Processing triggers for bamfdaemon (0.5.6+22.04.20220217-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
dhwan@dhwan-A514-51K-31XM:~$