Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices.

Overview

wormhole-gui

Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices. It uses the Go implementation of magic-wormhole, called wormhole-william, and compiles statically into a single binary. Wormhole-gui is also compatible with sending to and receiving from other wormhole clients, such as the cli applications from both wormhole-william and magic-wormhole.

Built using the following Go modules:

The initial version was built in less than one day to show how quick and easy it is to use fyne for developing applications.

Sponsoring

Wormhole-gui an open source project that is provided free of charge and that will continue to be the case forever. If you use wormhole-gui and appreciate the work being put into it, please consider supporting the development through GitHub Sponsors. This is in no way a requirement, but would be greatly appreciated and would allow for even more improvements to come further down the road.

Requirements

Wormhole-gui compiles into a statically linked binary with no runtime dependencies. Compiling requires a Go compiler (1.14 or later) and the prerequisites for Fyne.

Downloads

Please visit the release page for downloading the latest releases. Pre-built binaries are available for FreeBSD, Linux, MacOS (x86-64 and arm64) and Windows (x86-64).

Building

Systems with the compile-time requirements satisfied can build the project using go build in the project root:

go build

The project is available in the Fyne Apps Listing and can be installed either using the fyne get command or using the Fyne Apps Installer. It can also be built and installed using GNU Make (installing is currently only supported on Linux and BSD):

make
sudo make install

Contributing

Contributions are strongly appreciated. Everything from creating bug reports to contributing code will help the project a lot, so please feel free to help in any way, shape or form that you feel comfortable doing.

License

  • Wormhole-gui is licensed under GNU GENERAL PUBLIC LICENSE Version 3.
