Open-source, cross-platform, hassle-free file sharing with AES-256 encryption made with Flutter & Dart.

Overview

icon Odin


Open source easy file sharing for everyone.

License: AGPL

Cross-platform hassle-free file sharing with AES-256 encryption made with Flutter & Dart.

Getting StartedRoadmapReleases

Open source easy file sharing for everyone.

Demo
odin_demo.mp4

Built With

Getting Started

To build on MacOS or Windows, please follow these simple steps.

Step 1:

git clone https://github.com/odinapp/odin.git

Step 2:

cd odin
touch .env
echo 'GITHUB_TOKEN=**GITHUB_ACCESS_TOKEN**' >> .env
echo 'GITHUB_USERNAME=**GITHUB_USERNAME**' >> .env
echo 'GITHUB_TOKEN=**GITHUB_TOKEN**' >> .env

These environment variables are required as Odin uses a GitHub Repo to store the uploaded files. You may read GitHub docs to access these secrets.

Step 3:

Follow the instructions here to install Flutter. As Odin uses the stable channel, you need to switch the channel if you are on dev or beta channels. Just type:

flutter channel stable

Step 4:

You should enable the specified platform first if you don't enable it before and then select the desktop device.

# for windows
flutter config --enable-windows-desktop

# for macos
flutter config --enable-macos-desktop

# for linux
flutter config --enable-linux-desktop

Step 5:

To run the app just type these commands in terminal or use the Run and Debug option from your editor of choice.

flutter pub get
flutter run

Roadmap

Roadmap
|-- AES-256 encryption
|-- Online website
|   |-- Upload and share files from any device
|   |-- View encrypted files and download them safely
|-- Upload / Download Progress
|-- File Deletion within 15 hours
|-- Same network direct sharing

If you'd like to propose a feature, submit an issue here.

Releases

Please see the releases tab for more details about the latest release.

Contributing

First off, thanks for visiting Odin's repo and taking your time to read this doc. Any contributions you make are greatly appreciated. Please look at CONTRIBUTING.md for details.

What is Odin?

Odin began as what most projects start as "A weekend project". Originally, we wanted to develop a cross-platform, open-source file-sharing platform that was faster and easier than sharing files over chat services or data cables. We wanted to develop and prototype the project as quickly as possible. The result was an MVP that was ready in just a few hours because we used Flutter.

Fun Fact: The app icon resembles the helmet of the god Odin from Norse mythology. It also resembles a free-flying bird, which indicates our feelings while developing this with Flutter 😊 .

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Contributers

If you made it here, thanks for your support. You can show more support by starring this repo. See ya! 👋

Comments
  • Downloading a file twice from its token results in a crash

    Downloading a file twice from its token results in a crash

    Issue -

    • If a file is downloaded twice from its token, the app crashes while decrypting it and throws AesCryptExceptionType.destFileExists

    Expected -

    • It should rename the second file with a suffix, for ex - (1) or (2).
    bug 
    opened by LiquidatorCoder 0
  • Zipping single files take too much time and blocks UI

    Zipping single files take too much time and blocks UI

    Issue -

    • When sharing a single file, it is first zipped and then encrypted. This zipping is unnecessary and blocks UI.

    Expected -

    • Single files should be directly encrypted without zipping to reduce overall waiting time.
    bug 
    opened by LiquidatorCoder 0
  • The downloaded file doesn't get open using dynamic link on mobile devices

    The downloaded file doesn't get open using dynamic link on mobile devices

    Issue -

    • When the app is opened through a dynamic link, the downloaded files don't open in the native file explorer
    • Also, no toast shows up after download completion

    Expected -

    • A toast should be shown on mobile devices after download completion
    • The downloaded files should be opened in native file explorer
    bug 
    opened by LiquidatorCoder 0
  • Menu button in top bar is not working/showing

    Menu button in top bar is not working/showing

    Issue -

    • The menu button is not visible in Android, iOS & macOS
    • The button doesn't respond on clicking in Windows

    Expected -

    • It should be shown on all platforms
    • It should show a popup menu to display some available settings
    bug 
    opened by LiquidatorCoder 0
  • UI jank when processing multiple or big files

    UI jank when processing multiple or big files

    Issue -

    • While zipping or encrypting (processing) the UI thread gets blocked and the app experiences jank.

    Expected -

    • Processing should be done on a new thread and shouldn't affect the UI thread.
    bug 
    opened by LiquidatorCoder 0
Releases(v0.2.0)
Owner
Odin
Open Source easy file sharing for everyone.
Odin
This project encrypt and decrypt the files using AES 256 cbc mode

College Project A new Flutter project. Getting Started This project encrypt and decrypt the files using AES 256 cbc mode.It has two features i.e encry

null 4 Nov 16, 2022
The XOR Encryption algorithm is a effective and easy to implement method of symmetric encryption.

