Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pop-os/popsicle
Multiple USB File Flasher
https://github.com/pop-os/popsicle
Last synced: 2 days ago
JSON representation
Multiple USB File Flasher
- Host: GitHub
- URL: https://github.com/pop-os/popsicle
- Owner: pop-os
- License: mit
- Created: 2017-10-03T20:12:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-24T19:55:17.000Z (20 days ago)
- Last Synced: 2025-01-04T05:09:22.244Z (9 days ago)
- Language: Rust
- Homepage:
- Size: 1.43 MB
- Stars: 663
- Watchers: 33
- Forks: 80
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-rust - pop-os/popsicle
- fucking-Awesome-Linux-Software - ![Open-Source Software - os/popsicle)) - Popsicle is a Linux utility for flashing multiple USB devices in parallel, written in Rust. (Applications / Utilities)
- awesome-rust - pop-os/popsicle
- awesome-rust-cn - pop-os/popsicle
- Awesome-Linux-Software - ![Open-Source Software - os/popsicle) - Popsicle is a Linux utility for flashing multiple USB devices in parallel, written in Rust. (Applications / Utilities)
- awesome-rust-zh - pop-os/popsicle - GTK3 加 CLI 实用程序,用于并行闪存多个 USB 设备 (应用 / 系统工具)
- awesome-rust - pop-os/popsicle - GTK3 & CLI utility for flashing multiple USB devices in parallel (Applications / System tools)
- awesome-rust - pop-os/popsicle
- fucking-awesome-rust - pop-os/popsicle - GTK3 & CLI utility for flashing multiple USB devices in parallel (Applications / System tools)
- fucking-awesome-rust - pop-os/popsicle - GTK3 & CLI utility for flashing multiple USB devices in parallel (Applications / System tools)
- awesome-rust-cn - pop-os/popsicle
README
# Popsicle
Popsicle is a Linux utility for flashing multiple USB devices in parallel, written in [Rust](https://www.rust-lang.org/en-US/).
## Build Dependencies
If building the GTK front end, you will be required to install the development dependencies for GTK and D-Bus, usually named `libgtk-3-dev` and `libdbus-1-dev`, respectively. No other dependencies are required to build the CLI or GTK front ends, besides Rust's `cargo` utility.
For those who need to vendor Cargo's crate dependencies which are fetched from [Crates.io](https://crates.io/), you will need to install [cargo-vendor](https://github.com/alexcrichton/cargo-vendor), and then run `make vendor`.
## Installation Instructions
A makefile is included for simply building and installing all required files into the system. You may either build both the CLI and GTK workspace, just the CLI workspace, or just the GTK workspace.
- `make cli && sudo make install-cli` will build and install just the CLI workspace
- `make gtk && sudo make install-gtk` will build and install just the GTK workspace
- `make && sudo make install` will build and install both the CLI and GTK workspaces## Screenshots
### Image Selection
![Image Selection](./screenshots/screenshot-01.png)
### Device Selection
![Device Selection](./screenshots/screenshot-02.png)
The list will also dynamically refresh as devices are added and removed
![GIF Demo](./screenshots/device-monitoring.gif)
### Device Flashing
![Flashing Devices](./screenshots/screenshot-03.png)
![Flashing Devices](./screenshots/screenshot-04.png)### Summary
![Summary](./screenshots/screenshot-05.png)
## Translators
Translators are welcome to submit translations directly as a pull request to this project. It is generally expected that your pull requests will contain a single commit for each language that was added or improved, using a syntax like so:
```
i18n(eo): Add Esperanto language support
```Translation files can be found [here](./i18n/). We are using [Project Fluent](https://projectfluent.org) for our translations, which should be easier than working with gettext.