Teknik Blog

The thoughts and happenings of Teknik

Changes to Git

I have finally gotten the new authentication system to work with the git service.

Some of the changes include:

  • No longer having a separate 2-FA for your git, that is managed by the main authentication system and settings here.
  • No longer reliant on having a Teknik email account to utilize git.
  • Near automatic login if you are logged into the auth server.

There is a one time migration step that is required though:

  1. Once you login, it will ask you to link your current account. Use the same credentials as your Teknik Account.

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!


New Authentication System

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.

Expiring Uploads

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.

Content is able to be Deleted

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.

Editable Pastes

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.

New Paste Syntax Engine

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.

Better Performance

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.

Cross Platform Hosting

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.

Easier Contribution

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.

UI/UX Changes

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.

Service Changes

With some of these new features, a couple changes to the services offered have been made.

  1. New accounts no longer will receive a free email address. All existing users can continue using their emails, this only affects new users.
  2. Invite Codes are no longer required for registration.
  3. Uploads for non-registered users have a set expiration of a day.
  4. Premium Accounts will now get an email address when upgraded.

Bug Fixes

There are many many bug fixes during the rewrite, as issues were found, and optimizations made.


What will break?

There will be some caveats with the change:

  • API Access Tokens will no longer work. You will need to update all of your scripts to utilize OAuth/OpenID Connect. This can be done by creating a client within your Teknik Developer Settings, and signing in through that via your script. We may bring back auth tokens in the future, but probably not initially.
  • Some pastes may not have the same syntax highlights as they initially were created with. The id's of the syntax languages will be changing, and not all will match the old ids.

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!


New Authentication System

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.

Expiring Uploads

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.

New Paste Syntax Engine

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

Better Performance

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.

Cross Platform Hosting

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.

Easier Contribution

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.

Bug Fixes

There are many many bug fixes during the rewrite, as issues were found, and optimizations made.


So when is it coming?

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.

What will break?

There will be some caveats with the change:

  • API Access Tokens will no longer work. You will need to update all of your scripts to utilize OAuth/OpenID Connect. This can be done by creating a client within your Teknik Developer Settings, and signing in through that via your script. We may bring back auth tokens in the future, but probably not initially.
  • Some pastes may not have the same syntax highlights as they initially were created with. The id's of the syntax languages will be changing, and not all will match the old ids.

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.

Registration now open for 48 hours [Now Closed]

Hello all!

Registrations are now open for 48 hours!! Feel free to tell others about this great occasion.

This post will be updated when they are closed again.

- Uncled1023

Registration is now Invite Only

All Services now require Registration to use

Hello All,

Due to rampant abuse by non-registered users, I have made the following services now require a registered account to use:

  • Uploads
  • Pastes
  • URL Shortening
  • Vaults

This registration requirement only applies to creating and uploading content to these services. As always, anyone is able to view the content regardless of registration.

As well, I will be opening up registration for a few days without the need for an invite code. This will happen at a random time for 24 hours, so keep a lookout!

Thanks all, and hopefully with this change in policy, we can begin to make these services even better to the core users of the services.

- Uncled1023

p.s: Now that registration is required, I have unblocked TOR access to the services.

Regarding the recent Downtime

Hello All,

The server was down for about 16 hours today due to abuse reports, and the hosting service shutting down network access to the server as they went to bed.

This has now been resolved, but measures will be put into place to help prevent this from occurring again.

As of now, all IPs that host a TOR Exit Node are hereby banned from accessing the Teknik Services. This is due to the rampant abuse by this system.

If you have any issues, or any questions, please shoot us an email or contact us.

Thanks!

  • Uncled1023

Server Migration [Complete]

Hello all!

We will be performing a server migration in the near future. This means that some services will be down for a brief period of time.

I will update this post when it is about to start, and then again once it is done.

Thanks!


4/2/18 12:00 PM PST: Migration has started.


4/2/18 1:00 PM PST: Migration has been completed.

Random Interupted Response Issues Fixed

For the past 9 or so months, there has been a bug on the site that was causing random RST packets to be sent which interrupted file downloads, email syncing, etc.

This issue has now been fixed, so you should no longer see interrupted responses from the server. With this fix, download caching has also been re-enabled to preserve bandwidth.

Invite System has been activated

Today the new invite system for registrations has been activated.

What this means is that in order to register a new account, you will need to input a valid invite code during registration. This can be activated by anyone, and given by anyone. They are one time uses, and they cannot be transferred between users.

As well, if the user that uses an invite code is then banned for doing something stupid, the user that gave them the invite code may also be banned.

I will be giving out invite codes periodically, as well as giving them to users to give away to friends. You can see your current invite codes in your invite settings page.

Let me know if you run into any issues!

edit: I have given every user 1 invite code to start off with. Have fun!

- Uncled1023

Registrations Temporarily Closed

Due to a high influx of spam accounts, registrations have been closed, and spam accounts being removed.

Registrations will remain closed while measures are put in place to prevent spam accounts from being made. This includes both a self-hosted captcha system, and an invite system for new accounts.

All existing accounts will continue to work as normal. Thanks for your understanding!