Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "Bandwith hero proxy" data saver in settings #365

Open
7 tasks done
ghost opened this issue Feb 18, 2025 · 0 comments
Open
7 tasks done

Add "Bandwith hero proxy" data saver in settings #365

ghost opened this issue Feb 18, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@ghost
Copy link

ghost commented Feb 18, 2025

Describe your suggested feature

Describe your suggested feature

https://bandwidth-hero.com/
It optimize the images without quality loss but the user have to create there own servers..We can create servers in vercel, netlify, heroku,etc..

This feature.is also available in TachiyomiSy..
You can follow this ti get the basic idea about the code..

https://github.com/jobobby04/TachiyomiSY/blob/master/app/src/main/java/eu/kanade/tachiyomi/data/saver/ImageSaver.kt

Yes. It is actually very simple to host bandwidth-hero-proxy in server. If you think about server cost you don't have to worry since there are many platforms which gives you free services and those are enough for compressing images. I would like the users to host on vercel.app. Hobby is free and the limit is pretty much higher about 1million request per month, which is absolutely fine if you are going to use only for this app.

I know that this is not a direct fork of TachiyomiSY but this particular feature makes a huge difference for low data users like me. So, I hope that it will be implemented in the next update.

You can deploy this repo https://github.com/Yonle/bandwidth-hero-proxy

Add vercel.json

{
  "version": 2,
  "name": "vercel-bhero-test",
  "builds": [
    { "src": "server.js", "use": "@vercel/node" }
  ],
  "routes": [
    { "src": "/(.*)", "dest": "/server.js" }
  ],
  "regions": ["bom1"]
}

You can set region as you like.
Remember vercel does not support cluster so you have to simply avoid creating cluster then
server.js becomes like this

#!/usr/bin/env node
'use strict'
const app = require('express')()
const authenticate = require('./src/authenticate')
const params = require('./src/params')
const proxy = require('./src/proxy')

const PORT = process.env.PORT || 8080

app.enable('trust proxy')
app.get('/', authenticate, params, proxy)
app.get('/favicon.ico', (req, res) => res.status(204).end())
app.listen(PORT, () => console.log(`Listening on ${PORT}`))

You will surely see the difference..😁😁

Other details

No response

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
  • I have written a short but informative title.
  • If this is an request for a feature in the original Tachiyomi, I am opening because multiple versions of Yōkai have been released without this feature.
  • If this is an issue with an extension, or a request for an extension, I should be contacting the extensions repository's maintainer/support for help.
  • I have updated the app to version 1.9.7.
  • I have checked through the app settings for my feature.
  • I will fill out all of the requested information in this form.
@ghost ghost added the enhancement New feature or request label Feb 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

0 participants