Giter VIP home page Giter VIP logo

gazelle's People

Contributors

312c avatar amayirukiarim avatar babkock avatar dependabot[bot] avatar etbusch avatar hhmhhm avatar kuredant avatar ligh7s avatar ops-webhead 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gazelle's Issues

Don't allow users to go past the results page of SphinxSearch

Sphinx will only return so many results as configured by the SPHINX_MAX_MATCHES variable. However, Gazelle will happily let you keep going based on the absolute number of matches in the DB. This creates a jarring interaction for the user.

The user should not be allowed to scroll past the end point, and Gazelle should output a message saying "The first SPHINX_MAX_MATCHES matches are shown." or something to alert users there are more matches than will be shown.

Are there any established plans?

I'm thinking I might be able of sinking a few hours a week into the refactor of this project.

Are there any established short / medium / long term plans?

I set up the vagrant project locally and have been doing some tests to see if it would be viable to move to a PSR4 autoloading scheme, and seems to be decently easy for the time being.

If I had to start this, I would follow http://mlaphp.com/ something similar to that book. I did that in some projects before and turned out great.

https://github.com/TJSoler/Gazelle/tree/develop you can see the kinds of changes I'm talking about on that branch.

Fix passwords being limited to 72 characters

The bcrypt algorithm, which Gazelle uses for password hashes, is limited to only working on the first 72 characters of a string and will throw away the rest.

We should be computing a sha256 hash of the string first which will give us a sring of 64 characters, regardless of the initial string's length.

Rolling this feature out should be accompanied by an advance notice that people who had set a password over the maximum length will not be able to use the full string on the first time they login after this change is in effect.

Client Whitelist

Hello,

I have installed everything and have it all running quite nicely. However, I'm a little perplexed with the Client Whitelist and I'm not quite sure what to add to the Peer ID field.
For example what if I wish to allow all versions of rTorrent or qBittorrent?
Would you be so kind as to give me an example, please?
Currently I have added:

  • -lt

  • -qB

Without much success I am afraid.
qBittorrent Status is simply Not Working
ruTorrent Tracker Status Tracker: [Couldn't resolve host name]

Thanks

Remove jQuery and use vanilla JavaScript

Vanilla JS has gotten to a point where most of the things that Gazelle was leaning on jQuery to provide can now be done there gaining some performance and also removing a dependency. This is especially important as Gazelles uses jQuery v1.8.2 and the path to upgrade this to the latest version would require a lot of work anyway in rewriting various parts of it that it's probably just as beneficial to remove it as much as possible.

This change should be communicated with users that old browsers (4+ years old at least) will lose various bits of functionality and that they either need to live with that or update their browser.

Split Bad / Missing Checksum tag into two separate tags

Right now, for any "bad" log we display the "Bad / Missing Checksum". We want to make this finer grained and show just "Bad Checksum" or "Missing Checksum". If it's a multi-log upload and has a mix, we can display the "Bad / Missing Checksum" tag.

Tracker

I didn't notice a tracker in the codebase what tracker are you guys using?

Give manually created users a starting upload

Right now, any manually created user will have a 0 upload/0 download. These users should be given the same starting upload as everyone else, with maybe a flag to specify that it should be 0/0.

This should be done after #43.

Set maximum limit on number of logs uploaded at once

If you try to upload too many logs at once, the server will reject you. We should set a reasonable upper limit and when we hit that limit, display a notice to the user that after they upload the torrent, they can edit it to keep adding more logs.

Split user upload/download/points into own table structure.

Right now, Gazelle and Ocelot are trying to write to the same row often which causes an infortunate level of deadlocking which while it doesn't prevent Gazelle to operate at this scale, it's not ideal.

These three columns would be spun out from users_main and put into:

users_bandwidth (has upload/download)
users_bonus_points (has bp)

Allow users to purchase profile albums from BP store

The implementation should also include a page to show the history of profile albums as well as the ability to purchase them from an album torrent page as well. On the profile history, users should be able to hide a profile album from view.

Add HTML classes to site log entries

Right now, it styles the logs with a style attribute that sets the color of the text. This isn't great and makes it a real bother to customize these colors on a specific stylesheet.

Move secondary title abbreviations to classes/config.php

The abbreviations of secondary classes to show for the usernames are currently at

$SecondaryClasses = array(
'23' => 'FLS', // First Line Support
'30' => 'IN', // Interviewer
'31' => 'TC', // Torrent Celebrity
'32' => 'D', // Designer
'33' => 'ST', // Security Team
'34' => 'AR', // Archive Team
'36' => 'AT', // Alpha Team
'37' => 'BT', // Bravo Team
'38' => 'CT', // Charlie Team
'39' => 'DT', // Delta Team
);
, but these are things that are generally specific to a site. These should be moved into classes/config.php where they can be defined on a per site basis without requiring an update to the Git repo.

PHP warnings when viewing ajax.php?action=torrent

When visiting the torrent endpoint in ajax, seeing the following warnings:

Code Warning Line
require() Undefined index: hash /sections/ajax/torrent.php:8
torrentid_to_groupid() Only variables should be passed by reference /sections/torrents/functions.php:213
require() Undefined offset: 4 /sections/ajax/torrent.php:52
require() Undefined offset: 6 /sections/ajax/torrent.php:53
require() Undefined offset: 2 /sections/ajax/torrent.php:55
require() Undefined offset: 5 /sections/ajax/torrent.php:56
require() Undefined offset: 3 /sections/ajax/torrent.php:57
require() Undefined offset: 7 /sections/ajax/torrent.php:58

Fix/Remove broken LastFM API Endpoints

The following endpoints no longer exist within Last.FM. We should either find a replacement for them (if possible) or just remove them outright from Gazelle otherwise:

  • artist.getEvents (get_artist_events)
  • tasteometer.compare (compare_user_with)
  • chart.getHypedArtists (get_hyped_artists)

Typo in

Gazelle-master.vagrant\gazelle-setup.sh

Line 116:

su vagrant -c "vendor/bin/phinx migrate"

Should be:

su vagrant -c "vendor/bin/sphinx migrate"

Allow specifying location for where logs are uploaded

Right now, all logs are uploaded to SERVER_ROOT.'/logs. It'd be good to specify this location within config.php in the case that a sysop wants a bit more power on permissions on the directory Gazelle is served out of (ie. no write permissions).

installing problem

i got this problem
http://localhost:8080/

MySQL: Invalid Query: 
				SELECT ID, Name, Level, Secondary
				FROM permissions
				ORDER BY Level SQL error: 1146 (Table 'gazelle.permissions' doesn't exist)
Array ( [0] => Array ( [0] => SELECT ID, Name, Level, Secondary FROM permissions ORDER BY Level [1] => 0.080108642578125 [2] => ) )

installed vagrant with virtual machine on windows

also how i connecting to phpmyadmin?

Add raw post/comment body to API endpoints

The API for Gazelle returns all posts/comments with the bbcode replaced. We should add an additional field to all of these endpoints that returns the post/comment as is, with the bbcode intact.

Fix bug in javascript get_size function

From a bug report on it:

The function returns the size in MB, GB, TB, etc when given the size in bytes, but values less than 1024 return Xundefined (should be 'X B') and values less than 1,048,576 return 'X B' (should be 'X KB').

Improve structure of log folder

Right now, the log folder is structured flat, such that all uploaded logs go into the same folder. While it could hold a ton of logs, it got a bit annoying to ever go into and try and browse.

We should implement a folder system that it limits the number of folders that may ever appear in any given level.

An example of how this might work is taking the torrent id, reversing it, splitting it into chunks of two, dropping the last chunk, and append the torrent id itself:
123456 => 65/43/123456

This would break it up into more manageable chunks if someone wants to poke around the directory while also making sure the folder structure is more balanced (then if the initial id was not reversed).

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.