ProxiTok icon indicating copy to clipboard operation
ProxiTok copied to clipboard

The future of ProxiTok / FAQ

Open pablouser1 opened this issue 1 year ago • 12 comments

Hi, long time no see!

As you may have already seen, ProxiTok has been in rough shape for quite some time.

Broken stuff

Let's start with the obvious:

  • Only video is working thanks to a PR.
  • Signing does not work
    • Side effect: Videos after the first page do not work

I'm working on the first issue at the moment and I hope that I fix it soon enough.

About signing, I've been trying to make it work but it is not working nicely with SignTok

Dev-related

So, let's address the elephant in the room:

  • There are no docs (there's only PHPDoc on some parts of the code)
    • Maybe a ReadTheDocs?
  • There are barely any tests (the scraper has some but they have to be executed manually)
    • PHPUnit/Pest if sticking with PHP?
  • Docker images are not versioned, only tags are the commit sha and master
  • Code quality can be bastly improved (there are PHP warnings sometimes, usually triggered by TikTok changing stuff, a side effect of no testing but still)
  • Improving communication between me and contributors, instance-hosters and the general users.
    • Stuff like making breaking changes or removing features without warning, which has already happened
    • Address this on releases / make an announcement on the discussions tab?
  • Changing from PHP to x?
    • More on that on the FAQ

I'm prioritazing all of this instead of adding new features at the moment hoping that it would make working on the project easier, both for me and for contributors.

FAQ

Q: Why PHP? / Why not Rust, Go, Typescript...

A: I used PHP because I didn't want to write a scraper by myself so I started searching for already made wrappers on languages I knew how to use, I ended up finding this project which used the old TikTok Api (/node)

When the old api stopped working I had to write a new one anyways, so I sticked to PHP because I didn't want to rewrite the frontend.

I have been considering changing to a more strongly typed language (maybe Go or Typescript?). It would take a good amount of time but it could also be a good oportunity to make stuff right from the beginning.

Q: Why not adding docs/tests/... from the beginning?

A: Mistakes were made. This was my first ever project that had a significant userbase so it was also the first time I had ever implemented unit testing, containerization or even had contributors.

If you have more questions or suggestions about the project you can type them on this issue and I'll be adding them if they are relevant.

pablouser1 avatar Jan 25 '24 14:01 pablouser1

Thank you, @pablouser1, you're a rockstar!

misterpyrrhuloxia avatar Jan 25 '24 15:01 misterpyrrhuloxia

well, anybody knows PHP so it's still a good choice... an alternative may be something with node.js (so you already have the javascript parser integrated for the backend) and you can "compile" it also to work with browser directly, without the needs of a backend. adding versioning on docker is something you can do when you want, but still it's not something really needed (99.9% of users just want latest since previous released are very likely broken due to tiktok changes)

drizzt avatar Jan 25 '24 17:01 drizzt

Thanks for the update, good luck on fixing the project!

mikwee avatar Jan 27 '24 09:01 mikwee

yes thanks for your efforts. I miss my instance

schleussinger avatar Jan 28 '24 14:01 schleussinger

there is no other project like proxitok, YOU, the only one who keep this up. thanks keep redis integrated after rework, pls

rafalohaki avatar Jan 28 '24 18:01 rafalohaki

Hi Pablouser1, maintain this project as other FOSS facing shutdown and blocking.

Raffy-ID avatar Jan 30 '24 15:01 Raffy-ID

Hi, are there any updates to the project? The last commit was 2 months ago, I'm getting kind of concerned about this project.

AlexPewMaster avatar Apr 11 '24 17:04 AlexPewMaster

Me too.

strangersdangers avatar May 21 '24 06:05 strangersdangers

Might be a need to fork the project.

mikwee avatar May 21 '24 08:05 mikwee

The project is now active again, I've made some changes to the scraper. Please check #224 for more info.

pablouser1 avatar Aug 20 '24 21:08 pablouser1

Also, keep in mind that there are still some issues with the current implementation:

  • The library used for spoofing the chromium instances as a regular browser is pretty old and most probably is being detected by TikTok. The scraper should start implementing these spoofing methods independently without having to use external libraries.
  • There are still captcha errors from TiKTok and probably will always be on public instances.

pablouser1 avatar Aug 21 '24 00:08 pablouser1