FrostWire is a free and open-source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including support for the BitTorrent protocol. In version 5, support for the Gnutella network was dropped entirely, and FrostWire became a BitTorrent-only client.
via Wikipedia infobox
~5 min read
FrostWire is a free and open-source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including support for the BitTorrent protocol. In version 5, support for the Gnutella network was dropped entirely, and FrostWire became a BitTorrent-only client.
== History == FrostWire, a BitTorrent client (formerly a Gnutella client), is a collaborative, open-source project licensed under the GPL-3.0-or-later license. In late 2005, concerned developers of LimeWire's open source community announced the start of a new project fork "FrostWire" that would protect the developmental source code of the LimeWire client. FrostWire has evolved to replace LimeWire's BitTorrent core for that of Vuze, the Azureus BitTorrent Engine, and ultimately to remove the LimeWire's Gnutella core to become a 100% BitTorrent client powered by the libtorrent library through FrostWire's jLibtorrent Java wrapper library since August 2014.
Welcome to the main FrostWire repository. Here you will find the sources necessary to build FrostWire for Android and FrostWire for Desktop Keep it simple, stupid. (KISS) Do not repeat yourself. (DRY) Re-use your own code and our code. It'll be faster to code, and easier to maintain. If you want to help, the Issue tracker is a good place to take a look at. Try to follow our coding style and formatting before submitting a patch. All pull requests should come from a feature branch created on your git fork . We'll review your code and will only merge it to the master branch if it doesn't break the build. If you can include tests for your pull request you get extra bonus points ;) When you submit a pull request try to explain what issue you're fixing in detail and how you're fixing in detail it so it's easier for us to read your patches. If it's too hard to explain what you're doing, you're probably making things more complex than they already are. Look and test your code well before submitting patches. We prefer well named methods and code re-usability than a lot of comments. Code should be self-explanatory. Do this the first time (Cloning & Forking): Clone to your computer. This will be the origin repo. Make a Fork of the origin repo into your github account. On your local copy, add your fork as a remote under your username as the remote alias. For further contributions Create a branch with a descriptive name of the issue you are solving. Make sure the name of your feature branch describes what you're trying to fix. If you don't know what to name it and there's an issue created for it, name your branch issue-233 (where 233 would be the number of the issue you're fixing). Focus on your patch, do not waste time re-formatting code too much as it makes it hard to review the actual fix. Good patches will be rejected if there's too much code formatting noise, we are a very small team and we can't waste too much time reviewing if something got lost or added in the middle of hundreds of lines that got shifted. Code, Commit, Push, Code, Commit, Push, until the feature is fully implemented. If you can add tests to demonstrate the issue and the fix, even better. Submit a pull request that's as descriptive as possible. Adding (issue 233) to the commit message or in PR comments automatically references them on the issue tracker. We'll code review you, maybe ask you for some more changes, and after we've tested it we'll merge your changes. If your branch has taken a while to be accepted for merging into master , it's very likely that the master branch will have moved forward while you work. In this case, make sure to sync your master . As you do this you may have to fix any possible conflicts, just follow the instruction git gives you if this is your first time. Make sure to squash any cosmetic commits into the body of your work so that we don't pollute the history. Repeat and rinse, if you send enough patches to demonstrate you have a good coding skills, we'll just give you commit access on the real repo and you will be part of the development team. Desktop Go inside the desktop directory and follow the build instructions in the README.md file. If you are developing in Windows we recommend you work with MinGW and install the gettext package. Android Build with Android studio or go inside the android directory and type: ./gradlew assembleDebug , debug builds will be created inside the android/build folder. On startup, IceBridge prints ICEBRIDGE AUTH TOKEN= to stdout. All control API endpoints (except /health ) require this token in the X-IceBridge-Token header. /health GET No Health check ( {"ok":true,"data":"ok"} ) /register POST Yes Ed25519-signed peer registration /route POST Yes Localhost-trusted peer routing (no signature required) /lookup GET Yes Look up a peer by Ed25519 public key /send POST Yes Send an opaque payload to a remote peer via rUDP /poll GET Yes Drain inbound messages /metrics GET Yes Runtime metrics (packet c
Excerpt from the source-code README · 12,631 chars · not written by Vinony
via Wikidata · CC0
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).