ProxiTok
ProxiTok copied to clipboard
The future of ProxiTok / FAQ
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.
Thank you, @pablouser1, you're a rockstar!
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)
Thanks for the update, good luck on fixing the project!
yes thanks for your efforts. I miss my instance
there is no other project like proxitok, YOU, the only one who keep this up. thanks keep redis integrated after rework, pls
Hi Pablouser1, maintain this project as other FOSS facing shutdown and blocking.
Hi, are there any updates to the project? The last commit was 2 months ago, I'm getting kind of concerned about this project.
Me too.
Might be a need to fork the project.
The project is now active again, I've made some changes to the scraper. Please check #224 for more info.
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.