WillieShen

joined 3 weeks ago
MODERATOR OF
 

Login options of each Call of Duty Mobile Android app as of 2026-09-01:

  • Call of Duty / Call of Duty®: Mobile by Activision Publishing, Inc. (com.activision.callofduty.shooter): Guest, Call of Duty, Facebook, LINE, Google
  • Call of Duty / Call of Duty®: Mobile - Garena by Garena Mobile Private (com.garena.game.codm): Guest, Garena, Facebook
  • 콜 오브 듀티: 모바일 / Call of Duty Mobile (KR) by Level Infinite (com.tencent.tmgp.kr.codm): Guest, Facebook, Google
  • Call of Duty / Call Of Duty: Mobile VN by VNG GROUP JSC (com.vng.codmvn): Facebook, Google
  • 使命召唤手游 by 深圳市腾讯计算机系统有限公司 (com.tencent.tmgp.cod): 微信 (WeChat and Weixin), QQ
 

Mainland China Call of Duty also connect to IP, bypassing DNS, and it connects to mostly China, as shown in the following screenshot I took in Rethink:

image

 

Both Activision (global) and Garena Call of Duty Mobile Android apps are connecting to IP address directly, bypassing DNS, and the former is connecting to tens of countries while the later is a bit less, as shown by the following screenshots of Rethink log on my phone with both installed.

Activision Garena

[–] WillieShen@lemmy.world 1 points 5 days ago

I selfhosted it on my phone and laptop. Great as a replacement of ILovePDF and those CLI tools that have no common interface (I could write some functions to make one tho).

[–] WillieShen@lemmy.world 4 points 5 days ago (3 children)

As a Taiwanese, I have a perception that the US is dangerous, with lots of drug users and gun shots, and even in schools. Is that stereotype or fact?

[–] WillieShen@lemmy.world 3 points 6 days ago

Taiwanese here. No. And many white people look just resemblant for me in my small Asian eyes.

[–] WillieShen@lemmy.world 3 points 1 week ago (1 children)

I have a Matrix acc and joined several rooms of FOSS, but sadly it looks like most of them are still less active than their Telegram/Discord counterpart.

[–] WillieShen@lemmy.world 2 points 1 week ago

in case I run with set -e

[–] WillieShen@lemmy.world 1 points 1 week ago (3 children)
update_pm() {
  sudo apt update
  sudo DEBIAN_FRONTEND=noninteractive apt upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  sudo DEBIAN_FRONTEND=noninteractive apt autoremove -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  echo y | sudo ubuntu-drivers install || true
  sudo apt install -f -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  echo y | sudo ubuntu-drivers install || true
  sudo apt install -f -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  echo y | sudo ubuntu-drivers install || true
  sudo apt install -f -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  echo y | sudo ubuntu-drivers autoinstall || true
  sudo apt install -f -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  echo y | sudo ubuntu-drivers autoinstall || true
  sudo apt install -f -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  echo y | sudo ubuntu-drivers autoinstall || true
  sudo apt install -f -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  sudo DEBIAN_FRONTEND=noninteractive apt autoremove -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-overwrite"
  sudo apt clean
  sudo apt autoclean
  flatpak update -y || true
  flatpak uninstall --unused -y || true
  sudo snap refresh || true
  brew update
  echo y | brew upgrade
  echo y | brew autoremove
  brew cleanup
  uv self update
  uv tool upgrade --all
  npm i -g npm
  npm update -g
}
[–] WillieShen@lemmy.world 1 points 1 week ago

I stick with KDE (Kubuntu) after using GNOME, KDE Plasma, and Cinnamon. I think GNOME lack some settings available in KDE, KDE is the most customizable with a good default, and back then Cinnamon doesn't have Wayland that some of my apps, especially Waydroid, need. The only thing I hate about KDE is the wallet that keeps popping up by default. GNOME keyring is better IMO. I'm a heavy terminal user tho, for automation with bash script and easier copy-paste from Arch Wiki etc., so mb I not quite representative on DE.

[–] WillieShen@lemmy.world 1 points 1 week ago

I'm a Taiwanese and interacted with a bunch of Linux users from Mainland China on Mastodon. From what I saw, I don't think it's as easy to use Linux in China, mainly due to the Great Firewall. They often need to tweak the mirrors and even tunnel through their VPS overseas.

[–] WillieShen@lemmy.world 2 points 1 week ago

