torrust / torrust-index-gui Goto Github PK
View Code? Open in Web Editor NEWThis repository serves as the frontend for the Torrust Index project.
Home Page: https://torrust.com
License: Other
This repository serves as the frontend for the Torrust Index project.
Home Page: https://torrust.com
License: Other
After uploading a torrent, you get this error:
[Vue warn]: Invalid prop: type check failed for prop "torrent". Expected Object, got Null
at <TorrentActionCard class="top-8 md:sticky max-w-md" torrent=null onUpdated=fn<reloadTorrent> >
at <[infoHash] onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy(Object) {__v_skip: true} > >
at <Anonymous key="/torrent/1" routeProps= {Component: {…}, route: {…}} pageKey="/torrent/1" ... >
at <Anonymous >
at <RouterView name=undefined route=undefined >
at <NuxtPage>
at <App key=1 >
at <NuxtRoot>
The application tries to navigate to the details URL using the torrent id http://localhost:3000/v1/torrent/1
instead of the info-hash. There is a "TODO":
// TODO: replace torrent_id with info_hash.
function submitForm () {
uploading.value = true;
rest.value.torrent.uploadTorrent(
{
title: form.value.title,
category: form.value.category,
description: form.value.description,
tags: form.value.tags,
file: form.value.torrentFile
}
)
.then((torrent_id) => {
uploading.value = false;
notify({
group: "success",
title: "Success",
text: "Torrent uploaded!"
}, 4000);
navigateTo(`/torrent/${torrent_id}`, { replace: true });
})
.catch((err) => {
uploading.value = false;
notify({
group: "error",
title: "Error",
text: err
}, 4000);
});
}
We have to change the TypeScript wrapper for the backend API:
The backend is already returning the info-hash:
As with any tracker, a RSS feed would be nice to be able to have an easier time grabbing new torrents and seeding them. A separate API key for the feed that's bound to a user and has a long expiration date by default (2mo-6mo) is preferable so as to allow users to just set and forget until the key expires.
Need to add comment section for the posts
Deleting a category also deletes all the torrents in that category. A warning for that should be displayed
User profile section where everyone can see the post of specific user by clicking on his name from the post.
Hello,
Just an idea
Adding a trusted uploaders badge can make the big difference in users when they have multiple post of same series by different uploader.
Thanks
(edit @da2ce7):
(original @ldpr);
i understand the torrent page is getting updated, this is one thing we would find incredibly useful.
here's a quick mockup:
I've made two quick changes here. Currently the torrent page doesn't make it clear what category the torrent is actually in. I've just tossed it in the box here but another way might be displaying it via a breadcrumb in the navbar maybe?
Secondly, we would love to have a second option when uploading torrents. Categories are great, but we'd love to add a second identifier. For example, "Category: Maps, Country France". Clicking on "Maps" would just take you to the Maps Category, but clicking on France would take you to all torrents with the "France" identifier/tag.
Searching works great, but it can be a little daunting to browse as there just aren't enough options to further categorize torrents.
When hovering over the explore tab, a dropdown menu should appear with the following links:
The index supports BitTorrent V1 and all its extensions, but it does not support BitTorrent V2.
for our use case, we'd like to disable magnets as they don't really work well with private trackers. maybe 50% of users run into issues every now and again (not torrust's fault or anything).
conversely, for people that operate public sites, they might like to disable torrent-file downloads and rely on magnets instead like most public indexers do.
closed by #67
Allow to set up your certificate to server the API using HTTPs.
NITRO_SSL_CERT
, NITRO_SSL_KEY
storage/tracker/
├── lib
│ └── tls
│ ├── localhost.crt => /var/lib/torrust/index-gui/tls/localhost.crt [user supplied]
│ └── localhost.key => /var/lib/torrust/index-gui/tls/localhost.key [user supplied]
└── log => /var/log/torrust/index-gui (future use)
These tasks require changes in the Containerfile
and/or entry_script_sh
.
Only admins should be able to create external uri lockups, for example, external hosted images.
All user defined uri lockups should be proxied through the back end.
Need to add a option using which we can let user describe if it is 18+ content
Advance user like this
The Readme file for the Torrust Index Frontend needs a complete overall. Make it very professional, clear, and and approachable. The current version feels like it is yelling at the reader. :(
(edit @da2ce7)
(original: @BelieveInBunny ):
Torrust needs at least one administrator account. On first boot it should show an install wizard to create an admin account and to set the tracker/website config.
On the nuxt-3 branch.
# npm audit report
json5 2.0.0 - 2.2.1
Severity: high
Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
fix available via `npm audit fix`
node_modules/json5
undici <=5.19.0
Severity: high
Regular Expression Denial of Service in Headers - https://github.com/advisories/GHSA-r6ch-mqf9-qc9w
CRLF Injection in Nodejs ‘undici’ via host - https://github.com/advisories/GHSA-5r9g-qh6m-jxff
fix available via `npm audit fix`
node_modules/undici
vite 3.0.2 - 3.2.6
Severity: high
Vite Server Options (server.fs.deny) can be bypassed using double forward-slash (//) - https://github.com/advisories/GHSA-353f-5xf4-qw67
fix available via `npm audit fix`
node_modules/vite
webpack 5.0.0 - 5.75.0
Severity: high
Cross-realm object access in Webpack 5 - https://github.com/advisories/GHSA-hc6q-2mpp-qw7j
fix available via `npm audit fix`
node_modules/webpack
4 high severity vulnerabilities
To address all issues, run:
npm audit fix
Nice to have an option to disable Registration or only with invite code. Or Admins can add Users Accounts.
Related to: #9
Adding tags might be a good idea for the last version (not current)
In Firefox/Chrome console:
Uncaught TypeError: Erreur lors de la résolution du spécificateur de module « vue ». Les spécificateurs de module relatifs doivent commencer par « ./ », « ../ » ou « / ».
I also tried bundling from source, but npm i; npm run build
did not produce a dist
folder. I know nothing about "frontend" development so i don't know if that's normal, but that's not what's written in the docs.
PS: Is there an IRC/XMPP channel to get in touch and contribute?
Small Feedback button in case poeple find issue, they can report
Allowing users to create pages using markdown
it will be a good idea if it is easy to do
Could be done using the config.toml in the backend (add an option in the settings page)
related to: #3
Can be None
, Required
or Optional
.
it will be a good idea if it is easy to do
When you run the linter, you still see these warnings:
$ npm run lint
> lint
> eslint --ext ".ts,.js,.vue" --ignore-path .gitignore .
/home/josecelano/Documents/git/committer/me/github/torrust/torrust-index-frontend/components/Markdown.vue
2:22 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/home/josecelano/Documents/git/committer/me/github/torrust/torrust-index-frontend/components/form/FormInputText.vue
12:21 warning The "update:modelValue" event has been triggered but not declared on `defineEmits` vue/require-explicit-emits
✖ 2 problems (0 errors, 2 warnings)
defineEmits
The current documentation on torrust.com is deprecated. We should write the documentation for the new version.
torrust.com will be replaced by a new site that will not contain the technical documentation for this repo. I would suggest creating the documentation in this repo in a docs folder with markdown or the README file if it's not ample for now.
An option to "pin" certain torrents would be fantastic.
For example, we currently have "most popular" & "most recent". If we could have a third named "featured" or similar, and have it consist of only torrents that are tagged/pinned. This would be helpful to us as we could draw attention to certain torrents that might otherwise get drowned-out.
The current settings page is too general and too big. It should be split up in smaller specialized settings pages.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.