Gehub

  • About
  • Changelog
  • Apply
Copyright © 2022 CharlesWithC (Gehub)

Gehub

About

We build Drivers Hub, main functions include delivery log / application / event.

One great feature is route replay, that you can see how the drivers reached their destination. (*Telemetry Tracker plugin required)

Click "Apply" on the left and login, enter some basic information, then get your hub operating instantly!


- VTCs chose our service, including the 3rd-largest VTC in TruckersMP - ETS2MCG!


For more information or to contact us, join our Discord server: https://discord.gg/wNTaaBZ5qd


Special Clients đź‘‘

You can check their hub to see how it looks, in the view of a guest.

- ETS2MCG

- At The Mile Logistics

- MD Logistics

- LogĂ­stica Sudamericana

- Prism Logistics

- Global Trucking




For those who have applied but haven't subscribed:

Normal (Monthly)
$11 per month

Normal (Annually)
$110 per year Save 16%

Premium (Monthly)
$16 per month

Premium (Annually)
$160 per year Save 16%

Economic
$6 per month

Economic (Annually)
$60 per year Save 16%




Changelog

v1.11.2
Added requirement to login with discord to revoke specific / all token

v1.11.1
1.Improved application plugin:
i) Added support to per-type webhook
ii) Added support to per-type staff role
iii) Removed reservation for type ID 1~4 (driver, staff, loa, division)
iv) Added note (driver) for config.application_types as a substitute of reservation
2.Improved authentication
i) Added DELETE /token/all endpoint to revoke all sessions
ii) Added DELETE /token/hash endpoint to revoke specific token with sha256 hash
iii) Added GET /token/all endpoint to get all token sha256 hash, ip and timestamp
iv) Added session limit to ensure user have a maximum of 10 active sessions

v1.10.10
Added revoke-all-token when updating password

v1.10.9
Removed regex email validation

v1.10.8
Fixed the bug that application webhook contains words in applicant's language

v1.10.7
1.Removed GET /dlog/newdrivers
2.Removed sort_by_highest_role parameter from GET /members
3.Added order, order_by parameter for GET /members, GET /users
4.Added order parameter for GET /dlogs, GET /applications, GET /announcements

v1.10.6
1.Added support to email & password login
2.Added time-range query for /dlog/stats
3.Added more data for /dlog/stats response

v1.10.5
1.Removed staff_of_the_month and drivers_of_the_month
2.Added roles and sort_by_highest_role parameter for GET /members
3.Added tracker reload when reloading service
4.Added information and copyright in tracker

v1.10.4
1.Added data compression for dlog.detail and application.detail
2.Added upgrade plugin
3.Added version in database settings table

v1.10.3
1.Fixed admin.py bug overwriting original tconfig which causes 500 on GET /admin/config
2.Improved driver & staff of the month and division role detection by adding ',' at the start and end of roles column

v1.10.2
1.Fixed minor bugs
2.Added pagelimit parameter for all list response

v1.10.1
1.Config format update (Use config_upgrade.py in release to upgrade config to v1.10.1)
a) Item name changes

Old Name New Name
vtcprefix vtc_abbr
vtcname vtc_name
hexcolor hex_color
vtclogo vtc_logo_link
teamupdate team_update_image_link
domain apidomain
dhdomain domain
guild guild_id
navio_token navio_api_token
delivery_gifs delivery_post_gifs
bot_token discord_bot_token
team_update_message webhook_teamupdate_message
driver_channel_id welcome_channel_id
welcome_image welcome_image_link
welcome_roles welcome_role_change
division_manager_role webhook_division_message
divisions[].roleid division[].role_id

b) Removed public_news_role and private_news_role in config, merged them to discord_message_content which will be provided in form
c) Merged ranking and rankname to ranks = [{"distance": 0, "name": "", "role_id": 0}]
d) Changes on application system
i) Removed assign_application_role, applicant_driver, applicant_staff, loa_request, human_resources_role
ii) Created application_types (role_id is role to assign to applicant, message is content of webhook message)
iii) id = 1~4 are reserved for special use and must not be changed
e) Added downloads to config.permission
f) Changed all int to str to prevent precision lose

2.Changed GET /token response extra to note
3.Removed driver_of_the_day from GET /dlog/stats (use leaderboard instead)
4.Changed all int response element to str
5.Changed GET /dlog response data to detail
6.Changed GET /dlog/chart addup parameter to sum
7.Changed GET /application response data to detail

