Firefox ๋ธŒ๋ผ์šฐ์ € ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ
  • ํ™•์žฅ ๊ธฐ๋Šฅ
  • ํ…Œ๋งˆ
    • Firefox์šฉ
    • ์‚ฌ์ „ ๋ฐ ์–ธ์–ด ํŒฉ
    • ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ดํŠธ
    • Android ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ
๋กœ๊ทธ์ธ
X-Posed: Account Location & Device Info ๋ฏธ๋ฆฌ๋ณด๊ธฐ

X-Posed: Account Location & Device Info ์ œ์ž‘์ž: Alexander Hagenah

See where X users are located and what devices they use. Country flags & device icons next to every username. Optional geo-blocking.

4.5 (๋ฆฌ๋ทฐ 2๊ฐœ)4.5 (๋ฆฌ๋ทฐ 2๊ฐœ)
์‚ฌ์šฉ์ž 3๋ช…์‚ฌ์šฉ์ž 3๋ช…
Firefox๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋ฐ›์œผ์„ธ์š”
ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

ํ™•์žฅ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ

์ •๋ณด
๐Ÿ“ Changelog

[2.2.0] - 2024-11-30

โœจ New Features
  • Region Blocking โ€” Block entire geographic regions (Africa, Europe, South Asia, etc.)
  • Some X users show regional locations like "South Asia" or "Europe" instead of specific countries
  • New tabbed interface in sidebar modal and options page (Countries | Regions)
  • Geographic globe emojis: ๐ŸŒ Africa/Europe/West Asia, ๐ŸŒŽ Americas, ๐ŸŒ Asia/Oceania
  • Blocked regions can be managed separately from blocked countries
  • Export/Import now includes blocked regions
  • Highlight Mode โ€” NEW alternative to hiding blocked tweets
  • Toggle in Options page: "Hide blocked tweets" vs "Highlight blocked tweets"
  • Highlighted tweets shown with subtle amber left border instead of being hidden
  • Useful for users who want to see content but be warned about location
  • Setting syncs with Export/Import

[2.1.0] - 2024-11-29

โœจ New Features
  • Show VPN Users Toggle โ€” New option (default ON) to show/hide tweets from users detected as using VPN/proxy
  • Available in both popup and options page
  • Instantly hides/shows VPN user tweets without reload
  • Enhanced Export/Import โ€” Full configuration backup and restore
  • Export now includes: settings, blocked countries, cache with metadata (version, timestamp)
  • New Import function to restore configurations across devices or browsers
  • JSON format with validation and confirmation dialog
  • Enhanced VPN/Proxy Statistics โ€” Statistics now show VPN user count with percentage (e.g., ๐Ÿ”’ VPN/Proxy (17%))
  • Rate Limit Status Indicator โ€” Real-time display in popup and options page showing API rate limit status

๐Ÿ”ง Code Quality
  • Fixed all ESLint warnings (13 โ†’ 0)
  • Removed unused imports and variables across codebase
  • Improved code consistency with underscore-prefixed unused parameters

[2.0.3] - 2024-11-28

๐Ÿ”’ Security
  • XSS prevention: All dynamic content now uses safe DOM methods instead of innerHTML
  • Fixed unsafe innerHTML in popup.js clear cache feedback
  • Fixed innerHTML SVG injection in sidebar "Block Countries" link
  • Fixed innerHTML SVG in toast close button
  • Input validation: Screen names validated (1-15 chars, alphanumeric + underscore)
  • Sanitized toast/modal content with strict character escaping

โšก Performance
  • Smart version management: Single source of truth in package.json, injected at build time
  • Throttled theme observer prevents excessive re-renders on theme changes
  • Combined DOM selectors reduce query overhead in MutationObserver
  • Cached combined selector at module level (avoids repeated string creation)
  • Memoized function creation in content script initialization
  • Removed keep-alive console spam in service worker

๐Ÿง  Memory & Stability
  • New shared lru-cache.js module eliminates code duplication
  • Fixed memory leak in UI cleanup function registry (bounded Map with 1000 max entries)
  • Bounded processingQueue (200 max entries with LRU eviction)
  • Added 30-second cleanup timeout for stale RequestDeduplicator entries
  • Proper async error boundaries prevent cascade failures
  • Added error boundary for badge creation to prevent observer crashes
  • Fixed race conditions in processingQueue with deferred promise pattern
  • Fixed inconsistent async in storage clear() method

๐Ÿ”ง Code Quality
  • Replaced deprecated substr() with substring() throughout codebase
  • ESLint auto-fix applied for consistent quote style
  • Removed unused function parameters in constants.js
  • Consolidated LRU cache: storage.js and observer.js now import from shared module
  • Magic numbers moved to TIMING constants (rate limit cooldown, keep-alive interval, etc.)

๐Ÿ”ง Build System
  • Version now auto-syncs from package.json to manifest.json and all JS bundles
  • Added @rollup/plugin-replace for build-time constant injection
  • Separate CHANGELOG.md with nice README integration



[2.0.2] - 2024-11-28

