How uynilo9/unipfp works
Unipfp is a personal-use CLI that applies one chosen profile image across selected social accounts. Its workflow validates the local image, gathers platform choices and confirmation, then creates browser- or API-based updaters and runs them sequentially. Browser updates check login state, log in and verify when needed, persist cookies, and upload the image; GitLab is the documented API route. The README documents the uniform-update goal and setup, while sampled adapters show browser login and upload behavior. Other platform-specific details are represented from the tree and entry-point wiring, not inspected source.
Main entry points: unipfp.ts CLI coordinator · update.ts Updater orchestration · totp.ts TOTP generation · discord.ts Discord adapter
Components 21
CLI workflow
- CLI coordinator
src/unipfp.ts - Image validation
src/utils/image.ts
Update runtime
- Browser setup
src/utils/browser.ts - Updater orchestration
src/utils/update.ts - Platform contracts
src/types.ts - TOTP generation
src/utils/totp.ts - Cookie state
src/utils/update.ts
Browser platforms
- Discord adapter
src/plats/discord.ts - GitHub adapter
src/plats/github.ts - Instagram adapter
src/plats/instagram.ts - Plex adapter
src/plats/plex.ts - Reddit adapter
src/plats/reddit.ts - Steam adapter
src/plats/steam.ts - Threads adapter
src/plats/threads.ts - Twitch adapter
src/plats/twitch.ts - Twitter X adapter
src/plats/twitterx.ts
API platform
- GitLab adapter
src/plats/gitlab.ts
Other components
- User
- Chromium browser
- Social platforms
- GitLab service
Connections 43
- User → CLI coordinator: provides choices
- CLI coordinator → Image validation: validates image
- CLI coordinator → Browser setup: creates browser
- Browser setup → Chromium browser: launches
- CLI coordinator → Updater orchestration: prepares and dispatches
- Updater orchestration → Platform contracts: uses contracts
- CLI coordinator → Discord adapter: selects adapter
- CLI coordinator → GitHub adapter: selects adapter
- CLI coordinator → Instagram adapter: selects adapter
- CLI coordinator → Plex adapter: selects adapter
- CLI coordinator → Reddit adapter: selects adapter
- CLI coordinator → Steam adapter: selects adapter
- CLI coordinator → Threads adapter: selects adapter
- CLI coordinator → Twitch adapter: selects adapter
- CLI coordinator → Twitter X adapter: selects adapter
- CLI coordinator → GitLab adapter: selects API adapter
- Updater orchestration → Discord adapter: calls browser workflow
- Updater orchestration → GitHub adapter: calls browser workflow
- Updater orchestration → Instagram adapter: calls browser workflow
- Updater orchestration → Plex adapter: calls browser workflow
- Updater orchestration → Reddit adapter: calls browser workflow
- Updater orchestration → Steam adapter: calls browser workflow
- Updater orchestration → Threads adapter: calls browser workflow
- Updater orchestration → Twitch adapter: calls browser workflow
- Updater orchestration → Twitter X adapter: calls browser workflow
- Updater orchestration → GitLab adapter: calls API update
- Updater orchestration → Cookie state: reads and writes
- Discord adapter → TOTP generation: generates code
- Plex adapter → TOTP generation: generates code
- Reddit adapter → TOTP generation: generates code
- Threads adapter → TOTP generation: generates code
- Twitch adapter → TOTP generation: generates code
- Twitter X adapter → TOTP generation: generates code
- Discord adapter → Social platforms: checks login and updates
- GitHub adapter → Social platforms: checks login and updates
- Instagram adapter → Social platforms: checks login and updates
- Plex adapter → Social platforms: checks login and updates
- Reddit adapter → Social platforms: checks login and updates
- Steam adapter → Social platforms: checks login and updates
- Threads adapter → Social platforms: checks login and updates
- Twitch adapter → Social platforms: checks login and updates
- Twitter X adapter → Social platforms: checks login and updates
- GitLab adapter → GitLab service: updates via API