v1.9.12
1.Added expense, net_profit column in exported .csv table
2.Updated delivery webhook post

v1.9.11
Added zlib compression for telemetry data (saving ~40% storage)

v1.9.10
1.Changed config.telemetry_innodb_dir to mysql_ext
2.Moved announcement, dlog, division, event, application, auditlog, downloads TABLE to mysql_ext for external storage

A method to move data directory
ALTER TABLE table RENAME TO table_old;
CREATE TABLE IF NOT EXISTS table schema DATA DIRECTORY = '/.../';
INSERT INTO table SELECT * FROM table_old;
DROP TABLE table_old;

v1.9.9
1.Fixed the bug that User ID replaced User Name on /dlog
2.Updated telemetry data encoding method

v1.9.8
1.Updated IP check mechanism
2.Allowed admin roles to be updated with API
3.Added response status code to all error response
4.Improved fault-tolerance (hexcolor) for config

v1.9.7
Added config.perms.hrm who has higher permission than config.perms.hr

v1.9.6
Added config.perms.announcement for announcement permission control

v1.9.5
Added limituser argument for /dlog/leaderboard

v1.9.4
1.Fixed the issue that delivery webhook post would fail when config.delivery_gifs = []
2.Added audit log for PATCH /config and PATCH /downloads
3.Added config.steam_callback_url to redirect to custom frontend page
4.Changed to use official TruckersMP API to get TruckersMP ID with Steam ID
5.Changed query parameter from search to query for GET /members
6.Updated endpoint path (details in table below)
7.Improved fault-tolerance (integar / string) for config (except config.perms)
8.Improved and simplified code structure by using authentication API (in functions.py)

Endpoint Name Old Path New Path
Validate token GET /user/validate GET /token
Request new token GET /user/refresh PATCH /token
Revoke token POST /user/revoke DELETE /token
Reset application token POST /user/apptoken PATCH /token/application
Redirect to Steam OAuth GET /user/steamauth GET /user/steam/oauth
Steam OAuth callback GET /user/steamcallback GET /user/steam/callback
Validate Steam OAuth (connect Steam account) POST /user/steambind PATCH /user/steam
Validate TruckersMP account (connect TruckersMP account) POST /user/truckersmpbind PATCH /user/truckersmp
Get delivery logs GET /dlog/list GET /dlogs
Get delivery log detail GET /dlog/detail GET /dlog
Get members GET /member/list GET /members
Get member detail GET /member/info GET /member
Update rank role PATCH /member/discordrole PATCH /member/role/rank
Get users GET /user/list GET /users
Get user details GET /user/info GET /user
Get applications GET /application/list GET /applications
Get divisions GET /division/list GET /divisions
Get pending division validation GET /division/validate GET /divisions/pending
Get division detail GET /division/info GET /division
Request division validation POST /division/validate POST /division
Update division validation PATCH /division/validate PATCH /division
Get all events GET /event/full GET /events/all

v1.9.3
1.Added PATCH /user/unbind endpoint to unbind connections
2.Added DELETE /user/delete endpoint to delete user
3.Added GET /dlog/export endpoint to export .csv table of deliveries
4.Added auto remove for expired ratelimit data
5.Removed error response code for non 401 or 429 errors

v1.9.2
1.Fixed bugs with role detection
2.Updated driver detection mechanism for application

v1.9.1
1.Added Rate Limiter
2.Added response status code for 401 and 404 errors
3.Updated delivery webhook post
4.Allowed application token for GET /downloads

v1.8.13
1.Removed function to not create database table for disabled plugins
2.Updated delivery webhook post

v1.8.12
Fixed bug of navio webhook not accepting WoT jobs due to non-int meta distance

v1.8.11
Fixed bug of welcome_roles failing to remove roles

v1.8.10
1.Improved Discord OAuth2 Login
2.Removed /ip endpoint
3.Changed /info endpoint path to /

v1.8.9
API
1.Removed intcolor from config.json and calculate it with hexcolor on start
2.Removed /version endpoint and improved /info endpoint
3.Added admin endpoint to change user Discord ID (/user/discord)
4.Added adminid (responsible user) & opquery (operation) filter for /auditlog
5.Added profit for member profile
6.Combined europrofit and dollarprofit to profit (dict) for /dlog/stats and /dlog/chart
7.Improved /dlog/stats response data format
Launcher
Changed RestartSec to 60 when registering service