Symmetric XOR cipher library About XOR cipher XOR Encryption is an encryption method used to encrypt data and is hard to crack by brute-force method,

Plague Fox 7 Apr 20, 2022
Portarius is a free, open-source, cross-platform mobile application that allows you to manage your Portainer sessions.

Portarius [Latin: Porta/Door Arius/Keeper] Features User management See running/stopped containers (and also start/stop and restart them) See containe

Zbe 54 Jan 7, 2023
Cross-Platform Google Drive client with encryption support.

arthurmorgan A Cross-Platform Google Drive client with encryption support. Features implemented Google OAuth2 Upload Files Download Single Files Uploa

Washiul Alam Sohan 45 Aug 14, 2023
Free and open source multi-platform novel reader.

Nacht Free and open source multi-platform novel reader.

Nacht 4 Dec 29, 2022
Open source cross-platform client for popular imageboards: 4chan.org and 2ch.hk

iChan (iOS) and Zchan (Android) Open source cross-platform client for popular im

null 50 Dec 31, 2022
A free open source app made by flutter to learn programming

learnwithme A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Ammar Sallah 8 Oct 31, 2022
A beautiful, secure and simple authenticator app that supports multiple protocols and services. Free and open source. Written in Flutter and Dart.

OpenAuth A beautiful, secure and simple authenticator app that supports multiple protocols and services. Free and open source. Written in Flutter and

Isaiah Collins Abetong 31 Oct 5, 2022
Chance Dart is a free Open Source project that lets you create random strings, integers, and other things to help with tiresome tasks, especially when building automated tests or wherever else you require anything random.

Chance Dart Random generator helper for Dart Homepage • Documentation Overview Chance Dart is a free Open Source project that lets you create random s

Ayotomide 55 Dec 27, 2022
Mildly encrypted package - An encryption client & server for Dart Native + mobile platforms.

TODO: Put a short description of the package here that helps potential users know whether this package might be useful for them. Features TODO: List w

Andrew Stein 0 Jan 9, 2022
A free tool to convert any website into a cross platform native application.

SWAB (Spyxpo Web to App Builder) Convert any website into an iOS/Android/Windows/macOS/Linux app. This is a preview build for testing purposes major u

Spyxpo 7 Jan 1, 2023
A cross-platform Flutter home workout app that respects your privacy. THIS IS A GITLAB MIRROR, file issues and contribute there.

Feeel Feeel is an open-source workout app for doing simple at-home exercises. This is a rewrite of the original app in Flutter, to make development ea

null 27 Dec 26, 2022
Flutter Download Manager is a Cross-Platform file downloader with Parallel and Batch Download support

Flutter Download Manager is a Cross-Platform file downloader with Parallel and Batch Download support. Manage download tasks by url and be notified of status and their progress. Pause, Cancel, Queue and Resume Downloads.

Nabil Mosharraf 11 Dec 17, 2022
Free & Open-Source To-Do App. Built Using Flutter

TaskFlow ⭐️ Free & Open Source To-Do App ⭐️ Features The whole app is FREE, you can add unlimited number of tasks and there are NO ADS. The app is FAS

Imira Randeniya 4 Sep 11, 2022
An ad-free, open-source bus timing app for bus services in Singapore, with goodies.

SGBuskeeper An ad-free, open-source bus timing app for bus services in Singapore, with goodies. Written in Dart, using Flutter. Planned Featureset Fav

Mark J. 0 Dec 17, 2021
The official open source app of the GSDCs of Benin. Feel free to contribute and make this app great for every members

GDSC-Events-Benin The official open source app of the GSDCs of Benin. Feel free to contribute and make this app great for every members ?? Contributor

Junior Medehou 2 Feb 4, 2022
Keyviz is a free and open-source tool to visualize your keystrokes ⌨️ in real-time.

Keyviz Keyviz is a free and open-source software to visualize your ⌨️ keystrokes in realtime! Let your audience know what handy shortcuts/keys you're

Rahul Mula 1.9k Jan 2, 2023
A simple flutter app that downloads a file from the internet, shows a custom-made download progress dialog and saves the file to device's internal storage

http_downloader A simple flutter app that downloads a file from the internet using the http plugin. It has a custom-designed progress dialog which dis

Akora Ing. Debrah Kwesi Buabeng 4 Apr 6, 2021
Speed Share is a highly available file sharing terminal on LAN(local area network) developed by flutter framework.

速享 Language: 中文简体 | English 这是一款完全基于局域网的文件互传终端,速享不使用任何服务器,不使用您的移动流量,不收集任何用户数据,完全的点对点传输。 可以快速共享文本消息,图片或其他文件,文件夹。 适用于局域网中的文件互传,解决 QQ,微信等上传文件会经过服务器的问题,或者

null 477 Dec 31, 2022