Skip to content

EasyTransfer is an open-source, anonymous, encrypted, and easy-to-use E2EE file transfer tool. You only need to visit a simple web page to connect to any device in any network using a device code. 一款免费、匿名、加密且易于使用的 E2EE 文件传输工具。您只需访问一个简单的网页,即可使用设备代码连接到任何网络中的任何设备。

License

Notifications You must be signed in to change notification settings

WCY-dt/EasyTransfer

Repository files navigation

EasyTransfer - Share simply & stay anonymous

GitHub GitHub package.json version

简体中文 | English

👉EXPERIENCE NOW: EasyTransfer

Sample

EasyTransfer is a free, anonymous, encrypted, and easy-to-use E2EE file transfer tool. You only need to visit a simple web page to connect to any device in any network using a device code.

It is built using webRTC and Vue.js, and there is

  • NO need to install any software
  • NO need to register an account
  • NO need to scan QR codes
  • NO need to share URL links
  • NO need to upload files to the server1
  • NO need to worry about the network environment

How to use

  1. Visit EasyTransfer on the two devices where you need to transfer files.
  2. Enter the four-digit device code of any device into the device code input box of the other device and click the connect button.
  3. After waiting for the connection to succeed, you can drag and drop the file to the file area on the web page, or click the file area to select the file. Supports sending multiple files at once.
  4. In the settings, you can customize the STUN server and TURN server, or specify the maximum number of connections.

Notes

  • This project is hosted on a free server. Please do not abuse it.

Self-deployment using free services

  1. Fork this project.

  2. Click the button below to import the entire project into glitch.

    Remix on Glitch

    You can also choose to use the automated deployment script provided by this project. All you need to do is create a new project in Glitch and run the following command in the project's console:

    git config receive.denyCurrentBranch ignore

    Then set up Secrets in GitHub and set GLITCH_GIT_URL to the Git URL of your Glitch project.

    Whenever you push code to the main branch, GitHub Actions will automatically sync the code to the Glitch project.

  3. The changes you may need to make to the code include:

    • IceServers: modify iceServers in ./client/src/stores/connect.js to your own STUN and TURN server addresses;
    • SignalServerUrl: modify VITE_SIGNAL_SERVER_URL in ./client/.env.production to your own signaling server address;
    • You may also need to modify VITE_SIGNAL_SERVER_URL in ./client/.env.development to use a different signaling server address in the development environment to avoid conflicts with the production environment.
  4. Open GitHub Pages and select the gh-pages branch as the source. GitHub Actions will automatically build and deploy.

Self-deployment using Docker

  1. Clone this project:

    git clone https://github.com/WCY-dt/EasyTransfer.git
    cd EasyTransfer
  2. For the signaling server, run in the project root directory:

    docker build -t server-image -f ./Dockerfile .
    docker run -d -p 3000:3000 server-image

    You can modify the exposed port number as needed.

  3. Modify the signaling server address in the client code. In ./client/.env.production, modify VITE_SIGNAL_SERVER_URL to the signaling server address you just deployed.

  4. Modify the STUN and TURN server addresses in the client code. If you have additionally deployed STUN and TURN servers, you can modify iceServers in ./client/src/stores/connect.js to your own STUN and TURN server addresses.

  5. For the client web page, run:

    cd client
    docker build -t client-image -f ./Dockerfile .
    docker run -d -p 80:80 client-image

    You can modify the exposed port number as needed.

TODO

  • Support large file transmission
  • Optimize transmission speed
  • Support photo transmission
  • Support plain text transmission
  • Support parallel transmission

Acknowledgements

  • Thanks to metered for providing free STUN and TURN servers.
  • Thanks to glitch for providing free signaling servers.

Statistics

Thanks to Ruanyifeng for the recommendation!

Stargazers over time

Footnotes

  1. If the communicating peers need to penetrate the intranet, the file may be uploaded to the free TURN server provided by this project. You can avoid this by deploying a trusted TURN server yourself.

About

EasyTransfer is an open-source, anonymous, encrypted, and easy-to-use E2EE file transfer tool. You only need to visit a simple web page to connect to any device in any network using a device code. 一款免费、匿名、加密且易于使用的 E2EE 文件传输工具。您只需访问一个简单的网页,即可使用设备代码连接到任何网络中的任何设备。

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •