opsnet / gazelle Goto Github PK
View Code? Open in Web Editor NEWLicense: The Unlicense
License: The Unlicense
This would allow users that have set 2FA to still use the ajax endpoints, which is useful.
The implementation for the Request an Edit feature used a hard-coded number for the forum and the user to post the thread as. These should be put into config.php.
The classes/zip.class.php was written back before Gazelle was using PHP 5 and it was necessary. However, it now basically just mimics the builtin Zip class which we should switch to using instead.
Can i run with raspberry pi ? Thanks
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.
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.
Modify bbcode [img]
tag to support gifvy and webm.
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.
Example is the /stats.php?action=users
endpoint
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
Gazelle tries to download the GeoIP database in place of where it's being executed. It should try and download it to the location of wherever sys_get_temp_dir points to.
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.
It'd be nice to fold something like https://greasyfork.org/en/scripts/1024-whutbbcode into the site such that a user doesn't have to remember the BBCode usage exactly, but could click a button to get the 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.
The YADG tool is very useful for uploaders as it allows pulling from multiple sources, and not just MusicBrainz. The tool's source code can be found at https://github.com/SavageCore/yadg-pth-userscript.
I didn't notice a tracker in the codebase what tracker are you guys using?
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.
Right now, Gazelle has the following classes:
This should all be replaced with usage of https://github.com/OPSnet/bencode-torrent which is preferable as it's (a) tested and (b) a single implementation instead of the several Gazelle has.
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.
The torrent action buttons are [ DL | ED | RP | PL]
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)
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.
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.
Should be able to click on a given column and sort it by ascending/descending.
See discussion on old closed PR #5 for implementation details.
The service is no more.
The abbreviations of secondary classes to show for the usernames are currently at
Gazelle/classes/users.class.php
Lines 462 to 473 in aa71218
The autocomplete results in the search bar are not proper links and as such cannot be right clicked to be opened.
Right now, it's hardcoded within Gazelle which is dumb.
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 |
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:
Warning: Undefined index: LockedAccount | /classes/users.class.php:121
This happens when viewing the forum index, the thread list for a forum, or a specific thread.
Gazelle-master.vagrant\gazelle-setup.sh
Line 116:
su vagrant -c "vendor/bin/phinx migrate"
Should be:
su vagrant -c "vendor/bin/sphinx migrate"
We should store user data for upload/download on a daily basis into a table, which we can use to show charts on daily change, monthly change, etc.
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).
We currently have the PHPGansta/GoogleAuthenticator is vendored directly into the classes/
folder in Gazelle. Now that we're using Composer, we should remove this and switch to using the composer package which will help us make sure we're keeping it up to date.
It may be worth switching to sonata-project/google-authenticator library which is more actively maintained.
These tags are shown on the torrents.php pages, but if you go to the user profile, better, artists, bookmarks, etc. these are not shown.
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?
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.
Examples are torrent groups, collages, artists, wiki articles, users, subforums, forum threads.
For posts/comments, we should display the thread/page title and then the post/comment id in parenthesis after.
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').
what are the differences between gazelle-whatcd and this version of gazelle?
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).
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.