GithubHelp home page GithubHelp logo

pcskys / ikoa-web Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mason1901/ikoa-web

0.0 0.0 0.0 26.5 MB

run ikoa on heroku

License: MIT License

Dockerfile 7.95% Shell 22.82% Python 33.40% CSS 7.58% JavaScript 12.27% HTML 15.98%

ikoa-web's Introduction

ikoa-web

ikoa-web is a third-party app which helps you using iKOA more easily.

Features:

  • The docker image(186MB in total) is based on i386/alpine.
  • Auto upload to google drive after download finished.
  • Show the download and upload progress in web page real-time.
  • Batch downloading.
  • Task Queue
  • Naming IDs with a tag.
  • Forcing https.
  • Comprehensive download statistics data(csv format).
  • Customizing the admin account for logining in the web page.

Prerequisites:

  1. You have google team drive(shared drive).
  2. You can generate the google drive SA(service account) by yourself.

How to deploy:

Click the button below to deploy to heroku using your own heroku account.
Deploy

Tips:

  1. Be careful filling in the "herokuApp" field when deploy the app, otherwise your app can't work properly.
  2. The format of "SA_JSON" field should look like the first line below(delete any spaces between each line,but don't add any line break between each line,then paste it into one line):
    {"type": "service_account","project_id": "xxxxx","private_key_id":"xxxxx",......}  
    {"type": "service_account",\n"project_id": "xxxxx",\n"private_key_id":"xxxxx",......}  x
  3. You can ssh into the server from command line: heroku ps:exec -a yourAppName. See more details
  4. You can update the iKOA version in the folder called fanza(fork the repo first, and replace the iKOA with a newer version,change the repository field in app.json, then deploy your own repo to heroku).
  5. The app will be restarted automatically once every 24 hours continuous running due to heroku's policy. See more details
  6. the format of num ID:"ABC-123" or "ABC-123,abc-124,ABC-125 and more"(comma separated,case insensitive)
  7. the format of cid ID:"abc00123" or "abc00123,abc00124,abc00125 and more"(comma separated,case insensitive)
  8. If you submit many IDs one time, you can put a tag on these IDs, so they can be downloaded under the same folder.(the tag length should be no more than 10 characters, be free to use chinese or japanese name or any other language)
  9. In theory, ikoa-web can upload no more than 1.5TB data to your google team drive per day.

FAQ:

  • Q: Why does rclone failed to upload files to google team drive?
    A: First, You need to config "TEAM_DRIVE_ID" "RCLONE_DESTINATION", "LOG_PATH", "SA_JSON_1", "SA_JSON_2" properly.
        And then check whether the two SA has been added into your team drive as a member with write permission at least(contributor or content manager).
  • Q: What does "codenotenough" mean in the csv file?
    A: It means you need to get a valid "SERIAL_CODE".
  • Q: Can ikoa-web bypass google drive's 750GB per day upload limit?
    A: Yes, This is why you need config two SA.
  • Q: How should I do if I can't config the SA_JSON field correctly?
    A: Check whether the one line json string matches exactly 2374 characters.
  • Q: Why does the app shutdown suddenly before all tasks finished sometimes?
    A: Please create an issue and paste the log.

License

ikoa-web is released under the MIT License

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.