Rhilip / RidPT

A Private Tracker System
https://ridpt.top
Apache License 2.0
102 stars 17 forks source link

几个小问题反馈如下 #7

Closed gaoluhua99 closed 4 years ago

gaoluhua99 commented 4 years ago

Describe the bug 1.README.md 里面 第7条里的命令错误 php bin/console server start -d 2.启动好后,本人进行了注册,然后登陆,登陆时候跳转界面无法打开,看咱们提供的关于nginx的配置里面是http,但是跳转自动加上了https。

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

Rhilip commented 4 years ago

目前RidPT仍处于开发阶段,关于你所述的问题

  1. 确实有误,应为 php bin/console server start -d,下一次commit修正;但不是很建议使用 -d 的形式使RidPT在后台运行,更建议使用 Systemctl或者其他守护程序启动。
  2. 登录时有高级选项,默认强制启用了SSL,所以才会出现从http到https的强制重定向。且目前该配置项只能通过修改数据库的方式禁用。https://github.com/Rhilip/RidPT/blob/15a2a151153e80e3d7b017fd8cc1e97f818c4a3d/migration/ridpt.sql#L853 关于默认提供的Nginx配置问题,本人是倾向于较为简单的方式,所以只提供了80端口(http)的监听配置,未提供443端口(https)的监听配置;而数据库迁移文件是随着测试站配置转移的,所以出现了部分不匹配情况,还请理解。 image
gaoluhua99 commented 4 years ago

感谢大侠的回复,按您的提示,对数据库中表site_config中security.ssl_login的参数修改为1,重新启动程序。然后在浏览器中清除cookie,重新进入登录界面,点击Advanced Options,Enable SSL(HTTPS)变成可选 ,取消。 祝大侠开发顺利。再次感谢。

3038922 commented 4 years ago

最近失业.玩起了PT下载..........正在学WEB开发.学的是DJANGO.他这东西原版是前后合在一起的....看着很蛋疼.

Rhilip commented 4 years ago

@3038922 既然失业了,就好好学习择业技能。不要瞎掺和学生作品。

3038922 commented 4 years ago

@3038922 既然失业了,就好好学习择业技能。不要瞎掺和学生作品。

哈哈哈 超过35了 不择业了

Rhilip commented 4 years ago