v1.8.8
Fixed Discord and Steam ID JSON precision lose

v1.8.7
1.Fixed apis/navio config.external_plugins mistaked for external_plugins
2.Fixed apis/member to use distance instead of mile for /member/point endpoint
3.Added custom driver rank up message
4.Added option to give / remove Discord roles for new members

v1.8.6
1.Added custom team update message, accept {mention} {vtcname} variable
2.Added custom welcome message to be sent in drivers channel
3.Added option to disable user in guild check
4.Changed navio reject webhook responsible user to system
5.Automated database settings nxt*id record creation

v1.8.5
1.Added option to remove TruckersMP Account requirement
2.Fixed bug that translate function does not work with non-string variable

v1.8.4
1.Fixed bugs of config editing and improved data check
2.Fixed bugs that delivery embed cannot be posted when *.name is none

v1.8.3
Fixed bugs of config editing

v1.8.2
1.Fixed bug allowing user to edit telemetry_innodb_dir and language_dir from API
2.Added Spanish and French translation

v1.8.1
1.Supported multiple language
2.Improved division to support certain point for each division
3.Removed remaining VTC-specific functions

v1.7.4
1.Added telemetry_innodb_dir config option to store telemetry table on external storage
2.Bug fixes

How to enable external innodb directory on MySQL?
(Suppose the directory is /var/lib/mysqlext)

0.Create directory, change permission

chown mysql:mysql /var/lib/mysqlext

1.Open /etc/mysql/mysql.conf.d/mysqld.cnf and add

innodb_directories = /var/lib/mysqlext/ # this adds the directory to known innodb directory
secure-file-priv = /var/lib/mysqlext/ # this allows non-root user to create table with DATA DIRECTORY

2.Grant FILE privilege to database user (which does not seems to be included in ALL privileges)

3.Reload mysqld: systemctl restart mysql

4.Open /etc/apparmor.d/usr.sbin.mysqld and add

/var/lib/mysqlext/ r,
/var/lib/mysqlext/** rwk,

5.Reload apparmor: service apparmor reload

v1.7.3
1.Added permission control for audit log
2.Removed non-driver (but member) from leaderboard

v1.7.2
Initial release after combing all hubs into one code

Apply

You have already applied!

Below is the original application. The data might not be accurate if you've made changes.

The payment status only refers to the initial payment. Subscription payment are not reflected.

Billing information are posted in https://discord.gg/wNTaaBZ5qd


VTC Name: N/A

VTC Abbreviation: N/A

Development fee: N/A USD

Subscription: N/A (N/A USD / month)

Status: N/A


By default, the email bound to your Discord Account will be considered as the primary email of PayPal Payment Account. If it's not the case, please DM @Gehub with command ".updemail {email}". Otherwise we might not be able to detect your payment automatically. Command example: .updclient [email protected]

Subscribe with the buttons at home page and pay development fee with the buttons below.


Package

You will fill the most essential data here, then submit it to get everything registered automatically.

After your service is successfully registered, you will be provided a special URL to login, and edit the detailed config.


Please send payment as instructed after submitting. There might be some delay checking your payment due to PayPal API limits.

You will be given 3 days trial on the service. After that it will be suspended and you must complete payment before resuming it.


You should join https://discord.gg/wNTaaBZ5qd to receive notifications and billing information.




Package

Development fee is paid one-time, not refundable.

Contact us for *additional custom feature - You ask, we code!

*Additional development fee may apply.













Subscription

Subscription fee is paid automatically after you subscribe on PayPal.

You can switch subscription and the changes will be made on next month. (Only one switch per month is allowed)

If you cancel the service, it will stop on the first day of next month and you'll no longer be charged subscription fee.

One more thing, the better plan you subscribe to, the higher your role in Discord will be!







Information

For Drivers Hub Domain, it should not be your root domain or www domain, instead could be a subdomain like hub.

Please create a CNAME record pointint to web.drivershub05.charlws.com (Premium) OR web.drivershub10.charlws.com (Normal) OR web.drivershub20.charlws.com (Economic)

Example (Premium): CNAME | NAME = hub | TARGET = web.drivershub05.charlws.com

Example (Normal): CNAME | NAME = hub | TARGET = web.drivershub10.charlws.com

Example (Economic): CNAME | NAME = hub | TARGET = web.drivershub20.charlws.com