Code Monkey home page Code Monkey logo

sqtracker's People

Contributors

0eac avatar cerealkillerjs avatar doomtop avatar echteralsfake avatar kha-kis avatar klaiment avatar nilsjacobsen avatar notlugozzi avatar pluwen avatar smlinux avatar tdjsnelling avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

sqtracker's Issues

[feature request] more clear error message on missing .torrent file

If user fills all the fields of "upload torrent" form but doesn't choose .torrent file in TORRENT FILE selector, then on pressing "Upload" button system would show error message "Could not upload file: Cannot read properties of undefined (reading 'b64')".

This text is a bit misleading for users, please consider changing it for something like "Please choose .torrent file"

[feature request] file browser sorting ammendment

Most torrent clients (not all as i guess) have an option on new torrent creation which is called "optimize file sorting".
When this option is on, distributed files are put in torrent file in correct order, this results in posh presentation in file browser on torrent description page.
If this option is off or if torrent client doesn't have this option at all, distributed files would be put in torrent file in chaotic order, so presentation would be also chaotic.

Please compare:
https://utkonos.org/torrent/771454ea2a1761f146fa6c1c59fa3867b485124e (option is on, great view in file browser)
https://utkonos.org/torrent/21b73153e8405a776e9f9eb3324eb93c63905540 (option if off, file browser is messed up, both folder order and order of files within folders)

Please consider adding an option of additional sorting of file/folder records before presenting them in file browser in torrent description, so the order in file browser would be always correct, regardless of settings in original torrent file.

[bug] problem with using of non-english characters in tags

This torrent https://demo.sqtracker.dev/torrent/0027b9df8f1a7ff500982a65feb7bfe86d4276f1 has the same string as description and tags.

We can see that while description is showing everything correctly, tags are messed up.

Currently:

  1. Tags written in Chinese, Japan and Korean languages are imediately removed upon pressing "Save changes". This means that we will get empty spaces instead of tags and if we will try to edit torrent again there would be just commas.
  2. Tags written in Greek, Persian, Arabic, Russian and French languages are imediately transliterated upon pressing "Save changes".

So for now only English tags could work flawlessly.

Expected:

  1. All tags should be saved correctly, as they are written in their original language.
  2. All tags should be shown correctly on torrent description page, as they are written in their original language.

[bug] category pagination not working

When category has more torrents than can be shown on single page, pagination is not generated correctly and no pages other than first are available.

This can be offshoot of #44 as number of results is also wrong (it shows number which is less than real number of shown torrents).

[research] [draft] embed option in torrent description

This is not a final issue, so if someone's interested in researching - please join me.

Currently sqtracker doesn't allow any embeds in torrent description.
This means you can't add preview in your torrent so user can't familiarize himself with content (watch trailer, listen a song from album and so on) before downloading.
This is overall acceptable but not much user friendly.

