Albirew/nyaa-pantsu
Albirew
/
nyaa-pantsu
Archivé
1
0
Bifurcation 0
Nyaa.se replacement written in golang
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
Aller au fichier
kilo 5dcd30676f
Janitor (#1728)
* Fix "torrent is being generated" message showing up even when the torrent couldn't be generated

* Add janitor user status

* Remove usage of deprecated HasAdmin() function

* Give Janitors access to mod panel

* Stop using deprecated HasAdmin() function

* Stop using deprecated HasAdmin() function

* Update edit.go

* Update profile.go

* Rollback bad changes, remove redundant email check and stop using deprecated function

* Show every userstatus (member, janitor, banned, mod) in comments

* Return empty status if anonymous

* Show no userstatus for anonymous profile

* Show moderation link to janitors too

* Stop using deprecated HasAdmin() function

* Stop using deprecated HasAdmin() function

* Stop using deprecated HasAdmin() function

* Add Janitor to userstatus select in user edit

* "Janitor" translation string

* didnt mean to commit this change

* rollback wrongfully comitted changes

* rollback commit

* Update CHANGELOG.md

* Fix wrong id for translation

* remove deprecated HasAdmin() function again

* change name of variable used in comment loop for clarity purposes

* visual cue for locked torrents in torrent listing for admins

* add visual cues for hidden torrents in admin torrent listing

* Dont show delete buttons for janitors

* janitor cannot delete torrents

* show block/unblock button in torrent list for janitors instead of delete button

* fix function that didnt get executed

* add ban buttons on userlist & visual cue for banned users

* Fix "user successfully deleted" message showing even if user wasnt deleted

* Add "ban" button, no "delete" button for jantiors

* add "unban" and "ban" translation strings

* add "unban" and "ban" translation strings

* different <form> for ban button

* Update index.jet.html

* add userprofile ban route

* add toggleBan() function, janitors dont need captcha either

* fix panic error when deleting an anonymous comment

* add user_banned_by and user_unbanned_by

* add user_banned_by and user_unbanned_by

* Make ToggleBan() return whether or not the user is now banned

* Add handler for /ban route

* change log filter

* hide locked torrents from regular users

* hide locked torrents from regular users

* hide locked torrent from api search for regular users

* change function to CurrentOrJanitor

* change function to currentorjanitor

* change function to currentorjanitor

* add CurrentOrJanitor function

* fix extra (

* fix extra ) and wrong variable name

* Fix wrong value for janitor user status

* Fix user edit that did not work because of "unique constraint user.emails" error

* only immediately visually update user if user has been updated successfully

* use FindAllForAdminsOrderBy in order to preload users

* create FindAllForAdminsOrderBy that preloads users

* Show username instead of ID in Uploader column in admin panel

* Fix userprofile buttons overflowing at some specific resolutions

* Mods can set users as janitors

* Show ban/unban buttons on userprofile for janitors

* Identical styling for usermenu links and buttons

* dont show ban buttons on other staff

* add ban message through get parameter

* make toggleBan() trigger user update

* Add "user_banned" and "user_unbanned"

* add "user_banned" and "user_unbanned"

* Visual cue for banned user

* banned users can still log in

* visual cue for banned user in  badgemenu

* locked status if banned user on upload

* banned users cannot comment

* Put "banned" text between ()

* add GetCategoryName() to template_test

* add GetCategoryName() that returns full category name from full category string

* Show search content in page title if it exists, or search category if it exists, otherwise shows "Home"

* error message when user uploads an torrent & is banned

* add torrent_uploaded_locked

* add torrent_uploaded_locked

* fix delete definitely button that never appeared

* Show delete definitely button on admin panel index

* admins can undelete a torrent by editing it's status

* Trigger ViewHandler() directly instead of redirecting

* Render the template directly instead of triggering torrent view handler

* bigger usermenu buttons once responsive design kicks in

* make btn-* class non-bold

* Responsive notification page

* visual cue for locked torrents in torrent listing

* Update search.go

* Update search.go

* Update api.go

* Update helpers.go

* Update template.go

* Update torrentParam.go

* remove "hidden" class

* Update search.go

* fix an html error

* Add files via upload

* Update admin.jet.html

* Update index.go

* Update index.go

* Update router.go

* Update torrentParam_test.go

* Update torrentParam_test.go

* fix extra "

* fix bad copypaste

* Update CHANGELOG.md

* Update guidelines.jet.html

* Update CHANGELOG.md

* add Guidelines and Moderation Guidelines

* fix missing commas

* Update torrentlist.jet.html

* Update find.go

* Update stats.go

* Update view.jet.html

* Update index.jet.html
2017-11-14 09:39:39 +01:00
Godeps Torrent Generation on not found error (#1600) 2017-10-21 09:40:43 +02:00
apidoc Fix Api documetation (#1685) 2017-10-18 22:27:55 +02:00
config Increase max torrent per page, fix HTML errors, other fixes (#1723) 2017-11-09 11:53:38 +10:00
controllers Janitor (#1728) 2017-11-14 09:39:39 +01:00
models Janitor (#1728) 2017-11-14 09:39:39 +01:00
public Janitor (#1728) 2017-11-14 09:39:39 +01:00
templates Janitor (#1728) 2017-11-14 09:39:39 +01:00
translations Janitor (#1728) 2017-11-14 09:39:39 +01:00
utils Janitor (#1728) 2017-11-14 09:39:39 +01:00
vendor Torrent Generation on not found error (#1600) 2017-10-21 09:40:43 +02:00
.eslintrc.json Fix most go lint warnings 2017-07-23 15:50:18 +10:00
.gitattributes Update .gitattibutes (#956) 2017-06-07 08:41:16 +10:00
.gitignore Torrent Generation on not found error (#1600) 2017-10-21 09:40:43 +02:00
.htmlhintrc Fix more style issues 2017-07-24 15:03:43 +10:00
.travis.yml On-demand stats fetching (#1621) 2017-10-06 17:06:14 +02:00
LICENSE.md Fix most go lint warnings 2017-07-23 15:50:18 +10:00
Makefile * add makefile for build (#1594) 2017-09-18 17:21:48 +02:00
README.md Torrent Generation on not found error (#1600) 2017-10-21 09:40:43 +02:00
apidoc.json Fix most go lint warnings 2017-07-23 15:50:18 +10:00
header_api.md Fix most go lint warnings 2017-07-23 15:50:18 +10:00
main.go Cacheforpg (#1415) 2017-08-28 09:15:57 +10:00
network.go Remove common package 2017-07-02 16:54:55 +02:00
network_test.go New network test + fix import 2017-07-30 02:16:14 +02:00
package.sh Refine form linked up & edited buildversion to commit hash (#1025) 2017-06-20 10:06:01 +10:00

README.md

nyanpasu~

Nyaa replacement Build Status Go Report Card GoDocCoverage Status

Motivation

The aim of this project is to write a fully featured nyaa replacement in golang that anyone will be able to deploy locally or remotely.

Roadmap

As of August 17th the trello board has been moved to GitHub Projects

The Roadmap will give you an overview of the features and tasks that the project are currently discussing, working on and have completed. If you are looking for a feature that is not listed just make a GitHub Issue and it will get added to the trello board.

You can view the public GitHub Projects board here or click on the "Roadmap".

Requirements

  • Golang golang

Installation

All tested versions of Ubuntu fail to build, use a different OS or docker

  • Install Golang (version >=1.8)
  • go get -u github.com/tools/godep
  • go get github.com/NyaaPantsu/nyaa On Windows, a specific version of GCC is used to build a specific depedency we use The GCC version packaged with msys2 should work

Now proceed to build godep Either use:

  • godep go build Or use this to have the build version in index.html:

  • godep go build -ldflags "-X main.buildversion=$(git rev-parse HEAD)" Or you can build using package.sh (Windows & Linux):

  • ./package.sh

  • Download the DB and place it in your root folder named as "nyaa.db" (You want the merged.sqlite3 database, see the dev IRC for more info)

  • ./nyaa

  • You can now access your local site over on localhost:9999

Usage

Type ./nyaa -h for the list of options.

Systemd

  • Edit the unit file os/nyaa.service to your liking
  • Copy the package's content so that your unit file can find them.
  • Copy the unit file in /usr/lib/systemd/system
  • systemctl daemon-reload
  • systemctl start nyaa

The provided unit file uses options directly; if you prefer a config file, do the following:

  • ./nyaa -print-defaults > /etc/nyaa.conf
  • Edit nyaa.conf to your liking
  • Replace in the unit file the options by -conf /etc/nyaa.conf

Docker

We support docker for easy development and deployment. Simply install docker and docker-compose by following the instructions here.

Once you've successfully installed docker, make sure you have the database file in the project's directory as nyaa.db. Then, follow these steps to build and run the application.

Windows Users If you get "standard_init_linux.go:178: exec user process caused "no such file or directory" download dos2unix and run "dos2unix.exe" on the /deploy/init.sh to convert CR+LF to LF.

# Make sure the project is in here $GOPATH/src/github.com/NyaaPantsu/nyaa
$ cd deploy/
# You may choose another backend by pointing to the
# appropriate docker-compose file.
$ docker-compose -f docker-compose.sqlite.yml build
$ docker-compose -f docker-compose.sqlite.yml up

Access the website by going to localhost:9999.

For postgres, place the dump in the toplevel directory and name it to nyaa_psql.backup.

LICENSE

This project is licensed under the MIT License - see the LICENSE.md file for details

Contributing

Use tabs for css and js files.

Contributing to translation

Please look at /translations/README.md

IRC

#nyaapantsu@irc.rizon.net

#nyaapantsu-dev@irc.rizon.net (Serious buisness only)

Disclaimer

We take no legal responsibility for anything this code is used for. This is purely an educational proof of concept.