I think it can be removed, at least for my phone, in the settings > Google or just use adb.

If they really care about users' security, they should make Graphene OS's GMSCompact and explicit permissions the new standard instead of restricting what apps can they use and forcing invasive system apps. And centralized censorship and requiring an account is not what makes apps secure. Source available and reproducible build is.

[–] WillieShen@lemmy.world 5 points 1 week ago

I came from Mastodon. I think Mastodon does have some good features that haven't come to Lemmy such as account migration and bio sites verification, while Markdown and no word count limit in Lemmy excels Mastodon. Other difference are more due to the different nature of them, just like Twitter compared to Reddit, for example, more organizations, artists, developers, etc. post on Mastodon.

[–] WillieShen@lemmy.world 1 points 1 week ago* (last edited 1 week ago)

Updation on it for clean when error and ignoring ffmpeg names for double run in same folder and a helper function. This is my new account btw since I found that infosec.pub can't be viewed without login.

multimedia_convert() {
  (
    shopt -s globstar nullglob
    for f in **/*; do
      [[ -f $f ]] || continue
      local file=${f##*/}
      local dir=${f%/*}
      [[ $dir == "$f" ]] && dir=.
      case ${file,,} in
        *_ffmpeg_av1_*_*_opus_*.mkv | *_ffmpeg_av1_lossless_flac*.mkv)
          continue
          ;;
        *.ico | *.flac | *.gif | *.opus)
          local ext="${file##*.}"
          ext="${ext,,}"
          if [[ ${file##*.} != "$ext" ]]; then
            if [[ -e "${f%.*}.${ext}" ]]; then
              printf 'Skipping: output exists: %s\n' "$f" >&2
              continue
            fi
            mv -- "$f" "${f%.*}.${ext}"
          fi
          ;;
        *.jpg | *.jpeg | *.png)
          local jxl="${file%.*}.jxl"
          if [[ -e "$dir/$jxl" ]]; then
            printf 'Skipping: output exists: %s\n' "$f" >&2
            continue
          fi
          (
            if cd "$dir"; then
              if jxl_lossy 1 "./$file" "./$jxl"; then
                rm -- "$file"
              else
                rm -f -- "$jxl"
              fi
            fi
          )
          ;;
        *.avif | *.bmp | *.heic | *.heif | *.jbg | *.jbig | *.jp2 | *.tif | *.webp)
          local png="${file%.*}.png"
          if [[ -e "$dir/$png" ]]; then
            printf 'Skipping: intermediate png exists: %s\n' "$f" >&2
            continue
          fi
          local jxl="${file%.*}.jxl"
          if [[ -e "$dir/$jxl" ]]; then
            printf 'Skipping: output exists: %s\n' "$f" >&2
            continue
          fi
          (
            if cd "$dir"; then
              if magick "./$file" "./$png"; then
                if jxl_lossy 1 "./$png" "./$jxl"; then
                  rm -- "$file"
                else
                  rm -f -- "$jxl"
                fi
              fi
              rm -f -- "$png"
            fi
          )
          ;;
        *.3gp | *.mov | *.vob | *.wmv)
          (
            cd "$dir" &&
              ffmpeg_av1_opus 4 40 24k "./$file" &&
              rm -- "$file"
          )
          ;;
        *.avi | *.mkv | *.mp4)
          (
            cd "$dir" &&
              ffmpeg_av1_opus 4 32 72k "./$file" &&
              rm -- "$file"
          )
          ;;
        *.aac | *.mp3 | *.m4a | *.ogg)
          (
            cd "$dir" &&
              ffmpeg_opus 96k "./$file" &&
              rm -- "$file"
          )
          ;;
        *.wav)
          (
            cd "$dir" &&
              ffmpeg_flac "./$file" &&
              rm -- "$file"
          )
          ;;
        *)
          continue
          ;;
      esac
    done
  )
}

ls_extension() {
  (
    shopt -s globstar nullglob
    printf '%s\n' **/* | sed -n 's/.*\(\.[^.]*\)$/\1/p' | sort -u
  )
}
 