I guess it can be solved with additional field in torrent description (named "preview" or something like that) so sqtracker could generate embedded preview from it. This field may be customizable in config (if it's optional to fill, some categories may not require it, some categories may require more than one preview and so on).

Basic flow may be:
0 (pre requirement). System has predefined embed templates for most popular media sharing services.

  1. User enters preview link in new field on torrent upload.
  2. System checks the link to find domain (eq. youtube.com) and content id.
  3. System finds embed template for this domain and fills it with proper content id.
  4. System shows embedded youtube video on torrent description page.
    4a (alternative flow). If system was unable to find a corresponding template, it just shows preview link as an active hyperlink.

Most popular video services:

  1. Youtube (easiest embed)
  2. Vimeo
  3. IMDB trailers

Most popular audio services:

  1. Bandcamp (can have custom domains + no content id in url)
  2. spotify
  3. vk.com

Points to research:

  1. Polish the flow
  2. Finalize the list of video & audio services
  3. Prepare the template for each service with macros instead of content ID

[other] demo instance ammendments

  1. please mention demo server url in readme file, live demo is great thing for software promotion
  2. please create demo admin account as now no one can test admin area before creating own instance
  3. please remove email verification requirement from seeding/leeching, as now it's impossible to verify account, so it makes testing of announcement impossible

[bug] field "email" on Register & Reset password pages is case sensitive

Currently, if user has email like [email protected] and enters [email protected] in "email" field on Reset password page, system replies with error: "Could not initiate password reset: User does not exist" which is pretty misleading.

Moreover, if there's user with registration email [email protected] in DB and another user will enter [email protected] upon registering new account, system would allow him to create new account with this email.

Please consider making email field case insensitive

[bug] incorrect work with non latin letters in torrent file or folder name

Currently neither single file nor folder with non latins characters can be seeded over sqtracker as you simply can't donwload torrent file for it.

Please go https://demo.sqtracker.dev/torrent/fe09d75908ed1ecfab7d29c1b51a1e3eba9ad6d0 and click on "Download .torrent", system will return you ERR_INVALID_RESPONSE on https://demo.sqtracker.dev/api/torrent/download/fe09d75908ed1ecfab7d29c1b51a1e3eba9ad6d0/29bbe1cfa7 instead of torrent file.

This also affects cases when folders contain punctuation marks, but in different way.

Please go https://demo.sqtracker.dev/torrent/4d0ec2d2bdb5b1336fd9d6caa7bbb40fe1503c1d and click on "Download .torrent", system would let you download torrent file, but with incorrect filename without .torrent extencion

[feature request] searching with combined tags

Currently you can only filter your results against single tag: /tags/tagname

Please consider adding ability to combine different tags in search request like: /tags/tagname1&tagname2&tagname3 so search results would contain only torrents which are tagged with all 3 tags at once

This would enrich basic search function and could be also a poweful mechanism for future customisation, as different trackers could have different sets of predefined tags for different types of content (like year, country, genre and so on) and make custom searches like /tags/thriller&2022&canada

RSS Feed Malformed by Magnet Links

The RSS Feed is malformed and causing errors in clients due to = symbols in magnet links.

Failed to parse RSS feed at 'https://testbed.net/api/rss'. Reason: Expected ';', but got '='. (line: 18, column: 83, offset: 1287).

XML Parsing Error: not well-formed
Location: https://testbed.net/api/rss
Line Number 18, Column 83:
        <magneturi>magnet:?xt=urn:btih:0f88246674ac81201ea1c3d8c4e5c906113a686a&dn=RSS%20Test&tr=https%3A%2F%2Ftestbed.net%2Fsq%2Ff8446e2c95%2Fannounce</magneturi>
----------------------------------------------------------------------------------^

Re: #47 perhaps they just be removed entirely?

<magneturi>magnet:?xt=urn:btih:${torrent.infoHash}&dn=${encodeURIComponent(torrent.name)}&tr=${encodeURIComponent(announceUrl)}</magneturi>

[feature request] multilanguage support

Currently all messages in the interface are hardcoded.

Please consider moving all interface messages to separate file so it would be possible to translate interface to other languages.

[feature request] SQ_ALLOW_UNREGISTERED_VIEW logic ammendment

Currently when you set SQ_ALLOW_UNREGISTERED_VIEW to true only torrent pages become visible.
This means that torrent list on main page, categories list page, tags filter list and category torrent list view pages are all unavailable for unregistered users, and this also has negative impact on SEO.

This means you'll see: https://utkonos.org/torrent/771454ea2a1761f146fa6c1c59fa3867b485124e
But you won't see:
https://utkonos.org/
https://utkonos.org/categories
https://utkonos.org/categories/movies
https://utkonos.org/tags/hardcore

Please consider expanding this setting to affect also mentioned pages

[feature request] option to resend activation email

Currently if you for some reason haven't recieved activation email on registration, there's no way to activate your account.

Please consider adding an option to resend activation email.
This could be placed in Profile section or within "Your email address is not yet verified" message in Dashbord.

[feature request] more file browser ammendments

Continues #6 and #16

Please check demo upload: https://demo.sqtracker.dev/torrent/7cdb52fcc18253fae2d1b1e75d877978a938d1ea

Currently:

  1. Root folder name is not shown in file browser, we may only know root folder name by downloading torrent
  2. File browser has both folders and separate files mixed in common alphabetically sorted list which is pretty uncommon for most users

Please consider making so:

  1. Root folder name is shown in file browser on the top (maybe, without option to collapse it)
  2. File browser shows first alphabetically sorted list of folder and then alphabetically sorted list of files

[feature request] /wiki/new - PATH field validation

currently the only correct way to fill PATH field is like "/rules" which would properly generate new page

if user would fill it like "rules" the system would give him error "Could not create wiki page: That is not a valid path". this is a bit misleading since there's nowhere said that PATH should start with / symbol
if user would fill it like "/rules/" the system would create the page (so this adress would be taken) but other fields (TITLE and BODY) would not be saved and the pages would not be available for any alteration through the interface

i guess this could minimize negative user experience:

  • make users fill PATH not from "wiki" but from "wiki/" so "rules" or "rules/old" would become correct way to fill PATH field
  • auto trim / symbol in the end of PATH field if user enters it

[bug] SQ_ALLOW_REGISTER: "open" makes adding new admins impossible

Currently the only way to add new admins is to send invite from start admin account.
But if you set SQ_ALLOW_REGISTER to "open" in your config file, your admin account loses access to invite function making you unable to add new admins.

Please consider making admin invites available for both "open" and "invite" SQ_ALLOW_REGISTER settings.

question and ideas

This tracker looks good. Im wondering how does this support auto uploading bots?

Got some Ideas for your tracker software:

  • Donations ( i use btcpayserver on the same box)
  • Leech bonus. (seed for example 1 tb data and get side wide free leech)
  • Seed bonus (older torrents more points)
  • Support for auto upload bots (curl?)
  • imdb data / tmdb / tvmaze etc... including cover/art/trailers?
  • torrent watcher with rss (add imdb or tvmaze and get a list of torrents currently on site and added to the list when added on site)
  • frontpage customization like a poster overview with new movie/tv torrents (with image/rating)
  • Staff favorite picks
  • Statistics page (chart.js?)
  • Notifications
  • Bonus points transfer between users
  • Irc announce bot (with tags like p2p/rar/unrar/freeleech)

[feature request] tracker rules handling

Currently user can register and get all download privilegies without accepting tracker rules and even without reading rules at all.

Please consider:

  1. Adding checkbox on /register page with text like "I agree to the website rules".
    Checkbox should be disabled by default and registration process should require from user to manually activate it.
    "website rules" phrase should be active link to /wiki/rules/ page opening in a new tab.
  2. Adding the creation of /wiki/rules/ page (and setting it to public access) as a part of initial db migration for setting new instance.

I guess this would fit registration flow of nearly all public & private trackers.

[feature request] autoreplace announcement url upon torrent file uploading

Currently when you try to upload torrent file which contains wrong announcement url; sqtracker sends you error "Could not upload file: Announce URL is invalid"

From UX perspective it seems more useful for uploader that sqtracker in this case should:

  1. remove wrong announcement url from the file;
  2. put correct announcement url from the file;
  3. upload & register torrent without error;
    so user won't have to regenerate torrent file himself.

[feature request] link to torrent description in torrent comment field

Each torrent file has comment field which can be viewed in torrent client.

Currently sqtracker just keeps whatever is written in this field in uploaded torrent file.

Please consider making sqtracker replace any content of this field with URL of torrent description for this torrent.

[feature request] SQ_ALLOW_UNREGISTERED_VIEW / Latest torrents on main page

Please consider also opening "Latest torrents" block on main page for public view for instances where SQ_ALLOW_UNREGISTERED_VIEW is set to true

Currently this block is not shown for unregistered users. This could negatively affect visitor to registration conversion rate, also it's not good for SEO.

[feature request] torrent list ammendments

  1. Please consider adding column with number of downloads in the torrent list which is shown on the homepage and on categories pages.

  2. Please consider making all columns of the torrent list on categories pages sortable.

[feature request] wysiwyg editor in torrent description textarea

Please consider adding any kind of wysiwyg editor in torrent description textarea with an option of switching back to markdown

While markdown looks like good choise for siteops and habitual uploaders, it looks pretty difficult for ordinary, not tech savvy users

test deploy problem

i just wanna do some test without domain, it's seem not able to be deploy without domain, i try to access to my test sqtracker server with IP address only, but it doesn't work :(

[feature request] file extensions blacklist

Please consider adding file extensions blacklist (possibly, as an option in config file) so admin could set which files are forbidden to upload on tracker.

And if someone tries to upload torrent, which includes file with forbidden extension, system won't allow to upload this torrent and would show message that files with such extension are banned on this tracker.

So music/movie torrent trackers could ban all exe/dmg/bat/cmd etc for security reasons, lossless torrent trackers could ban all mp3/wma/aac and so on.

[feature request] [backlog] "ask for reseed" button

This is currently for backlog as it has private messaging system as requirement.

Preconditions:

  • Torrent has 0 seeds
  • User is downloading this torrent

Main scenario:

  1. User enters descrtiption page for this torrent.
  2. System shows him "ask for reseed" button.
  3. User clicks on the button.
  4. System sends PM to all users who had downloaded this torrent in the past with message "your help is needed on seeding %torrentname%, please return to seeding" (or something like this)

Additional flows:

  • Some minimal ratio (1+) for this user may be added as precondition.
  • Exact number of required ratio may be setting in instance config file.
  • Users may have setting in their profile settings to opt out of recieving "ask for reseed" PMs. Some minimal ratio (1+) may also be required to see this button.

[bug] "uploaded" column sorting

  1. User enters any screen with sortable grid
  2. User clicks on "uploaded" column header to sort the grid

Current result: system does nothing (other than adding/removing up&down signs in header)
Expected result: system also shows list of sorted results

Problem with Nginx proxy manager

Hi!
I wanted to use sqtracker, but I already have NPM, so I don't need (and don't want) traefic.
So my docker-compose.yml looks like that:

version: "3.9"
services:
  database:
    container_name: sq_mongodb
    image: mongo:latest
    volumes:
      - ./data:/data/db
    networks:
      - torrent
  api:
    container_name: sq_api
    image: ghcr.io/tdjsnelling/sqtracker-api:latest
    volumes:
      - type: bind
        source: ./config.js
        target: /sqtracker/config.js
    depends_on:
      - database
    networks:
      - torrent
  client:
    container_name: sq_client
    image: ghcr.io/tdjsnelling/sqtracker-client:latest
    volumes:
      - type: bind
        source: ./config.js
        target: /sqtracker/config.js
    depends_on:
      - api
    networks:
      - torrent
networks:
  torrent:
    name: torrent_network

As you can see, I'm not exposing any ports outside, everything is using docker network. NPM is in the same network, and it can reach sq_api and sq_client. But when I try to log in I have error "Could not log in: Failed to fetch"

Any hint, how reverse proxy should be set up to have it working?

[bug] torrent deletion makes filled request inoperable

Currently if you delete torrent which fills some request, this request becomes inoperable meaning it has no link for torrent and no active button to suggest one. This looks like bug.

Check screenshot:
image

Please consider doing so torrent deletion either unfills such request (so users could fill it with new torrent in future) or adds to such request message like "this request was earlier filled with already deleted torrent".

[bug] fast column sorting

  1. User enters any screen with sortable grid
  2. User clicks on "uploaded" column header 10+ times within few seconds

Current result: system redirects to ?sort=created%3Aasc and says "Something went wrong :("
Expected result: system shows list of sorted results on each click

[bug] wiki pages not showing on the main page.

Bug Description:

Newly created wiki pages or old ones, such as /wiki/test, are not appearing in the list of wiki pages on the main page.

Bug Details:

  • Expected Behavior: When a new wiki page is created, it should be automatically included in the list of all wiki pages on the main page.

  • Current Behavior: The newly created pages, like /wiki/test, are not showing up on the main page list.

Steps to Reproduce:

  1. Create a new wiki page, e.g., /wiki/test.
  2. Visit the main wiki page to see if the new page is listed.

Expected Result:
The newly created wiki page /wiki/test should be visible on the main page.

Actual Result:
The new page is not listed on the main page.

[feature request] image upload option

Please consider adding feature of uploading images as default option in torrent upload form.
Currently user has to upload image on some other host and then put it in description through mardown and this is not really user friendly and in future can result in dead image links.

Such feature could be useful for any tracker with any content (for film posters, album covers, software logos, creator photos et c.).

[feature request] wiki pages list in admin area

Currently if you create new wiki page and then forget its url you need to check DB to access this page.

Please consider adding list of existing wiki pages in admin area so they would be easily accessible.

Download files over http(s)

Feature request

I'd love to be able to download specific files from a torrent but not through a torrent but over http(s).

Description

So yeah in short a torrent can have multiple files.
Within your torrent client you can define which files you want to download and which you don't want.
What i'd like to see is that this can also be done through the webbrowser itself so you just have a regular download.

My usecase being that 'torrenting' in general is seemed as illegal activity whereas downloading through the normal web is more acceptable to most endusers. Sure in both cases if the content is illegal you're doomed eitherway, but this saves the hassle of explaining it to the enduser. This makes it more of a download platform than just a torrent/p2p platform.

Options

A couple of options can be implemented:

  1. Download a singular file from a multi-file torrent
  2. Download the content of the whole torrent, but over http (not sure if web-based client-sided programs exist...)

[bug] announcement autoreplace won't work if uploaded torrent have more than 1 announcement server

Follow-up to #5

Currently when user uploads torrent file which has 1 foreign announcement server listed sqtracker automatically replaces this server with proper announcement URL.
And when user uploads torrent file which has 2 or more foreign announcement server listed sqtracker just uploads this file as is and adds/replaces nothing.

Please consider making sqtracker replace all announcement URLs on upload regardless of their quantity with actual URL.

[feature request] request fulfilling with URL

Currently "suggest a torrent" form only accepts infohash to fulfill request.
Even for experienced user it's not obvious what he has to copy and where.
Please consider softening of validation rules, so user could fulfill request with either infohash or URL of torrent page.

[bug] Wrong category highlighted/selected when editing torrent

When you edit a torrent the first category in the drop down menu is selected, not the category which the torrent were originally created with. This creates the issue that if you edit a torrent you have to choose the correct category in the drop down, otherwise the category will be changed to which ever is first in the drop down menu.

Configuring Postfix as SMTP server

Hi,

I'm trying to set up Postfix as an SMTP server; but connection fails and I'm not sure why. It works on the port 25 locally so tryiing to connect in that way. 465 or 587 won't work as well - probably need to install/configure something before I can use those?

Anyway, how can I configure this so that I can get some validation email?

Thanks

[feature request] separate torrent url from infohash

Currently torrent pages have URLs like /torrent/infohash.
As a result torrents cannot be updated, which means that user have to create new torrent on new URL and delete the old one, if he wants to add or alter some files. And this means that all SEO for old URL would be lost and if this URL was linked from external sites, this traffic would also be lost. This disrupts basic flow of public rutracker-style trackers with torrents being updated from time to time (series with new episodes, discographies with new albums and so on) without harming traffic and SEO.

Please consider making URL separate IDs from infohash so users could replace torrents without changing of the URL.

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.