Cross-platform application for easy encrypted sharing of 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.
Issues
  • 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
  • How to setup with custom/self-hosted Wormhole server?

    How to setup with custom/self-hosted Wormhole server?

    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 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 
    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
  • Can't change PassPhrase Length via GUI

    Can't change PassPhrase Length via GUI

    Description:

    Installed the AUR package today. I noticed that the slider for setting PassPhrase Length is broken: it can't be selected by tabbing, nor by clicking. Manually editing ~/.config/fyne/com.github.jacalz.wormhole-gui/preferences.json does work.

    Steps to Reproduce:

    1. Open 'Settings'
    2. Go to 'Wormhole Options'
    3. Try to move the 'PassPhrase Length' slider

    Screenshots:

    Device (please complete the following information):

    • OS: Arch Linux
    • Version: rolling relase
    • Go version: go version go1.17.7 linux/amd64
    • Wormhole-gui version: 2.3.1
    invalid wontfix 
    opened by glitsj16 5
  • Show % progress recipient side (not only sender side)

    Show % progress recipient side (not only sender side)

    Hi, as the CLI version and the sender side in the GUI version display it, could you show the % progress for the receiver side and not only a looping progress bar? Tia.

    enhancement 
    opened by BackSpace54 5
  • Request: prebuilt binaries for 32-bit arm on Linux

    Request: prebuilt binaries for 32-bit arm on Linux

    Wormhole, and especially it's go implementation runs perfectly fine in a plethora of very popular and diferent arm architectures, such as the different Raspberry Pi's version and a lot of Chromebooks that are not arm64.

    Currently, wormhole-gui, only builds for arm64, that is, for ex: the Raspberry Pi 4. That leaves out, for ex:

    • Raspberry Pi Zero : armv6
    • Raspberry Pi 2 : armv7

    Since with Github automations the cost of building for these other arms is the same. Wormhole-william itself, https://github.com/psanford/wormhole-william/releases does it. As well as almost every other go project.

    So I would like to request this for wormhole-gui as well.

    Thanks in advance

    os-linux 
    opened by m040601 5
  • v3.0.0 shows command prompt (v2.2.2 does not)

    v3.0.0 shows command prompt (v2.2.2 does not)

    Description:

    On Windows 10, Rymdport v3.0.0 shows a command prompt when running. v2.2.2 did not do this.

    This isn't a huge thing, and definitely not high-priority, but I suspect it's not intentional since the command prompt doesn't actually do anything. (It doesn't even print text.)

    Steps to Reproduce:

    1. Start Rymdport v3.0.0 on Windows 10.

    Screenshots:

    image

    Device (please complete the following information):

    • OS: Windows
    • Version: 10
    bug upstream-issue os-windows 
    opened by duckinator 4
  • Allow sends and receives to be cancelled

    Allow sends and receives to be cancelled

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

    Sends and receives are currently not cancellable. The support for this did land upstream in wormhole-william a release or two back but there are still a few issues upstream that ideally should be resolved before I feel comfortable implementing this.

    Describe the solution you'd like to see:

    The work from https://github.com/Jacalz/wormhole-gui/tree/timeout should be added in (and rebased against the latest release) once https://github.com/psanford/wormhole-william/issues/53 has been resolved.

    enhancement blocked 
    opened by Jacalz 0
  • Add back support for support for removing sends/receives

    Add back support for support for removing sends/receives

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

    The support for removing sends and receives had been broken for a while and was recently removed (https://github.com/Jacalz/wormhole-gui/commit/742b4d0ce76733bb741cae1f68691cc763a36e02) in preparation for v3.0.0.

    Describe the solution you'd like to see:

    This should be added back as soon as the underlying technical issues have been solved.

    enhancement 
    opened by Jacalz 0
  • 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.

    enhancement os-macos 
    opened by BayLee4 3
  • Add initial mobile support

    Add initial mobile support

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

    Wormhole-gui is only supported on desktop currently due to file handling being a bit more problematic on mobile. Having mobile support is going to make it much easier to transfer stuff between devices And be generally very useful.

    Describe the solution you'd like to see:

    Some initial support for sharing and receiving files and text. Support for directories is going to be more problematic as it is half broken on mobile currently due to issues in wormhole-william.

    enhancement 
    opened by Jacalz 0
Releases(v3.0.2)
  • 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
sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP. (demo)

Mozilla 9.7k May 13, 2022
ThanosDecryptor is an project to decrypt files encrypted by Thanos ransomware.

Prometheus-Decryptor Prometheus-Decryptor is an project to decrypt files encrypted by Prometheus ransomware. Command Arguments Usage of ./bin/promethe

CyCraft 47 May 9, 2022
Cross commerce challenge - Cross Commerce Store Challenge With Golang

Cross Commerce Store Desafio Simples Aplicação ETL Todo o código fonte está cont

Leonardo Gonçalves 0 Feb 13, 2022
The Bhojpur Wallet is a platform-as-a-service product used as a Wallet Engine based on the Bhojpur.NET Platform for application delivery.

Bhojpur Wallet - Data Processing Engine The Bhojpur Wallet is a platform-as-a-service used as a Service Engine based on the Bhojpur.NET Platform. It l

Bhojpur Consulting 1 Feb 2, 2022
Simple, fast and safe cross-platform linear binary stream communication protocol. AES key exchange based on ecc secp256k1

FFAX Protocol 2 dev 简体中文 Welcome to FFAX Protocol v2 Quick start go get github.com/RealFax/FFAX func example() { listener, err := net.Listen("tcp",

Realfax Messenger 15 Mar 21, 2022
A simple and lightweight encrypted password manager written in Go.

Osiris Password Manager A simple and lightweight encrypted password manager written in Go

null 32 Feb 19, 2022
go seof: Simple Encrypted os.File

Encrypted implementation of golang' os.File. It handles WriteAt, Seek, Truncate, etc. Can deal with huge files, random access, etc.

Ed Riccardi 44 May 11, 2021
LightRPC Encrypted reliable components RPC

light LightRPC Multi-protocol encryption RPC Multi-protocol TCP KCP UNIX HTTP MQTT QUIC Encoding JSON MessagePack Protobuf Compress RawData Snappy GZI

Dollarkillerx 8 Mar 14, 2022
🔐 Share end-to-end encrypted secrets with others via a one-time URL

If you use this repo, star it ✨ ?? Share end-to-end encrypted secrets with others via a one-time URL Use to securely share API Keys, Signing secrets,

Sniptt 1.5k May 18, 2022
🔐 Share end-to-end encrypted secrets with others via a one-time URL

If you use this repo, star it ✨ ?? Share end-to-end encrypted secrets with others via a one-time URL Use to securely share API Keys, Signing secrets,

Sniptt 1.5k May 9, 2022
ddlcpad, *Doki Doki Literature Club Plus Asset Decrypter*, is a tool to decrypt the encrypted asset file on the Doki Doki Literature Club Plus. Writing in golang.

ddlcpad 简体中文 What is this ddlcpad is short of Doki Doki Literature Club Plus Asset Decrypter You can decrypt the *.cy file from Doki Doki Literature C

Aimer Neige 17 May 4, 2022
Bare Bones Encrypted File Uploading Service

eggnog Basic file uploading service in Go. Files are XOR encrypted server side, and are only accessible with the key. It's not perfect encryption, but

Daniel 1 Nov 15, 2021
minimal implementation of secured encrypted tcp/ip connection without tls / ssl.

go-secure-transport Demo implementation of secured encrypted TCP connection without TLS / SSL. See ./example for server & client using the transport t

null 0 Dec 15, 2021
An end-to-end encrypted secret messaging service.

Nimie An End-to-end encrypted Anonymous Messaging Service. In a nutshell This service basically empowers you to have short anonymous conversations wit

Meghdut Mandal 0 Dec 17, 2021
Peer-to-peer encrypted message exchange

Constellation Constellation is a self-managing, peer-to-peer system in which each node: Hosts a number of NaCl (Curve25519) public/private key pairs.

ConsenSys Software 372 Apr 6, 2022
Arche - Smart Hybrid Workforce Manager: A system that aims to provide companies an easy to use platform for managing company resources by allowing employees to book company spaces and resources.

Description Smart Hybrid Workforce Manager is a system that aims to provide companies an easy to use system for managing company resources by allowing

COS 301 - 2022 10 May 12, 2022
Build a circular sector polygon feature spanning the angle between two given bearings, a center point and a radius. A pizza piece! 🍕

sectr ?? Build a circular sector polygon feature (pizza piece ?? ) spanning the angle between two given bearings, a radius and a center point. install

Ben 9 Mar 3, 2022
Ethereum 2.0 node multiplexer between consensus and execution

The Minority Client Run the minority client! ~Danny Ryan and/or Tim Beiko As of writing, Ethereum has multiple client implementations, but Geth / go-e

Péter Szilágyi 64 Apr 21, 2022
Akroma GO client - Akroma is an EVM based application development platform (smart-contracts).

Akroma Akroma is an EVM based application development platform (smart-contracts). Akroma will utilize a Masternode system, and build out an Oracle pla

null 2 Apr 22, 2022