@3038922 那就认真回复下最初的选型问题吧。 关于Python的实现,Django和flask我在最开始的时候都有做考虑,因为Python是本人最熟悉的后端语言之一。但是两个Python框架,在tracker的地方都会遇到问题,就是info_hash以及peer_id,两者的request对象在获取请求参数的时候,都会把这两个不应该变动的参数给utf-8处理,导致对应字段长度发生变化(这个问题我和issue #1 的作者有过讨论),只能通过对query_string处理进行获取,个人觉得过于繁琐。 那么回到PHP上,一方面又较多的PT框架是使用PHP构建的,很多代码可以直接借鉴。另一方面,在开坑前我就有维护NPHP框架1年多的经历。所以最终,选择了PHP作为后端语言。而PHP框架选型中,我最早倾向的是symfony(目前也有很多的组件来自symfony),但是一开始,我对其security组件有过过多的不理解,而且symfony在国内生态并不如laravel、thinkphp良好,优质中文文档缺失。laravel生态好,但是过于笨重,而且pt的主要部件tracker,所不需要的session组件在laravel中默认启用,影响速度。此外,当时unit3d已有开源,我的朋友中也有在尝试使用laravel做初步模型的(一位未开源;一位目前开源在 https://github.com/endpot/SpiderX-Backend ,虽然他们尝试往go方向转型,但其最关键的tracker代码实现一直未能看到),所以没凑热闹。再后来,基于swoole的mixphp v1框架被看重,作为ridpt的初版。 目前的实现在mixphp v1基础上,引入了较多更为成熟的symfony组件进行替换。在计划中,初版是使用后端渲染主体+ajax请求附加信息 /api/v1 的形式实现。并在路由处给前后端分离留下空间,即 /api/v2 的restful接口。

3038922 commented 4 years ago

@3038922 那就认真回复下最初的选型问题吧。 关于Python的实现,Django和flask我在最开始的时候都有做考虑,因为Python是本人最熟悉的后端语言之一。但是两个Python框架,在tracker的地方都会遇到问题,就是info_hash以及peer_id,两者的request对象在获取请求参数的时候,都会把这两个不应该变动的参数给utf-8处理,导致对应字段长度发生变化(这个问题我和issue #1 的作者有过讨论),只能通过对query_string处理进行获取,个人觉得过于繁琐。 那么回到PHP上,一方面又较多的PT框架是使用PHP构建的,很多代码可以直接借鉴。另一方面,在开坑前我就有维护NPHP框架1年多的经历。所以最终,选择了PHP作为后端语言。而PHP框架选型中,我最早倾向的是symfony(目前也有很多的组件来自symfony),但是一开始,我对其security组件有过过多的不理解,而且symfony在国内生态并不如laravel、thinkphp良好,优质中文文档缺失。laravel生态好,但是过于笨重,而且pt的主要部件tracker,所不需要的session组件在laravel中默认启用,影响速度。此外,当时unit3d已有开源,我的朋友中也有在尝试使用laravel做初步模型的(一位未开源;一位目前开源在 https://github.com/endpot/SpiderX-Backend ,虽然他们尝试往go方向转型,但其最关键的tracker代码实现一直未能看到),所以没凑热闹。再后来,基于swoole的mixphp v1框架被看重,作为ridpt的初版。 目前的实现在mixphp v1基础上,引入了较多更为成熟的symfony组件进行替换。在计划中,初版是使用后端渲染主体+ajax请求附加信息 /api/v1 的形式实现。并在路由处给前后端分离留下空间,即 /api/v2 的restful接口。

我没恶意.我是机器人开发.最近刚开始学WEB开发 也算学生 ,我觉得这个项目挺有意义的.你有QQ群么?

povsister commented 4 years ago

既然被R酱给挂了起来,我还是跳出来说一句吧,基于Laravel的那个PT项目我大概是坑了。目前工作偏云计算开发,go用的比较多,大概有兴趣的话可能会用go写写tracker玩?

再谈到技术选型问题,说实话我不是很认同RidPT目前这块的技术栈,因为造轮子太多了。当初我采用Swoole仅仅是打算用在tracker上,tracker拥有自己的DB和Cache连接池,拥有自己的数据驱动,几乎是完全独立的一部分,设计上只通过数据库和缓存与整个PT框架同步数据,同时通过Laravel command的形式启动,以便在init阶段复用一部分Laravel的轮子。 Web服务原计划还是打算用Laravel自己的组件来写的,还是用php fcgi驱动网页,至于Laravel几个中间件,完全是可选的,甚至我写的那版本tracker,是用Swoole自己的http server,通过nginx做部分路径下的反代来转发tracker流量,完全没有中间件的。

真实情况下,一个PT站点,瓶颈在数据库上,3成来自tracker,6成来自未优化的种子信息检索,1成正常访问。拿蒲公英举个例子,我把检索改成某引擎之后,大概6成tracker,1成访问,以及2成的cleanup

顺带一嘴,之前翻过RidPT的代码,我觉得有必要规避Nexus巨丑陋的两点

  1. 定时触发的清理机制,建议化整为零拆成事件触发,后台队列
  2. 丑陋的数据缓存同步/删除机制,这块我也没太好想法,或者可以尝试无感知的缓存?直接在ORM层做缓存,提供方法强制刷新?线程安全?

总之,现在说这些可能有点晚了。但我还是要说一句,甘地R酱牛逼!

gaoluhua99 commented 4 years ago

既然被R酱给挂了起来,我还是跳出来说一句吧,基于Laravel的那个PT项目我大概是坑了。目前工作偏云计算开发,go用的比较多,大概有兴趣的话可能会用go写写tracker玩?

再谈到技术选型问题,说实话我不是很认同RidPT目前这块的技术栈,因为造轮子太多了。当初我采用Swoole仅仅是打算用在tracker上,tracker拥有自己的DB和Cache连接池,拥有自己的数据驱动,几乎是完全独立的一部分,设计上只通过数据库和缓存与整个PT框架同步数据,同时通过Laravel command的形式启动,以便在init阶段复用一部分Laravel的轮子。 Web服务原计划还是打算用Laravel自己的组件来写的,还是用php fcgi驱动网页,至于Laravel几个中间件,完全是可选的,甚至我写的那版本tracker,是用Swoole自己的http server,通过nginx做部分路径下的反代来转发tracker流量,完全没有中间件的。

真实情况下,一个PT站点,瓶颈在数据库上,3成来自tracker,6成来自未优化的种子信息检索,1成正常访问。拿蒲公英举个例子,我把检索改成某引擎之后,大概6成tracker,1成访问,以及2成的cleanup

顺带一嘴,之前翻过RidPT的代码,我觉得有必要规避Nexus巨丑陋的两点

  1. 定时触发的清理机制,建议化整为零拆成事件触发,后台队列
  2. 丑陋的数据缓存同步/删除机制,这块我也没太好想法,或者可以尝试无感知的缓存?直接在ORM层做缓存,提供方法强制刷新?线程安全?

总之,现在说这些可能有点晚了。但我还是要说一句,甘地R酱牛逼!

go的tracker server github上能找到