Comments
  • program is starting but gui doesnt consistently show up

    program is starting but gui doesnt consistently show up

    Description:

    #21 seems to be fixed - program is starting but gui doesnt consistently show up it just hangs in the background.

    Steps to Reproduce:

    I tried pausing kaspersky and malwarebytes but I didn't see a difference. It did start with the GUI a couple times but I'm not sure what was different.

    Screenshots:

    notice I can't switch to the window in Process Explorer :

    image

    Device (please complete the following information):

    • OS: windows 10
    • Version: 19043.1165
    • Go version:
    • Wormhole-gui version: 2.3.1
    bug help wanted 
    opened by katchy3132 28
  • Windows build fails when using scoop

    Windows build fails when using scoop

    Description:

    Error when I try to build it in Win10:

    $ go build
    # github.com/go-gl/gl/v3.2-core/gl
    gcc.exe: fatal error: cannot execute 'as': CreateProcess: No such file or directory
    compilation terminated.
    # github.com/go-gl/glfw/v3.3/glfw
    gcc.exe: fatal error: cannot execute 'as': CreateProcess: No such file or directory
    compilation terminated.
    

    Are that gl and glfw issues?

    Also, go and gcc installed with scoop

    Device (please complete the following information):

    • OS: Windows
    • Version: 10
    • Go version: 1.17.5
    • Wormhole-gui version: https://github.com/Jacalz/wormhole-gui/commit/6cc27e7e0c225f05d8a2a60ddefc4591614d81f8
    wontfix os-windows 
    opened by asakura42 13
  • Windows defender is saying it contains virus or potentially unwanted software

    Windows defender is saying it contains virus or potentially unwanted software

    Description:

    Steps to Reproduce:

    1. This is triggered when extracting the file.

    Screenshots:

    Device (please complete the following information):

    • OS:
    • Version:
    • Go version:
    • Wormhole-gui version:
    bug os-windows 
    opened by millersc454 10
  • Support changing server endpoints

    Support changing server endpoints

    Is your feature request related to a problem? Please describe:

    Magic Wormhole has a main server and relay server that can be self-hosted. If users have privacy concerns, or just want to host it all themselves, so as not to use the official Magic Wormhole servers run by the project maintainers, they can do so...

    Describe the solution you'd like to see:

    ... but there is no apparent way to connect to custom/self-hosted Magic Wormhole servers in the GUI/settings for this project. Would it be possible to add "Custom Server Address" under Settings >> Wormhole Options?

    enhancement 
    opened by Darthagnon 7
  • Add ClusterfuzzLite

    Add ClusterfuzzLite

    Signed-off-by: AdamKorcz [email protected]

    Description:

    This PR adds ClusterfuzzLite and a fuzzer for the code validation.

    ClusterfuzzLite will run fuzzers in the CI when PRs are made. It can be extended beyond this PR with code coverage and batch fuzzing: https://google.github.io/clusterfuzzlite/running-clusterfuzzlite/github-actions/

    Checklist:

    • [ ] Tests included.
    • [ ] Lint and formatter run with no errors.
    • [ ] Tests all pass.
    opened by AdamKorcz 6
  • Make available through Brew

    Make available through Brew

    Is your feature request related to a problem? Please describe:

    Yes, currently the update process must be done manually by checking the GitHub release page.

    Describe the solution you'd like to see:

    Please make wormhole-gui installable with the Brew package manager.

    os-macos infrastructure 
    opened by BayLee4 6
  • Add better design wayfinding, basic explanation of features.

    Add better design wayfinding, basic explanation of features.

    Is your feature request related to a problem? Please describe:

    Congrats! You've probably made the best tool out there to solve the problem "I want to be able to share files with someone without expertish computer skill, and I want to do it directly, cheaply, securely, and without having to sign up for a bunch of random stuff." In my opinion, anyway :grin:. magic-wormhole could be an amazing tool for this, but trying to talk someone through setting up a CLI client and using it is a non-starter, given the "your users aren't experts" qualification.

    I mentioned wayfinding in the title. Designing for good wayfinding in a physical space (like a building) involves using cues, signs, sightlines, etc. to make it easier for people in the space to figure out how to do what they need to do. (Here's a fun podcast on that, if that's your wont.) Obviously some of these ideas extend just fine to UIs. So I'm going to tell a little story about trying to send some files with wormhole-gui. Bear in mind that this person has general basic computer literacy and is most of the way through a Master's degree--already probably above the mean when it comes to their ability to figure this all out.

    So, say I'm on the phone with someone (in reality, we were sitting in the same room, but I'm asking questions like I would a user talking to another user over the phone) and we need to move some files around. I say "hey, get a Magic Wormhole client, I'll send the file that way." So they google "magic wormhole," and get a Github page. There's no "download" button, and the best thing they're going to hear will be something like "go install a Python distribution for your system, set up pip, and pip install the package." Now, that works great for hackers, but it works terribly for users.

    So I say "oh, there's this thing called wormhole-gui, try that" over the phone. This user then googles wormhole gooey and gets a page full of creepy kids youtube videos and other useless stuff. So I say "oh it's gee you eye, and it has like a dash in the name?" and they search that instead and find this Github repo.

    Great. And then they glance at the page and don't actually immediately know what to do. If they scroll down a little on a typical system, they might see the "Download" section in the readme: that's good! What actually happened this time, though, was that they:

    1. tried clicking the "Code" dropdown, which is helpfully bright green, as it's a very important button for developers to be able to press, and got some more confusing text
    2. tried clicking "Go To File" in hopes of finding some downloads there (no dice)
    3. took my advice of "oh, try clicking the 'Releases' thing in the sidebar on the right," which I understand as the usual convention for this sort of thing, which I just knew because I'm a developer.

    Next, they see this big page full of various Stuff, and aren't sure what to do next. I say that they want the file in the list that says it's for "Windows on amd64," which I know because I'm a developer. They download it, click the zip, click the .exe, see a Windows SmartScreen popup, close it, try to run the .exe again, think about it for a second, listen to me saying "yeah, I can vouch, this program is safe," click the little "More info" button, and "Run Anyway." And it's running fine without any other messing-around or install steps! That's great!

    Next, they immediately try to send me some random file. They pick some PDF sitting on their drive, click Send, and... can't figure out what to do next. (The filename is long enough that it doesn't show the wormhole code or progress bar, see #24.) So I say "try sending me a text message instead." They write and attempt to send one easily, and then say "I can't figure out who this was sent to." I say "oh, there's a three-word code." They read it off, and I receive the text a few seconds later. Great.

    Now it's my turn to send something. I pick a file, click send, and then read off my code. They easily find where to type the code in, do so, and then say "It says that was an invalid code." I say "oh, there's dashes between the words, try that." They receive the file, no problem.

    I say "Okay, now go open that file." They click on the file's entry inside wormhole-gui, and just get popups asking if they want to remove the file from the list. I say "okay, where else can you look?" and they check their system's Downloads folder, and could then open the file without issue.

    Describe the solution you'd like to see:

    wormhole-gui is an excellent, descriptive name if you're a hacker. It's a weird one for an end user. A name that's simple, uses plain English, and still gets the message "I can use this to send/get files through 'Magic Wormhole'" across might be better. (I think this is part of why wormhole-william is a pretty good name, actually: I can tell someone to google it and they're not going to get mixed up with anything else.)

    It'd be a good idea to have a basic landing site (with a short name!) that explains what wormhole-gui is ("Quickly and easily send and receive files through the Magic Wormhole"), has immediate visual download buttons for each supported platform, and then other further detail. You could make a simple static site with Github Pages, and give it a snappy name by creating an organization on Github, resulting in a simple URL like wormhole-gui.github.io that would be easy to read off over the phone. Two or three birds with one stone. That sort of page doesn't need to be complicated. (You could add a note under the Windows link with something like "You might get a Windows SmartScreen warning when you try to run wormhole-gui for the first time: this is because wormhole-gui doesn't have massive numbers of users, not because it's unsafe.")

    There should be some further wayfinding inside wormhole-gui itself. For instance, when you're on the Send pane, you might include some text that says "Choose a file, then give the person you want to send it to its wormhole code, alongside a three-column top bar in the list that reads something like Filename | Wormhole code | Progress.

    In the receiving section, there should be some text explaining what it is, e.g. "Ask the person sending you a file for its wormhole code, and type it here." The box for inputting wormhole codes should be able to "correct" spaces into dashes. It may be nice to add something like magic-wormhole's tab-autocomplete: the rest of the suggested word could appear in grey, and you could put a little tab icon to offer to complete the word. (I could break that last part into its own suggestion if you like.) When you click on a file in the list, it should offer to open in/navigate to it.

    enhancement help wanted 
    opened by nfd9001 6
  • Create a flatpak and publish on flathub

    Create a flatpak and publish on flathub

    Description:

    This is a kind of progress report issue on trying to get wormhole-gui working as a flatpak. I have a manifest below that manages to build it without complaining too much.

    Further work

    • [x] Switch the app-id and all relevant files to "io.github.jacalz.wormhole_gui".
    • [x] Use module vendor to comply with stricter build configs without network support.
    • [x] Make the file system access a bit less strict (more than just the documents folder).
    • [x] Add access to the fyne settings files.
    • [x] Make the notifications work (some kind of dbus issue or might need to use the portal: https://flatpak.github.io/xdg-desktop-portal/portal-docs.html#gdbus-org.freedesktop.portal.Notification).
    • [ ] Work upstream with Fyne on potentially better flatpak support (if needed).

    Manifest

    app-id: io.github.jacalz.rymdport
    runtime: org.freedesktop.Platform
    runtime-version: '21.08'
    sdk: org.freedesktop.Sdk
    sdk-extensions:
        - org.freedesktop.Sdk.Extension.golang
    command: rymdport
    
    finish-args:
        - --share=ipc # Share IPC namespace with the host (necessary for X11).
        - --share=network
        - --socket=x11
        - --device=dri # OpenGL rendering support.
    
        # The below are commented out until there is out of the box support for wayland.
        #- --socket=fallback-x11 # Only create the x11 socket if wayland isn't avaliable.
        #- --socket=wayland
    
        # Needed to support desktop notifications.
        - --talk-name=org.freedesktop.Notifications
    
        # Support only the most common directories.
        - --filesystem=xdg-desktop
        - --filesystem=xdg-documents
        - --filesystem=xdg-download
        - --filesystem=xdg-music
        - --filesystem=xdg-pictures
        - --filesystem=xdg-videos
    
    build-options:
      env:
        - GOBIN=/app/bin
        - GOROOT=/usr/lib/sdk/golang
    
    modules:
        - name: rymdport
          buildsystem: simple
          build-commands:
            - $GOROOT/bin/go build -ldflags="-s -w" -o rymdport
            - install -Dm00755 rymdport $FLATPAK_DEST/bin/rymdport
            - install -Dm00644 internal/assets/icon/icon-512.png $FLATPAK_DEST/share/icons/hicolor/512x512/apps/$FLATPAK_ID.png
            - install -Dm00644 internal/assets/svg/icon.svg $FLATPAK_DEST/share/icons/hicolor/scalable/apps/$FLATPAK_ID.png
            - install -Dm00644 internal/assets/unix/$FLATPAK_ID.desktop $FLATPAK_DEST/share/applications/$FLATPAK_ID.desktop
            - install -Dm00644 internal/assets/unix/$FLATPAK_ID.appdata.xml $FLATPAK_DEST/share/appdata/$FLATPAK_ID.appdata.xml
          sources:
            - type: archive
              url: "https://github.com/Jacalz/rymdport/releases/download/v3.0.1/rymdport-v3.0.1.tar.xz"
              sha256: 7fcc0d7dce44a590796aa446bdb8a6c9365c453dde64e46477f041b6a48b37a7
    
    enhancement os-linux infrastructure 
    opened by Jacalz 6
  • [Suggestion] Use

    [Suggestion] Use "copy" button instead of right-click menu for copying the magic code

    Thanks for solving #2 so quickly, great work! I was just trying out v1.3.0 and I like the "Copy to clipboard" and "Save to file" options after receiving a text message a lot. And that reminded me of a minor quibble I had with your app:

    • The magic wormhole code that's displayed after sending is not copyable. Or so I thought :)
    • Looking at the code, I noticed we can use a right-click to copy the code to the clipboard.
    • Because there is no visual indication that the code is copyable this way and because you don't use a right-click menu anywhere else in the app afaik, maybe put a little widget next to the code instead of the right-click menu, like you do here ? Thanks!
    enhancement 
    opened by moppman 6
  • Cannot resize file picker dialog

    Cannot resize file picker dialog

    The file picker window cannot be resized. I'm aware of https://github.com/Jacalz/rymdport/issues/16, however I think not being able to resize goes against user's expectations. Also being forced to close the picker, resize the main window, then reopen the picker is cumbersome imho.

    enhancement upstream-issue blocked 
    opened by waldner 5
  • See file extensions in dialog box

    See file extensions in dialog box

    When choosing files to send, it would be nice to be able to see not only the hidden files (for which an option exists), but also the full file names with extensions.

    enhancement upstream-issue 
    opened by waldner 5
  • Changes for v3.3.0 release

    Changes for v3.3.0 release

    Description:

    Work in progress. This will include user facing changes to pictures and README, which should only be pushed when the new release is about to go live.

    Checklist:

    • [ ] Tests included.
    • [x] Lint and formatter run with no errors.
    • [x] Tests all pass.
    opened by Jacalz 0
  • Press enter in the custom code entry

    Press enter in the custom code entry

    Is your feature request related to a problem? Please describe:

    It would make sense to be able to press enter inside the custom code entry to automatically get the code selected and confirmed. Without this, the user has to press tab twice to focus the button.

    enhancement blocked usability 
    opened by Jacalz 1
  • Option to not extract directory sends

    Option to not extract directory sends

    Is your feature request related to a problem? Please describe:

    We are currently extracting the zip files from directories sends automatically. This works well when we have full file system access but makes it hard if we want to go through mobile file pickers or Flatpak portals (just giving access to the file that the user asks to create).

    This should also allow us to implement the option to ask where to safe files, hence solving #45.

    Describe the solution you'd like to see:

    A setting to not extract files. This should be forced to on (there is currently no other option for directory sends) if the user enables asking where to save files.

    enhancement usability 
    opened by Jacalz 0
  • Adopt new button error and warning importance

    Adopt new button error and warning importance

    Describe the solution you'd like to see:

    Fyne v2.30 will have new importance levels for buttons when released. This could make sense for example in the "Do you want to enable overwriting files?" dialog. Lets open this issues to remember to adopt this when possible. image

    blocked usability 
    opened by Jacalz 1
  • Make it more clear what happens when a file is downloaded

    Make it more clear what happens when a file is downloaded

    Is your feature request related to a problem? Please describe:

    I got some feedback from a user that it is not clear what has happened when the transfer reaches 100%. The result should be more clear to the user to avoid confusion.

    Describe the solution you'd like to see:

    Some ideas of how this can be improved:

    • Include where the file was saved in the notification for receiving a file.
    • Add an option to ask the user where to save the file.
    enhancement usability 
    opened by Jacalz 0
  • Add keyboard shortcuts for changing tabs

    Add keyboard shortcuts for changing tabs

    Description:

    This adds support for cycling through the tabs using Alt + Tab like in browsers. Blocked until https://github.com/fyne-io/fyne/issues/3087 is fixed.

    Checklist:

    • [ ] Tests included.
    • [x] Lint and formatter run with no errors.
    • [x] Tests all pass.
    enhancement blocked 
    opened by Jacalz 1
Releases(v3.2.0)
  • v3.2.0(Jul 26, 2022)

    Description

    This release focuses on improving the user experience within the application. The notable improvements are support for going backwards in tab completion using Shift + Tab and a fix for send and receive windows not being focused correctly sometimes. It also features a few security fixes and performance improvements.

    Download on Flathub

    Changelog

    • Work around send and receive windows not being focused correctly sometimes.
    • Go backwards in tab completion using Shift + Tab.
    • Update compress to v1.15.8 for CVE-2022-30631 fix.
    • Clicking the icon on the about page now opens the repository in a browser.
    • The zip and completion packages are now exported and considered stable.
    • Updated fyne to v2.2.3 for minor bug fixes.
    • Minor performance improvements.
    • The Makefile for Linux and BSD release binaries now includes an option to install into the home directory.
    • Release binaries are now built using Go 1.18.
      • Performance of arm64 binaries should improve by around 10-20%.
      • Various security fixes and other improvements.

    Sponsoring

    Rymdport is an open source project that is provided free of charge, and that will continue to be the case forever. If you use this project and appreciate the work being put into it, please consider supporting its development through GitHub Sponsors. This is in no way a requirement, but would be greatly appreciated and would allow for even more improvements to come further down the road.

    Source code(tar.gz)
    Source code(zip)
    rymdport-v3.2.0-freebsd-amd64.tar.xz(4.56 MB)
    rymdport-v3.2.0-freebsd-arm64.tar.xz(4.04 MB)
    rymdport-v3.2.0-linux-amd64.tar.xz(4.57 MB)
    rymdport-v3.2.0-linux-arm64.tar.xz(4.04 MB)
    rymdport-v3.2.0-macOS-amd64.zip(9.71 MB)
    rymdport-v3.2.0-macOS-arm64.zip(9.23 MB)
    rymdport-v3.2.0-vendored.tar.xz(3.41 MB)
    rymdport-v3.2.0-windows-amd64.zip(5.51 MB)
  • v3.1.0(Jun 27, 2022)

    Description

    The major highlights here are tab completion and support for both NetBSD and OpenBSD. There are also many smaller improvements that improve the usability of the application. Please read the full changelog entry below for a summary of the changes contained within this release.

    Release binaries are not yet provided for OpenBSD and NetBSD. You can help test the new supported platforms by compiling and running locally. All that needs to be installed is a Go compiler (1.16 or newer) and the prerequisites for Fyne.

    Download on Flathub

    Changelog

    • Added support for tab completion of receive-codes (fixes #35).
    • Initial support for OpenBSD and NetBSD.
      • Feel free to report any feedback. This support is new and experimental.
    • Notifications on Linux and BSD now show the application icon.
    • The list view in the file chooser now display extensions correctly (fixes #39).
    • The entry for receive-codes now becomes unfocused when pressing escape.
    • Updated fyne to v2.2.1.
      • Better error reporting on Windows when OpenGL is not available.
      • Many optimizations and widget performance enhancements.
    • Updated compress to v1.15.5.
      • Includes minor performance improvements that benefit sending and receiving of directories.
    • Go 1.16 is now the oldest supported compiler. Support for older versions has been removed.
    • Various improvements and fixes for the AppStream metadata.
    • Notifications are now enabled by default.

    Sponsoring

    Rymdport is an open source project that is provided free of charge, and that will continue to be the case forever. If you use this project and appreciate the work being put into it, please consider supporting its development through GitHub Sponsors. This is in no way a requirement, but would be greatly appreciated and would allow for even more improvements to come further down the road.

    Source code(tar.gz)
    Source code(zip)
    rymdport-v3.1.0-freebsd-amd64.tar.xz(4.42 MB)
    rymdport-v3.1.0-freebsd-arm64.tar.xz(3.91 MB)
    rymdport-v3.1.0-linux-amd64.tar.xz(4.44 MB)
    rymdport-v3.1.0-linux-arm64.tar.xz(3.92 MB)
    rymdport-v3.1.0-macOS-amd64.zip(9.42 MB)
    rymdport-v3.1.0-macOS-arm64.zip(8.86 MB)
    rymdport-v3.1.0-vendored.tar.xz(3.41 MB)
    rymdport-v3.1.0-windows-amd64.zip(5.40 MB)
  • v3.1.0-beta1(Jun 6, 2022)

  • v3.0.2(Apr 15, 2022)

    Description

    This is a very small release that just improves the AppStream metadata. The main benefit here will be for the Flatpak package and any distribution packages that are available in Linux repositories.

    Download on Flathub

    Changelog

    • Added release summaries and removed markdown leftovers from AppStream metadata.
      • This should mostly benfit the Flatpak package and Linux packages.

    Sponsoring

    Rymdport is an open source project that is provided free of charge, and that will continue to be the case forever. If you use this project and appreciate the work being put into it, please consider supporting its development through GitHub Sponsors. This is in no way a requirement, but would be greatly appreciated and would allow for even more improvements to come further down the road.

    Source code(tar.gz)
    Source code(zip)
    rymdport-v3.0.2-freebsd-amd64.tar.xz(3.83 MB)
    rymdport-v3.0.2-freebsd-arm64.tar.xz(3.40 MB)
    rymdport-v3.0.2-linux-amd64.tar.xz(3.83 MB)
    rymdport-v3.0.2-linux-arm64.tar.xz(3.40 MB)
    rymdport-v3.0.2-macOS-amd64.zip(9.12 MB)
    rymdport-v3.0.2-macOS-arm64.zip(8.58 MB)
    rymdport-v3.0.2-vendored.tar.xz(3.07 MB)
    rymdport-v3.0.2-windows-amd64.zip(5.20 MB)
  • v3.0.1(Apr 2, 2022)

    Description

    This new release contains a small optimization for text receives, various improvements for the Appstream Metadata to get Flatpak builds working correctly, and a fix for Windows binaries opening a terminal on start-up. The release now also contains a new file "rymdport-v3.0.1-vendored.tar.xz" tarball that contains the code and all compile-time dependencies, allowing builds in sandboxed environments without network access (such as Flatpaks or other Linux/BSD packages).

    Download on Flathub

    Changelog

    • Optimized text receives to be faster and use significantly less memory.
      • This change also means that saving the text to a file will be faster.
    • The Windows release binary no longer opens a terminal on start-up (#34).
    • Various improvements and fixes for the Appstream Metadata.
      • These changes should make it possible to create a Flatpak (for #23)

    Sponsoring

    Rymdport is an open source project that is provided free of charge, and that will continue to be the case forever. If you use this project and appreciate the work being put into it, please consider supporting its development through GitHub Sponsors. This is in no way a requirement, but would be greatly appreciated and would allow for even more improvements to come further down the road.

    Source code(tar.gz)
    Source code(zip)
    rymdport-v3.0.1-freebsd-amd64.tar.xz(3.82 MB)
    rymdport-v3.0.1-freebsd-arm64.tar.xz(3.40 MB)
    rymdport-v3.0.1-linux-amd64.tar.xz(3.84 MB)
    rymdport-v3.0.1-linux-arm64.tar.xz(3.40 MB)
    rymdport-v3.0.1-macOS-amd64.zip(9.12 MB)
    rymdport-v3.0.1-macOS-arm64.zip(8.58 MB)
    rymdport-v3.0.1-vendored.tar.xz(3.09 MB)
    rymdport-v3.0.1-windows-amd64.zip(5.20 MB)
  • v3.0.0(Mar 7, 2022)

    Description

    Wormhole-gui has evolved a lot over the years and has become a lot more than just a graphical interface on top of Magic Wormhole. To reflect that more clearly, wormhole-gui has now been renamed to rymdport. This also avoids potential confusion with wormhole-ui.

    Now onto all the exciting new stuff that has landed since v2.1.3. This release has focused deeply on usability improvements and bug fixes, but there are also many new features and performance improvements. Some of the notable changes are: support for sending with custom codes, UI scaling and primary color can now be changed in the settings tab, and support for verifying sends and receives before they are accepted. 

    A note on Flatpak support

    The goal of this release was always to have completed Flatpak support as the major selling point. However, that needed to be pushed out to v3.1.0 due to issues with Flatpak (see https://github.com/Jacalz/rymdport/issues/23#issuecomment-1003077975). All the initial changes needed for running inside the sandbox are in though (added before Flatpak broke), which means that support should be as easy as just publishing the project to flathub.org once the time comes.

    Changelog

    • Added support for sending using custom codes.
    • UI scaling and primary color can now be changed in the settings tab.
    • Dialogs are not scaled to window size (fixes #16).
    • Progress is now shown for receives as well (fixes #20).
    • Added support for verifying sends and receives before accepting them (fixes #18).
    • Improved application startup time by optimizing how settings are handled on startup.
    • Long codes are now truncated to avoid moving other UI elements.
    • The user now has to confirm before enabling overwriting of files.
    • Fixed an issue where sending with received text open would remove the text.
    • Removed support for removing completed sends and receives (see #32).
      • This has been broken broken a long time. Will be introduced again in a later version.
    • The filename when saving received text now also contains the current time.
    • Many improvements to the contents of the appstream metadata.
    • Various minor performance improvements and race condition fixes.
    • Updated wormhole-william to v1.0.6.
      • Fixes compatability with the magic-wormhole.rs client.
      • Switched to a faster websocket library.
    • Updated fyne to v2.1.3.
      • Improves performance, fixes a few memory leaks and minor visual refresh among many other improvements.
    • Updated compress to v1.15.0.
      • Includes various performance improvements that benefit sending and receiving of directories.
    • Release binaries are now built using Go 1.17.
      • Performance of amd64 binaries should improve by around 5-10%.
      • Lowest supported macOS release is now 10.13 High Sierra.
      • Includes various other fixes and improvements.
    • Release binaires for FreeBSD and Linux are now xz compressed to decrease sizes.
    • Release binaries on macOS now contain the correct version and build number metadata.

    Sponsoring

    Rymdport is an open source project that is provided free of charge, and that will continue to be the case forever. If you use this project and appreciate the work being put into it, please consider supporting its development through GitHub Sponsors. This is in no way a requirement, but would be greatly appreciated and would allow for even more improvements to come further down the road.

    Source code(tar.gz)
    Source code(zip)
    rymdport-v3.0.0-freebsd-amd64.tar.xz(3.83 MB)
    rymdport-v3.0.0-freebsd-arm64.tar.xz(3.40 MB)
    rymdport-v3.0.0-linux-amd64.tar.xz(3.84 MB)
    rymdport-v3.0.0-linux-arm64.tar.xz(3.41 MB)
    rymdport-v3.0.0-macOS-amd64.zip(5.14 MB)
    rymdport-v3.0.0-macOS-arm64.zip(8.15 MB)
    rymdport-v3.0.0-windows-amd64.zip(5.20 MB)
  • v2.3.1(Sep 16, 2021)

  • v2.3.0(Aug 11, 2021)

    Description:

    This release features a lot of fixes and improvements, but most importantly, it also features release binaries for FreeBSD and macOS (M1) on the arm64 architecture.

    About macOS arm64 (M1) binaries

    The current arm64 are not signed, meaning that users need to turn off apple quarantine attribute for gatekeeper to be able to start them. See fyne-io/fyne-cross#39 (comment) for more information about this issue. The best solution would be to have the application available in the macOS App Store but this has not been possible due to lack of funding for an Apple Developer Account. Consider supporting the project on GitHub Sponsors if this is something that you want to happen.

    Changelog:

    • Added support for receiving from custom codes (sending will be in the next big release)
    • Fixed received data not showing until after download completes, #17.
    • Fixed a possible incorrect error that could happen when a text receive failed.
    • Fixed an issue with the project module structure that made it impossible to download using go get or go install.
    • Slightly faster application startup time.
    • Fix issue with send items sometimes not being unselected correctly.
    • Very minor performance improvement for receives.
    • Avoid hardcoded defaults for advanced settings. We now use the defaults from ẁormhole-william directly instead.
    • Release binaries are now available for FreeBSD and macOS (M1) on the arm64 architecture.
    • Release binaries for macOS are now called that instead of darwin for clarity.
    • Release binaries are now built with Go 1.16.7.
      • Fixes a couple security issues and contains a few bug fixes.
    • Updated compress to v1.13.3.
      • Better and faster zip compression and decompression (brings faster directory sends and receives).
    • Updated fyne to v2.0.4.
      • The title bar on Windows 10 now matches the system theme (light or dark theme).
      • Fixed the Windows 10 notifications view showing the text "app-id" as application name.
      • Fixed a couple issues when running in fullscreen.
      • Improved performance when drawing transparent rectangles or whitespace strings.
    Source code(tar.gz)
    Source code(zip)
  • v2.2.2(May 7, 2021)

  • v2.2.1(May 2, 2021)

    Description:

    This is just a small release to bridge the gap until the next major release. Among the noticeable changes are fixes for compiling on the recently released FreeBSD 13 and text wrapping being enabled for the text send/receive windows.

    Changelog:

    • Fixed text wrapping being disabled for the text send/receive windows.
    • Updated fyne to v2.0.3.
      • Fixed compilation on FreeBSD 13.
      • Fixed an issue when clicking links on macOS.
      • Improvements and fixes for text selection.
      • A few minor performance improvements.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-v2.2.1-darwin-amd64.zip(4.78 MB)
    wormhole-gui-v2.2.1-freebsd-amd64.tar.gz(4.72 MB)
    wormhole-gui-v2.2.1-linux-amd64.tar.gz(4.71 MB)
    wormhole-gui-v2.2.1-linux-arm64.tar.gz(4.39 MB)
    wormhole-gui-v2.2.1-windows-amd64.zip(4.66 MB)
  • v2.2.0(Mar 15, 2021)

    Description:

    The next major release, v2.2.0, is now out. Most notably, this release replaces mholt/archiver with a custom zip extractor for faster directory receives and smaller binaries, adds settings for controlling advanced wormhole client options and a lot of smaller bug fixes. This release also incorporates the initial support for building on Apple M1 computers (release binaries for that architecture are currently not available).

    Release binaries are now built with Go 1.16 for better security on Windows and even smaller binaries. This means that the release binaries no longer support 10.11 El Capitan and instead require 10.12 Sierra or later.

    Changelog:

    • Replace mholt/archiver with a custom zip extractor using klauspost/compress/zip.
      • Binaries are about 0.5 MB smaller due to not including unused compression standards.
      • Improved performance when receiving directories.
    • Added advanced settings for the wormhole client.
      • Support for changing the default AppID, Rendezvous Server URL and Transit Relay Address used for transfers.
    • Improved error handling for receives.
    • Improved memory usage when when receiving text.
    • Fixed files not being closed if send failed to start.
    • Fixed main window being unresponsive when sending text.
    • Fixed sent/received text staying in memory until the next send/receive.
    • Updated wormhole-william to v1.0.5.
    • Updated fyne to v2.0.1.
      • Improved refresh and resizing of dialogs.
      • Initial support for building on Apple M1 computers (arm64).
      • Fixed some buttons not showing hover effects.
      • Fixed progress bars not having correct background.
      • Fixed pointer and cursor misalignment when typing text.
      • Fixed possible panic when selecting text.
      • Fixed cursor animation sometimes distorting the text.
    • Release binaries are now built with Go 1.16.2.
      • Binaries for macOS no longer support 10.11 El Capitan and instead require 10.12 Sierra or later.
      • Windows binaries are built with ASLR support for improved security.
      • All binaries are now smaller due to using an improved linker.
      • Small performance improvements and other minor changes.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-v2.2.0-darwin-amd64.zip(4.77 MB)
    wormhole-gui-v2.2.0-freebsd-amd64.tar.gz(4.71 MB)
    wormhole-gui-v2.2.0-linux-amd64.tar.gz(4.71 MB)
    wormhole-gui-v2.2.0-linux-arm64.tar.gz(4.39 MB)
    wormhole-gui-v2.2.0-windows-amd64.zip(4.66 MB)
  • v2.1.0(Feb 20, 2021)

    Description:

    The major new version 2.1.0 is now releasing as a massive new release. The highlights include an entirely new receive tab, a redesigned settings tab, improved notifications and a bunch of other fixes and improvements throughout the whole application. These changes should lead to a much better user experience going forward.

    image

    Changelog:

    • Major rework of the receive tab to use progress bars.
      • Dialogs are no longer used to indicate finished receives.
    • Redesigned settings tab to use a more modern layout.
      • The component slider setting now displays the currently selected number.
      • Fixed a bug where the component length slider did not have distinct steps.
      • Added a setting to allow existing files to overwritten (disabled by default).
    • Multiple improvements to the text send and receive windows.
      • Opens faster by only being created once instead of on each send/receive.
      • Clicking CTRL + SHIFT in the send window now starts the send.
      • Tab characters are now displayed correctly (bug fix in fyne).
      • Buttons now use better wording and better icons.
    • Some small performance improvements for send and receive of files and directories.
    • Receives are now properly rejected instead of just not being downloaded.
    • Better notification handling by indicating success and fail for both sends and receives.
    • Copying the code of a sent item is now slightly faster.
    • Fixed an issue where existing files could be overwritten.
    • Fixed a couple possible race conditions on sending data.
    • Fixed an issue that prevented enter on the numpad from starting the receive.
    • Fixed an issue where file extensions would be displayed as . when waiting for data.
    • Fixed a bug that caused the window to not be able to shrink to the correct smallest size.
    • Multiple other code cleanups, restructurings and minor fixes.
    • Added an appstream metadata file for Linux and BSD systems (installed via make install).
    • Updated fyne to v2.0.0.
      • The tabs are now animated to be more responsible on change.
      • Buttons now show an animation on tapped.
      • Theme changes and other improvements to styling.
      • Multiple smaller performance optimizations for widgets.
      • Improved scaling on HIDPI displays.
    • Release binaries are now built with Go 1.14.15.
      • A security fix for crypto/elliptic and a few smaller bug fixes.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-v2.1.0-darwin-amd64.zip(5.79 MB)
    wormhole-gui-v2.1.0-freebsd-amd64.tar.gz(6.94 MB)
    wormhole-gui-v2.1.0-linux-amd64.tar.gz(6.93 MB)
    wormhole-gui-v2.1.0-linux-arm64.tar.gz(6.48 MB)
    wormhole-gui-v2.1.0-windows-amd64.zip(5.55 MB)
  • v2.0.2(Jan 18, 2021)

    Description

    This is an intermediate release before 2.1.0 which backports some of the bug fixes onto the stable branch.

    Changelog:

    • Fix a bug that prevented folder send to work on Windows.
    • Fix an issue where the ui would become unresponsive on dismissing text send.
    • Fixed a bug where the application could crash on typing an incorrect code.
    • Sending large files, folders or text will no longer slow down the ui.
    • Updated fyne to v1.4.3.
      • Fix an issue with notifications sometimes not showing on MacOS.
    • Release binaries are now built with Go 1.14.13.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-v2.0.2-darwin-amd64.zip(5.74 MB)
    wormhole-gui-v2.0.2-freebsd-amd64.tar.gz(6.89 MB)
    wormhole-gui-v2.0.2-linux-amd64.tar.gz(6.88 MB)
    wormhole-gui-v2.0.2-linux-arm64.tar.gz(6.44 MB)
    wormhole-gui-v2.0.2-windows-amd64.zip(5.53 MB)
  • v2.0.1(Dec 10, 2020)

    Description:

    This release adds in some initial fixes over the major 2.0.0 release while now also providing release binaries for freeBSD/amd64.

    Changelog:

    • Binaries for freeBSD/amd64 are now available on the release page.
    • Corrected the icon for the receive tab.
    • Updated fyne to v1.4.2.
      • Dialog shadow does not resize correctly sometimes.
      • Possible crash when minimising app on Windows.
      • File chooser ignores drive Z on Windows.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-v2.0.1-darwin-amd64.zip(5.77 MB)
    wormhole-gui-v2.0.1-freebsd-amd64.tar.gz(6.92 MB)
    wormhole-gui-v2.0.1-linux-amd64.tar.gz(6.91 MB)
    wormhole-gui-v2.0.1-linux-arm64.tar.gz(6.46 MB)
    wormhole-gui-v2.0.1-windows-amd64.zip(5.55 MB)
  • v2.0.0(Nov 9, 2020)

    Description:

    This is a monumental new release that improves upon almost every part of earlier versions. It has a whole new theme thanks to fyne v1.4.0, support for sending folders, a new UI for showing sends and receives along with a lot more. Binaries for linux/arm64 are now included as part of the release binaries. Binaries for freeBSD will be available with the next release.

    image

    Changelog:

    • Massive rework and rewrite of code to simplify and make it more maintainable.
    • Use new list widget with custom layout for showing sends and receives.
    • Show a button for copying the send code. See #3 for more information.
    • Show an icon for each file, folder, or text snippet that is sent.
      • Includes MIME type and extension information.
    • Big UI refresh thanks to new theme rework in fyne v1.4.0.
    • Added support for sending and receiving folders.
    • Sending files now properly closes them afterwards.
    • Fixed a bug that caused component length to not be saved between application restarts.
    • Switch to adaptive theme by default.
      • Will changes depending on dark/light mode on windows 10 and macOS.
    • Added folder picker for selecting a downloads directory.
    • Multiple performance and memory improvements.
      • Sends and receives are reusing the same wormhole client instead of creating a new one each time.
      • Dialogs are now created once and then shown when appropriate (not when showing errors).
      • Themes are no longer checked too many times on startup.
      • Using less goroutines and channels internally.
    • The Makefile now supports uninstalling too (for Linux and BSD).
    • Release binaries are now built for linux/arm64 as well.
    • Add initial build and package support for BSD.
      • The next big release will have binaries for freeBSD/amd64.
    • Updated fyne to v1.4.0.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-v2.0.0-darwin-amd64.zip(5.77 MB)
    wormhole-gui-v2.0.0-linux-amd64.tar.gz(6.91 MB)
    wormhole-gui-v2.0.0-linux-arm64.tar.gz(6.46 MB)
    wormhole-gui-v2.0.0-windows-amd64.zip(5.55 MB)
  • v1.3.0(Sep 15, 2020)

    Description:

    A new big release with a lot of fixes, features changes and improvements for the better.

    Changelog:

    • Refactored code to simplify and be more maintainable.
    • Added support for sending notifications on send and receive.
      • Can be turned on in settings.
    • Added an about page with logo and version number.
    • Added build scripts and .desktop file for Linux packaging.
    • Added a new fancy way of displaying text files.
      • Support for saving text to a file on receive.
      • Support for copying all text to clipboard on receive.
    • Make sure that sending text updates progress too.
    • Changed arrow down icon to download icon.
    • Make file saves more reliable.
    • Release binaries are built using fyne-cross v2.2.0.
      • Now built with Go 1.13.15.
    • Updated wormhole-william to v1.0.4.
    • Updated fyne from v1.3.1 to v1.3.3.
      • Brings a bunch of bugfixes and favourite icons in file picker.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-darwin-amd64.zip(5.19 MB)
    wormhole-gui-linux-amd64.tar.gz(5.61 MB)
    wormhole-gui-windows-amd64.zip(4.99 MB)
  • v1.2.0(Jun 25, 2020)

    Description

    The third release adds a lot of useful changes to make the application more usable day to day.

    Changelog

    • Fixed text transfer between devices.
    • Only set the max value for progressbars once.
    • Add support for receiving on pressing enter/return.
    • Added an application icon based on an actual wormhole.
    • Moved out custom widget code to it's own package.
      • Added code copy popup menu on right click to send codes.
    Source code(tar.gz)
    Source code(zip)
    wormhole-gui-darwin-amd64.zip(5.17 MB)
    wormhole-gui-linux-amd64.tar.gz(5.59 MB)
    wormhole-gui-windows-amd64.zip(4.97 MB)
  • v1.1.0(Jun 24, 2020)

  • v1.0.0(Jun 23, 2020)

Owner
Jacob
Open source philanthropist, privacy advocate, Linux user and amateur photographer. Computer Science student.
Jacob
🐑 Share files at once

?? share Share files at once Getting started Step 1. Install go install Step 2. Set your account Create these environment variables. export CH

E99p1ant 4 Nov 9, 2022
Personal tool used for transfer files between servers.

transfer Personal tool used for transfer files between servers. Usage: transfer [global options] <verb> [verb options] Global options: -h, --

BugWriter 0 Jan 5, 2022
oDrop, a fast efficient cross-platform file transfer software for server and home environments

oDrop is a cross-platform LAN file transfer software to efficiently transfer files between computers, oDrop is useful in environments where GUI is not available.

Flew Software 16 Jun 4, 2022
Handshake Query is a cross-platform library to trustlessly resolve and verify Handshake names using a p2p light client

Handshake Query ⚠️ Usage of this library is not currently recommended in your application as the API will likely change. Handshake Query is a cross-pl

Impervious Inc 8 Dec 22, 2022
proxyd proxies data between TCP, TLS, and unix sockets

proxyd proxyd proxies data between TCP, TLS, and unix sockets TLS termination: Connecting to a remote application's unix socket: +---------+

Hayden Parker 17 Nov 9, 2022
🖥 Securely transfer and send anything between computers with TUI.

??️ Securely transfer and send anything between computers with TUI. Installation ways

Abdfn 199 Dec 21, 2022
Transfer - A simple go application for uploading, downloading and checksumming of files

Transfer This project holds a simple go application for uploading, downloading a

Florian Bauer 2 Aug 18, 2022
An experimental project to build a framework for naming and sharing files and other data securely

Upspin Documentation: upspin.io About the project Upspin is an experimental project to build a framework for naming and sharing files and other data s

Rohan 0 Oct 20, 2021
Distributed File Store Application Consist of API Server to handle file operations and command line tool to do operations

Filestore Distributed File Store Application Consist of API Server to handle file operations and command line tool to do operations (store named binar

null 0 Nov 7, 2021
Simple temporary file upload and transfer web application coding with Go language.

Temp File Transfer Web Application Simple temporary file upload and transfer web application coding with Go language. Explore the Golang » Live Demo T

Alper Reha 0 Dec 2, 2022
A web based drag and drop file transfer tool for sending files across the internet.

DnD A file transfer tool. Demo Usage Get go get github.com/0xcaff/dnd or download the latest release (you don't need go to run it) Run dnd Now navig

Martin Charles 20 Dec 16, 2022
Send and receive files securely through Tor.

onionbox A basic implementation of OnionShare in Go. Mostly built as a fun project, onionbox is still a WIP so usage is not guaranteed secure, yet. Ke

Ryan Ciehanski 38 Nov 22, 2022
wholeaked is a file-sharing tool that allows you to find the responsible person in case of a leakage

wholeaked is a file-sharing tool that allows you to find the responsible person in case of a leakage

Utku Sen 749 Dec 25, 2022
Subspace - File sharing application for golang

subspace File sharing application. Supported Platforms OS 386 amd64 arm6 arm64 L

Jim Male 1 Jan 29, 2022
Transfer your local .ENV files for another developer

Zip/Unzip local .env file Transfer your local .ENV files for another developer. for Zip: run in root where .env files ./ziper_local_env created "resu

Фарид 1 Oct 20, 2021
🌧 BitTorrent client and library in Go

rain BitTorrent client and library in Go. Running in production at put.io. Features Core protocol Fast extension Magnet links Multiple trackers UDP tr

Cenk Altı 795 Jan 5, 2023
JuiceFS is a distributed POSIX file system built on top of Redis and S3.

JuiceFS is an open-source POSIX file system built on top of Redis and object storage

Juicedata, Inc 7.2k Jan 5, 2023
transfer.sh - Easy and fast file sharing from the command-line.

Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.

Dutchcoders 13.6k Jan 2, 2023
Easy and fast file sharing from the command-line.

Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.

Dutchcoders 13.6k Jan 2, 2023