An ultra simple and lightweight web app that can convert magnet links into downloadable http stream.
- An extremely lightweight web app with node.js backend which can convert magnet link into direct download links.
- Shows the list of files in case of multifile torrents~select the file to download.
- Mordern web UI anyone can use.
- Clone the github repo using
git clone https://github.com/freakdude-india/magnet2http
- Make sure you have node.js and npm latest version installed. If not then click here to follow installation guide.
- The project should be cloned in
magnet2http
directory, entercd magnet2http
to enter into that directory. - Enter
sudo su
and enter your password to get sudo access, not necessary if you are usingsudo -i
from beginning. - Then enter
npm install
to install required modules. - Enter
node server.js
to run server. - Web UI should be live on
http://localhost:80/
1)Buy a vps with at least 1vcpu+2gb Ram+20gb ssd/deploy on aws,gcp,azure free trial.
2)ssh into the vps and follow all steps mentioned in local installation.
3)Open networking interface in vps control panel and edit firewall rules to allow all TCP requests through port 80 and 443.(Cause we will be deploying this on port 80 and https server will be live on port 443)
4)Install pm2 by npm install -g pm2
command.
5)Execute pm2 start server.js
and pm2 start http-redirect.js
(last one is optional only for https force redirect, may cause deployment issues)
6)Now your server is live and daemonized.
Follow these steps to get free letsencrypt ssl.First add an A
record in your domain registerer's DNS panel pointing to your vps IP.Google it if you don't know how to do it.
1)apt-get install certbot
2)sudo certbot certonly --manual --preferred-challenges=dns -d yourdomain.com
--here replace yourdomain.com
with your actual domain name.
3)now install nano text editor apt-get install nano
.
4)nano server.js
5)const privateKey = fs.readFileSync('/etc/letsencrypt/live/yourdomain.com/privkey.pem', 'utf8'); const certificate = fs.readFileSync('/etc/letsencrypt/live/yourdomain.com/cert.pem', 'utf8'); const ca = fs.readFileSync('/etc/letsencrypt/live/yourdomain.com/chain.pem', 'utf8');
access this part in server.js
and replace yourdomain.com
with actual domain name. Enter ctrl+x
then y
and Enter
.
6)Now again pm2 start server.js
and pm2 start http-redirect.js
and then pm2 save
next pm2 startup
.
Now the webapp should be on https.
Report errors by creating issue here.
Want help to do these
- Add a serach engine to search and add torrents.
- Build a installable desktop package.
- Build installabe android apk.
Email:gogomedia365@gmail.com to join the developement process.