The thoughts and happenings of Teknik
Auth Tokens for API Access
Back in the day, there used to be Authentication Tokens that you could use when using the API to associate your account with the upload/paste/url. With the change to our authentication system, those dissapeared.
Now I am pleased to announce that they are back! You can visit your Auth Tokens Settings to generate a token. This can be used to access the API instead of OAuth as a simple header Authentication token. You can view more about it on the API Help Page.
Subscriptions, Premium Accounts, and You
Update - Subscriptions are now Live!
Hello all, some exciting updates!
Firstly, after quite some time of thinking, tinkering, and building, I have implemented a new subscription service to handle Upload Storage upgrades, Email Accounts, and any future premium features.
Reasoning for this change? For one, donations do not cover the costs of the server utilization. Both the increase in storage utilization, and bandwidth. I wanted to create a subscription model that both was affordable, but also covered the server costs without having to remove functionality for free users.
This is the new subscription model going forward: Subscription Information
5 GB Storage - Free
10 GB Storage - $0.99 / Month
50 GB Storage - $3.99 / Month
100 GB Storage - $5.99 / Month
1 GB Storage - $1.99 / Month
5 GB Storage - $3.99 / Month
As for Premium Accounts, they will be discontinued. All current Premium users will retain their emails, and upload storage limit will become 10 GB, until they subscribe to any of the subscriptions. This will reset the limits for uploads, and enforce the email subscription requirement for an email account.
As of now, Premium Upgrades via donations are no longer accepted, and subscriptions will become available on December 1st, 2021.
If you have any questions, feel free to shoot us a message!
- Uncled1023
Planned Maintenance for 13-08-2021 @ 8:00am PST - Restored
On Friday, August 13th, starting at about 8am PST, we will be upgrading our storage system. This will require the shutting down of specific services to ensure a clean back-up, and then once the upgrade is complete, restoration from said back-up will take a few hours.
The following services will be down:
I'm sorry for the inconvenience, but the result will be a much better system.
I will be updating this post with new information as the upgrade proceeds.
- Uncled1023
Update 8/13 6:00am PST - Services have been shut down to ensure backup is complete before shutdown.
Update 8/13 11:00am PST - Upgrade has been completed and restore has begun.
Update 8/13 2:00pm PST - Restore is taking longer than expected. Nothing wrong, just taking a long time.
Update 8/13 8:00pm PST - Expecting Day(s), not Hour(s) for full service restoration. Focusing on Email first.
Update 8/14 8:46am PST - Turned on email. You may see missing older emails until they are copied over. But new ones will come in.
Update 8/14 11:52am PST - Turned on Git. All repositories should be available now
Update 8/14 10:40pm PST - Paste & Email has been restored.
Update 8/23 12:00pm PST - All systems have been restored.
Framework updated to .NET Core 5.0
Hi all! It's been a hot minute hasn't it?
Well, i've been off and on upgrading the framework to support .NET Core 3.3, then 5.0. This came with a hurdle of completely changing how the URL routing was handled, so I had to redo that. But it ended up being a blessing cause the new method is much cleaner.
As well, upgraded the Identity Server backend to Identity Server 4. Nothing really new from the user's perspective, but just a lot of under-the-hood improvements.
As well, this will let me iterate and develop faster now that the bumps have been smoothed over.
Looking forward to telling you more about what's in store!
CP is bad, mkay
So you may have noticed that recently uploads were changed to only be available to logged in users. This was due to some bad actors uploading CP w/o accounts and abusing our good will.
Since then, we have gotten assistance from the Dutch hotline against child sexual abuse (https://www.meldpunt-kinderporno.nl/) in the way of having access to their hash checking service API. (https://www.meldpunt-kinderporno.nl/over-ons/hash-database/) This allows us to compare the hashes of uploads to their database to detect child pornography at the time of upload.
This does not change the fact that we record no IP information. The only data being sent to their server is the SHA1 hash of the file uploaded. If a detection is made, no additional information is logged, just the file is not processed.
If you have any questions feel free to send me an email or use the contact page.
- Uncled1023
Changes to Terms of Service and Uploads
Hello All! There are a few changes that have been made that you should be aware of.
Today we changed the terms of service a little bit. You can view the changes made here.
For the most part, we grouped all the services together since they share the same restrictions and clarified some wording.
As well, we have implemented a total storage limit per account for uploaded files. This should not affect most of the users except for a few outliers.
The limits are now 10 GB for basic users, and 50 GB for premium users. If you are currently over your respective limit, your files will not be deleted, and you can still view/download the files. However, you will be unable to upload any more files until you are under the limit. You can view your total storage usage here.
This may change in the future as use cases change, or better storage solutions are created.
- Uncled1023
Service Interruption - 17/11/2019
Earlier today, the server restarted abruptly, causing a database corruption to the Git and Mail Server databases. The data itself was not harmed, but the entire database had to be reinstalled.
The database was successfully reinstalled and all data was restored for the services. All should be good now!
Changes to Git
I have finally gotten the new authentication system to work with the git service.
Some of the changes include:
There is a one time migration step that is required though:
And that should be it!
Teknik v3 Release
Hello all!
Today is the day! I'm pleased to announce the release of Teknik v3.0. This release has quite a few changes, additions, and fixes I hope you will all enjoy.
Let's take a look!
Our biggest overhaul is how Teknik's authentication system works. Teknik now can act as an identity provider (Both OAuth and OpenID Connect). This will allow better integration with 3rd party applications and scripts, as well make it super simple to integrate into additional services.
Due to this major change, the authentication method for accessing the API has changed and the previous Basic Auth method will no longer work. There will be updates soon for the existing tools to support the new authentication system. Until then, the API is open for unauthed users as well.
This has been asked for quite awhile, and it's finally here! Just as with Pastes, you can now set your uploads to expire. This can either be set for your current session, or as a default setting. Uploads are also able to be modified after being uploaded to expire.
There is a new page to view your Service Data, and as well as having it all in one place, you can now delete any previously made Upload, Paste, Shortened URL, or Vault.
Ever make a paste that you wanted to update, or found an error with? Now you can! As long as you make the paste while being logged in, you can edit the paste to your heart's content.
This includes adding line numbers, utilizing a javascript based library (prism) instead of the raw html being generated server side. With the update, some previous pastes may not have their syntax type match correctly. An easy fix is to copy the contents and make a new paste.
With the update to .NET Core, comes performance improvements in just the framework, but also there are many improvements in the backend code to streamline the request pipeline.
One of the biggest draws for people who want to host an instance of Teknik is that it was only usable on a Windows machine. Now with .NET Core, it can be hosted on *nix and Mac OS as well. Each service is also decoupled from the main core code so that you can either make another mail/git interface to hook into, or easily host those services elsewhere.
This, combined with the new identity server, you can run your own hosted version of Teknik, keeping the files and data on your system, while using our authentication. This would allow any Teknik use to utilize your service, but you would be in control of the data.
All of the client side code has been moved to be outside of the .NET code. It's managed using npm and gulp, which should hopefully allow better understanding and contributions from those not familiar with .NET. The HTML templates are still within the core code, but are fairly simple to understand.
We have cleaned up a good portion of the UI. From little things like adding icons and spacing to the nav dropdowns, to added button disabling when an action is taken.
With some of these new features, a couple changes to the services offered have been made.
There are many many bug fixes during the rewrite, as issues were found, and optimizations made.
There will be some caveats with the change:
Thank you all for your continued support, and I hope you will enjoy these new improvements!
Teknik 3.0
Hello all!
So you may have noticed a lull in features for the site in recent months. This is because I've been working on a new version of the site, written in .NET Core! Along with this, there are optimizations, new features, and bug fixes.
Let's take a look at what is coming!
Our biggest overhaul is how Teknik's authentication system works. Teknik now can act as an identity provider (Both OAuth and OpenID Connect). This will allow better integration with 3rd party applications and scripts, as well make it super simple to integrate into additional services.
Due to this major change, the authentication method for accessing the API will change and the previous Basic Auth method will no longer work. There will be an updated help document to show how to interact with the auth system using your scripts and programs.
This has been asked for quite awhile, and it's finally here! Just as with Pastes, you can now set your uploads to expire. This can either be set for your current session, or as a default setting. Uploads are also able to be modified after being uploaded to expire.
This includes adding line numbers, utilizing a javascript based library (prism) instead of the raw html being generated server side. As well, syntax highlighting is
With the update to .NET Core, comes performance improvements in just the framework, but also there are many improvements in the backend code to streamline the request pipeline.
One of the biggest draws for people who want to host an instance of Teknik is that it was only usable on a Windows machine. Now with .NET Core, it can be hosted on *nix and Mac OS as well. Each service is also decoupled from the main core code so that you can either make another mail/git interface to hook into, or easily host those services elsewhere.
This, combined with the new identity server, you can run your own hosted version of Teknik, keeping the files and data on your system, while using our authentication. This would allow any Teknik use to utilize your service, but you would be in control of the data.
All of the client side code has been moved to be outside of the .NET code. It's managed using npm and gulp, which should hopefully allow better understanding and contributions from those not familiar with .NET. The HTML templates are still within the core code, but are fairly simple to understand.
There are many many bug fixes during the rewrite, as issues were found, and optimizations made.
It will be coming when it is damn well ready. Which hopefully will be soon! There will be an initial migration phase that will cause some downtime, especially to user registration/login. This is required to move all the existing accounts to the new authentication system.
There will be some caveats with the change:
Thank you all for your continued support, and I hope you will enjoy these new improvements! If you want to see the current progress, you can look at https://dev.teknik.io/, or if you want to contribute to the new version, you can make a PR to the core
branch of the repository.