Multiplayer

  • .50 GS-1A2A7A8A9A
  • 3-Line Rifle-1D2E4B5A8A
  • AGR 556-1C2B4A6C8C
  • AK117-1C2A4A8B9A
  • AK47-1C2C4A8A9A
  • AS VAL-2C4B6C8A9A automatic
  • AS VAL-2B3A4B8C9A semi automatic
  • ASM10-1C2D4A8A9A
  • Arctic.50-2A4B5A8C9C
  • BAL-27-1C2C4A6F8A
  • BK57-1C2C3A4B9C
  • BP50-1D2C4B8B9H no laser
  • BP50-1D2C4B6C8B laser
  • Bruen MK9-2B3A4A5E8B
  • CBR4-1A2B4A5E9A
  • Chopper-1E2C5A7G8A
  • DL Q33-1B2A4A5A8A
  • DR-H-1C2B4A8C9A
  • EM2-1B2C4A8B9C
  • FSS Hurricane-1D2B4C5B7K
  • HS0405-1F4A5E6B9A
  • HVK-30-1C2A3A8C9A red dot
  • HVK-30-1C2A4C8C9A no optics
  • JAK-12-1C2A5A6B + dragon breath
  • KN-44-1C2B4A5A8B
  • KRM-262-1C2A4A5E6A
  • L-CAR 9-2C4A7A8C9C + gung ho
  • LAG 53-1C3A5A8A9B
  • LC10-2F4E7B8F9F
  • LW3-Tundra-1A2B5A8A9E
  • Lachmann-556-1C2A4C6C8C
  • Locus-2A4B5A8C9C
  • M13-1C2B3A4A8D
  • M16-1C2B3A7C9B
  • M21 EBR-1D2C4D7D8B
  • M4LMG-1C3A4D5A6C low mobility, suppressed
  • M4LMG-3A4A5A6C9A high mobility, not suppressed
  • MAC-10-1B2A6B7B8B hipfire
  • MAC-10-1B2E4B7B8B ads
  • MG42-1E2A4B5A8D not suppressed
  • MG42-1F2C3T4D8D 4.4x scope, suppressed
  • MG42-1F2D5A8D9A no optics, suppressed
  • MW11-1E2A5F6A7A + gung ho + underkill
  • Maddox-2A3A4D8A9B
  • Man-O-War-1B2A3A5B8C
  • NA-45-1C4C5A7D8C
  • Oden-1D2A4A5A9A high mobility
  • Oden-1D2C4A5A9A high range
  • Oden-1D4A5A6C7D subsonic ammo, FMJ
  • Oden-1D4A6C7C9A subsonic ammo, no FMJ
  • PKM-1C2B3A5A8B red dot
  • PKM-1C2B4A5A8B no optics
  • PP19 Bizon-1A2B4C8B9A
  • PPSh-41-1E2B5F6A7B hipfire
  • Pharo-1C2B6A7G8C
  • QQ9-1C2C4A6C8C
  • QXR-1C2C4A5I8A ads
  • QXR-1C2C5I6A8A hipfire
  • R9-0-1G2B6C8A9A
  • RAAL MG-1C3A4B5A8A
  • RAM-7-1A2B4B5A8A no optics
  • RAM-7-2B3A4B5A8A red dot
  • Razorback-1C2A3A5I9A
  • Rytec AMR-1B2C4C5A9A
  • SKS-1B4C5A8A9A
  • SO-14-1C3E4A5A9B
  • Sten-1E2E4E6F7C
  • Striker-1F2B5E6A8B
  • Striker-1F2C6C8B9A ads
  • Switchblade X9-1C2C4A8A9A
  • Swordfish-1A3P4A5A8C
  • TEC-9-1G2F6B7B8F
  • Type 19-1D2A4A8B9C
  • Type 25-1C2C3A4A9E
  • Type 63-2A4F5A8B9C
  • USS 9-1C2D4A8C9A
  • VMP-2D4C5H8A9B ads
  • VMP-2D4C5H8A9C hipfire
  • XM4-1A2G3A8F9E
  • XPR-50-1A2C4B5A8C no optics
  • XPR-50-2B3F4B5A8C optics

Battle Royale

  • AK117-1C2C4D6C8B
  • DL Q33-1C2A4C6A8C
  • Hades-2B6C7A8A9C
  • HDR-1B2A4A5B6A
  • MG42-1E2C4D8C9A
  • PKM-2B4B6C8A9A
  • RAAL MG-1C2B3A5E8A
  • RPD-2D5E6C7A9C
  • Rytec AMR-1D2C4C5E8B
  • SVD-1D2B4C5E8B
 