๐ŸŽจ Device Detection Overhaul
  • New distinct device emojis: ๐ŸŽ iOS, ๐Ÿค– Android, ๐ŸŒ Web, โ“ Unknown
  • Removed misleading "Desktop" category (X API doesn't distinguish desktop from mobile web)
  • Statistics now show accurate platform breakdown

๐Ÿ”’ Security Hardening
  • Fixed XSS vulnerability in badge creation (now uses safe DOM methods)
  • Replaced remaining innerHTML with safe DOM methods in modal and evidence capture
  • Safe flag emoji handling with validated Twemoji images
  • Added input sanitization for cloud cache data

โšก Performance
  • Intersection Observer for lazy element processing (only visible elements)
  • Reduced unnecessary API calls for off-screen content
  • Memoized country list filtering for improved rendering performance

๐Ÿง  Memory Management
  • Bounded pendingVisibility Map (500 max entries with LRU eviction)
  • Bounded RequestDeduplicator Map (200 max entries)
  • Periodic cleanup of expired notFoundCache entries

๐Ÿ”„ Stability
  • Service Worker keep-alive prevents Chrome MV3 termination
  • Cache negative results (not found users) to avoid repeat API calls
  • Error boundary for element processing prevents cascade failures
  • Fixed memory leaks and async handling issues
  • Added retry logic with exponential backoff for transient failures

๐Ÿ”ง Code Quality
  • Modernized APIs, centralized constants, improved accessibility
  • Added unified logging and JSDoc documentation



[2.0.1] - 2024-11-28

๐Ÿ› Bug Fixes
  • Fixed getComputedStyle โ†’ window.getComputedStyle for Zen/Firefox compatibility (#4)
  • Fixed sidebar "Block Countries" breaking compact layout (#3)

โœจ Enhancements
  • Toggle-able sidebar "Block Countries" link โ€” can be hidden via Options (#2)
  • Full country blocker UI in Options page โ€” manage blocked countries without visiting X
  • Support for followers/following/verified followers pages
  • Sidebar link adapts automatically on window resize (compact โ†” normal mode)



[2.0.0] - 2024-11-27

๐Ÿ—๏ธ Architecture
  • Modular TypeScript-ready codebase with Rollup
  • Cross-browser: Chrome MV3 + Firefox MV3
  • LRU cache with 50,000 entry limit

โœจ New Features
  • Community Cloud Cache with Cloudflare Workers
  • Evidence Screenshot Generator โ€” capture tweets with metadata overlay (location, device, VPN status, timestamp)
  • Statistics dashboard with analytics
  • Theme sync (Light/Dim/Dark)
  • Options page with full configuration
  • Bulk sync local cache to cloud

๐ŸŽจ UI/UX
  • Popup with quick toggles
  • Camera icon on badges for instant evidence capture
  • Light mode fully supported
  • Real-time theme detection
2๋ช…์ด 4.5์ ์œผ๋กœ ํ‰๊ฐ€ํ•จ
๋กœ๊ทธ์ธํ•˜์—ฌ ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์˜ ํ‰์ ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”
์•„์ง ํ‰์ ์ด ์—†์Šต๋‹ˆ๋‹ค

๋ณ„์  ์ €์žฅ๋จ

5
1
4
1
3
0
2
0
1
0
๋ฆฌ๋ทฐ 2๊ฐœ ๋ชจ๋‘ ์ฝ๊ธฐ
๊ถŒํ•œ ๋ฐ ๋ฐ์ดํ„ฐ

ํ•„์ˆ˜ ๊ถŒํ•œ:

  • x.com ๋„๋ฉ”์ธ์˜ ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ
  • twitter.com ๋„๋ฉ”์ธ์˜ ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ

์„ ํƒ์  ๊ถŒํ•œ:

  • x.com ๋„๋ฉ”์ธ์˜ ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ
  • twitter.com ๋„๋ฉ”์ธ์˜ ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘:

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๋” ์•Œ์•„๋ณด๊ธฐ
์ถ”๊ฐ€ ์ •๋ณด
๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋งํฌ
  • ์ง€์› ์‚ฌ์ดํŠธ
  • ์ง€์› ์ด๋ฉ”์ผ
๋ฒ„์ „
2.2.0
ํฌ๊ธฐ
84.26 KB
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ
10์ผ ์ „ (2025๋…„ 11์›” 30์ผ)
๊ด€๋ จ ์นดํ…Œ๊ณ ๋ฆฌ
  • ์†Œ์…œ ์„œ๋น„์Šค
๋ผ์ด์„ ์Šค
MIT ๋ผ์ด์„ ์Šค
๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ
์ด ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ ์ฝ๊ธฐ
๋ฒ„์ „ ๋ชฉ๋ก
  • ๋ชจ๋“  ๋ฒ„์ „ ๋ณด๊ธฐ
ํƒœ๊ทธ
  • social media
  • twitter
๋ชจ์Œ์ง‘์— ์ถ”๊ฐ€
์ด ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ์‹ ๊ณ 
Mozilla ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™

๋ถ€๊ฐ€ ๊ธฐ๋Šฅ

  • ์†Œ๊ฐœ
  • Firefox ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋ธ”๋กœ๊ทธ
  • ํ™•์žฅ ๊ธฐ๋Šฅ ์›Œํฌ์ƒต
  • ๊ฐœ๋ฐœ์ž ํ—ˆ๋ธŒ
  • ๊ฐœ๋ฐœ์ž ์ •์ฑ…
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ธ”๋กœ๊ทธ
  • ํฌ๋Ÿผ
  • ๋ฒ„๊ทธ ์‹ ๊ณ 
  • ๋ฆฌ๋ทฐ ์ง€์นจ

๋ธŒ๋ผ์šฐ์ €

  • Desktop
  • Mobile
  • Enterprise

์ œํ’ˆ

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • ๊ฐœ์ธ ์ •๋ณด
  • ์ฟ ํ‚ค
  • ๋ฒ•๋ฅ 

ํŠน๋ณ„ํ•œ ๊ณ ์ง€๊ฐ€ ์—†๋Š” ํ•œ, ๋ณธ ์‚ฌ์ดํŠธ์˜ ์ฝ˜ํ…์ธ ๋Š” Commons Attribution Share-Alike License v3.0 ๋˜๋Š” ๊ทธ ์ดํ›„ ๋ฒ„์ „์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ด ํ—ˆ๊ฐ€๋ฉ๋‹ˆ๋‹ค.