Multiplayer

  • .50 GS-1A2A7A8A9A
  • 3-Line Rifle-1D2E4B5A8A
  • AGR 556-1C2B4A6C8C
  • AK117-1C2A4A8B9A
  • AK47-1C2C4A8A9A
  • AS VAL-2C4B6C8A9A
  • ASM10-1C2D4A8A9A
  • Arctic.50-2A4B5A8C9C
  • BAL-27-1C2C4A6F8A
  • BK57-1C2C3A4B9C
  • Bruen MK9-2B3A4A5E8B
  • CBR4-1A2B4A5E9A
  • Chopper-1E2C5A7G8A
  • DL Q33-1B2A4A5A8A
  • DR-H-1C2B4A8C9A
  • EM2-1B2C4A8B9C
  • HS0405-1F4A5E6B9A
  • HVK-30-1C2A3A8C9A red dot
  • HVK-30-1C2A4C8C9A no optics
  • JAK-12-1C2A5A6B + dragon breath
  • KN-44-1C2B4A5A8B
  • KRM-262-1C2A4A5E6A
  • L-CAR 9-2C4A7A8C9C + gung ho
  • LAG 53-1C3A5A8A9B
  • LC10-2F4E7B8F9F
  • Locus-2A4B5A8C9C
  • LW3-Tundra-1A2B5A8A9E
  • Lachmann-556-1C2A4C6C8C
  • M13-1C2B3A4A8D
  • M16-1C2B3A7C9B
  • M21 EBR-1D2C4D7D8B
  • M4LMG-1C3A4D5A6C low mobility, suppressed
  • M4LMG-3A4A5A6C9A high mobility, not suppressed
  • MAC-10-1B2A6B7B8B hipfire
  • MAC-10-1B2E4B7B8B ads
  • MG42-1E2A4B5A8D not suppressed
  • MG42-1F2C3T4D8D 4.4x scope, suppressed
  • MG42-1F2D5A8D9A no optics, suppressed
  • MW11-1E2A5F6A7A + gung ho + underkill
  • Maddox-2A3A4D8A9B
  • Man-O-War-1B2A3A5B8C
  • NA-45-1C4C5A7D8C
  • Oden-1D2C4A5A9A high range
  • Oden-1D2A4A5A9A high mobility
  • Oden-1D4A5A6C7D subsonic ammo, FMJ
  • Oden-1D4A6C7C9A subsonic ammo, no FMJ
  • PKM-1C2B3A5A8B red dot
  • PKM-1C2B4A5A8B no optics
  • PP19 Bizon-1A2B4C8B9A
  • PPSh-41-1E2B5F6A7B hipfire
  • Pharo-1C2B6A7G8C
  • QQ9-1C2C4A6C8C
  • QXR-1C2C4A5I8A ads
  • QXR-1C2C5I6A8A hipfire
  • RAAL MG-1C3A4B5A8A
  • RAM-7-1A2B4B5A8A no optics
  • RAM-7-2B3A4B5A8A red dot
  • Razorback-1C2A3A5I9A
  • Rytec AMR-1B2C4C5A9A
  • R9-0-1G2B6C8A9A
  • SKS-1B4C5A8A9A
  • SO-14-1C3E4A5A9B
  • Sten-1E2E4E6F7C
  • Striker-1F2B5E6A8B
  • Striker-1F2C6C8B9A ads
  • Switchblade X9-1C2C4A8A9A
  • Swordfish-1A3P4A5A8C
  • TEC-9-1G2F6B7B8F
  • Type 19-1D2A4A8B9C
  • Type 25-1C2C3A4A9E
  • Type 63-2A4F5A8B9C
  • USS 9-1C2D4A8C9A
  • VMP-2D4C5H8A9B ads
  • VMP-2D4C5H8A9C hipfire
  • XM4-1A2G3A8F9E
  • XPR-50-2B3F4B5A8C optics
  • XPR-50-1A2C4B5A8C no optics

Battle Royale

  • AK117-1C2C4D6C8B
  • DL Q33-1C2A4C6A8C
  • Hades-2B6C7A8A9C
  • HDR-1B2A4A5B6A
  • MG42-1E2C4D8C9A
  • PKM-2B4B6C8A9A
  • RAAL MG-1C2B3A5E8A
  • RPD-2D5E6C7A9C
  • Rytec AMR-1D2C4C5E8B
  • SVD-1D2B4C5E8B
view more: next ›